转自:http://www.eepw.com.cn/article/201612/331249.htm

1.引言

  随着电子、半导体、通讯等行业的快速发展,汽车电子智能化的诉求也越来越强,消费者希望驾驶动力性、舒适性、经济性以及娱乐性更强的汽车。汽车制造商为了提高产品竞争力,将越来越多的电子控制系统加入到汽车控制中,例如ESP(Electronic Stability Program,电子稳定程序)、PEPS(Passive Entry Passive Start无钥匙进入和启动系统)等。但是由于CAN总线的最高传输速率为1Mbit/s(通常汽车CAN系统的实际使用速率最高为500kbit/s),ECU(Electronic Control Unit,电子控制单元)的大量增加使总线负载率急剧增大以致造成网络拥堵,影响信息传输的可靠性和实时性。
  不同的汽车,根据其级别、类型和配置的不同,ECU的数量和网络拓扑都不尽相同。图1所示的网络拓扑为经济型轿车中常见的网络拓扑,因为所有的ECU都在同一个CAN网段上,其总线负载率可能高达50~60%,而一般情况下,CAN总线负载率在30%左右时网络系统的性能相对较好,否则会增大报文延迟、降低系统的扩展性,尤其对于实时性要求较高的安全系统,高负载率甚至可能影响汽车行车安全;另一方面,CAN总线的位填充规则会对CRC(Cyclical Redundancy Check)造成干扰,引起错误帧漏检,使信息传输的可靠性达不到预期的设计要求,因此CAN总线将不能满足日益增长的汽车网络需求。

本文引用地址:http://www.eepw.com.cn/article/201612/331249.htm

  图1汽车CAN总线网络拓扑

  为解决带宽与可靠性的需求,有人提出在汽车网络中使用新的总线协议替代CAN总线,例如安全系统中使用FlexRay总线、娱乐系统中使用MOST总线,但需要重新开发控制器软硬件、重新设计车载网络系统等,这无疑会增加汽车制造商的开发成本,降低其市场竞争力,因此在目前车载网络系统的基础上对CAN总线进行改进显得尤其迫切。
  2011年Bosch发布了CAN替代总线--CAN FD (CAN with Flexible Data-Rate) 1.1版。CAN FD比CAN总线的带宽更高,具有与CAN总线相似的控制器接口,这种相似性使ECU供应商不需要对ECU的软件部分做大规模修改,降低了开发难度和成本。CAN FD是CAN总线的升级换代设计,它继承了CAN总线的主要特性,提高了CAN总线的网络通信带宽,改善了错误帧漏检率,同时可以保持网络系统大部分软硬件特别是物理层不变。CAN FD协议充分利用CAN总线的保留位进行判断以及区分不同的帧格式[1]。在现有车载网络中应用CAN FD协议时,需要加入CAN FD控制器,但是CAN FD也可以参与到原来的CAN通信网络中,提高了网络系统的兼容性。
  2.CAN FD介绍
  引入CAN FD协议,对当前CAN网络系统物理层的改动较小,但是可以明显提高数据的串行通信速率, CAN FD与文献【2】中提到的方法近似,即通过改变帧的格式增加总线带宽:一种方式为加长数据场长度减少报文数量降低总线负载率;另一种方式为缩短位时间提高位速率。
  CAN FD在数据帧内部采用两种不同的位速率,即在仲裁段(Arbitration-Phase)采用标准CAN位速率通信,在数据段(Data-Phase)采用高速率通信。
  2.1CAN FD的帧格式

   (a)标准帧格式

   (b)扩展帧格式

   数据场数据字节小于16时CRC为17位

图2 CAN FD数据帧格式

  对比CAN总线帧格式,CAN FD帧增加或改变了一些位的功能,包括:
  ◆EDL(Extended Data Length)扩展数据长度,在标准的CAN帧中,控制场包含的保留位被指定为显性位发送,但是在CAN FD帧中,如图2(a)标准帧IDE位之后的保留位或者图2(b)扩展帧中RTR位之后的保留位被定义为EDL并以隐性位发送,EDL主要用于区分标准CAN帧格式和CAN FD的帧格式。由于在CAN FD中EDL总是以隐形位发送,后面的位r0为显性位,因此可在BRS(Bit Rate Switch)位速率开关位之前提供一个重同步沿,这个沿也可用于在收发器延迟补偿中测量收发器的延迟;

