赞
踩
CAN 2.0 A/B总线协议
,但是随着总线技术在汽车电子领域越来越广泛的应用,特别是自动驾驶技术的迅速发展,汽车电子对总线宽度
和数据传输速率
的要求也越来越高,传统CAN(1MBit/s,8Bytes Payload)已难以满足日益增加的需求。CAN-FD总线协议
应运而生,在2012年,Bosch发布了新的CAN FD标准 (CAN with Flexible Data Rate)传输速率是可变
的:从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,最高速率可达到8Mbps数据长度不同
:CAN FD每个数据帧最多支持64个数据字节,而传统CAN最多支持8个数据字节,这减少了协议开销,并提高了协议效率。帧格式不同
:CanFD新增了FDF、BRS、ESI位
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
。
SOF标志位
来标志报文的起始个显性位
构成,标志着报文的开始,并在总线上起着同步的作用RTR
(Remote Transmission Request Bit):远程发送请求位,RTR位在数据帧里必须是显性,而在远程帧里为隐性RRS
(Remote Request Substitution):远程请求替换位,即传统CAN中的RTR位,CAN FD中为常显性IDE位
仍为标准帧和扩展帧标志位,若标准帧与扩展帧具有相同的前 11 位 ID,那么标准帧将会由于 IDE 位为 0,优先获得总线;IDE
,res
,DLC
位;同时增加了三个控制bit位,FDF、BRS、ESI
;FDF
(Flexible Data Rate Format):原CAN数据帧中的保留位r,FDF常为隐性
,表示CAN FD 报文;BRS
(Bit Rate Switch):位速率转换开关
,当BRS为显性位时数据段的位速率与仲裁段的位速率一致,当BRS为隐性位时数据段的位速率高于仲裁段的位速率;ESI
(Error State Indicator):错误状态指示
,主动错误时发送显性位,被动错误时发送隐性位;为了避免位填充对CRC的影响,CAN FD在CRC场中增加了stuff count
记录填充位的个数对应8的模,并用格雷码表示,还增加了奇偶校验位;且在CRC中加入了填充位FSB(fixed stuff-bit)
Stuff Count由以下两个元素组成:
格雷码计算
:CRC区域之前的填充位数除以8,得到的余数(Stuff bit count modulo 8)进行格雷码计算得到的值(Bit 0-2)奇偶校验
(parity):通过格雷码计算后的值的奇偶校验(偶校验)CAN FD对CRC算法进行了改进,CRC对填充位也加入了计算;在校验部分为避免有连续位超过6个,就确定在第一位以及以后每4位添加一个填充位加以分割
,这个填充位的值是上一位的反码,作为格式检查,如果填充位不是上一位的反码,就作出错处理。
CAN的CRC的位数是15位,而在CAN FD中,CRC场扩展到了21位,如下:
0~8字节
时:CRC 15位
9~16字节
时:CRC 17位
17~64个字节
时:CRC 21位
2个位时间有效的ACK
,允许1个额外的位时间来补偿收发器相移和传播延迟1位隐性位
表示连续7位的隐性位
硬件和工具方面
,要使用 CANFD,首先要选取支持 CANFD 的 CAN 控制器和收发器,还要选取新的网络调试和监测工具;网络兼容性方面
,对于传统 CAN 网段的部分节点需要升级到 CANFD 的情况要特别注意,由于帧格式不一致的原因,CANFD 节点可以正常收发传统 CAN 节点报文,但是传统 CAN 节点不能正常收发 CANFD 节点的报文;感谢阅读 若有错误 欢迎指正 !!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。