随着电动汽车,无人驾驶汽车技术的快速发展,以及对汽车高级驾驶辅助系统和人机交互的增加,传统的CAN总线在传输速率和带宽等方面越来越显得力不从心,因此改进版的CAN总线应运而生。从2012年第13届ICC大会上发布,到2015年提交国际标准化ISO 11898系列,CAN FD(CAN with Flexible Data rate)正在步入快速的发展时期。
速度与稳定两者得兼
相比“传统”的CAN协议,CAN FD具有两大优势:
1、 CAN FD采用可变速率,最高速率可达10Mb/s,而传统的CAN协议只有1Mb/s;
2、 能够支持更高的负载,在单个数据框架内传送率可达64字节,避免了经常发生的数据分裂状况。
CAN-FD标准将CAN报文的数据段可提升到更高的位速度,其中可提升通信速率的数据段包括两个控制位、数据长度位,数据位以及CRC校验位。CAN-FD报文通信时,在仲裁段和紧接着的数据控制段都是使用标准的通信波特率,当来到数据段时,CAN-FD总线的通信波特率就会切换到更高的通信波特率。此时在CAN总线上只有一个CAN节点传输,其他节点进入监听模式。当这个数据段传送完毕后,通信波特率又重新切换到标准模式下。
CAN-FD通信时经常会使用到两种通信波特率,因此对“FD”解释为(灵活的数据速率)“Flexible Data rate”
另一个CAN-FD新的功能是减少控制位的开销。目前CAN2.0标准最大8个字节的数据,CAN-FD数据位最大的字节数提高至64位,CAN-FD具有更高的有效传输负载。例如:CAN-FD总线以2Mbit/s的速率、64位数据与CAN 250Kbit/s、8位数据传输对比,很明显在相同时间下,CAN-FD的有效传输负载是CAN传输负载的8倍。CAN-FD标准向下兼容CAN2.0A/B标准,CAN-FD节点可以与现存的CAN2.0协议的节点进行通信,当然在这点情况下不能够使用CAN-FD帧。这种兼容性为了CAN2.0设备能够平滑地过渡到CAN-FD功能的硬件上。所以,我们对CAN-FD有了另一种说法,为“CAN3.0”。
下一个“风口”
自动驾驶车辆无疑是未来汽车的发展趋势,65%的人相信自动驾驶车辆在10—15年内出现,除此之外,中国司机习惯使用紧急刹车辅助系统、盲点检测以及自动停车的系统等高级驾驶辅助系统。据HIS预计,到2019年中国将有8%的新车装备这类系统,而这些系统中大量采用的雷达、超声波等感应元器件,需要高速、可靠和稳定的车载网络接入到系统中,而这正是CAN FD的优势所在。
中国经济已经进入“新常态”的发展阶段,专家预计中国汽车市场仍将以7%的增速蝉联全球汽车产销第一的位置,作为车载网络市场占有率最高的总线,中国市场对于CAN FD成功推广的重要性不言而喻。
除了传统的汽车领域,CAN系列总线系统在非汽车应用中也是非常成功的,比如在数控机床、机器人、伺服点击等工业自动化领域都有广泛的应用,每年全球安装8亿以上的CAN节点。CAN FD的推出,在继承CAN总线优势的基础上,将为用户带来更快更好的应用体验。
工欲善其事,必先利其器
CAN FD无疑是将是下一个风口,作为高张远瞩的厂商,必然会做好准备,乘风破浪。
正所谓工欲善其事,必先利其器,致远电子自主研发的ZDS2024 Plus示波器,是全球唯一一款标配CAN FD协议解码的示波器,配合250Mpts的存储深度,对您产品的研发将起到事半功倍的效果。
2015年4月15日,CAN/CANopen技术研讨会在天津拉开帷幕,CiA(CAN-in-Automation)国际用户与制造商联合组织主席Holger Zeltwanger出席会议,介绍了CAN FD技术及其高层协议的发展现状及未来趋势。
CAN总线到达负荷极限
在汽车领域,随着人们对数据传输带宽要求的增加,传统的CAN总线由于带宽的限制难以满足日益增长的需求。
梅赛德斯-奔驰 E级轿车电子网络演进表
汽车电子智能化的快速发展使得CAN总线到达负荷的极限,人们迫切需要一种新的协议来提高传输速率。它需要满足以下条件:
更高的带宽
软件下载和诊断?
更高的吞吐量以实现新功能和额外功能
保证数据链路层的可靠性
更低的功耗
不增加人力培训投入
不增加硬件投入
物理层具有鲁棒性[q1]
CAN FD:CAN的升级版
CAN FD(CAN with Flexible Data-Rate),它继承了CAN总线的主要特性,同时对CAN进行了优化:
更快的传输速率
CAN FD采用了两种位速率,仲裁段和数据控制段使用标准的通信波特率,而传输数据段时会切换到更高的通信波特率。
更长的数据场
CAN FD对数据场的长度作了很大的扩充,意味着CAN FD具有更高的有效传输负载。
CRC校验场
根据DLCs的长度不同,CAN FD选择两种新BCH型CRC多项式。
Protected payload保护的有效载荷
CAN FD里程碑
2011年春
应OEM厂商要求,博世开展CAN FD项目;
2012年
第13届iCC大会上正式发布CAN FD;
首个非国际标准CAN FD系统在iCC大会展示;
正式向国际标准委员会提出国际标准授权申请(CAN FD);
计划向国际标准委员会提交申请(CAN FD的一致性测试);
2013年
非ISO的CAN FD在FPGA上运行;
2014年
第一款嵌入了非国际标准 CAN FD模块的微控制器发布;
CAN FD进行改进(CRC部分);
2015年
提交ISO 11898-1,等待决议;
第一个基于国际标准CAN FD的实现;
年底将首次发布CiA 601和602系列,提交SAE J1939协议。
CAN FD技术的发展规划
2015年CiA将在全球重点推广CAN FD技术:
2015年年中:发布CiA601系列(CAN FD设计与指导建议)。之后,发布ISO1898-1:2015(CAN FD数据链路层)和CiA301 5.0版(CANopen FD)。
2015年年底:发布ISO 16845-1:2015(CAN FD一体化测试)。
2016年年初,将发布CiA602系列(CAN FD与重型车辆)。
预计2016年年底至2017年年初,第一款CAN FD的应用将上线。
CAN-FD通过改变帧结构和提高位速率等方法成功的把数据传输速率提高到了5Mbit/s。诗讯半导体(Spansion)近期发布的Cortex-R5系列汽车级MCU产品全系列支持CAN-FD总线通信。
CAN及CAN-FD背景介绍
自1986年博世(Bosch)首次在SAE国际大会上展示CAN(Controller Area Network,控制器域网络)通信方案以来,这种高速、可靠、易用的通信总线就一直被汽车产业所关注,并得到了绝大多数整车厂和零部件厂的支持。经过了20多年的发展与沉淀,CAN通信目前已经成为车载网络领域最成熟、应用最广泛的通信总线之一(CAN的发展历程如图1所示)。
图1 CAN通信方案的发展历程
CAN总线通信的一些关键特性使其非常适合车载网络应用:
(1)差分信号可靠性高,抗干扰能力强,且通信介质选择灵活(双绞线、同轴电缆或光纤);(2)通信速率最高可达1 Mbit/s(此时距离最长40 m);(3)采用多主通信模式,当总线空闲时,任意节点均可以主动向网络其他节点发送信息;(4)支持节点优先级设定,并采用非破坏性逐位仲裁规则解决潜在数据发送冲突;(5)信息以广播式发送,所有节点都能接收到信息,保证网络内的数据一致性;(6)支持完善的错误界定和处理机制,出错节点具有自动关闭退出总线的功能。
随着人们对汽车的智能化要求越来越高,汽车上装配的电子控制单元也越来越多,CAN总线通信也渐渐显现出来一些不足:
(1)最高数据传输速率限制为1 Mbit/s,车载领域实际使用速率最高为500 Kbit/s,无法满足越来越高的数据吞吐量需求;(2)每帧报文有效数据场为8字节,仅占整帧报文信息不足50%;(3)性能上难以应对Flexray、Ethernet等新型车载总线的威胁。
市场对提升CAN总线性能的强烈需求使CAN-FD (Flexible Data rate)应运而生,CAN-FD发扬了CAN的优点,并弥补了CAN的不足,其主要特性如下:
(1)采用与CAN通信相同的事件触发模式,软件容易开发和移植;(2)最高数据传输速率达5Mbit/s,更好地满足要求高实时性、高数据传输速率的应用;(3)每帧报文有效数据场为64字节,占整帧报文信息超过70%;(4)相比Flexray、Ethernet等新兴总线成本更低。
CAN-FD的技术特点
CAN-FD通过改变帧结构和提高位速率等方法成功的把数据传输速率提高到了5Mbit/s,其基本原理如图2所示。CAN-FD协议的帧结构如图3所示。
图2 CAN-FD传输的基本原理
图3 CAN-FD协议的帧结构 (注:图片来源:Vector)
CAN与CAN-FD总线的区别:
CAN与CAN-FD总线报文格式对比:
图4 CAN与CAN-FD总线报文格式对比图 (注:图片来源:Vector)
CAN与CAN-FD总线的区别:
(1) CAN-FD整个报文帧包含两种不同的数据传输速率,从SOF到BRS(Bit Rate Switch)采用传统的50Kbps至1Mbps速率传输,从BRS到ACK场采用可变传输速率,通常为5Mbps;
图5 CAN-FD数据传输速率转换 (注:图片来源:http://www.can-cia.org/de/can-knowledge/can/can-fd/ )
(2)CAN-FD数据场有效字节数最高可达64字节;(3)报文帧格式变化:a) CAN-FD取消了RTR(Remote Transmission Request远程传输请求)位,代之以RRS(Remote Request Substitution远程请求替换)位,且RRS位一直为显性位;b) CAN-FD在控制场增加了以下控制位。FDF(FD Format)或EDL(Extended Data Length扩展数据长度):CAN格式为显性,CAN-FD格式为隐性;BRS(Bit Rate Switch):在CAN-FD报文中分隔仲裁场与数据场、转换数据传输速率为隐性、不转换数据传输速率为显性;ESI(Error State Indicator错误状态指示器):发送节点处于被动错误状态(Error Passive)为隐性、发送节点处于主动错误状态(Error Active)为显性。c) CAN-FD采用了新的DLC编码方式,如下图所示:
图6 CAN-FD DLC编码方式 (注:图片来源:http://www.can-cia.org/de/can-knowledge/can/can-fd/)
d) CAN-FD采用了新的CRC算法:标准CAN:CRC码为15位
CAN-FD:数据场小于等于16字节,CRC码为17位;数据场大于16字节,CRC码为21位。
CAN与CAN-FD混合网络的实施:
根据CAN与CAN-FD网关特性及网络结构的不同,标准CAN与CAN-FD混合网络的实施具有一定复杂性,需要根据具体情况进行实际论证。通常建议从以下几个方面为基础进行考量:
(1)网络中存在单个CAN-FD节点:
CAN-FD节点的数据通信速率需要与网关的通信速率兼容,故采用与标准CAN网关相同的通信速率,通常为500Kbps;
(2)网络中存在多个CAN-FD节点:
采用诸如局部网络(Partial Network)的分组组网技术,实现在数据通信时局部网络节点唤醒,即CAN-FD节点间通信时,标准CAN节点不唤醒;
CAN-FD的相关厂商:
(1)CAN-FD的IC厂商
a) MCU/SOC:目前汽车电子领域的各大半导体厂商已经量产或正在开发集成CAN-FD控制器的产品。
诗讯半导体(Spansion)近期发布的Cortex-R5系列汽车级MCU产品全系列支持CAN-FD总线通信。2014年7月,诗讯半导体正式发布了集成CAN-FD控制器的ARM Cortex-R5 S6J3310系列产品。该产品的关键特性包括:ARM Cortex-R5高性能32位内核,主频高达144 MHz;最高集成2路CAN-FD通信,每路数据传输速率达5 Mbit/s;支持SHE(Secure Hardware Extension)加密功能;支持更新的低功耗功能,如部分唤醒等;支持AutoSAR。图4展示了S6J3110评估板的CAN-FD的技术特点和帧结构的实测波形。
图7 S6J3110评估板的CAN-FD的技术特点和帧结构的实测波形
b) 收发器:目前NXP为代表的收发器厂商已经有多款支持CAN-FD的产品推出,且部分产品已经支持局部网络(Partial Network)、休眠状态总线唤醒等功能。
(2)CAN-FD的设备、工具厂商
在车载应用领域,目前已有多家设备、工具厂商支持CAN-FD总线协议,如维克多(Vector)、罗德与施瓦茨(R&S)和周立功(ZLG)等。
国外厂商以维克多为代表,其在工具体系的完整性方面更为领先。Vector的工具体系完整的支持CAN-FD的开发、测试、网络分析等全部功能。另外,其GL系列总线记录仪也将在不远的将来支持CAN-FD协议。
国内厂商以周立功为代表,其最新推出的四通道ZDS2024示波器可以很好的支持CAN-FD协议,其关键特性包括:支持4通道、模拟带宽高达200MHz、采样率每通道均为1GSa/s、21种协议触发及解码、51种参数测量及24种参数同时测量统计。
CAN-FD的主要应用领域:
CAN-FD因其继承了CAN总线得低成本、高可靠性等特点,又进一步提升了其数据传输性能,未来在以下领域有着很大的发展空间:
(1)EOL(End-Of-Line)程序烧写:CAN数据传输速率为500 Kbit/s;CAN-FD数据传输速率为5 Mbit/s,约10倍于CAN传输速率。(2)动力、底盘和安全系统,以及身份认证:数据场支持长达64字节,避免数据非必要的拆分。(3)网关:提高网络数据传输速率达5 Mbit/s,提高了有效数据负载率。
车载电子模块数量的不断增长对车载网络通信技术提出了更高的要求,CAN-FD作为一个新兴的车载网络技术具备低成本、高可靠性、高传输速率等优点,很有可能会在未来几年的汽车电子领域大放异彩。
CAN及CAN-FD专业名词:
d = dominant
r = recessive
ACK = acknowledgement
CRC = cyclic redundancy check
DLC = Data length code
EDL = Extended Data Length
EOF = End-Of-Frame
ESI = Error State Indicator
FBFF = FD Base Frame Format
FEFF = FD Extended Frame Format
FDF = flexible data rate format
IDE = identifier extension
IMF = intermission field
r0 = reserved
RTR = Remote transmission request
RRS = remote request substitution
SOF = start-of-frame
SRR = substitute remote request
BRS = Bit Rate Switch
车内评(微信:cheneiping 网站:www.cnping.com)专栏作者 凡一简介:
要说汽车电子玩到什么程度才叫深?那必须是到芯片这个程度!汽车零部件厂商PM、IC产品线梳理和市场营销、汽车IC/SoC规划……凡一就是这么任性的汉子,CNPing就是要这么NB的专家来高射炮打蚊子,那些Tree New Bee的厂家要当心啊,凡一的高维度点评,分分钟让你们无所遁形。另外,这个任性的汉子喜欢和大家分享自己的知识和心得,即使看看他的非评测类文章,也能学到不少东西,就算“不明“也会”觉厉!
摘要
随着工业的发展,工业总线上的数据量越来越多,这使得CAN总线的逐渐达到负荷极限,这就需要改进原有的总线来提高总线传输速率,CAN-FD便在这样的背景下诞生了。
随着当今工业的发展,尤其是在CAN总线运用较多的汽车领域,总线通讯的数据量越来越大,例如电动汽车上,汽车内部出现更多的辅助系统和人机交互系统,这就使得传统的CAN总线在传输速率和带宽方面越来越力不从心。因此CAN-FD孕育而生。
根据CAN规范ISO11898-2所定义的标准帧结构,一帧报文最大只能传输64位(8个字节)的数据,在最好的情况下总线负载达到70%左右,不过如果报文数据少于8个字节的情况下总线负载可能会更小。我们或者会提出疑问,为什么不可以把CAN标准的通信波特率改高一点呢?其实是有一个很重要的因素,CAN采用仲裁机制来判定不同节点CAN报文传输的优先级,在仲裁期同一总线上的所有节点必须在一个位的时间内到达。另一方面电信号有一个有限的传播速度。从大量经验中得出CAN总线以1Mbit/s运行的最长距离为40米。通信波特率越高,通信距离则越短。
CAN-FD与CAN主要区别
CAN-FD和CAN主要的区别有两点:
1、可变速率
CAN-FD采用了两种位速率:从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率。两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位TQ外,位时间各段的分配比例也可不同。
2、新的数据场长度
CAN-FD对数据场的长度作了很大的扩充,DLC最大支持64个字节,在DLC小于等于8时与原CAN总线是一样的,大于8时有一个非线性的增长,所以最大的数据场长度可达64字节。
CAN-FD简介
1、CAN-FD 数据帧帧格式
CAN-FD 数据帧在控制场新添加EDL位、BRS位、ESI位,采用了新的DLC编码方式、新的CRC算法(CRC场扩展到21位)。CAN-FD数据帧格式如图 3所示。
2、新添加位介绍
EDL位:(Extended Data Length)原CAN数据帧中的保留位r, 该位功能为:
隐性: 表示CAN-FD 报文 (采用新的DLC编码和CRC算法)
显性: 表示CAN报文
BRS位:( Bit Rate Switch)该位功能为:
隐性:表示转换可变速率
显性:表示不转换速率
ESI(Error State Indicator),该位的功能为:
隐性:表示发送节点处于被动错误状态(Error Passive)
显性:表示发送节点处于主动错误状态(Error Active)
EDL位可以表示CAN报文还是CAN-FD报文;BRS表示位速率转换,该位为隐性位时,从BRS位到CRC界定符使用转换速率传输,其他位场使用标准位速率,该位为显性时,以正常的CAN-FD总线速率传输;通过添加ESI位,可以很方便的知道当前发送节点所处的状态。
3、新的CRC算法
CAN总线由于位填充规则对CRC的干扰,造成错帧漏检率未达到设计意图。CAN-FD对CRC算法作了改变,即CRC以含填充位的位流进行计算。在校验和部分为避免再有连续位超过6个,就确定在第一位以及以后每4位添加一个填充位加以分割,这个填充位的值是上一位的反码,作为格式检查,如果填充位不是上一位的反码,就作出错处理。CAN-FD的CRC场扩展到了21位。由于数据场长度有很大变化区间,所以要根据DLC大小应用不同的CRC生成多项式,CRC_17,适合于帧长小于210位的帧,CRC_21,适适合于帧长小于1023位的帧。
4、新的DLC编码
CAN-FD 数据帧采用了新的新的DLC编码方式,在数据场长度在0-8个字节时,采用线性规则,数据场长度为12-64个字节时,使用非线性编码。如图 5所示。
广州致远电子股份有限公司是CAN-FD在中国的伙伴,ZLG致远电子在2009年就加入了CiA协会,是国内最早成为CiA会员公司的中国本土公司之一。ZLG致远电子示波器可支持CAN-FD协议解码功能,可助力您跟好的学习、研究、开发CAN-FD。
ZDS2024 Plus解码效果图
在汽车领域,随着人们对数据传输带宽要求的增加,传统的CAN总线由于带宽的限制难以满足这种增加的需求。此外为了缩小CAN网络(max. 1MBit/s)与FlexRay(max.10MBit/s)网络的带宽差距,BOSCH公司推出了CAN FD 。
CAN FD(CAN with Flexible Data rate)继承了CAN总线的主要特性。CAN总线采用双线串行通讯协议,基于非破坏性仲裁技术,分布式实时控制,可靠的错误处理和检测机制使CAN总线有很高的安全性,但CAN总线带宽和数据场长度却受到制约。CAN FD总线弥补了CAN总线带宽和数据场长度的制约,CAN FD总线与CAN总线的区别主要在以下两个方面:
? 可变速率
CAN FD采用了两种位速率:从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率。两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位TQ外,位时间各段的分配比例也可不同。
? 新的数据场长度
CAN FD对数据场的长度作了很大的扩充,DLC最大支持64个字节,在DLC小于等于8时与原CAN总线是一样的,大于8时有一个非线性的增长,所以最大的数据场长度可达64字节。
CAN FD介绍
1.CAN FD 数据帧帧格式
CAN FD 数据帧在控制场新添加EDL位、BRS位、ESI位,采用了新的DLC编码方式、新的CRC算法(CRC场扩展到21位)。CAN FD数据帧格式如下图:
2. 新添加位介绍
EDL位:(Extended Data Length)原CAN数据帧中的保留位r, 该位功能为:
? 隐性: 表示CAN FD 报文 (采用新的DLC编码和CRC算法)
? 显性: 表示CAN报文
BRS位:( Bit Rate Switch)该位功能为:
? 隐性:表示转换可变速率
? 显性:表示不转换速率
ESI(Error State Indicator),该位的功能为:
? 隐性:表示发送节点处于被动错误状态(Error Passive)
? 显性:表示发送节点处于主动错误状态(Error Active)
EDL位可以表示CAN报文还是CAN FD报文;BRS表示位速率转换,该位为隐性位时,从BRS位到CRC界定符使用转换速率传输,其他位场使用标准位速率,该位为显性时,以正常的CANFD总线速率传输;通过添加ESI位,可以很方便的知道当前发送节点所处的状态。
3.新的CRC算法
CAN总线由于位填充规则对CRC的干扰,造成错帧漏检率未达到设计意图。CAN FD对CRC算法作了改变,即CRC以含填充位的位流进行计算。在校验和部分为避免再有连续位超过6个,就确定在第一位以及以后每4位添加一个填充位加以分割,这个填充位的值是上一位的反码,作为格式检查,如果填充位不是上一位的反码,就作出错处理。CAN FD的CRC场扩展到了21位。由于数据场长度有很大变化区间,所以要根据DLC大小应用不同的CRC生成多项式,CRC_17,适合于帧长小于210位的帧,CRC_21,适适合于帧长小于1023位的帧。
4.新的DLC编码
CANFD 数据帧采用了新的新的DLC编码方式,在数据场长度在0-8个字节时,采用线性规则,数据场长度为12-64个字节时,使用非线性编码。如下图:
Vector解决方案
CAN FD白皮书在论及与原CAN总线的兼容性时指出:CAN总线系统可以逐步过渡到CAN FD系统,网络中所有节点要进行CAN FD通信都得有CAN FD协议控制器,但是CAN FD协议控制器也能参加标准CAN总线的通信。
? 支持CAN FD总线的软件:CANoe/CANalyzer 8.0 SP3
? 支持CAN FD总线的硬件:VN1630/VN1640
? 支持CAN FD总线的收发器:1051cap piggy
(目前,CANoe8.0SP3只基本支持CAN FD总线,只支持最大8个字节的CAN FD报文)
VN1630/VN1640介绍
1.应用领域
VN1600支持CANoe、CANalyzer、CANape、Indigo、vFlash等系列Vector软件,及客户自定义软件;可在实验室、台架、维修站、实车上应用。在仿真、诊断、标定、flash编程均可应用。支持多个应用程序同时应用于同一硬件设备及同一通道。
2.功能概括
? 应用在CAN/LIN/K线/J1708及IO上的灵活网络接口卡
? 使用Vector传统的CAN/LIN/J1708网络收发器
? USB供电,最大可同时提供4路总线通信功能
? CANoe、CANape、CANalyzer及用户应用软件的首选硬件接口卡,支持多个应用程序
? 增加的LIN功能:支持LIN协议的一致性检测(VN1630/VN1640)
? 不同通道之间同步的最短延时
? 最快的硬件加速
? 工作温度:-40—+70℃
鲁棒是Robust的音译,也就是健壮和强壮的意思。它是在异常和危险情况下系统生存的关键