使用示波器CAN-dbc字符触发和解码更快速地完成汽车设计调试

发布者:SereneSpirit最新更新时间:2021-06-16 来源: eefocus关键字:示波器  CAN-dbc  字符触发  解码 手机看文章 扫描二维码
随时随地手机看文章

差分控制器局域网(CAN)总线广泛应用于当前汽车的传动系统和车身控制中。CAN 总线是由 Bosch 公司在 30 多年前开发的一种通信协议,一直被视为汽车的“主力”串行控制总线。CAN 总线同时也在工业和医疗设备控制应用中得到了大量应用。


示波器作为最重要的测量工具,目前广泛用于汽车串行总线物理层的测试和调试。尽管 CAN 总线协议分析仪(例如 Vector 的 CAN 分析仪)非常适合测试和调试总线数据在更高协议层级别上的传输,示波器的优势在于它允许您监测 CAN 总线物理层的模拟信号质量(即信号完整性)。汽车自身的电气环境非常不理想,伴有大量噪声和意外瞬变。示波器的核心竞争力在于,它能够捕获和显示罕见汽车瞬变和噪声的细节(可能导致 CAN 总线误差)。


本应用指南首先将展示在 CAN 差分总线上进行示波器十六进制触发和解码与 CAN-dbc 字符触发和解码之间的区别。随后再就执行 CAN 总线字符解码所需的核心元件提供一些背景资料(行业标准的 .dbc 文件)。然后逐步讲解如何使用 Keysight 3000T、4000 和 6000 X 系列示波器执行 CAN 字符触发和解码。CAN-dbc 字符触发和解码是选件 DSOXT3AUTO、DSOX4AUTO 和 DSOX6AUTO CAN/LIN 的标配。


对 CAN 总线进行触发和解码

为了同步和识别特定的 CAN 帧以进行测试和调试,目前大多数中档和高性能示波器(包括 Keysight InfiniiVision 2000、3000、 4000 和 6000 X 系列示波器)都能对 CAN 总线进行触发,并且解码成十六进制格式。此类测量功能可作为 InfiniiVision X 系列示波器的选件。


图 1 显示了 Keysight InfiniiVision X 系列示波器对 CAN 总线进行触发,并且解码成十六进制格式。注意:借助示波器的模拟捕获功能,我们在测量实例中可以看到噪声以及不同的脉冲幅度。在每个被捕获的帧下面都有时间关联的解码信息,用于告诉您每个帧的内容。在示波器显示屏的上半部分是协议列表显示,以用户熟悉的表格形式来提供所有捕获帧的内容,类似于传统的协议分析仪。


在这个测量示例中,示波器被设置为对帧 ID 0x201 十六进制进行触发,与 010 000 0001 二进制相互关联。帧(0x201)的 8 位数据字段显示了“0B A8 00 00 27 10 00 00”。什么是 0x201 十六进制?这个十六进制字符数据串表达什么意思呢?

图 1a. 对帧 0x201 进行触发和解码

图 1b. 十六进制解码信息的扩展视图


CAN 总线字符解码

如前所述,CAN 协议分析仪的一个优势是它能够显示在更高抽象协议、应用级别上的结果。换言之,它是将捕获数据转换为人类语言,而不是神秘的计算机语言,例如“速度 = 852.52 rpm”。 CAN-dbc 字符触发和解码也可使用 Keysight 3000T、4000 和 6000 X 系列示波器完成(Keysight 2000 和 3000A X 系列不支持 CAN-dbc)。图 2 显示了 4000 X 系列示波器现在对总线进行字符触发和解码。


在测量实例中,示波器被设置为触发信息“Brake_Torque”,与特定帧 ID(0x211)有直接关系。示波器没有使用一长串的十六进制字符来表示帧 / 信息中的数据字段,它现在用带符号的值、单位和 / 或编码状态(例如“On”、“Off”、“Reverse”等)来显示“信号”名称。注意在字符 CAN 语言中,“信号”不是向示波器 BNC 发送的电子输入信号。“信号”通常表示一个物理参数或条件,例如“Total_Torque:131.0640k ft/lbs”,如本实例所示。示波器如何将原始比特转换为符号代码?

