CAN FD帧结构介绍

描述

CAN FD帧结构

CAN FD节点可以正常收、发CAN报文,但CAN节点不能正确收、发CAN FD报文,因为其帧格式不一致。

与CAN一样,CAN FD一共具有:帧起始,仲裁段,控制段,数据段,CRC段,ACK段和帧结束,7部分组成。

2.1、帧起始

CAN与CANFD使用相同的SOF标志位来标志报文的起始。帧起始由1个显性位构成,标志着报文的开始,并在总线上起着同步作用。

总线

2.2、仲裁段

与CAN不同,CAN FD取消了对远程帧的支持,用RRS位替换了RTR位,为常显性。IDE用于区分标准帧和扩展帧。

总线

标准帧仲裁段由11位ID和r1位(显性)、IDE(显性)组成,总共13位。扩展帧仲裁段由29位ID和SRR(隐性)、IDE(隐性)、r1位(显性)组成,总共32位。

SRR:替代CAN标准帧中的RTR位;

IDE:扩展帧标志位;

r1:保留位,为显性。

2.3、控制段

CAN FD与CAN有着相同的IDE、res和DLC位,同时增加了FDF、BRS、ESI三个bit位。

FDF 位(Flexible Data Rate Format):原 CAN 数据帧中的保留位 r。表示 CAN 报文还是 CAN-FD 报文,FDF
位常为隐性(1),表示 CAN FD 报文;

BRS 位( Bit Rate Switch):表示位速率转换,当 BRS 为显性位(0)时数据段的位速率与仲裁段的位速率一致(恒定速率),当 BRS
为隐性位(1)时速率可变(即 BSR 到 CRC 使用转换速率传输);

ESI 位(Error State Indicator):发送节点错误状态指示,主动错误时发送显性位(0),被动错误时发送隐性位(1)。

总线

2.4、数据段

CAN FD兼容CAN的数据格式,同时最大还能支持:12、16、 20、 24、 32、 48和64byte。

像在传统CAN中一样,CAN FD DLC是4位,表示帧中数据字节的数量。为了维持4位DLC,CAN
FD使用从9到15的其余7个值来表示所使用的数据字节数(12、16、20、24、32、48、64)。

总线

2.5、CRC段

传统CAN中的循环冗余校验(CRC)为15位,而在CAN
FD中由固定填充位FSB(6/7位)、填充位计数(4位)、CRC(17/21位)和CRC界定符(1位)组成,总共28或33位组成。在传统CAN中,CRC中可以包含0到3个填充位,而在CAN
FD中,总是有4个固定填充位以提高通信可靠性。

总线

固定填充位(FSB):CRC段中每4个位固定填充一个与上位相反的位。

采用CRC17时,FSB为6个位;

采用CRC21时,FSB为7个位。

填充位计数:由填充位计数(3位)和奇偶校验位(1位)组成。

CRC:

报文长度小于16时,采用CRC17,17位组成;

报文长度大于16时,采用CRC21,21位组成。

CRC界定符:固定为隐性位;从该位采样后,切换为仲裁域波特率。

总线

2.6、ACK段

ACK紧跟着CRC结束标识位。不同的是,CAN FD支持2bits的ACK的识别,由ACK位和ACK界定符位组成。

ACK:接收节点应答位,接收节点应应答显性位;

ACK界定符,固定为隐性。

总线

2.7、帧结束

与CAN一样,CAN FD的帧结尾也为连续7位的隐性位。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分