CAN是Control Area Network的缩写,是ISO国际标准化的串行通信协议。1986年由BOSCH开发,之后通过ISO11898及ISO11519进行了标准化。现在广泛的应用于工业自动化、船舶、医疗设备等领域,尤其是汽车领域。
但是近几年随着汽车的功能越来越多,整车上的ECU也越来越多,CAN总线负载率日益升高,已逐渐无法满足人们的使用需求。因此从2011年开始了CANFD协议的开发,目前CANFD正在逐步取代整车上的传统CAN通信。
那么CANFD相比于传统CAN有哪些优势呢?两者的区别又在于哪里?
一、相同点
1、CANFD和传统CAN的总线拓扑是一样的。
CAN总线拓扑
2、传统CAN与CANFD的帧起始(SOF:Start Of frame)相同,都为1个bit的显性电平。
3、传统CAN与CANFD的ACK(Acknowledgement)段和EOF(End Of frame)段相同。
v ACK Slot: 发送单元发送隐性位1,接收单元发送显性位0。
v ACK Delimiter:都为1个bit的隐性位。
v EOF:都为7个bit的隐性位。
CANFD数据帧
v IFS: Inter frame Space,帧间隔
传统CAN数据帧
二、差异点
2.1仲裁段
2.1.1标准格式
CANFD和传统CAN的基本ID部分相同。
CANFD用RRS代替了传统CAN中的RTR,不支持遥控帧。
传统CAN中RTR表明该帧报文为数据帧还是遥控帧。
v RRS:Remote Request Substitution
2.1.2扩展格式
基本ID、扩展ID、SRR、IDE传统CAN与CANFD相同。
CANFD用RRS代替了RTR。
CANFD新增了FDF和res。
FDF: FD Format,表示该帧报文为CANFD 还是CAN。显性为传统CAN,隐性为CANFD。
Res:Reserve,预留位。
2.2控制段
此部分CANFD相比于传统CAN新增了BRS和ESI,且DLC编码规则也有所改变。
CANFD
(标准格式与扩展格式相同)
2.2.1 BRS
BRS(Bit rate Switch),表示位传输速率的切换。隐性切换,显性不切换。
由发送单元发送在非同步的情况下发送的美妙中的位数称为位速率。一个位可分为4段:同步段、传播时间段、相位缓冲段1、相位缓冲段2。
这些段又由称为Tq(Time Quantum)的*小时间单位构成。
段及其作用
CAN-FD 通过改变帧结构和提高位速率等方法成功的提高了数据传输速率。
CAN-FD采用了两种位速率:从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,*高速率可达5Mbps,其余部分为原CAN总线用的速率。
CANFD性能对比
CANFD数据传输速率提高基本原理
CANFD性能对比
2.2.2 ESI
Error State Indicator,表示发送节点的错误状态。
显性主动错误,隐性被动错误。
2.2.3 DLC
Data LengthCode,表明所传输数据的字节长度。
CANFD支持CAN数据帧的编码方式,但两者编码规则略有不同。
DLC编码规则
2.3 数据段
CANFD的数据段字节长度*高可达64bytes,而传统CAN只有5bytes。
2.4 CRC段
CANFD的CRC段相比传统CAN新增了stuff count记录填充位的个数,并用Grey Code表示,还增加了奇偶校验位。
CRC校验时,两者校验码所占位数及多项式也不相同。
2.4.1位填充
位填充是为了防止突发错误而设定的功能,当同样的电平持续5个bits时,则添加一个bit的反型数据。
位填充
2.4.2 Stuff Count
Stuff Count由4个bit组成,其中bit0~2为Grey code计算的结果,Parity为奇偶检验的结果。
Grey Code:CRC区域之前的填充位数除以8,得到的余数进行格雷码计算得到的值(Bit0-2)
奇偶校验:通过格雷码计算后的值的奇偶校验。
2.4.3 CRC
传统CAN的CRC校验码有15位,而CANFD规范中对帧数据长度进行了扩展,对于数据长度小于等于16字节的CANFD帧,采用17位CRC,对于数据长度大于16字节的CANFD帧采用21位CRC。
CANFD和传统CAN CRC校验式采用的多项式不同。
三、总结
1、CANFD可以兼容传统CAN,但传统CAN无法兼容CANFD。
2、CANFD的传输速率和字节长度相比传统CAN可以做的更高。
3、CANFD具备Stuff Count功能,其传输正确率及可靠性更高。
关于汽车领域的相关的专业知识就为大家介绍到这里了,更多相关的行业知识可以关注我们。百检网是一个大型的综合性知识分享型平台,持续为您分享各类行业知识。做检测 上百检!百检网只做真实检测。