打印

如何使用DSLogic分析CAN/CAN-FD 信号?

[复制链接]
401|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lijianihao|  楼主 | 2023-8-9 15:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lijianihao 于 2023-8-9 15:43 编辑


一 文档介绍
本文将一步步介绍如何使用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 的一致。

使用特权

评论回复
沙发
13979674824| | 2023-8-10 08:17 | 只看该作者
梦源逻辑分析仪

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

8

帖子

0

粉丝