CAN网络中的报文类型解析
近海
|
2019.12.30
|
0
+关注

在CAN网络中,节点之间通过发送或接收报文来传递信息,而不同类型报文的作用各不相同。本文主要讨论CAN网络中的各种报文在CAN网络中的功能,正是不同报文之间的配合使得CAN网络有序运行。

CAN报文分类

CAN网络中的报文也叫信息帧,共分为五种,分别是数据帧、远程帧、错误帧、过载帧和帧间隔。

1.数据帧

数据帧被用于节点之间交换数据,在CAN协议中有两种数据帧类型2.0A(标准帧)和2.0B(扩展帧),这两种帧的区别在于ID的长度不同。标准帧ID的长度为11位,扩展帧ID长度为29位。

数据帧由7个段组成:帧起始、仲裁场、控制场、数据场、CRC场、ACK场和帧结束,如下图所示为数据帧的结构。

从上图可以看出,帧起始由一个显性位(低电平)组成,发送节点发送帧起始,其它节点利用帧起始信号进行同步。

仲裁段决定了报文优先级大小,报文的ID越小,优先级越高,用来解决CAN总线非破坏性多点竞争问题。每一个CAN节点在发送数据的同时监控总线电平,如果电平不同,则停止发送并进行处理。如果该位位于仲裁段,该节点退出总线竞争;如果位于其它段,则产生错误事件。

控制段表示报文中数据字节的数量,范围0—8字节。

数据段为0—8字节,短帧结构,实时性好,适合汽车和工控领域。

CRC段由15位CRC校验码和CRC界定符组成,用来检查数据传送过程中是否出错。CRC计算中,被除的多项式包括帧的起始域、仲裁域、控制域、数据域及15位为0的解除填充的位流给定。

ACK段为接收应答位,当接收节点接收到的帧起始到CRC段都没错误时,它将在ACK段发送一个显性电平,发送节点发送隐性电平,线与结果为显性电平。

2.远程帧

接受数据的节点可通过发送远程帧请求源节点发送数据。它由6个段组成:帧起始、仲裁段、控制段、校验段、应答段、帧结束。

3.错误帧

节点检测到错误时将向总线发送错误帧。CAN总线共有五种错误帧:

(1)CRC错误:发送与接收的CRC值不同发生该错误;

(2)格式错误:帧格式不合法发生该错误;

(3)应答错误:发送节点在ACK阶段没有收到应答信息发生该错误;

(4)位发送错误:发送节点在发送信息时发现总线电平与发送电平不符发生该错误;

(5)位填充错误:通信线缆上违反通信规则时发生该错误。

4.过载帧

过载帧包含两个段:过载标识段及过载界定符段。下述三种状态将导致过载帧发送。

(1)接收方在接收一帧之前需要过多的时间处理当前的数据(接收尚未准备好);

(2)在帧空隙检测到显性位信号;

(3) 在错误界定符或过载界定符的第8位采样到一个显性位会发送一个过载帧。

5.帧间隔

用来隔离数据帧、远程帧和它们前面的帧,错误帧和过载帧前面不加帧间隔。

帧间隔过后,如果没有节点发送帧,则总线进入空闲状态。

以上介绍了CAN网络中的各种报文类型,包括每种报文的功能、帧结构及报文中每个位的定义,希望能够帮助大家更好地理解CAN网络中报文的概念,能够在设计中更好地利用CAN网络技术。

精选留言
延伸阅读
更多报告干货
写留言
7037
阅读
收藏
回到顶部