?  隐性: 表示CAN FD 报文 (采用新的DLC编码和CRC算法)

?  显性: 表示CAN报文
  ◆r1,r0,保留位并以显性位发送,在CAN FD中接收节点忽略r1和r0位的值;
  ◆BRS(Bit Rate Switch)位速率转换开关,当BRS为显性位时数据段的位速率与仲裁段的位速率一致,当BRS为隐性位时数据段的位速率高于仲裁段的位速率;

?  隐性:表示转换可变速率
?  显性:表示不转换速率

  ◆ESI(Error State Indicator)错误状态指示,主动错误时发送显性位,被动错误时发送隐性位。

?  隐性:表示发送节点处于被动错误状态(Error Passive)

?  显性:表示发送节点处于主动错误状态(Error Active)
  CAN FD协议中没有远程帧,标准CAN帧中的RTR位由保留位r1(显性位)替代,因此可将CAN远程帧用于CAN FD系统中。
  CAN FD一帧最多可以传输64个字节,因此DLC将重新定义CAN FD的数据长度,值的范围将由原来的0000b~1000b(覆盖8个字节)扩大至0000b~1111b以满足需求,表1所示为DLC数值与字节数的对应关系。

  表1 DLC值与字节数对应表

  2.2CRC算法
  CAN总线通常进行位填充以保持同步,但是位填充会干扰CRC的计算,从而造成错误漏检率达不到设计目标。因为有两种位错误在个别的情况下检测不出来,一种位错误产生位填充条件,另外一种位错误失去位填充条件,这两种位错误都会改变帧位。CAN FD为了避免这种错误,对CRC算法做了改进:将填充位纳入到CRC计算中,即CRC以含填充位的位流进行计算,以一个填充位开始并且序列每4位插入一个填充位加以分割,且填充位的值是上一位的反码。作为格式检查,如果填充位不是上一位的反码,就报错处理。

