理论教育 CAN总线帧格式与数据长度介绍

CAN总线帧格式与数据长度介绍

时间:2023-06-15 理论教育 版权反馈
【摘要】:CAN总线系统中,数据可以在节点间发送和接收四种不同类型的帧。每种帧有其相应的帧格式。CAN总线上所有收到信息的CAN控制器将隐性位改为显性位,发送者借此确认它已发送一条完整和正确的信息。CAN标准数据帧包含44~108位,CAN扩展数据帧包含64~128位。另外,高达23个填充位可以插入标准数据帧,高达28个填充位可以插入扩展数据帧,这取决于数据流的编码。

CAN总线帧格式与数据长度介绍

CAN总线系统中,数据可以在节点间发送和接收四种不同类型的帧(Frame)。

1)数据帧。从发送节点到接收节点传送数据。

2)远程帧。远程帧主要用于请求信息。当节点A向节点B发送一个远程帧时,如果节点B中的数据帧信息与节点A有相同的标识符,节点B将做出应答,并发送相应的数据帧到总线上。

3)出错帧。当检测到总线错误时,任意一个节点所发送的帧。

4)超载(Overload)帧。在前后两个数据或远程帧之间提供一个额外的延时。

每种帧有其相应的帧格式。一个有效的CAN数据帧由帧起始、仲裁域、控制域、数据域、校验域、应答域和帧结束等构成,如图12-1所示。DSP的CAN控制器支持两种不同的帧格式,即标准格式和扩展格式,它们的主要区别在于仲裁域格式不同,标准仲裁域由11位标识符(Identifier,ID)和一个远程发送请求位(Remote Transmission Request,RTR)组成。扩展仲裁域由29位标识符、替代远程请求位(Substitute Remote Request,SRR)、标志位和远程发送请求位RTR组成。数据帧包括:

978-7-111-57271-8-Chapter12-1.jpg

图12-1 扩展格式与标准格式数据帧

1)帧起始(Start of the Frame,SOF)。包含一个显性位(Dominant bit,逻辑0),用于硬件同步。

2)仲裁域(Arbitration Filed)。标准格式包含11位标识符和一个RTR位。标识符是作为信息(Message,也称为消息、报文)的名称,在仲裁过程期间,它首先被送到总线。在接收器的验收判断中和仲裁过程确定访问优先权中都要用到。RTR位用于区分数据帧和远程帧,数据帧为“0”,远程帧为“1”。标识位作为信息的名称,在仲裁过程中,首先被送到总线。这12位提供提供信息的优先权。总线通过这12位进行总线仲裁,数值越小,优先权越高。扩展格式还包括18位扩展标识位及替代远程请求位SRR。(www.daowen.com)

3)标识扩展位(Identifier Extension,IDE)。用于区分标准帧与扩展帧。

4)控制域(Control Field)。包括两位备用位r1、r0和4位数据长度位DLC(Data Length Code)。DLC用来确定每帧要发送几个字节的数据,最多为8B。

5)数据域(Data Field)。包括多达8B的数据。

6)循环冗余校验(Cyclic Redundancy Check,CRC)域。包括15位CRC序列和1位界定符。

7)应答(Acknowledge,ACK)域。包含应答间隙和应答界定符,应答间隙为隐性位(Recessive bit,逻辑1)。CAN总线上所有收到信息的CAN控制器将隐性位改为显性位,发送者借此确认它已发送一条完整和正确的信息。若信息有误,或被仲裁退出(由于优先级较低),发送者将会重发信息。

8)帧结束(End of Frame,EOF)。包括7个隐性位。

远程帧用于请求与其有相同标识符的数据帧,它与数据帧的区别在于RTR位、数据域。

CAN标准数据帧包含44~108位,CAN扩展数据帧包含64~128位。另外,高达23个填充位可以插入标准数据帧,高达28个填充位可以插入扩展数据帧,这取决于数据流的编码。数据帧的最大长度是标准帧131位,扩展帧156位。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