目录
1.2.2 RTR(Remote Transmission Request)
1.2.3 SRR(Substitute Remote Request)
1.2.4 IDE(Identifier Extension Bit)
记录 BOSCH CAN Specification 2.0 PART B CAN 协议标准学习过程,以备需要时查看;
BOSCH CAN Specification 2.0 文档获取:
http://esd.cs.ucr.edu/webres/can20.pdf
CAN message 定义
1. DATA FRAME 数据帧
DATA FRAME 由 Start of Frame, Arbitration Field, Control Field, Data Field, CRC Field, ACK Field, End of Frame 这几个位域组成;
1.1 START OF FRAME(SOF) 帧起始
由一个显性位组成(可以理解为MCU CAN TX pin上的低电平);一个CAN网络上的所有节点根据SOF边沿来实现同步;
1.2 ARBITRATION FIELD 仲裁场
总线仲裁的概念
相当于总线上有多个节点在同一时刻控制总线,经过仲裁后,优先级高的节点会实际控制总线;
总线仲裁实现机制
总线上显性电平(可以理解为MCU CAN TX pin上的低电平)比隐性电平具有更高的优先级(可以理解为MCU CAN TX pin上的高电平);
Node 1 输出 | Node 2 输出 | 实际总线状态 |
d(显性)(逻辑0) | d(显性)(逻辑0) | d(显性)(逻辑0) |
d(显性)(逻辑0) | r(隐性)(逻辑1) | d(显性)(逻辑0) |
r(隐性)(逻辑1) | d(显性)(逻辑0) | d(显性)(逻辑0) |
r(隐性)(逻辑1) | r(隐性)(逻辑1) | r(隐性)(逻辑1) |
总线上的每个节点在同一时刻都按照自己的想法拉高或拉低总线,但实际总线的电平状态,类似于线与的效果;CAN总线上的电信号状态,在经过CAN transceiver 后,由一对差分信号CANH/CANL 来表示,CANH/CANL 间存在压差表示为显性,CANH/CANL间无压差表示为隐性;
仲裁场的格式
对于标准帧(Standard Frame)和扩展帧(Extended Frame), 仲裁场的格式不同
标准帧(Standard Frame)的数据帧格式
扩展帧(Extended Frame)的数据帧格式
对于标准帧,仲裁场由11 bit 的ID 域和 1 bit RTR 控制位组成;
对于扩展帧,其仲裁场相比于标准帧,ID 在标准帧11 bit 的基础上增加了18 bit,扩展到 29 bit;另外多了两个控制位SRR 和IDE;
1.2.1 IDENTIFIER Field
ID 域可以理解为每个数据帧的独有的名字;
在标准帧中,