一文详细了解汽车CAN-FD总线技术

描述

在汽车行业高速发展的如今,汽车集成了更多的系统单元模块,随之而来的数据传输压力成为了不可忽视的一大难题。为解决这一困难,CAN-FD总线应运而生。

本篇文章小编将为大家介绍汽车CAN-FD总线的方方面面,并为您讲解RIGOL的数字示波器将如何在CAN-FD总线分析上为您提供强力的支持!

汽车CAN-FD总线

01 CAN-FD总线的前世今生

1986年德国电气商博世公司开发出面向汽车的CAN(Controller Area Network)通信协议。此后,CAN通过ISO11898及ISO11519进行了标准化。现在,CAN的高性能和可靠性已得到认同并广泛投入工业生产。

随着工业的发展,工业总线上的数据量逐日增长,尤其是在CAN总线运用较多的汽车领域,总线通讯的数据量愈发庞大。例如汽车内部出现更多的辅助系统和人机交互系统,使得传统的CAN总线在传输速率和带宽方面越来越力不从心,CAN总线已逐渐达到负荷极限。根据CAN规范ISO11898-2所定义的标准帧结构,一帧报文最大只能传输64位(8个字节)的数据,在最好的情况下总线负载也已达到70%左右。

为了应对现今巨大数据量的挑战,亟需改进原有的总线来提高总线传输速率,CAN-FD(CAN with Flexible Data-Rate)便在这样的背景下诞生了。

模块

▲CAN总线的发展历史

02 汽车CAN网络拓扑图

下图举例了一个汽车CAN网络拓扑图。从中可以看到,CAN网络由CAN节点及不同的CAN总线构成,CAN节点主要由CPU、CAN控制器以及CAN收发器组成,而不同的CAN总线上布置有不同功能的智能电子控制单元(ECU)。

模块

▲CAN网络的拓扑结构

03 OSI协议栈模型参考

CAN协议涵盖了ISO规定的OSI基本参照模型中的传输层、数据链路层及物理层。CAN协议的关于ISO/OSI基本参照模型中的数据链路层分为MAC子层和LLC子层,MAC子层是CAN协议的核心部分。

数据链路层的功能是将物理层收到的信号组织成有意义的消息,并提供传送错误控制等传输控制的流程。具体地说,就是消息的帧化、仲裁、应答、错误的检测或报告。数据链路层的功能通常在CAN控制器的硬件中执行,并在物理层定义了信号实际的发送方式、位时序、位的编码方式及同步的步骤。但信号电平、通信速度、采样点、驱动器和总线的电气特性、连接器的形态等均未定义,必须由用户根据系统需求自行确定。

模块

▲OSI模型对比参考

04 CAN-FD简介

CAN-FD数据帧帧格式

CAN-FD采用了两种位速率,从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率。CAN-FD数据帧格式如下图所示:

模块

▲CAN-FD帧格式

IDE(Identifier Extension)标志位扩展位:0表示11位ID,1表示29位ID。

r0,r1(Reserved for future use)保留未来使用:CAN-FD不支持远程帧。

EDL(Extended Data Length)表示报文格式:0表示CAN-FD报文,1表示CAN报文。

BRS(Bit Rate Switch)速率转换开关:0表示不转换速率,1转换速率。

ESI(Error State Indicator)错误状态指示:0表示错误主动状态,1错误被动状态。

DLC(Data Length Code)数据长度代码:线性部分为CAN的速率,非线性为CAN-FD可变部分。

CRC场

CAN总线由于位填充规则对CRC的干扰,会造成错帧漏检率,从而无法达到设计意图。CAN-FD对CRC算法作了改变,即CRC以含填充位的位流进行计算。为避免在校验和部分出现6个以上连续位,即在第一位以及以后每4位添加一个填充位加以分割。这个填充位的值是上一位的反码,作为格式检查,即如果填充位不是上一位的反码,就作出错处理。

CAN-FD的CRC场扩展到了21位。由于数据场长度有很大变化区间,所以要根据DLC大小应用不同的CRC生成多项式。如CRC_17,适合于帧长小于210位的帧,而CRC_21,适合于帧长小于1023位的帧。

DLC编码

CAN-FD数据帧采用了新的DLC编码方式,在数据场长度在0~8个字节时,采用线性规则。当数据场长度为12~64个字节时,使用非线性编码。如图所示。

模块

▲DLC线性和非线性编码

CAN-FD总线的特点

以差分信号进行传输,拥有出色的抗噪性能。

所有节点没有主从之分,总线空闲时,任意节点都可向总线发送消息。

非破坏性位仲裁机制,用信息内的标识符ID决定信息发送优先顺序,保证已发送数据的完整性与及时性。

