中电网移动|移动中电网|高清图滚动区

如何使用正确的示波器简化 CAN 总线网络测试

作者:Art Pini

车载网络 (IVN) 能够让微控制器和发动机控制单元 (ECU) 处理器与传感器、执行器、指示器、显示器之间实现相互通信。控制器区域网络 (CAN) 总线便是经典的 IVN 之一。CAN 问世至已有近三十年,并且仍在继续发展。

正如 ISO11898 标准中描述的那样,经典 CAN 总线的数据速率高达 1 Mbps,并使用单根双绞线处理中等带宽需求。CAN 总线像所有有源网络一样将继续发展以满足行业需求。例如,CAN 灵活的数据速率 (CAN FD) 将数据率提高到 5 Mbps。最新的 CAN 标准是超长 CAN (CAN XL),其运行速度可达 10 Mbps 或更高;且两者都向后兼容传统 CAN。

CAN 网络的物理层 (PHY) 布线由 CAN 节点之间的双绞线完成(图 1)。

https://www.eechina.com/data/attachment/forum/202303/13/101508v435e4bdzw212mge.jpg
图 1:CAN 网络采用端接式双绞线布线,且节点采用垂线连接方式。每个节点都有一个 CAN 收发器和一个具有 CAN 控制器功能的微控制器单元 (MCU)。(图片来源:Texas Instruments)

CAN 网络的总线布线要求在总线两端分别端接 120 Ω 电阻器,以最大限地度减少反射。总线速率取决于 CAN 的具体实施,并受到网络实际长度的影响。网络越长,能支持的最大数据速率就越低。1 Mbps 的数据率适合 40 m 或更短的网络长度。

在通信过程中,使用双绞线中的两根线实现差分,指定为 CANH 和 CANL:要在端接双绞线的 60 Ω 差分负载上实现 1.5 V 差分信号,需要使用 CAN 收发器驱动器。信号电平被称为显性电平和隐性电平。显性电平(“1”)具有大于或等于 0.9 V 的差分电压。隐性电平(“0”)具有小于 0.5 V 的差分电压(图 2)。

https://www.eechina.com/data/attachment/forum/202303/13/101508h0rtc0i52i0x7efs.jpg
图 2:所示为 CAN 总线 CANH 和 CANL 导线的差分信号定义。(图片来源:Texas Instruments)

总线驱动器能够自动将总线驱动到显性状态,而返回到隐性状态则依赖于通过端接进行的电阻放电。它还允许显性位覆盖隐性位状态。此功能用于确认和总线仲裁。

测试 CAN 总线

可用示波器测试 CAN 总线的 PHY。确保示波器和相关探头的带宽大约是串行数据信号的时钟速率的 5 倍。如果考虑整个的 CAN 总线数据速率范围,那么 CAN XL 的数据字段的最大速率是 20 Mbps。这表明我们应该使用一个带宽超过 100 MHz 的示波器。让我们选用 Teledyne LeCroy 的 HDO4024A 示波器。这是一款带宽为 200 MHz 的四通道示波器。

连接 CAN 总线

用探头将示波器与 CAN 总线连接。可以用示波器附带的两个 10:1 高阻抗探头。这样,就可以查看差分组件,即 CANL 和 CANH。为了查看差分信号,使用示波器的差分数学函数,用 CANH 减去 CANL(图 3)。

https://www.eechina.com/data/attachment/forum/202303/13/101508mawbsnglalqsvba9.jpg
图 3:CANH(顶部轨迹),CANL(中心轨迹)以及 CAN 差分信号(底部轨迹)。差分信号是用示波器的差分数学函数计算出来的。(图片来源:Teledyne LeCroy)

一个更好的方法是使用类似 Teledyne LeCroy ZD200 的差分探头。ZD200 的带宽为 200 MHz,差分电压范围为 ±20 V,共模电压范围为 ±60 V。该探头有两个输入:非反相 (+) 输入连接到 CANH,而反相输入 (-) 则连接到 CANL。因为我们使用的是差分探头,所以只需一个示波器通道(图 4)。这表示一个持续时间为 100 ms 的 CAN 信号,且包含大约 20 条信息。底部是一个水平扩展的缩放轨迹,显示了较长时间采集过程中的单条信息。

https://www.eechina.com/data/attachment/forum/202303/13/101509qp0d2o20y0gsdqvl.jpg
图 4:所示为一个持续时间为 100 ms 的 CAN 信号,通过差分探头采集了大约 20 条信息。水平扩展的缩放轨迹(底部)显示了较长时间采集过程中的单条信息。(图片来源:Art Pini)

差分探头的另一个优点是,能够削弱两个输入端共有的任何噪声或瞬态,从而提高测量信噪比 (SNR)。这在充满电噪声的车辆环境中尤为重要。

CAN 协议

CAN 总线信息遵守标准化协议,允许网络在需要时进行数据和指令寻址(图 5)。

https://www.eechina.com/data/attachment/forum/202303/13/101509u6n6c20sn2mcgxce.jpg
图 5:CAN 协议提供了一个在总线上传输数据并验证其是否被接收的架构。该协议还提供错误检查。(图片来源:Texas Instruments)

在 CAN 总线方面,Teledyne LeCroy 示波器提供了一个让人喜欢的、非常有用的选项:CAN 和 CAN FD 触发和解码软件。HDO4K-CAN BUS TD 示波器软件适用于传统 CAN 网络,而 HDO4k-CAN FD TD 选项适用于 CAN FD 总线。利用这些选项,示波器可在出现特定的 CAN 消息内容时触发,包括消息 ID、ID 加数据内容、远程消息、错误事件或者所有消息。主要功能是对信息进行解码——就像一台协议分析仪(图 6)。

https://www.eechina.com/data/attachment/forum/202303/13/101509xmdypvtx9qgkfdp6.jpg
图 6:HDO4K-CAN BUS TD CAN 触发和解码选项会读取 CAN 信息,并以不同颜色覆盖这些信息,以显示不同的字段及其内容。(图片来源:Art Pini)

每个信息字段都通过覆盖特定的颜色及文本标签来识别。每条信息也被列在位于所显示波形下方的表格中。点击表格中的任何条目,相关的波形便在缩放轨迹中显示,以便仔细检查。

点击表格的标题,用户可以搜索或筛选该字段内符合特定条件的表格条目,并只显示需要的条目。例如,通过选择 ID 字段,只显示具有特定 ID 或特定 ID 范围的条目。

通过选择符号查看,示波器将使用行业标准的数据库 CAN (DBC) 文件,将十六进制字段条目转换成描述每个字段的纯语言文本(图 7)。

https://www.eechina.com/data/attachment/forum/202303/13/101509dq6ob5sjmo4om6z5.jpg
图 7:符号解码将原始十六进制数据转换成纯文本,以帮助解释 CAN 信息中包含的数据。(图片来源:Art Pini)

例如,扩展发动机冷却液的消息内容,以显示数据包括了冷却液温度、压力和液位信息。

解码选项还显示了填充位的存在。如果位序列包含五个或更多个相同状态的位,则控制器将会插入一个相反状态的填充位,以确保信号中有足够多的边沿来保持同步。这些填充位会被接收器移除,以确保数据内容正确无误。在前面两幅图中,用 SB 标签显示这些填充位。

结语

尽管 CAN 总线技术已经很成熟,但仍在不断发展和适应,以满足汽车工程师的需求。示波器也是如此。设计人员可以使用配有适当探头的示波器和可选的触发和解码软件,将其作为一种有效的工具来简化 CAN 总线网络的测试和故障查找。

猜你喜欢
中电网移动|移动中电网|频道导航区