CAN和CAN FD
1.CAN和CAN FD是什么?
2.CAN和CAN FD有什么区别?
3.CAN和CAN FD硬件有什么区别,硬件上需要做什么?
4.CAN和CAN FD组网问题。
一.CAN和CAN FD是什么?
1.什么是CAN?
CAN是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。由德国电气商博世公司在1986 年率先提出。此后,CAN 通过ISO11898 及ISO11519 进行了标准化。现在在欧洲已是汽车网络的标准协议。
CAN协议经过ISO标准化后有两个标准:ISO11898标准和ISO11519-2标准。其中ISO11898是针对通信速率为125Kbps~1Mbps的高速通信标准,而ISO11519-2是针对通信速率为125Kbps以下的低速通信标准。 CAN具有很高的可靠性,广泛应用于:汽车电子、工业自动化、船舶、医疗设备、工业设备等方面。
2.CAN协议的特点:
①多主控制。总线空闲时,所有单元都可发送消息,而两个以上的单元同时开始发送消息时,根据标识符(ID,非地址)决定优先级。两个以上的单元同时开始发送消息时,对各消息ID 的每个位进行逐个仲裁比较。仲裁获胜(优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。
②系统柔软性。连接总线的单元,没有类似“地址”的信息,因此,在总线上添加单元时,已连接的其他单元的软硬件和应用层都不需要做改变。
③速度快,距离远。最高1Mbps(距离<40M),最远可达10KM(速率<5Kbps)。
④具有错误检测、错误通知和错误恢复功能。所有单元都可以检测错误(错误检测功能),检测出错误的单元会立即同时通知其他所有单元(错误通知功能),正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。
⑤故障封闭功能。CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。
⑥连接节点多。CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。
正是因为CAN协议的这些特点,使得CAN特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
3.CAN物理层特征
CAN 控制器根据CAN_L和CAN_H上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。
显性电平对应逻辑:0 CAN_H和CAN_L之差为2V左右。
隐性电平对应逻辑:1 CAN_H和CAN_L之差为0V。
显性电平具有优先权,只要有一个单元输出显性电平,总线上即为显性电平。而隐形电平则具有包容的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平(显性电平比隐性电平更强)。另外,在CAN总线的起止端都有一个120Ω的终端电阻,来做阻抗匹配,以减少回波反射。
4.CAN帧种类介绍
CAN通信是以以下5种类型的帧进行的:
其中,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有11 个位的标识符(ID),扩展格式有29 个位的ID 。
5.CAN数据帧介绍
数据帧由7个段组成:
①帧起始。表示数据帧开始的段。
②仲裁段。表示该帧优先级的段(11~29)。
③控制段。表示数据的字节数及保留位的段(6位)。
④数据段。数据的内容,一帧可发送0~8个字节的数据。
⑤CRC段。查帧的传输错误的段(15位)。
⑥ACK段。表示确认正常接收的段(2位)。
⑦帧结束。表示数据帧结束的段(7位)。
6.CAN总线仲裁
规律:1,总线空闲时,最先发送的单元获得发送优先权,一但发送,其他单元无法抢占。2,如果有多个单元同时发送,则连续输出显性电平多的单元,具有较高优先级。
从ID开始比较,如果ID相同,还可能会比较RTR和SRR等位。
7.CAN FD是什么?
CAN FD 是CAN with Flexible Data rate的缩写。也可以简单的认为是传统CAN的升级版。CAN FD是为了适应新能源和智能化汽车发展,由CAN2.0演变而来的新的CAN通信协议。
当今社会汽车产业发展方向,新能源和智能化一直是人们讨论的两个主题。汽车已经成为了我们生活中不可缺少的一部分,人们希望汽车不仅仅是一种代步工具,更希望在汽车是生活及工作范围的一种延伸。
因此,汽车制造商为了提高产品竞争力,将越来越多功能集成到了汽车上。ECU(电子控制单元)大量地增加使总线负载率急剧增大,传统的CAN总线越来越显得力不从心。因此CAN FD应运而生。
2011年,开始CAN FD协议的开发。
2015年,ISO 11898-1(Classical CAN和CAN FD)修订版发布。
对比传统CAN总线技术,CAN FD有两方面的升级:
- 支持可变速率—> 最大5Mbit/s;
- 支持更长数据长度--> 最长64 bytes数据。
二.CAN和CAN FD有什么区别?
CANFD:可以理解成CAN协议的升级版,只升级了协议,物理层未改变。
1.传输速率不同
CAN:最大传输速率1Mbps。
CAN FD:速率可变,仲裁比特率最高1Mbps(与CAN相同),数据比特率最高8Mbps,据调研目前应用的都是5Mbps。
2.数据长度不同
CAN:一帧数据最长8字节
CAN FD:一帧数据最长64字节。
3.帧格式不同
CanFD新增了FDF、BRS、ESI位。
FDF:表示CAN报文还是CAN-FD报文。
BRS:表示位速率转换,该位隐性时,速率可变(即BSR到CRC使用转换速率传输),该位为显性时,以正常的 CAN-FD总线速率传输(恒定速率);
ESI:表示发送节点状态。
4.ID长度不同
CAN标准帧ID长度最长11bit
CANFD标准帧ID长度可扩展到12bit。
5.CAN-FD和CAN主要的区别有两点:
(1)可变速率
CAN-FD采用了两种位速率:从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率。两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位TQ外,位时间各段的分配比例也可不同。
(2)新的数据场长度
CAN-FD对数据场的长度作了很大的扩充,DLC最大支持64个字节,在DLC小于等于8时与原CAN总线是一样的,大于8时有一个非线性的增长,所以最大的数据场长度可达64字节。
三.CAN和CAN FD硬件有什么区别,硬件上需要做什么?
1.相似的控制器接口,物理层不变;
2.CAN FD的硬件支持(来自《车载网络技术革新-CAN FD浅析》)
在CAN总线基础上发展起来的CAN FD协议,实际应用时需要对原来的CAN网络物理层做一些改变,对软件和应用程序的修改较小。一般地要在车载CAN网络中进行CAN FD通信时,需要添加CAN FD控制器。目前CAN FD控制器还没有产品问世,Bosch在实验室中将CAN IP模块嵌入FPGA中实现了CAN FD控制器的功能,这种方法目前也主要用于仿真验证和实验室测试。CAN IP模块如图3所示,它由2个CAN FD IP core在FPGA上运行,上层由CPU控制。
NXP宣布将在2013年上半年发布TJA1145 FD收发器的样片,这款收发器支持CAN局部网络(PN, Partial Networking)并且配置了额外的寄存器可以忽略CAN FD消息,这为CAN FD节点和传统的CAN节点兼容于一个网络提供了条件,即CAN FD节点通信时,CAN节点进入睡眠状态,CAN FD通信结束后由一个CAN唤醒消息将CAN节点唤醒。同时NXP宣布将在2013年第三季度发布SJA1145样片,这是一款集成片上收发器的CAN FD协议控制器,支持64个字节的传输负载和2M的传输速率,但是SJA1145需要精确的外部时钟。Etas和Vector等工具厂商也跃跃欲试,发布了其支持CAN FD总线通信的工具及其发展计划。 3.TC277支持4路CAN FD
4.TC397支持12路CAN FD
四.CAN和CAN FD组网问题
对于传统的CAN网段的部分节点升级到CAN FD的情况需要特别注意。CAN FD节点可以正常收发传统CAN报文,但是传统CAN节点不能正确收发CAN FD报文,其原因是帧格式不一致,会导致传统CAN节点发送错误帧。
基于以上场景,为了解决传统CAN和CAN FD的兼容性问题,芯片厂提出了一种解决方案,在传统CAN节点上采用CAN FD Shield模式的收发器,当收到CAN FD报文时,收发器会将其过滤掉,防止传统CAN节点发出错误帧,从而实现网络的兼容。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/16282.html