CAN总线通信之详解数据帧(Data Frame)
发布网友
发布时间:2024-08-17 06:17
我来回答
共1个回答
热心网友
时间:2024-08-22 14:18
在之前的文章中,我们对CAN总线进行了初步介绍,阐述了其在汽车通信领域的应用。本文将深入解析CAN总线通信,着重介绍其核心组成部分——数据帧(Data Frame)。
CAN总线通过帧(Frame)形式进行数据交换,其中数据帧是传输数据的主要形式。数据帧分为标准格式(Standard Format)和扩展格式(Extended Format)两种,标准帧的格式如下:
数据帧可细分为七个部分:
1)帧起始(Start Of Frame-SOF):1bit,显性信号,标志着数据帧(或远程帧)的起始。
2)仲裁段(Arbitration Field):由标识符位(Identifier field-ID)和远程发送请求位(Remote Transfer Request-RTR)构成。
3)控制段(Control Field):包含6个位,分别是扩展标识符位(Identifier Extension bit-IDE,1 bit)、保留位0(Reseved bit0-r0,1 bit)和数据长度编码位(Data Length Code-DLC,4 bits),具体如下:
其中“d”代表显性信号,“r”代表隐性信号;
4)数据段(Data Field):传输的数据内容,最多8个字节。数据段与DLC的对应关系如下:
5)循环校验段(CRC Field):包括循环校验序列(CRC Sequence)和界定符(Delimiter,DEL);
6)确认段(ACK Field):包括确认位(ACK SLOT)和界定符(Delimiter,DEL),用于确认数据的正常接收。
7)帧结束(End of Frame-EOF):7位(7 bits),隐性信号,表示帧的结束。
以上为标准格式的数据帧,接下来我们来看扩展格式与标准格式的区别,具体如下:
仲裁段与控制段有所不同:
1)仲裁段(Arbitration Field):扩展格式的仲裁段包括五个部分:
2)控制段(Control Field):6 bits,与标准帧不同的是:用保留1(r1)取代了标准帧的IDE,r0和DLC保持不变;也就是说,扩展帧有两个保留位r1 和r0,这两个保留位均需发送显性信号;
本文对CAN总线通信的数据帧进行了详细解析,如有疑问,请参考相关资料。