本文将一步步介绍如何使用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。
逻辑分析仪分析的是数字信号,在采集分析之前,我们推荐先用示波器观察下信号实际是什么样子的,对真实波形有一个基本的认知。
下面我们使用璞石示波器来完成捕获模拟波形的演示。
测 TTL 时探头接 TTL 信号,探头使用 X1 挡位,探头接地夹接逻辑端的参考地,一般是 MCU 的 GND 引脚,此处是使用接地弹簧接 GND。
图2 探头测试 TX 信号
示波器 0 通道探头放在靠近 MCU 的 TX 引脚处,夹子接逻辑侧参考地,启动 CAN-FD 发送数据,按下 AUTO,捕获波形,如下图所示。
图3 示波器显示 TX 信号
可以看到这是一个符合 TTL 标准,幅度为 3.4V 的波形。
因为在电路设计中一般都会对总线端的电源做隔离,所以在测 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逻辑分析仪是最合适的工具。
在DSLogic Plus中,可以选择任意通道对波形进行采集。我们使用 1 通道来采集 CAN-FD_L 信号。
连接排线至逻辑分析仪的采样端口,图 6 显示了排线和通道的对应关系。
图6 排线与逻辑分析仪的连接
连接 1 通道至 CAN-FD_L,黑色信号线为接地信号线,连接 CAN-FD 收发器的 GND。连接效果如图。
图7 连接信号
打开 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 的一致。
波形采集完成后会在软件界面显示,此时可以对波形进行解码操作,具体操作是点击菜单栏的“解码”按钮,在协议框中输入“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条评论
快来发表一下你的评论吧 !