hkt1998

hkt1998

总线安全 —— CAN协议和CAN FD协议对比

2024-05-30

CAN协议和CAN FD协议的区别主要体现在以下几个方面:

传输速率

CAN协议的最大传输速率为1Mbps。

CAN FD(CAN with Flexible Data-Rate)协议的传输速率则更为灵活,其仲裁比特率最高可达1Mbps(与CAN相同),但数据比特率则能提升至最高8Mbps,大大提高了数据传输的效率。

数据长度

在CAN协议中,一帧数据最长为8字节。

CAN FD则显著扩展了数据长度,一帧数据最长可达到64字节,这有助于减少协议开销,提升数据传输的有效性。

帧格式

CAN FD在帧格式上进行了创新,引入了FDF(Flexible Data Rate Format)、BRS(Bit Rate Switch)和ESI(Error State Indicator)等新增位。这些新增位提供了更为丰富的功能和控制选项。例如,FDF位用于区分CAN报文和CAN FD报文;BRS位表示位速率转换,使得数据传输段可以使用更高的通信波特率;ESI位则指示发送节点的错误状态。

ID长度

CAN标准帧的ID长度最长为11位。

CAN FD则对标准帧的ID长度进行了扩展,可达到12位,提供了更多的标识符组合,增强了网络的扩展性和灵活性。

此处需要注意CAN标准帧ID长度(11位)、扩展帧ID长度(29位)、CAN FD标准帧ID长度(12位)不要搞混了。CAN FD同样也分标准帧和扩展帧。

CRC和安全性

为了提升安全性,CAN FD在CRC场中增加了stuff count来记录填充位的个数,并采用了Grey Code表示。同时,还增加了奇偶校验位以及FSB(fixed stuff-bit)固定为前一位的补码,这些措施共同增强了数据的完整性和传输的可靠性。

兼容性

CAN FD节点可以正常收发CAN报文,但由于帧格式的不一致,CAN节点不能正确收发CAN FD报文。


维度

CAN协议

CAN FD协议

传输速率

最大1Mbps

可变速率,仲裁比特率最高1Mbps,数据比特率最高8Mbps

数据长度

一帧数据最长8字节

一帧数据最长64字节

帧格式

标准格式

引入FDF、BRS、ESI等新增位,提供更灵活的帧格式

ID长度

标准帧ID长度最长11bit

标准帧ID长度可扩展到12bit

CRC和安全性

标准的CRC和安全性措施

更大的CRC字段和新的错误状态码,提高了安全性

兼容性

-

与传统CAN设备兼容,支持向后兼容性