先理解CAN的物理层和数据链路层
物理层是指微控制器与 CAN 总线连接的驱动电路。物理层的三个子层:信令子层功能通常由集成 CAN 控制器的高级微控制器实现;介质附件子层功能由各芯片制造商提供的 CAN 收发器实现;介质从属接口子层规定了 CAN 总线相应连接器和电缆的特性。
数据链路层属于 CAN 的核心部分,它又可以进一步划分成两个子层:一个子层负责报文过滤、过载管理和管理恢复等功能;另一个子层负责数据的打包和解包、物理地址编码寻址、媒介访问管理、数据错误管理等功能。
常用的CAN总线分为:单线CAN、低速容错CAN、高速CAN。
高速CAN
根据线缆的长度提供从40Kbit/s到1Mbit/s的波特率。这是物理层最流行的标准,这是因为它允许设备间简单的线缆连接。DeviceNet以及CANopen规范就是使用了这种物理标准。高速CAN网络在每个网络端点端接一个120欧姆的电阻。
低速/容错CAN
提供从40 Kbit/s到125 Kbits/s的波特率。该标准允许在CAN总线连线失败时CAN总线通信得以继续进行。在低速/容错CAN网络,每种设备都有它自己的终端。
注意: 由于终端的类型不同,因此高速和低速/容错CAN设备不能在同一个网络中使用