CAN FD保留了所有的CAN错误界定机制,包括错误帧、错误计数器、主动错误/被动错误状态等。文献【3】中提到相对于标准CAN,CAN FD允许更长的数据场,因此选择两种新BCH型CRC多项式:数据场长度小于16个字节采用g17,数据场长度多于16个字节时采用g21,海明距离HD=6。 本文引用地址:http://www.eepw.com.cn/article/201612/331249.htm

  通过帧控制场的EDL位确定帧格式后发送DLC,并从g17、g21以及标准CAN帧多项式中选择正确的多项式计算CRC序列。接收节点也选择相应的多项式计算CRC序列并决定是否对发送帧进行应答。
  2.3CAN FD位时间转换
  CAN FD有两套位时间配置寄存器,应用于仲裁段的第一套的位时间较长,而应用于数据段的第二套位时间较短。首先对BRS位进行采样,如果显示隐性位,即在BRS采样点转换成较短的位时间机制,并在CRC界定符位的采样点转换回第一套位时间机制。为保证其他节点同步CAN FD选择在采样点进行位时间转换。
  2.4收发器延迟补偿
  目前应用的CAN收发器存在回路延迟,延迟时间最高可达255ns。CAN FD协议中,帧的数据段位时间有可能小于255ns,如果当采样点到来时发送节点还没有收到其发出的位,发送节点就会报错,因此 CAN FD通过可选择性的收发器延迟补偿机制避免这种情况发生。发送节点将这种补偿机制应用到帧的高速数据段,接收节点不需要收发器延迟补偿。
  在收发器延迟补偿机制中,定义一个次级采样点SSP(Second Sample Point)并在接收位的SSP处比发送的位值进行比较检查位错误,同时忽略原来采样点的位值。CAN FD协议控制器在位速率转换之前的EDL位到r0位的下降沿上测量收发器的回路延迟Trv_Delay,延迟Trv_Delay通过计数器测量,起始于CAN_tx的r0下降沿终止于CAN_rx的r0下降沿。
  Trv_Delay加上一个可变的偏移量(例如1/2高速位时间)即为SSP的位置。如果SSP发生在发送位发送结束后,那么将发送位缓存等待SSP到达再进行位错误检查。如果在SSP处检测到位错误,那么将这个位错误的信息缓存,直到下一个采样点到达时才对位错误做处理,此时位速率转换回仲裁段的低速率进行数据传输。如果直到CRC界定符的采样点到达都没有检测到位错误,CAN FD协议控制器转换位速率并返回到标准位错误检测模式。
  2.5硬件支持
  在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控制。

  图3 CAN IP Module结构图

  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.CAN FD应用意义
  CAN FD可以有效提高车载网络的数据传输速率,并且保持现有软硬件不做大的改变。图4为Bosch提供的位速率增长曲线,从曲线可以看出当仲裁段的位速率一定时,随着数据段速率的增大数据帧的平均位速率是逐渐增大的,随着帧数据场长度的增加平均位速率也是变大的。当仲裁段位速率选定1Mbit/s、数据场长度为64个字节、数据段的位速率为8Mbit/s时,CAN FD总线的带宽可以提高到5 Mbit/s多,这是相当可观的[4]。

  图4 CAN FD数据帧平均位速率

  Bosch还提供了一组数据:在软件下载时标准CAN帧速率为500Kbit/s时,传输4个8字节的CAN帧并包括15%的填充位,其在总线上耗时1021μs;而如果传输1个32字节的CAN FD帧并包括15%的填充位其在总线上耗时仅为229μs,节省了3/4的传输时间。同时由于数据场的加长,即使长报文也无需分成多包发送,有利于总线传输层管理。
  CAN FD显著提高了车载CAN网络的带宽,更长的数据场长度可以避免使用多包传输。CAN FD的成本与CAN总线基本接近,并且对目前的软件和应用程序改动较小,CAN FD保留了车载CAN网络的物理层和拓扑结构,能够提供CAN总线网络的无缝升级,这些优越性为CAN FD提供了良好的发展前景。
  4.结语
  CAN FD是一种新协议,它保持了CAN协议的核心特征,并且拥有更高的带宽以及更长的数据长度,CAN FD在车载网络中可以沿用CAN总线的收发器,随着技术的发展也可以采用专用收发器,当采用CAN总线收发器时,其传输速率期望值为2.5 Mbit/s,相当于低速的FlexRay车载网络[5]。目前CAN FD还处于引入阶段,CAN FD通信可以用于特定用途,例如软件下载,此时其他不支持CAN FD的节点就保持睡眠状态。采用CAN FD协议的ECU无需改变应用程序以及CAN物理层便可用于现有网络系统,CAN网络向CAN FD网络过渡是简单方便而且易于实现的。
参考文献
  [1] Robert Bosch GmbH.CAN with Flexible Data-Rate, Version 1.1; Date Aug.2011,http://www.semiconductors.bosch.de/media/...pdf/canliteratur/can_fd.pdf
  [2] G. Cena, A. Valenzano. Overclocking of Controller Area Networks. IEE Electronics Letters, vol. 35, 1999, pp. 1923-1925, No. 22, 28th October.
  [3] CRC for CAN with flexible data rate(CAN FD)[EB/OL]. [2012-02-21].http://www.bosch-semicon-ductors.de/media/pdf/ipmodules_1/Whitepaper_CRC_CAN_FD_20111128.pdf.
  [4] VeCo12_8_NewBusSystems_3_Lindenkreuz_Lecture.pdf
  [5] Florian Hartwich, Robert Bosch GmbH.CAN with Flexible Data-Rate. The 13th International CAN Conference 2012.

