一条CAN报文到底有多少位?

发布时间:2019-08-18 11:32:46   来源:文档文库   
字号:

一条CAN报文到底有多少位?

CAN-bus总线是应用最广泛的现场总线之一,而很多非常熟练的CAN工程师,面对一条CAN报文到底有多少位的问题时,却不能非常准确地回答。今天我们就从最基本的帧格式来解惑一条CAN报文的到底有多少位。

CAN报文帧分为几种呢?CAN-bus通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔。而数据帧和远程帧又有标准帧和扩展帧两种。其帧类型以及用途如表 1所示:

1 帧类型及用途

数据帧数据帧从结构上看分为7段,分别为起始段、仲裁段、控制段、数据段、CRC校验段、ACK应答段、帧结束段。如图1

1 标准数据帧跟扩展数据帧结构图

帧起始段:该段由单个显性位构成,在总线空闲时才允许发送,所有节点必须同步于开始发送的数据帧的起始位;

标准帧仲裁段:标准帧的仲裁段由11ID码和一个显性位RTR码组成,RTR码为远程帧标识位;

扩展帧仲裁段:扩展帧的仲裁段由29ID码、一位显性的SRR码、一位隐性的IDE码和一位显性的RTR码组成;

标准帧控制段:标准帧的控制段由单位显性的IDE、保留位r04位数据长度代码DLC组成,DLC数据段采用BCD编码;

扩展帧控制段:扩展帧的控制段由两个保留位r1r04位的DLC数据段组成,r1r0都为显性填充,接收时无论保留位是显性还是隐性都没有影响;

数据段:一个数据段为8个字节;

CRC校验段:CRC校验段由15位的校验码和1个隐性位填充的CRC界定符组成,CRC校验范围为帧起始、仲裁段、控制段和数据段;

ACK段:ACK段由ACK码和一个隐性位ACK界定符组成,发送节点在ACK段发送两个隐性位,接收节点在收到的报文ACK前面的帧格式没有错误时,他将发出ACK码为显性位的报文。

帧结束段:由7个连续的隐性位组成。

远程帧

远程帧帧格式跟数据帧类似,也分为标准帧跟扩展帧,但是远程帧属于被请求发送节点发送的报文,而数据帧是发送节点的报文。如图 2,远程帧没有数据帧。

本文来源:https://www.2haoxitong.net/k/doc/4e7da8fa443610661ed9ad51f01dc281e43a5662.html

《一条CAN报文到底有多少位?.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式