CAN协议数据帧的介绍

通过 can 总线传输数据是需要按照一定协议进行的,can 协议提供了 5种帧格式来传输数据:数据帧、遥控帧、错误帧、过载帧和帧间隔。其中数据帧和遥控帧有标准格式和扩展格式两种,标准格式有 11 位标识符(id),扩展格式有 29个标识符(id)。这 5 中帧的用途见表:
1、数据帧
数据帧由 7 段组成:
①、帧起始,表示数据帧开始的段。②、仲裁段,表示该帧优先级的段。③、控制段,表示数据的字节数及保留位的段。④、数据段,数据的内容,一帧可发送 0~8个字节的数据。⑤、crc 段,检查帧的传输错误的段。⑥、ack 段,表示确认正常接收的段。⑦、帧结束,表示数据帧结束的段。
数据帧结构如图所示:
图给出了数据帧标准格式和扩展格式两种帧结构,图中 d 表示显性电平 0、r 表示隐性电平 1,d/r 表示显性或隐性,也就是 0 或1,我们来简单分析一下数据帧的这 7 个段。
①、帧起始
帧起始很简单,标准格式和扩展格式都是由一个位的显性电平 0 来表示帧起始。
②、仲裁段
仲裁段表示帧优先级,仲裁段结构如图所示:
标准格式和扩展格式的仲裁段不同,从图可以看出,标准格式的 id 为 11 位,发送顺序是从 id10 到 id0,最高 7 位 id10~id4不能全为隐性(1),也就是禁止 0x1111111xxxxx这样的 id。扩展格式的 id 为 29 位,基本 id 从 id28 到 id18,扩展 id 由id17 到 id0,基本id 与标准格式一样,禁止最高 7 位都为隐性。
③、控制段
控制段由 6 个位构成,表示数据段的字节数,标准格式和扩展格式的控制段略有不同,如图所示:
图中 r1 和 r0 为保留位,保留位必须以显性电平发送。dlc 为数据长度,高位在前,dlc 段有效值范围为 0~8。
④、数据段
数据段也就是帧的有效数据,标准格式和扩展格式相同,可以包含 0~8 个字节的数据,从最高位(msb)开始发送,结构如图所示:
⑤、crc 段
crc 段保存 crc 校准值,用于检查帧传输错误,标准格式和扩展格式相同,crc 段结构如图所示:
从图可以看出,crc 段由 15 位的 crc 值与 1 位的 crc 界定符组成。crc值的计算范围包括:帧起始、仲裁段、控制段、数据段,接收方以同样的算法进行计算,然后用计算得到的 crc 值与此 crc段进行比较,如果不一致的话就会报错。
⑥、ack 段
ack 段用来确认接收是否正常,标准格式和扩展格式相同,ack 段结构如图所示:
从图可以看出,ack 段由 ack 槽(ack slot)和 ack 界定符两部分组成。发送单元的 ack,发送 2
个隐性位,而接收到正确消息的单元在 ack 槽(ack slot)发送显性位,通知发送单元正常接收结束,这个过程叫发送 ack/返回 ack。发送 ack的是所有接收单元中接收到正常消息的单元,所谓正常消息是指不含填充错误、格式错误、crc错误的消息,这些接收单元既不处于总线关闭态也不处于休眠态的所有接收单元中。
⑦、帧结束
最后就是帧结束段,标准格式和扩展格式相同,帧结束段结构如图所示:
从图可以看出,帧结束段很简单,由 7 位隐性位构成。

小米Note2第一次现货开卖!双曲面+OLED售2799元
电压变化对无功补偿设备有影响吗
在不久的将来电动汽车将会取缔燃油车的地位
abb变频器最低频率设置
比Colab更方便的GPU平台-GPUlab
CAN协议数据帧的介绍
越来越多竞争者纷纷入局,工业物联网平台会走向垄断吗?
「含源码」关于NXP IMX8 Mini的图形开发指南(GPU)案例分享!
热参数如何与PCB温度或IC结温进行比较
Exo Imaging推出便携式超声波设备,助力新冠病毒诊断
浅谈 | 高低温环境下的车载屏幕功能耐久与触屏精度自动化测试
固态继电器原理及选型
光学轮廓仪检测原理是什么
大疆推出了旗下首款手机飞行云台
PCB板三防漆可靠性试验的注意事项
OPPO在ETSI宣称已经拥有了600项5G标准专利
LT8711 Type-C/DP1.2至HDMI1.4转换器简介
三星S8和小米MIX哪个好? 三星S8和小米MIX对比评测
中国的5G建设带动了5G产业链生产规模的快速增长
英国新车销量同比下跌7.3% 汽车市场整体下滑的态势令人不安