汽车系统分享—RIGOL的数字示波器为CAN-FD总线提供强力支持!
时间:2022-03-28 阅读:1154
现如今汽车行业的快速发展,使得汽车集成了更多的系统单元模块,其中所包含的数据传输压力却成一直令人头疼,难以解决。经过不断的努力,CAN-FD总线应运而生。
今天的话题就是为大家介绍汽车CAN-FD总线的各个细节以及哟如何使用的方法,并为讲解RIGOL的数字示波器怎样能够在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总线的发展历史)
汽车CAN网络拓扑图
如下图例举了一个汽车CAN网络拓扑图。在此可以看出的是,CAN网络根据CAN节点及不同的CAN总线构成,CAN节点主要由CPU、CAN控制器以及CAN收发器组成,但是不同的CAN总线上布置有不同功能的智能电子控制单元(ECU)。
(CAN网络的拓扑结构)
汽车CAN网络拓扑图
CAN协议包含有ISO规定的OSI基本参照模型中的传输层、数据链路层及物理层。CAN协议的关于ISO/OSI基本参照模型中的数据链路层分为MAC子层和LLC子层,MAC子层是CAN协议的主要构成部分。
数据链路层的功能是将物理层收到的信号组织成有意义的消息,且提供传送错误控制等传输控制的流程。更加深入来说,则是消息的帧化、仲裁、应答、错误的检测或报告。数据链路层的功能一般在CAN控制器的硬件中执行,且在物理层定义了信号真实的发送方式、位时序、位的编码方式以及同步的步骤。可是信号电平、通信速度、采样点、驱动器和总线的电气特性、连接器的形态等都没有进行定义,一定要由用户依据系统需求自行确定。
(OSI模型对比参考)
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可变部分。
CAN总线由于位填充规则对CRC的干扰,将会产生错帧漏检率,因此无法达到设计意图。CAN-FD对CRC算法进行了调整,即CRC以含填充位的位流进行计算。为避免在校验和部分出现6个以上连续位,即在前一位以及之后每4位添加一个填充位加以分割。这个填充位的值是上一位的反码,作为格式检查,假如填充位不是上一位的反码,将立即做出处理。
CAN-FD的CRC场扩展到了21位。由于数据场长度存在很大变化区间,因此需要根据DLC大小应用不同的CRC生成多项式。如CRC_17,适合于帧长小于210位的帧,而CRC_21,适合于帧长小于1023位的帧。
CAN-FD数据帧通过使用新的DLC编码方式,在数据场长度在0~8个字节时,利用线性规则。当数据场长度为12~64个字节时,使用非线性编码。如下图所示。
(DLC线性和非线性编码)
1.以差分信号进行传输,拥有出色的抗噪性能。
2.所有节点没有主从之分,总线空闲时,任意节点都可向总线发送消息。
3.非破坏性位仲裁机制,用信息内的标识符ID决定信息发送优先顺序,保证已发送数据的完整性与及时性。
4.继承自CAN总线的CAN-FD总线上的节点没有“地址”的概念,因此在总线上增加节点时,不会对总线上已有节点的软硬件及应用层造成影响。
5.可以配合网络的规模、系统的机能设定通信速度,此外两条不同通信速度总线上的节点可通过网关实现信息交互。
6.具有容错处理能力,所有的节点都可以检测出错误,检测出错误的节点会立即通知总线上其它所有的节点;正在发送消息的节点,如果检测到错误,会立即停止当前的发送,并同时不断地重复发送此消息,直到该消息发送成功为止。
7.能实现远程数据请求,通过发送“遥控帧”请求其他单元发送数据。
DS70000示波器总线分析
在CAN-FD总线解析过程中,需要观测系统噪声对总线信号传输造成的影响,且判断总线报错时是否因为硬件造成的或是软件编程的正确性。这对示波器的总线解析能力提出了更多的需求:
1.具备高速采样率,清晰捕捉和显示串行模拟信号并观测其物理特性。
2.具备较大存储深度,记录较长时间的总线控制过程。
3.丰富的触发功能以及高波形捕获率,捕获到错误且相对捕获波形发掘问题根因。
4.灵活的屏幕多窗口分屏显示,同步显示解码结果与列表结果,方便观测总线数据信息。
5.具有多路总线分析功能,可以满足同步分析多路CAN节点的需要。
串行总线通信在汽车等各领域得到了广泛应用。对汽车制造来说,从制动系统到车辆导航系统,总线都非常重要。要保障正常的车辆性能,保证电子控制单元(ECU)、传感器和执行器之间的通信更为重要。除了验证总线协议的数字逻辑之外,还应要对波形质量、噪声以及传感器/执行器信号的同步测量进行模拟物理层验证。
RIGOL自主研发的DS70000示波器*的总线分析功能具备突出的优势:
1.具备高采样率,基于RIGOL的“凤凰座”示波器专用芯片组,完成了国内最高的20GSa/s采样率、5GHz实时带宽,更真实捕捉并还原信号。
2.具备更大存储深度,基于RIGOL新一代UltraVision III平台,完成最大2Gpts的存储深度,在高采样率下采集更长时间的波形,满足长时间观测的要求。
3.具备丰富的触发功能,能够达到每秒1百万次的波形刷新率,更容易捕获偶发的信号瑕疵。
4.具有强大的串行总线分析功能,支持多种主流串行总线,例如RS232/UART、I2C、SPI、LIN、CAN、CAN-FD、FlexRay、I2S、MIL-STD-1553等。
5.解码结果列表显示,解码总线上每个帧信息,其中包括地址、数据、标识符等,支持屏幕窗口列表显示所有帧的分析结果,并可导出测试报告。
在现实的情况中,工程师可以采用协议分析轻松地发现错误、调试硬件、加快开发进度,为高速度、高质量完成工程提供保障。
但是协议分析的基础是协议解码,只有解码正确的协议分析才可以被接受,只有正确的解码才可以反馈更多的错误信息以供工程师进行功能调试与设计改进。
DS70000示波器支持CAN-FD的解码分析,且能够完成4路总线分析,如下所示为DS70000示波器CAN-FD解码设置界面示意图。
(示波器分析配置)
1. 此选项可选择解码协议类型,支持CAN-FD解码分析,此外可选择SPI、FlexRay、I2S、1553B等多种协议选项进行解码分析;
2. 在此可以选择打开或关闭总线解码开关;
3. 在此为信源选项,能够设置信源的阈值和类型;
4.此处信号速率选项,支持CAN和CAN-FD不同的信号速率,并可设置期望的采样位置。
DS70000系列示波器拥有简便的解码设置操作界面,帮助工程师更为高效的测量。