background image

   帧类型 

 在 CAN 总线中,有四种不同的帧类型[4][5]: 

  

◇数据帧(Data Frame) 数据帧带有应用数据。我们将在下面对其进行详细的

介绍。
  

◇远程帧(Remote Frame) 通过发送远程帧可以向网络请求数据,启动其他资

源节点传送他们各自的数据。远程帧包含

6 个不同的位域:帧起始、仲裁域、控制域 、

CRC 域、应答域、帧结尾。仲裁域中的 RTR 位的隐极性表示为远程帧。
  

◇错误帧(Error Frame) 错误帧能够报告每个节点的出错,由两个不同的域组

成,第一个域是不同站提供的错误标志的叠加,第二个域是错误界定符。
  

◇过载帧(Overload Frame) 如果节点的接收尚未准备好就会传送过载帧,由

两个不同的域组成,第一个域是过载标志,第二个域是过载界定符。
  数据帧结构 

 数据帧由以下七个不同的位域(Bit Field)组成:帧起始、仲裁域、

控制域、数据域、

CRC 域、应答域、帧结尾。其标准帧结构如下表所示:

  

(1)帧起始:标志帧的开始,它由单个显性位构成,在总线空闲时发送,在总线

上产生同步作用;
  

(2)仲裁域:由 11 位标识符(ID10~ID0)和远程发送请求位(RTR)组成,RTR 位为

显性表示该帧为数据帧,隐性表示该帧为远程帧;标识符由高至低按次序发送,且

7 位 (ID10~ID4)不能全为显性位。标识符 ID 用来描述数据的含义而不用于通信寻

址,

CAN 总线的帧是没有寻址功能的。标识符还用于决定报文的优先权,ID 值越低

优先权越高,在竞争总线时,优先权高的报文优先发送,优先权低报文退出总线竞
争。

CAN 总线竞争的算法效率很高,是一种非破坏性竞争。

  

(3)控制域:为数据长度码;(DLC3~ DLC0),表示数据域中数据的字节数,不得

超过

8; 

  

(4)数据域:由被发送数据组成,数目与控制域中设定的字节数相等,第一个字

节的最高位首先被发送。其长度在标准帧中不超过

8 个字节;

  

(5)CRC 域:包括 CRC(循环冗余码校验)序列(15 位)和 CRC 界定符(1 个隐性位),

用于帧校验;
  

(6)应答域:由应答间隙和应答界定符组成,共两位;发送站发送两个隐性位,

接收站在应答间隙中发送显性位。应答界定符必须是隐性位。
  

(7)帧结束:由 7 位隐性位组成。

4.自订的 CAN 高层协议