本文将一步步介绍如何使用DSLogic逻辑分析仪采集并分析 CAN/CAN-FD 信号,因为 CAN 信号的测量和 CAN-FD 的大致一样,所以下文以 CAN-FD 举例,在有区别之处,将会做特别说明。
此次演示的案例特征为:
- 仲裁域波特率 500Kbps
- 数据域波特率 1Mbps
- 发送 “01 23 45 67 89 AB CD EF ….(其余数据位补0)” 共 64 位数据到 ID 地址”0x100″。
CAN-FD 协议是半双工的,在 MCU 端使用 TX/RX 进行收发信号,发送端并不是通过 TX/RX 直接接到别的节点的 MCU ,而是先将 TX/RX 接入到 CAN-FD 收发器,将 TTL 电平转换为差分信号 CAN-FD_H和 CAN-FD_L,测量信号时需要注意接的是 TTL 逻辑端,还是 CAN-FD 总线端。
图1 MCU与收发器结构
所以,如果你要测量 TTL 信号,则将探头接入到 TX 引脚,如果要测量总线端信号,则接入到 CAN-FD_L ,你可能要问,可以接入到 CAN-FD_H ?单独观察波形的话,是可以的,但因为我们是使用逻辑分析仪对信号进行解码,而 CAN-FD_L 的电平变化和 TTL 端的电平变化是一致的,CAN-FD_H 和 TTL 端是反相的,所以为了方便对比观察解码结果,要接入 CAN-FD_L。
三 信号的实际模样逻辑分析仪分析的是数字信号,在采集分析之前,我们推荐先用示波器观察下信号实际是什么样子的,对真实波形有一个基本的认知。
下面我们使用璞石示波器来完成捕获模拟波形的演示。
3.1 MCU 侧 TTL 信号测 TTL 时探头接 TTL 信号,探头使用 X1 挡位,探头接地夹接逻辑端的参考地,一般是 MCU 的 GND 引脚,此处是使用接地弹簧接 GND。
图2 探头测试 TX 信号
示波器 0 通道探头放在靠近 MCU 的 TX 引脚处,夹子接逻辑侧参考地,启动 CAN-FD 发送数据,按下 AUTO,捕获波形,如下图所示。
图3 示波器显示 TX 信号
可以看到这是一个符合 TTL 标准,幅度为 3.4V 的波形。
3.3 收发器侧差分信号因为在电路设计中一般都会对总线端的电源做隔离,所以在测 CAN-FD 时,两个探头分别接 CAN-FD_H 和 CAN-FD_L 信号,但是探头接地夹需要接总线端的参考地,一般是 CAN-FD 收发器芯片的 GND 引脚,不要接到 MCU 的 GND 上去了。
图4 探头测试差分信号
图 4 左边三个座子依次为 CAN-FD_H,GND,CAN-FD_L。
示波器 0 通道探头放在 CAN-FD_H,接地弹簧接总线侧参考地 。示波器 1 通道探头放在 CAN-FD_L,接地弹簧接总线侧参考地,启动 CAN-FD 发送数据,按下 AUTO,捕获波形,将波形光标重合在一起,如下图所示。
图5 差分信号
可以看到 CAN-FD 中空闲时差分电平压差为 0,当 CAN-FD_L 出现低电平时开始数据的传输。可以看到CAN-FD_L的波形和TTL端的信号是同向的,而CAN-FD_H的波形和TTL端的信号是反向的。
同时,也可以观察到CAN-FD信号高低电平的特殊之处,以CAN-FD_L为例,它的低电平并不是0V。通常标准CAN/CAN-FD总线信号的L端低电平为1.5V,高电平为2.5V。
也有一些CAN系统,总线信号的电平和标准不太一致,这也是为什么我们推荐先用示波器观察实际波形的原因。因为在使用逻辑分析仪分析波形时,需要设置正确的“阈值”电压,逻辑分析仪才能采集到正确的信号。
四 信号的采样与解码在示波器上可以观察到信号的波形质量,但是示波器不擅长长时间抓取波形,同时进行解码分析。所以当想要分析协议通讯的内容时,使用DSLogic逻辑分析仪是最合适的工具。
4.1 信号的连接在DSLogic Plus中,可以选择任意通道对波形进行采集。我们使用 1 通道来采集 CAN-FD_L 信号。
连接排线至逻辑分析仪的采样端口,图 6 显示了排线和通道的对应关系。
图6 排线与逻辑分析仪的连接
连接 1 通道至 CAN-FD_L,黑色信号线为接地信号线,连接 CAN-FD 收发器的 GND。连接效果如图。
图7 连接信号
4.2 采样设置打开 DSView,在左上角点击“选项”,按照图4 参数设置,其中关于阈值电压,在图5 中,我们可以看到通讯波形中 CAN-FD_L 的电压范围大致在 1.5V – 2.5V 之间,所以阈值可以设置为 2V 左右。
采样率一般推荐设置为波形最大速率的 10 倍。例如此处选择 10MHz采样率进行采集分析。
通道选项的所有选项都符合我们的要求,我们选择就选第一个。其他选项保持默认,点击确定。
图8 选项设置
设备选项设置完成后,采样时间这里设置为 5ms,在”模式“中,我们选择“单次”。关键的阈值、采样时间和采样率设置完成后,我们接下来设置触发方式。
从图5 可以看到 CAN-FD_L 出现下降沿开始通讯,所以我们设置触发方式为下降沿触发,点击1 通道左侧的下降沿标识,显示为蓝色则为下降沿触发。
图9 触发设置
完成以上接线和设置后,其他设置保持默认,点击 DSView 菜单栏的“开始”,此时逻辑分析仪正在等待触发波形的出现,然后启动 CAN-FD 传输,触发后等待波形采集完成。
以上是对 CAN-FD 的采样设置,对于 CAN 波形的测试,可以和 CAN-FD 的一致。
4.3 解码设置波形采集完成后会在软件界面显示,此时可以对波形进行解码操作,具体操作是点击菜单栏的“解码”按钮,在协议框中输入“CAN”,点选在下方出现的”CAN-FD“,在弹出的解码设置中进行解码设置。
图10 解码设置
- 右侧带有眼睛图标的选项表示是否要在解码中查看这些内容,默认是要查看,如果不想看到相关内容,将其勾选掉即可。
- 在”CAN“选项中选择连接 CAN-FD_L 信号的通道,我们的通道是 1 通道,所以选择 1。
- “Nominal bitrate” 表示仲裁段波特率,我们的信号是 500Kbps,所以输入 500000。
- “Fast bitrate” 表示数据段波特率,我们的信号是 1Mbps,所以输入 1000000。
- “Sample point” 表示采样点位置,在 MCU 对 CAN/CAN-FD 协议进行配置时,不同的厂家采样点设置不一样,一般采样点设置在 70% ,请根据实际情况设置。
- 如果在波形中插入了光标,可以使用光标来限制解码的范围,默认是对所有波形进行解码。
图11 解码器选项
解码成功后对波形展开,配合协议列表显示,可以知道我们对地址为”0x100″的设备发送了“01 23 45 67 89 AB CD EF”等数据。
图12 解码结果
对于 CAN 波形的测试, 只需要设置一个”bitrate” 即可,其他操作和设置与 CAN-FD 的一致。
文章评论(0条评论)
登录后参与讨论