图 2a. 对 CAN 总线进行字符触发和解码

图 2b. 字符解码轨迹的扩展视图


了解 .dbc 文件

所有汽车都与每条 CAN 总线有关联,并且每辆汽车都关联着一个 .dbc 文件,即“数据库 CAN”文件。.dbc 文件是一个 ASCII 格式的文件,其 .dbc 扩展名可用于定义 CAN 网络。图 3 显示了是德科技创建的简单 .dbc 文件的一部分。这个 .dbc 文件定义了是德科技示波器培训常用的 CAN 演示信号。


“信息”是表示特定帧 ID 的标签。例如,.dbc 文件中的信息:EngineData 定义了帧 ID 2,190,911,837 十进制。“信号”略微复杂。在消息:EngineData(包含 5 个字节数据(DLC = 5))中,我们已经定义了三个信号,分别标有“Fuel”、“Temp”和“Speed”。每个信号都有特定的起始字节和长度。例如,“Temp”始于 #24 字节,长度为 8 个字节。与每个已定义信号有关的是可变换算因数、单位、最小和最大警戒值,以及大端 / 小端指示器。


除了将数据转换成物理值 / 变量外,信号还可以被状态编码。关于信息:ABS,信号“Frnt-R”始于 #7 字节,长度仅为 1 个字节。这意味着信号只有 0 或 1 的二进制值。在文件的底部,“Frnt-R” 也被定义为编码状态,如果信号的值是 0,那么示波器将显示“解锁”。如果信号的值是 1,那么示波器将显示“锁定”。


用于定义特定汽车 CAN 总线的 .dbc 文件要比是德科技创建的 .dbc 实例复杂很多,如图 3 所示。糟糕的是,本文无法显示在真正的汽车中更为复杂的 .dbc 文件。汽车厂商将这类文件视为高度机密。他们不希望竞争对手获悉自己定义网络的方式。如欲了解更多信息,请参考副标题为“.dbc File Security”的文件。


虽然是德科技在图 3 中使用了文本编辑器来创建 .dbc 文件,但是这里还有其他更高效的创建方法——特别是对复杂的汽车 CAN 系统创建 .dbc 文件。如今最常用的工具就是 Vector 的 CANdb++ 软件。如欲了解该软件工具的更多信息,请联系 Vector Informatik GmbH。

图 3. .dbc 文件内容的简单实例


示波器提供 CAN-dbc 字符触发和解码

一旦您为想要测试和调试的 CAN 网络提供了一个 .dbc 文件,您就能很轻松地把这个 .dbc 文件导入到 Keysight 4000 和 6000 X 系列示波器。

