打印
[其他]

基于SAE1939车载CAN通信协议之数据帧

[复制链接]
304|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
海中水|  楼主 | 2020-10-13 09:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

  CAN总线通信协议中数据帧由7个不同的位域组成,分别为帧起始、仲裁域、控制域、数据域、CRC域、应答域和帧结束。标准数据着呢的报文格式如下图所示。

    数据帧各个位域定义如下:

    帧起始(SOF):就是数据帧和远程帧的开始,它由一个“显性”位构成。CAN的同步规则表明,只有当总线空闲(隐性)时,节点才能开始发送信号,而全部的节点都得同步于第一个开始发送信息的节点的帧起始前沿。

    仲裁域:仲裁域由标识符(ID)和远程发送请求位标志(RTR)组成。对于CAN2.0A标准,其仲裁域由长度为11位的标识符和RTR位组成,标识符位有ID28~ID18。对于CAN2.0B标准,仲裁域包括长度为29位的标识符、SRR位、IDE位和RTR位组成,标识符位有ID28~ID18。

    控制域:控制域由6位组成,包括2个保留位和4个数据长度码。其中2个保留位必须发送显性位,4位的数据长度码指出数据域的字节数目。

    数据域:发送缓冲区的数据按照长度代码指示长度发送,数据域一般由被传送的数据组成,它可为0~8个字节,每个字节8位,首先发送的是最高位。

    CRC域:由CRC域(15位)以及1位CRC界定符组成。

    应答域:应答域由发送方发出的2个隐性位组成,包括应答间隙(ACK SLOT)和应答界定符(ACK DELIMITER)。在应答域中,所有接收到正确的CRC序列的节点,都会在发送节点的应答间隙上将发送的隐性位改为显性位。应答界定符是应答域的第二个隐性位。因此,应答间隙两边有两个隐性位,即CRC界定符合应答界定符。

    帧结束:每一个数据帧或远程帧均有一串7个隐性位组成帧结束域结尾,这样可以使得接收节点能正确地检测一个帧的传输结束。


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

742

主题

11011

帖子

81

粉丝