随着工业的发展,工业总线上的数据量逐日增长,尤其是在CAN总线运用较多的汽车领域,总线通讯的数据量愈发庞大。例如汽车内部出现更多的辅助系统和人机交互系统,使得传统的CAN总线在传输速率和带宽方面越来越力不从心,CAN总线已逐渐达到负荷极限。根据CAN规范 ISO11898-2所定义的标准帧结构,一帧报文最大只能传输 64 位(8 个字节)的数据,在最好的情况下总线负载也已达到 70%左右。 为了应对现今巨大数据量的挑战,亟需改进原有的总线来提高总线传输速率,CAN-FD (CAN with Flexible Data-Rate)便在这样的背景下诞生了。
一、汽车CAN网络拓扑图
下图举例了一个汽车CAN网络拓扑图。从中可以看到,CAN 网络由CAN节点及不同的CAN总线构成,CAN节点主要由CPU、CAN控制器以及CAN收发器组成,而不同的CAN总线上布置有不同功能的智能电子控制单元(ECU)
二、OSI协议栈模型参考
CAN协议涵盖了ISO规定的OSI基本参照模型中的传输层、数据链路层及物理层。CAN协议的关于ISO/OSI基本参照模型中的数据链路层分为MAC子层和LLC子层,MAC子层是CAN协议的核心部分。数据链路层的功能是将物理层收到的信号组织成有意义的消息,并提供传送错误控制等传输控制的流程。具体地说,就是消息的帧化、仲裁、应答、错误的检测或报告。数据链路层的功能通常在CAN控制器的硬件中执行,并在物理层定义了信号实际的发送方式、位时序、位的编码方式及同步的步骤。但信号电平、通信速度、采样点、驱动器和总线的电气特性、连接器的形态等均未定义,必须由用户根据系统需求自行确定。
三、CAN-FD 简介
1、CAN-FD 数据帧帧格式
CAN-FD采用了两种位速率,从控制场中的BRS位到ACK场之前 (含CRC分界符)为可变速率,其余部分为原CAN总线用的速率。CAN-FD数据帧格式如下图所示:
2、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 个字节时,使用非线性编码。如图5所示
3、CAN-FD 总线的特点:
以差分信号进行传输,拥有出色的抗噪性能。 l
所有节点没有主从之分,总线空闲时,任意节点都可向总线发送消息。 l
非破坏性位仲裁机制,用信息内的标识符ID决定信息发送优先顺序,保证已发 送数据的完整性与及时性。 l
继承自CAN总线的CAN-FD总线上的节点没有“地址”的概念,因此在总线上增加节点时,不会对总线上已有节点的软硬件及应用层造成影响。 l
可以配合网络的规模,系统的机能设定通信素速度,此外两条不同通信速度总线 上的节点可通过网关实现信息交互。
具有容错处理功能,所有的节点都可以检测出错误,检测出错误的节点会立即通 知总线上其它所有的节点;正在发送消息的节点,如果检测到错误,会立即停止 当前的发送,并同时不断地重复发送此消息,直到该消息发送成功为止。 l
能实现远程数据请求,通过发送“遥控帧”请求其他单元发送数据。
4、CAN-FD 总线分析对示波器的需求
在CAN-FD总线解析过程中,需要观测系统噪声对总线信号传输的影响,并判断总线报错时是否由于硬件造成的以及软件编程的正确性。这对示波器的总线解析能力提出了更多的需求:
·拥有高速采样率,清晰捕捉和显示串行模拟信号并观测其物理特性。
·拥有较大存储深度,记录较长时间的总线控制过程。
·丰富的触发功能及高波形捕获率,捕获到错误并对应捕获波形发掘问题根因。
·灵活的屏幕多窗口分屏显示,同步显示解码结果与列表结果,方便观测总线数据信息。
·具有多路总线分析功能,满足同时分析多路CAN节点的需要。
串行总线通信在汽车等各领域得到了广泛应用。对于汽车制造,从制动系统到车辆导航系统,总线无处不在。要确保正常的车辆性能,保证电子控制单元(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 等。
·解码结果列表显示,解码总线上每个帧信息,包括地址、数据、标识符等,支 持屏幕窗口列表显示所有帧的分析结果,并可导出测试报告。
5、CAN-FD 总线解码分析测试步骤
在实际设计场景中,工程师可以通过协议分析轻松地发现错误、调试硬件、加快开发进度,为高速度、高质量完成工程提供保障。
而协议分析的基础是协议解码,只有解码正确的协议分析才能够被接受,只有正确的 解码才能提供更多的错误信息以供工程师进行功能调试与设计改进。
DS70000示波器支持CAN-FD的解码分析,并可实现4路总线分析,图6为 DS70000示波器CAN-FD解码设置界面示意图。
① 该选项可选择解码协议类型,支持 CAN-FD 解码分析,此外可选择 SPI、FlexRay、 I2S、1553B 等多种协议选项进行解码分析;
② 此处可以选择打开或关闭总线解码开关;
③ 此处为信源选项,可以设置信源的阈值和类型;
④ 此处信号速率选项,支持 CAN 和 CAN-FD 不同的信号速率,并可设置期望的采样位置。