车载网络技术革新-CAN FD浅析相关推荐

  1. 车载网络技术——CAN总线基础

    在之前一文,简单介绍了一下具有概括性的车载网络技术的基础知识点,那么在本文,将专注于介绍CAN总线的相关知识. 首先,回忆一下之前提到的现场总线,它是工业环境下的一种应用技术,在工业环境下一定是有特殊 ...

  2. 车载网络技术详解 —— 车载网络系统基础(✨您绝不可错过的呕心力作✨)

    一.车载网络系统概述 1.线束连接方式对比 传统线束连接方式 -- 点对点连接 特点: 布线复杂,占用空间大,从而限制功能的拓展 故障率增加,降低汽车的可靠性,故障率增高且排查难度加大 大量的数据传输 ...

  3. 【CANoe】车载网络的相关概述

    CANoe开发的相关学习 基础篇章: 第一章 车载网络的相关概述 车载网络的相关概述 CANoe开发的相关学习 前言 一.车载网络的起源 二.CAN总线概述 1.CAN总线的简单发展 2.CAN总线特 ...

  4. 车载网络基础——预备篇

    随着互联网技术的发展,万物互联的时代早已拉开帷幕,那么请读者和我一起走进这个物联网时代.如今的社会,汽车早已进入千家万户,车载网络技术在不断更新,那么要学习其知识,最好先从基础开始. 首先,车联网的定 ...

  5. 车载网络: CAN (Control Area Network) 控制器局域网络

    概述 CAN,全称 控制器局域网络 (Controller Area Network, CAN),是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为 国际标准(ISO 11898) ...

  6. CANoe开发从入门到精通-基础篇-1.1车载网络起源

    概念: 1.车载网络是早期的汽车内部传感器.控制和执行器之间的通讯用点对点的连线方式连成复杂的网状结构,如图1.1. 2.传统汽车的电气系统中各个模块之间采用点对点的通信方式,每个模块功能也比较单一, ...

  7. 同翔网浅析RoCE网络技术

    在数据为王的时代,人们对网络的要求更加严苛.然而传统的TCP / IP以太网连接占用了大量的CPU资源,并且需要额外的数据处理,已无法再满足当前更快.更高效和可扩展性的网络需求.在这种情况下,RoCE ...

  8. 鉴源论坛 · 观辙丨基于规则的车载网络入侵检测技术

    作者 | 柳泽上海控安可信软件创新研究院研发工程师 来源 | 鉴源实验室 在过去的几十年中,CAN总线是最广泛被应用的车载网络现场总线.但随着汽车电子产品的功能逐渐丰富,以及新一代的智能辅助驾驶系统的 ...

  9. Ad Hoc网络技术浅析

    Ad Hoc Network Technology 摘 要:Ad Hoc网络是随着无线通信技术的快速发展而出现的一种新型网络.本文详细介绍了Ad Hoc网络的概念.特点.应用需求.与其他移动通信系统的 ...

  10. 随着计算机网络的广泛应用,【网络技术论文】计算机网络技术的广泛应用探析(共3558字)...

    摘要:计算机网络技术发展迅速,计算机越来越受到重视.随着计算机网络技术的重要性凸显,计算机网络技术也被应用于方方面面.此文通过计算机网络技术的应用领域.社会方面的应用和计算机技术的具体应用进行具体.详 ...

最新文章

  1. 47 jQuery文本内容值
  2. pctfree pctused详解
  3. 【实战 Ids4】║ 给授权服务器加个锁——HTTPS配置
  4. Unix 网络编程 读书笔记1
  5. isis协议_[IS-IS] IS-IS路由协议的基本知识及配置
  6. ESPN:韦德续约狠打LBJ脸 他诠释忠诚大于王权
  7. YOLO系列目标检测数据集大全
  8. python实现去除图片水印
  9. POI XWPFParagraph.getRuns分段混乱问题解决
  10. 如何使用 vimdiff 来 git diff
  11. 7-1 列出连通集(25 分)
  12. 战略 | 分析这25家千亿美元市值企业后,发现了这些趋势......
  13. poly-yolo笔记
  14. hdu 5435 A serious math problem 数位dp
  15. 全志H616芯片香橙派Orange Pi Zero2开发板26pinGPIO口测试
  16. 宝藏德国炒锅,菲仕乐小黑锅,好用不踩雷
  17. 计算机附带的游戏怎么删除,如何清除Win7系统附件中自带的游戏组件
  18. Gmap使用心得分享C#-winform-Gmap
  19. leetcode 594最长和谐子序列
  20. proj Java_proj 一个炫酷的飞机大战java游戏,很好玩的,很酷炫 用了 的图形界面 Games 256万源代码下载- www.pudn.com...

热门文章

  1. html生成一维码,一维码条形码生成工具
  2. 外卖返利系统公众号外卖cps返利小程序淘宝客小程序侠客外卖系统
  3. 传感器实训心得体会_传感器心得体会范文
  4. cuda和cudnn下载地址
  5. 基于投资组合问题的凸二次规划模型及求解——Gurobi求解器+高阶牛顿法(python)
  6. 一个完整的测试计划模板
  7. 实验七 6 音乐DJ和回响贝斯
  8. 使用Pycharm安装numpy库
  9. 模糊图像退化与去模糊的数学模型
  10. 百度文库的几种下载方法