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

发布者:RadiantWhisper最新更新时间:2021-05-27 关键字:示波器  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字符触发和解码更快速地完成汽车设计调试

上一篇:使用示波器测试和表征电源
下一篇:示波器测试和调试模拟 HDTV 信号

推荐阅读最新更新时间:2024-11-01 20:23

5分钟读懂示波器的工作原理
  示波器是我们电子工程师的左膀右臂,把示波器玩好玩精是我们的必备技能之一。而古人早就教育我们不仅要知其然,更要知其所以然。因此仅仅会玩是不够的,弄清楚示波器的工作原理对于更好地使用示波器来说更是尤为重要。如果你还不明白示波器的工作原理到底是咋样的,就抓紧跟着小编一起来学习一下吧~   首先示波器从设计原理上分为模拟示波器和数字示波器两种,这个想必大家都清楚。最早出现的示波器为模拟示波器,而今由于带宽等问题,模拟示波器已经渐渐被淘汰。那模拟示波器的原理是怎么样的呢?下面这张图就可以很好的说明:      模拟示波器内部会产生周期性的锯齿波信号来控制银光平电子枪的水平偏转,被测的电压信号经过放大后控制荧光屏电子枪的垂直偏转
[测试测量]
5分钟读懂<font color='red'>示波器</font>的工作原理
示波器的信号波形合成
一、 设计方案 1.1 方波产生电路 555定时器构成多谐振荡电路 。电路幅值与占空比可调,产生的方波为单极性,波形上升沿较陡 1.2 分频电路 由十六进制计数器 74LS163和触发器HEF4013构成分频电路。计数器进行奇数次分频,触发器进行二分频。电路占空比为50% 1.3 滤波电路 由运放 TL072和无源元件RC组成二阶有源带通滤波电路。该电路既可以滤除直流和高次谐波分量,又可以放大电压 1.4 移相电路 如 图 -1所示,RC等幅移相电路。电路可调相范围为0~90°,幅度恒定。 图 -1 1.5 加法电路 同相求和电路。可实现多路信号相加,但稳定
[测试测量]
挑选示波器时要注意的几个重要参数
示波器是一种用途十分广泛的电子测量仪器,几乎所有电子产品的生产研发都需要应用到示波器。示波器通过把肉眼看不见的电信号变换成看得见的图像,便于人们研究各种电现象的变化过程。我们目前常用的示波器一般为数字示波器、数字示波器的工作方式是通过模拟转换器(ADC)把被测电压转换为数字信息。数字示波器捕获的是波形的一系列样值,并对样值进行存储,存储限度是判断累计的样值是否能描绘出波形为止,随后,数字示波器重构波形。数字示波器可以分为数字存储示波器(DSO),数字荧光示波器(DPO)和采样示波器三种。 在实际应用中示波器除了可以观察各种不同信号幅度随时间变化的波形曲线,还可以用它测试各种不同的电量,如电压、电流、频率、相位差、调幅度等。而在
[测试测量]
挑选<font color='red'>示波器</font>时要注意的几个重要参数
抢占示波器尚未满足的市场需求
2008年11月19日,位于北京CBD国贸饭店多功能厅的讲台前安静的摆放着一个小巧的示波器,示波器当然对于每个集成电路设计研发工程师来说都太过熟悉了,然而这个看起来并不起眼的泰克MSO/DPO 2000也许即将填补示波器尚未满足需求的市场空间。 来自泰克公司的产品市场经理Lisa Bieker剖析了当下示波器市场的空缺,揭开了填补这一空白的混合信号示波器MSO/DPO 2000的神秘面纱。 市场的空白在哪里? 嵌入式设计首选的头号仪器 “大家每天的生活中至少会碰到100个嵌入式系统。”Lisa的话一点都不夸张,岂止是100个,处于数字时代的我们早已习惯电子产品深入生活。消费电子、工业电子、汽车电子、航
[焦点新闻]
浅谈模拟示波器和数字示波器的区别
  在19世纪的欧洲,第一台火车曾被马车远远甩在身后。当时钟指向了21世纪,高铁时速已经突破400公里,当年的那些马儿现在只能赛马场和动物园见一见了。生活在摩尔定律面前让以年为周期不断被引爆,任何鼎盛在时代大潮面前终究只是一座小岛。昨天还是欲求千金买马骨,今天就已门前冷落车马稀。模拟示波器就像是当年的马车,也正在渐渐地淡出工程师的视野,在能够预见的某天,他终将会彻彻底底的离开我们,成为测量仪器史书上即将翻过去的一页。   1、曾经的一代枭雄   最早的模拟示波器出现于20世纪初期,大概只有几MHz的带宽。也就是我们早些年见到的那种CRT显示屏的示波器。原理比较简单,在高中物理中已经有讲过:模拟示波器内部会产生周期性的锯齿波信号来控
[测试测量]
浅谈模拟<font color='red'>示波器</font>和数字<font color='red'>示波器</font>的区别
运用示波器可直接破解30种通信协议
在讲示波器具体的解码内容之前,首先来看一下伴随着示波器的发展,协议解码出现了哪些变化。 1、简述示波器发展给协议解码带来的便捷 示波器从模拟示波器发展到数字示波器,带来了许多大的改变,例如信号采集、带宽、采样率、屏显等。同样,这样的改变也体现在“协议解码”上,新的解码方式将人们从“0”,“1”的世界中解放出来,大大提高了工作效率。 图1.0/1的世界 下面,我们具体看一下示波器发展中协议解码方式的变化。 最初的协议解码 最初的示波器只是一个简单的波形显示兼数据测量,而我们需要获取协议波形深层次的含义,则需要一段一段去分析。 例如:观察IIC协议,一个时钟信号,一个数据信号,我们需要按照时钟与数据信号一
[测试测量]
运用<font color='red'>示波器</font>可直接破解30种通信协议
北京集成电路设计业规模居国内第一
新华网北京4月16日电 (记者 黄杰) 记者从16日在京举行的“集成电路设计服务—封装测试论坛”了解到,北京集成电路设计业规模稳居国内第一。 北京市科委提供的数据显示,2006年,北京集成电路设计业以近60亿元的销售总额稳居国内第一,远远超过其他省市。在最近3年的全国十大集成电路设计企业排行榜上,北京每年均有4家企业入围。 目前北京的集成电路设计企业已超过100家,龙芯、众志、星光系列等一批“中国芯”都属于国家重大创新成果。在北京市科委支持下,北京华大泰思特半导体检测技术公司和北京自动化测试技术研究所共同承担的“北京集成电路设计验证与测试服务平台”项目,为设计企业就近提供了技术支撑。 两年来,这个平台累计已完成4万片圆片的IC
[焦点新闻]
抖动测量技术的演进探讨
我们通常都知道,在任何一款示波器的技术资料中触发抖动都是一个最常见的性能指标。不错,自从示波器中应用了触发电路以后,触发抖动就一直存在。而且,测量方法也很简单。不过其狭义的定义却是鲜为人知,其应用也存在着很大的限制。更糟糕的是,我们过去一直用来测量触发抖动的技术受到了示波器中其它误差的严重影响。 图1. 使用水平波形直方图进行传统的触发抖动测量。 理论上,我们都希望示波器的性能指标能够区分垂直误差和水平误差。这一点很重要,因为这两种不同的误差会对波形测量造成不同的影响。对于噪声和抖动来说,我们希望能够测量示波器添加到显示波形的垂直噪声,并对示波器添加到显示波形的水平抖动进行独立测量。为将这些特征与稍后将要讨论的其他
[测试测量]
抖动测量技术的演进探讨
小广播
最新测试测量文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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