继承自CAN总线的CAN-FD总线上的节点没有“地址”的概念,因此在总线上增加节点时,不会对总线上已有节点的软硬件及应用层造成影响。

可以配合网络的规模、系统的机能设定通信速度,此外两条不同通信速度总线上的节点可通过网关实现信息交互。

具有容错处理能力,所有的节点都可以检测出错误,检测出错误的节点会立即通知总线上其它所有的节点;正在发送消息的节点,如果检测到错误,会立即停止当前的发送,并同时不断地重复发送此消息,直到该消息发送成功为止。

能实现远程数据请求,通过发送“遥控帧”请求其他单元发送数据。

05 DS70000示波器总线分析

CAN-FD总线分析对示波器的需求

在CAN-FD总线解析过程中,需要观测系统噪声对总线信号传输的影响,并判断总线报错时是否由于硬件造成的以及软件编程的正确性。这对示波器的总线解析能力提出了更多的需求:

拥有高速采样率,清晰捕捉和显示串行模拟信号并观测其物理特性。

拥有较大存储深度,记录较长时间的总线控制过程。

丰富的触发功能及高波形捕获率,捕获到错误并对应捕获波形发掘问题根因。

灵活的屏幕多窗口分屏显示,同步显示解码结果与列表结果,方便观测总线数据信息。

具有多路总线分析功能,满足同时分析多路CAN节点的需要。DS70000总线分析功能

串行总线通信在汽车等各领域得到了广泛应用。对于汽车制造,从制动系统到车辆导航系统,总线无处不在。要确保正常的车辆性能,保证电子控制单元(ECU)、传感器和执行器之间的通信尤为重要。除了验证总线协议的数字逻辑之外,还需要对波形质量、噪声以及传感器/执行器信号的同步测量进行模拟物理层验证。

RIGOL自主研发的DS70000示波器独特的总线分析功能具有突出的优势:

拥有高采样率,基于RIGOL的“凤凰座”示波器专用芯片组,实现了国内最高的20GSa/s采样率、5GHz实时带宽,更真实捕捉并还原信号。

拥有更大存储深度,基于RIGOL新一代UltraVision III平台,实现最大2Gpts的存储深度,在高采样率下采集更长时间的波形,满足长时间观测的要求。

拥有丰富的触发功能,以及可达每秒1百万次的波形刷新率,更容易捕获偶发的信号瑕疵。

具有强大的串行总线分析功能,支持多种主流串行总线,如RS232/UART、I2C、SPI、LIN、CAN、CAN-FD、FlexRay、I2S、MIL-STD-1553等。

解码结果列表显示,解码总线上每个帧信息,包括地址、数据、标识符等,支持屏幕窗口列表显示所有帧的分析结果,并可导出测试报告。

模块

▲高采样率 高带宽

模块

▲高波形刷新率

模块

▲CAN总线触发

模块

▲解码结果列表显示

CAN-FD总线解码分析测试步骤

在实际设计场景中,工程师可以通过协议分析轻松地发现错误、调试硬件、加快开发进度,为高速度、高质量完成工程提供保障。

而协议分析的基础是协议解码,只有解码正确的协议分析才能够被接受,只有正确的解码才能反馈更多的错误信息以供工程师进行功能调试与设计改进。

DS70000示波器支持CAN-FD的解码分析,并可实现4路总线分析,下图为DS70000示波器CAN-FD解码设置界面示意图。

模块

▲示波器分析配置

(1) 该选项可选择解码协议类型,支持CAN-FD解码分析,此外可选择SPI、FlexRay、I2S、1553B等多种协议选项进行解码分析;

(2) 此处可以选择打开或关闭总线解码开关;

(3) 此处为信源选项,可以设置信源的阈值和类型;

(4) 此处信号速率选项,支持CAN和CAN-FD不同的信号速率,并可设置期望的采样位置。

DS70000系列示波器拥有简便的解码设置操作界面,为工程师提供高效的测试工具。

06 总结

本文不仅在CAN总线发展历程、总线拓扑图及OSI协议栈模型上对CAN总线进行了较为全面的讲解,同时从CAN-FD的数据帧帧格式、CRC算法到DLC编码等方面,对CAN-FD总线的特点进行了更深入的介绍。除此之外,您还可以通过使用RIGOL自主研发的DS70000系列数字示波器,对CAN-FD等多种协议进行解码分析。

DS70000依托于RIGOL工程师潜心十年打造的UltraVisonIII硬件平台,搭载着自主研制的“凤凰座”芯片组,实现了国内领先的20GSa/s超高采样率,更具备多种人性化的设计,相信定能为您带来超高品质的测试及分析体验。

模块

▲UltraVisionIII平台框图

原文标题:RIGOL技术站 | 汽车CAN-FD总线技术大揭秘

文章出处:【微信公众号:RIGOL】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分