分享

汽车CAN总线数据帧解析---汽车语言知多少

 Ycp2016 2019-02-19

CAN协议的报文传输主要由下面的4种帧来实现:(今天我就来说说数据帧)

  • 数据帧:

  • 远程帧:

  • 错误帧:

  • 过载帧:

数据帧

数据帧:结构上由7段组成,其中根据仲裁段ID码长度的不同,分为标准帧(CAN2.0A)和扩展帧(CAN2.0B)。

数据帧是由:帧起始,仲裁断,控制端,数据段,CRC段,ACK段和帧结束构成。

汽车CAN总线数据帧解析---汽车语言知多少

数据帧

帧起始和帧结束

帧起始:由单个显性位组成,总线空闲时,发送节点发送帧起始,其他接收节点同步于该帧起始位。

帧结束:由7个连续的隐形位组成。

汽车CAN总线数据帧解析---汽车语言知多少

结构图

仲裁段

CAN-bus是如何解决多个节点同时发送数据,即总线竞争的问题?该问题由仲裁段给出答案。

汽车CAN总线数据帧解析---汽车语言知多少

仲裁段

汽车CAN总线数据帧解析---汽车语言知多少

仲裁机制

网络上有3个节点都是1(隐性)的时候,总线相与为1(隐性),只要总线上的节点有0,总线就表现成0(显性)。最终的结果就是节点ID越小,优先级越高。

控制段

控制段共6位,

  • 标准帧的控制段由扩展帧标志位IDE、保留位r0和数据长度代码DLC组成;

  • 扩展帧控制段则由IDE、r1、r0和DLC组成

汽车CAN总线数据帧解析---汽车语言知多少

控制段

数据段

一个数据帧传输的数据量为0~8个字节,这种短帧结构使得CAN-bus实时性很高,非常适合汽车和工控应用场合

数据量小,发送和接收时间短,实时性高,被干扰的概率小,抗干扰能力强。

汽车CAN总线数据帧解析---汽车语言知多少

数据段

CRC段

CAN-bus使用CRC校验进行数据检错,CRC校验值存放于CRC段。 CRC校验段由15位CRC值和1位CRC界定符构成

汽车CAN总线数据帧解析---汽车语言知多少

CRC段

ACK段

当一个接收节点接收的帧起始到CRC段之间的内容没发生错误时,它将在ACK段发送一个显性电平

汽车CAN总线数据帧解析---汽车语言知多少


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多