1. 把 .dbc 文件保存到 USB 闪存中,然后将闪存插入到示波器前面板的 USB 端口。
2. 按下前面板的 [Save/Recall(保存 / 调用)] 键。
3. 选择 CAN Symbolic Data(*.dbc)作为要调入到示波器的文件类型。
4. 按下 Load to: softkey,然后选择将这个 .dbc 文件加载到 S1 (串行总线 #1)或 S2(串行总线 #2)。注意:3000T、 4000 和 6000 X 系列示波器有两个独立的串行总线解码器。
5. 借助示波器的触摸屏,导航到您想要加载的 .dbc 文件。
6. 按下 Press to Recall(按下调用)功能键,以加载这个 .dbc文件。

示波器将会解析文件并保存全部重要的转换参数。示波器的 CAN 解码和触发菜单将会提供一些选项,打开字符解码,对信息和信号进行字符触发。


图 4 显示了 Keysight 4000 X 系列示波器使用 .dbc 文件(参见图 3)对内置 CAN 培训信号进行字符触发和解码。在已捕获帧的下方是时间关联解码轨迹,显示了:EngineData 与信号“Fuel”、 “Temp”和“Speed”。在示波器显示屏的上半部分是协议列表显示,显示了所有经过字符解码的已捕获帧 / 信息。在本例中,我们能够轻松地从波形下方的时间关联解码迹线中读取这三个信号(Fuel、Temp 和 Speed)以及数值。但这样的功能很难在市面上的其他示波器产品中看到。


真实的汽车 .dbc 文件往往有覆盖信息和信号的长名称,通常每条信息包含了三个以上的信号。无论是时间关联解码轨迹还是协议列表,您都无法在一条消息中查看到所有的重要数据。但是借助列表“工具”图标选择,您可以选择打开实时“数据包查看工具”,显示示波器正在触发的这条信息中的所有信号更新。图 5 显示了这个数据包查看工具针对一条包含多个信号的信息给出的扩展视图。只需拉动滚动条就能观察列表底部的信号。

图 4a. 把 .dbc 文件调入到示波器,以进行字符触发和解码图 4b. 字符解码轨迹的扩展视图

图 5. 使用示波器的实时数据包查看工具来观察一条信息及其所有的信号


同时对 CAN 总线执行字符解码和十六进制解码

Keysight InfiniiVision 3000T、4000 和 6000 X 系列示波器有两个独立的串行总线解码器,通常可以同时解码两个不同的串行总线。不过,您也可以使用这两个解码器同时对一个 CAN 总线执行字符解码和十六进制解码,如图 6 所示。上方的时间关联解码轨迹显示了经过字符解码的 CAN 总线,下方的时间关联解码轨迹显示了被解码成十六进制格式的同一个 CAN 总线。当您需要关联原始比特与 CAN-dbc 字符解码时,这个解码功能非常实用。


.dbc 文件安全

大多数对具体汽车下定义的 .dbc 文件都是机密文件。因为 Keysight InfiniiVision 4000 和 6000 X 系列示波器是在嵌入式操作系统中运行,所以不提供进行文件检索的接口,也不能在文件加载后将其从示波器中调回。即便是通过示波器的 LAN 端口连接至互联网,用户也无法访问内部 CPU 闪存系统。此外,您能够利用示波器标配的安全擦除特性轻松地擦除文件,这一特性倍受是德科技的航空航天与国防客户欢迎。鉴于大多数 .dbc 文件都能获得严密保护,该特性确实能够保障汽车行业的安全。在执行安全擦除特性之后,示波器中不会遗留任何 .dbc 文件。

图 6a. 同时对一个 CAN 总线执行字符解码和十六进制解码图 6b. 字符解码轨迹的扩展视图


总结

目前,汽车工程师可以使用多种工具对他们的 CAN 设计进行测试与调试。示波器是其中一款主要的工具,用于测试和调试差分 CAN 总线的物理层信号。配有 CAN 触发和解码选件的示波器将会加快调试和测试过程。具备 CAN-dbc 字符触发和解码功能的

示波器能够更快速、更直观地隔离特定信息和信号,以进行测试。总之,“EngineData”比“0x0296A95D 十六进制”更有意义。


具备 CAN-dbc 字符触发和解码功能的示波器(例如 Keysight InfiniiVision 3000T、4000 和 6000 X 系列示波器)不会取代 CAN 协议分析仪,而 CAN 协议分析仪也不会取代示波器。汽车工程师在设计和测试汽车和 ECU 中的 CAN 总线时,通常会使用这两款仪器进行最佳测试。


CAN-dbc 字符触发和解码标配有 DSOXT3AUTO/DSOX4AUTO/DSOX6AUTO 选 件(CAN/LIN),选件被授权在 Keysight InfiniiVision 3000T、4000 或 6000 X 系列示波器上使用。


关键字:示波器  CAN-dbc  字符触发  解码 引用地址:使用示波器CAN-dbc字符触发和解码更快速地完成汽车设计调试

上一篇:使用混合信号示波器调试并验证 DDR4/LPDDR4 信号
下一篇:什么是混合信号示波器?如何帮助您进行测试呢

推荐阅读最新更新时间:2024-10-26 09:08

使用示波器CAN-dbc字符触发解码更快速地完成汽车设计调试
差分控制器局域网(CAN)总线广泛应用于当前汽车的传动系统和车身控制中。CAN 总线是由 Bosch 公司在 30 多年前开发的一种通信协议,一直被视为汽车的“主力”串行控制总线。CAN 总线同时也在工业和医疗设备控制应用中得到了大量应用。 示波器作为最重要的测量工具,目前广泛用于汽车串行总线物理层的测试和调试。尽管 CAN 总线协议分析仪(例如 Vector 的 CAN 分析仪)非常适合测试和调试总线数据在更高协议层级别上的传输,示波器的优势在于它允许您监测 CAN 总线物理层的模拟信号质量(即信号完整性)。汽车自身的电气环境非常不理想,伴有大量噪声和意外瞬变。示波器的核心竞争力在于,它能够捕获和显示罕见汽车瞬变和噪声的细节
[测试测量]
使用<font color='red'>示波器</font><font color='red'>CAN-dbc</font><font color='red'>字符</font><font color='red'>触发</font>和<font color='red'>解码</font>更快速地完成汽车设计调试
使用示波器CAN-dbc字符触发解码更快速地完成汽车设计调试
差分控制器局域网(CAN)总线广泛应用于当前汽车的传动系统和车身控制中。CAN 总线是由 Bosch 公司在 30 多年前开发的一种通信协议,一直被视为汽车的“主力”串行控制总线。CAN 总线同时也在工业和医疗设备控制应用中得到了大量应用。 示波器作为最重要的测量工具,目前广泛用于汽车串行总线物理层的测试和调试。尽管 CAN 总线协议分析仪(例如 Vector 的 CAN 分析仪)非常适合测试和调试总线数据在更高协议层级别上的传输,示波器的优势在于它允许您监测 CAN 总线物理层的模拟信号质量(即信号完整性)。汽车自身的电气环境非常不理想,伴有大量噪声和意外瞬变。示波器的核心竞争力在于,它能够捕获和显示罕见汽车瞬变和噪声的细节
[测试测量]
使用<font color='red'>示波器</font><font color='red'>CAN-dbc</font><font color='red'>字符</font><font color='red'>触发</font>和<font color='red'>解码</font>更快速地完成汽车设计调试
安捷伦推出CAN-dbc 字符触发解码以及差分有源探头
安捷伦科技公司近日宣布为其 InfiniiVision 4000 X 系列和全部 Infiniium 系列示波器提供 CAN-dbc 字符解码和触发以及两个新的差分有源探头,非常适合包括控制器局域网串行总线(CAN)在内的汽车测量应用。CAN 总线在汽车应用以及众多的工业和医疗设备应用中得到广泛使用,主要用于控制和传感器监测等系统中。 多年以来,汽车和工业行业的工程师一直依赖示波器作为最主要的测量工具,对 CAN 总线物理层的信号完整性进行调试和验证。借助安捷伦示波器新增的 CAN-dbc 字符解码和触发功能,工程师通过导入行业标准的 .dbc 文件(定义了具体的网络信息),现在能够以字符的形式触发和查看信息和信号。 Robe
[测试测量]
ZDS2022示波器百集实操视频之61:DALI协议触发解码
大家好,对于广泛应用在灯光照明控制系统中的DALI协议,ZDS2022示波器为您提供了完全开放的触发与解码模块,今天来共享下在ZDS2022示波器中,如何对DALI协议进行触发与解码操作? 按下【Decode】键,将解码类型设为DALI协议,开启协议触发,在示波器前面板上的触发控制区内按下【Auto/Normal】键,将触发方式由自动设为普通,按下协议参数软键,可对总线和触发模式相关内容进行设置,由于DALI协议的传输方式主要分为两种:Forward和Backward。 图1 DALI协议触发与解码 ZDS2022示波器DALI协议触发模式包括4种类型:开始位触发(BEGIN)、包含19个 bit的Forward消息帧触发
[测试测量]
ZDS2022<font color='red'>示波器</font>百集实操视频之61:DALI协议<font color='red'>触发</font>与<font color='red'>解码</font>
ZDS2022示波器百集实操视频之41:LIN协议触发解码
LIN作为一种常用的汽车网络协议,也被列为ZDS2022示波器完全免费开放的协议之一,今天我们就来看下ZDS2022示波器是如何对LIN协议进行触发与解码的吧。 向示波器输入LIN协议信号,按下【Trigger】键,将触发方式设为普通触发,触发类型设为LIN,按下协议参数,设置正确的触发源与波特率,其中ZDS2022的LIN协议也支持波特率自定义的设置,用户可根据自己的需要进行波特率设置,触发模式包含同步间隔、同步场、ID场和数据序列4种模式,选中同步间隔模式,此时,波形已准确触发在同步间隔处,如何判断触发位置是否准确呢? 图1 LIN协议触发与解码 对LIN协议进行解码!按下【Decode】键,将解码类型设为LIN,开启
[测试测量]
ZDS2022<font color='red'>示波器</font>百集实操视频之41:LIN协议<font color='red'>触发</font>与<font color='red'>解码</font>
ZDS2022十全十美示波器之21种协议触发解码
在以往,示波器的应用还比较简单,满足波形观察和测量即可,但在电子技术高速发展的今天,通信总线的调试需求风起云涌,仅能在屏幕上看看波形已不能满足调试需求。若示波器拥有协议分析功能,情况就大不一样。 协议解码功能犹如“译码本”,可将纷繁复杂的信号波形快速准确地解码成协议数据,实现波形和数据同步显示。这样一来,波形对应的数据就一目了然,而且还能对特定数据触发,针对性的捕获和分析感兴趣波形。 ZDS2022示波器标配21种协议触发和解码,包括CAN、LIN、UART、USB、SPI等多种串行协议,涵盖汽车电子、电脑外设、芯片外围、智能照明和传感器应用等多个方向,可满足所有常用串行协议解码和分析需求。 长期以来,协议分析技术为
[测试测量]
ZDS2022十全十美<font color='red'>示波器</font>之21种协议<font color='red'>触发</font>与<font color='red'>解码</font>
ZDS2024 plus示波器MDIO解码/触发实战
MDIO是一个以太网控制器的传输协议,广泛用于以太网控制器和PHY之间的数据通讯,接下来,让我们详细了解一下MDIO协议。 MDIO(Management Data Input/Output),管理数据输入输出总线。它是由IEEE802.3定义的以太网行业标准,它承载着MAC层和物理层通信的重任。MDIO接口包括两跟信号线:MDC和MDIO,,MAC层芯片(或其他控制芯片)可以通过它们访问物理层芯片的寄存器,并通过这些寄存器来对物理芯片进行控制和管理。 MDC:管理接口的时钟,是一个非周期信号,信号的最小周期为400ns,最小正电平时间和负电平时间为160ns,最大正负电平时间无限制。 MDIO:是双向的数据线,用来传
[测试测量]
ZDS2024 plus<font color='red'>示波器</font>MDIO<font color='red'>解码</font>/<font color='red'>触发</font>实战
示波器DALI协议触发解码
对于广泛应用在灯光照明控制系统中的DALI协议,ZDS2022示波器为您提供了完全开放的触发与解码模块,今天来共享下在ZDS2022示波器中,如何对DALI协议进行触发与解码操作?   按下【Decode】键,将解码类型设为DALI协议,开启协议触发,在示波器前面板上的触发控制区内按下【Auto/Normal】键,将触发方式由自动设为普通,按下协议参数软键,可对总线和触发模式相关内容进行设置,由于DALI协议的传输方式主要分为两种:Forward和Backward。   图1 DALI协议触发与解码   ZDS2022示波器DALI协议触发模式包括4种类型:开始位触发(BEGIN)、包含19个 bit的Forward消息帧
[测试测量]
<font color='red'>示波器</font>DALI协议<font color='red'>触发</font>与<font color='red'>解码</font>
小广播
最新测试测量文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved