打印
[应用相关]

STM32 CAN报文格式

[复制链接]
2026|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CAN协议的报文传输过程中有:数据帧、远程帧、错误帧、过载帧和帧间隔。
        1.数据帧:用于发送节点向接收节点传送数据的帧。

        2.远程帧:用于接收节点向具有相同ID的发送节点传送数据的帧。

        3.错误帧:用于当检测出错误时向其他节点通知错误的帧。

        4.过载帧:用于接收节点通知其尚未做好准备的帧。

        5.帧间隔:用于将数据帧及远程帧与前面的帧分隔开来。
沙发
dingbo95|  楼主 | 2018-7-15 19:27 | 只看该作者
标准帧和扩展帧:


数据帧和远程帧都可以使用标准帧格式或者扩展帧格式

        RTR:远程发送请求位,数据帧为显性,远程帧为隐性。

        SRR:代替远程请求位(在扩展格式中在RTR位置,所以得此名),该位为隐性位。在这个地方占个位以保持标准帧和扩展帧IDE对齐,便可以判断标准帧优先于扩展帧。

        IDE:标识符扩展位,标准帧为显性,扩展帧为隐性。

        R0、R1:保留位。

        DLC:数据长度位。

        CRC:校验位。

        CRC分隔符:隐性位

        ACK:应答位和应答界定位。在应答域中,发送器发出两个隐性位。接收器接收到报文后,在应答位期间,用显性位填充应答位作为回应,应答界定则为保持隐性。

        帧结束:由7个隐性位组成。


使用特权

评论回复
板凳
dingbo95|  楼主 | 2018-7-15 19:28 | 只看该作者
数据帧:

SOF帧起始:数据帧开始的段。

        仲裁场:该帧优先级的段。

        控制场:数据的字节数以及保留位。

        数据场:数据内容。

        CRC场:校验数据。

        应答场:确认正常接收的段。

        帧结尾:数据帧结束的段。



使用特权

评论回复
地板
dingbo95|  楼主 | 2018-7-15 19:29 | 只看该作者
远程帧:

通过发送远程帧,作为数据接收器的节点可以发起各自数据源的数据传送请求,即向数据发送器请求发送具有相同ID的数据帧。

        远程帧没有数据段。


使用特权

评论回复
5
dingbo95|  楼主 | 2018-7-15 19:30 | 只看该作者
错误帧:

错误类型:应答错误,填充错误,CRC错误,格式错误

        错误帧由错误标志的叠加和结束符组成。错误标志有主动(积极)错误标志和被动(消极)错误标志。主动(积极)错误标志为6个显性位,被动(消极)错误标志为6个隐性位。

        错误积极节点:如果检测到一个错误条件,就会发送积极错误标志。这将引起其它节点检测到填充错误,并开始发送错误标志。因此错误标志叠加在6~12位之间。节点发送完错误标志之后就发送一个隐性位,并监控总线,直到总线上出现一个隐性位,然后再发送7个隐性位。这样一个错误帧就发送完毕了。

        消极错误节点:如果检测到一个错误条件,会试图发送一个消极错误标志进行指示。这个消极错误节点会一直等待6个具有相同极性的连续位,等待从消极错误标志起始开始,当检测到6个相同极性的连续位时,消极错误标志发送完成。


使用特权

评论回复
6
dingbo95|  楼主 | 2018-7-15 19:31 | 只看该作者
过载帧:

过载条件:接收器要求延迟下一次数据帧或远程帧的到达;在帧间隔间歇场的第一位和第二位检测到显性位;如果CAN节点在错误界定符或过载界定符的第8位采样到一个显性位,则节点会发送一个过载帧,错误计数器不会增加。



使用特权

评论回复
7
dingbo95|  楼主 | 2018-7-15 19:32 | 只看该作者
帧间空间:


数据帧和远程帧的前面必然有帧间空间。对于主动错误节点和被动错误节点,帧间空间的结构稍有不同。对于主动错误节点,帧空间由3个显性位的间歇字段和总线空闲组成。在间歇字段不允许发送数据帧和远程帧。总线空闲的长度任意,当有显性位时就被认为是帧起始。被动错误标志除了上边两部分外,在间歇字段后还有8个显性位的挂起传输。在挂起传输阶段被动错误节点不可以发送数据帧与远程帧。

使用特权

评论回复
评论
1021256354 2021-1-19 14:34 回复TA
主动错误时,间隔3bit的时间?被动错误时,间隔11bit的时间么?帧间隔 
8
liangshuang95| | 2021-1-19 18:52 | 只看该作者
学习了,感谢楼主分享。

使用特权

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

本版积分规则

52

主题

1197

帖子

5

粉丝