CAN总线通信之详解数据帧(Data Frame)
前面的文章我们对CAN总线进行了概括性的介绍,讲解了CAN总线在汽车通信中的应用,今天这篇文章深入探讨CAN总线通信——介绍下CAN通信的数据帧(Data Frame)。

CAN总线以“帧(Frame)”形式进行通信。“数据帧(Data Frame)”,顾名思义,是用来传输数据的。CAN总线的数据帧有标准格式(Standard Format)和扩展格式(Extended Format)的区分,标准帧的格式如下图:

数据帧可以分为七段:
1)帧起始(Start Of Frame-SOF): 1bit,显性信号,表示数据帧(或远程帧)的开始。
2)仲裁段(Arbitration Field):包括两部分:标识符位(Identifier field-ID)和远程发送请求位(Remote Transfer Request-RTR)。
-
标识符位,是一个功能性的地址(Functional address),CAN接收器通过标识符来过滤数据帧。标准格式的数据帧的标识符(CAN-ID)长度为11位(11 bits),ID10~ID0,ID10为最高权重位(MSB),ID0为最低权重位(LSB),按照ID10~ID0的顺序进行传输。CAN协议还规定:前7位最高权重位(ID10~ID4)不能都为“隐性”信号。
-
远程发送请求位,简称“RTR”,1 bit。虽然这个位的名字很长,但它的功能很简单,用于区分该帧是数据帧还是远程帧:“显性信号(0)”代表数据帧(Data Frame);“隐性信号(1)”代表远程帧(Remote Frame)。
3)控制段(Control Field):包括6个位(6 bits),分别是扩展标识符位(Identifier Extension bit-IDE,1 bit);保留位0(Reseved bit0-r0,1 bit);数据长度编码位(Data Length Code-DLC,4 bits),如下图:

-
扩展标识符位(IDE),用来表示该帧是标准格式还是扩展格式;
-
保留位0(r0),保留,以后使用;
-
数据长度编码位(DLC),4位(4 bits),包括DLC3~DLC0,表示该帧实际发送的数据的长度(以字节为单位);DLC的编码规则如下:

其中“d”表示显性信号;“r”表示隐性信号;
4) 数据段(Data Field):发送数据的内容,最多8个字节。数据段与DLC的对应关系如下图:

5)循环校验段(CRC Field):包括循环校验序列(CRC Sequence)和界定符(Delimiter,DEL):
-
循环校验序列(CRC Sequence),15 bits,用于校验传输是否正确;
-
界定符(DEL),1 bit,隐性信号,表示循环校验序列的结束;
6) 确认段(ACK Field):包括确认位(ACK SLOT)和界定符(Delimiter,DEL),表示确认是否正常接收。
-
确认位(ACK),1 bit,节点收到正确的CRC序列时,发送端的ACK位被置位;
-
界定符(DEL),1 bit,隐性信号;
7) 帧结束(End of Frame-EOF):7位(7 bits),隐性信号,表示帧的结束。
以上是标准格式的数据帧,下面来看看扩展格式与标准格式有哪些不同,先看看下面这张图:

仲裁段与控制段有所不同:
1)仲裁段(Arbitration Field):扩展格式的仲裁段包括五个部分:
-
基本标识符位(Base identifier-Base ID),11 bits,与标准格式的标识符相同;
-
替代远程请求位(Substitute Remote Request Bit,SRR),1 bit,隐性信号;
-
扩展位(Identifier Extension bit,IDE),1 bit,标识扩展帧还是标准帧;
-
扩展标识ID位(Extended Identifier, Extended ID),18 bits,存放扩展标识ID;
-
远程发送请求位(Remote Transmission Request,RTR),1 bit,数据帧中为显性信号,远程帧中为隐性信号;
2)控制段(Control Field):6 bits,与标准帧不同的是:用保留1(r1)取代了标准帧的IDE,r0和DLC是一样的;也就是说,扩展帧有两个保留位r1 和r0,这两个保留位均需要发送显性信号;
好了,关于CAN总线通信的数据帧就先介绍到这里了,相关参考文章:
为什么汽车电控单元间会选择使用CAN总线进行通信?
官网提供本文PDF版本下载:
-
Origin(Pro):学习版的窗口限制【数据绘图】 2020-08-07
-
如何卸载Aspen Plus并再重新安装,这篇文章告诉你! 2020-05-29
-
AutoCAD 保存时出现错误:“此图形中的一个或多个对象无法保存为指定格式”怎么办? 2020-08-03
-
OriginPro:学习版申请及过期激活方法【数据绘图】 2020-08-06
-
CAD视口的边框线看不到也选不中是怎么回事,怎么解决? 2020-06-04
-
教程 | Origin从DSC计算焓和比热容 2020-08-31
-
如何评价拟合效果-Origin(Pro)数据拟合系列教程【数据绘图】 2020-08-06
-
Aspen Plus安装过程中RMS License证书安装失败的解决方法,亲测有效! 2021-10-15
-
CAD外部参照无法绑定怎么办? 2020-06-03
-
CAD中如何将布局连带视口中的内容复制到另一张图中? 2020-07-03
