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设备兼容,支持向后兼容性 |
0