1、CAN总线是一种多主通信模式,即只要总线空闲,总线上任何节点都可以发送报文(不同于像I2C总线的主从通信模式)。
2、CAN总线有2种帧格式(标准格式、扩展格式),5种帧类型(数据帧、遥控帧、错误帧、过载帧、间隔帧)。
3、标准格式和扩展格式的主要区别是仲裁段中帧ID的长度,标准帧的帧ID长度是11位,扩展帧的帧ID长度是29位。
(1)帧起始:由一个显性位(低电平)表示,发送节点发送帧起始。
(2)仲裁段:如果有两个或两个以上的节点开始传送报文,那么就会存在总线访问冲突的可能。但是CAN使用了标识符的逐位仲裁方法可以解决这个问题。

RTR(Remote Transmission Request)用于区分报文是数据帧(RTR 位为显性状态)还是远程帧 (RTR 位为隐性状态)。
SRR(Substitute Remote Request)扩展帧中替代远程请求位,定义为隐性状态。
(3)控制段:控制段共6位,标准帧的控制段由扩展帧标志位IDE、保留位r0和数据长度代码DLC组成;扩展帧控制段则由IDE、r1、r0和DLC组成。
IDE(Identifier Extension)该位显性状态表示标准帧,隐性状态表示扩展帧。
DLC(Data Length Code)用来指定报文中包含的数据字节数 (0 ~ 8 字节)。
(4)数据段:一个数据帧传输的数据长度为0~8个字节,这种短帧结构使得CAN总线实时性很高,非常适合汽车和工控应用场合。

其他数据段详见:CAN总线报文浅析_男人花的博客-优快云博客_can报文解析
4、5种帧类型功能如下:
(1)数据帧:用于发送单元向接收单元发送数据的帧;
(2)遥控帧:发起方发起特定ID的远程帧,并且只发送ID部分,与其ID相符的节点就在后半段的数据部分接管总线控制权并发送自己的数据;
(3)错误帧:用于当检测出错误时,向其他节点通知错误的帧;
(4)过载帧:当某个接收节点没有做好接收下一帧数据的准备时,将发送过载帧以通知发送节点;
(5)间隔帧:用于将数据帧和遥控帧与前面的帧分离开来的帧。
1万+

被折叠的 条评论
为什么被折叠?



