1 帧起始
SOF:为帧的开头,由一个显性位构成。当发送节点准备向CAN总线发送报文时,所有节点通过检测这个标志位来硬同步,为随后的报文仲裁提供统一的时间参考。
2 仲裁场
Identifier:CAN FD标准帧的11位ID,决定报文在总线上的传输优先级。发送节点在发送报文时会采样总线电平。若采样电平与发送电平不一致时,则该节点仲裁失败,停止数据传输。因此,ID值越小的报文优先级越高。
RRS(Remote Request Substitution): 远程帧请求替代,仅用于CAN FD报文中。CAN FD不支持远程帧,因此该标志始终为显性电平。
3 控制场
IDE(Identifier Extension) :ID扩展。此标志用于区分是标准帧还是扩展帧。标准帧的IDE为显性电平。
FDF(FD Format indicator) :FD格式标志。此标志用于区分是传统CAN报文还是CAN FD报文。对于CAN FD,该标志为隐性电平。
res :FD 帧的保留位。CAN FD为显性电平。
BRS( Bit Rate Switch):位速率转换开关。当BRS为显性位时,数据段的位速率与仲裁段的位速率一致。当BRS为隐性位时,数据段的位速率高于仲裁段的位速率。
ESI(Error State Indicator):错误状态指示位。隐性表示节点处于被动错误状态(Error Passive),而显性表示节点处于主动错误状态(Error Active)。
DLC(Data Length Code):数据长度码。4-bit DLC指示了CAN FD帧中的数据量。对应关系如下图。
Stuff count应位于CRC field的开头。它应由3位gray code中的stuff bit计数模8和奇偶校验位组成,如下表所示。
4 CRC场
Stuff Count:填充位计数。Stuff count位于CRC field的开头。它应由3位gray code中的stuff bit计数模8和奇偶校验位组成,如下表所示。
CRC:CAN FD中的CRC算法进行了更新,计算时会包含填充位的位流。为防止连续出现过多相同位,每五位插入一个与前一位相反的填充位。若填充位不为前一位的反码,则判定为错误。CAN FD的CRC字段得到了扩大,且根据DLC的大小,应用不同的CRC生成多项式。
CRC Delimiter:CRC序列后紧跟着的CRC界定符。当CANFD帧到达CRC delimiter的采样点时,CAN报文速率从数据段速率切换回仲裁段速率。
5 ACK场
ACK:在CANFD帧中,所有节点都应接受最多2位长的重叠ACK slot位的显性位作为有效的ACK,以补偿接收器之间的相移。
ACK Delimiter:ACK界定符。一位,隐性。
6 帧结束
EOF:7位,隐性。
IFS:帧间隔。3位,隐性。
文章评论