使用CAN总线数据与波形记录分析仪查找和解决波形台阶和信号幅值低的问题


如果CAN总线物理信号出现波形台阶或幅值低的问题,会造成系统故障,要查找和解决这类问题,可以借助于长时间数据和波形记录分析仪RoyalScope。
​RoyalScope超长数据与波形记录分析仪,无论是CAN网络的“体检”和优化,还是CAN网络偶发性故障的排查和解决,RoyalScope都可以轻松胜任。这得益于RoyalScope强大的无盲区连续信号采样和波形海量存储功能,RoyalScope将连续采集的总线上物理信号全部无遗漏的存储为波形,支持最大5200万CAN帧(1Mbps,8个数据字节)波形存储;进一步,得益于丰富和强大的分析和统计工具、统计分析结果关联报文和波形对照查看,让用户对总线状况一览无遗。

一、打开工程

在这里插入图片描述

二、 质量度分析

质量度平均值最低的节点是发送“ID=189”报文的CAN节点,如下图,可进一步查看“ID=189”节点质量度最低值对应的报文和波形。
在这里插入图片描述

三、 问题分析

1、眼图分析:幅值低、边沿台阶

在这里插入图片描述

2、波形分析:幅值低、边沿台阶

在这里插入图片描述
在这里插入图片描述

四、解决“台阶”解决

阻抗匹配是指信号源或者传输线跟负载之间达到一种适合的搭配,阻抗匹配主要为了调整负载功率和抑制信号反射。然而,阻抗不匹配的现象在CAN总线网络中随处可见;如下图所示,阻抗不匹配的将造成7个现象,其中最受关注的为上升沿和下降沿的台阶。
在这里插入图片描述
下文将针对边沿台阶的现象做详细介绍:

  • 解释边沿台阶是怎么出现的;
  • 边沿台阶如何消除;
  • 边沿台阶对总线有何影响。

1、边沿台阶的源头

在CAN总线的网络布局中,手牵手直线型拓扑是最理想最常规的布局;但是在实际现场中,经常会出现分支的现象。这里重点提一下,在计算CAN总线长度的时候,分支(从收发器端至总线)长度也要加上。
为此我们做了分支过长的实验,实验中CAN总线中有三个CAN节点,主干线长度为15米,其中一个节点的分支长度为1米,波特率为250k的情况下进行通信。下图为实验的CAN波形图,明显可以看到上升沿和下降沿存在台阶现象,从而引起波特率变化,导致接收节点采样出错(也称位宽错误)。
在这里插入图片描述

2、消除边沿台阶

边沿台阶是造成错误波形的罪魁祸首,那么该如何消除边沿台阶的现象呢?下文将从源头以及补救措施上分别介绍一些可靠有效的方法。

1)减少分支长度

在CAN网络布局的根源上解决问题的方式就是减少CAN节点的分支长度,从而降低信号反射,保证位宽的稳定性。在上述实验中,其它条件不变,只将分支长度减少为20cm;下图为CAN波形图,此时并没有看到边沿台阶的出现。由此可见,减少分支长度是消除边沿台阶的最直接方式。
在这里插入图片描述

2)长分支上加适当电阻

在网络布局无法改变,分支引起的信号反射必须存在的情况下。最实用的方法就是在长分支末端加上电阻,消除信号反射。同样的在上述实验中,在分支节点处加上一个200Ω的电阻,其它条件不变进行通信实验。下图为实验的CAN波形图,此时可以看到边沿台阶已被消减,但是加了电阻之后差分电压变小,注意差分电压不得小于0.9V。这里值得一提的是:阻值大于500Ω的电阻吸收反射的能力很弱,所以在末端挂电阻的时候应小于500Ω。
在这里插入图片描述

3)缩短残端

前面提到分支长度指的是从节点收发器至总线处的距离,在节点设计之初,应选择TTL远传方式,因为TTL电平不受CAN电容影响,所以收发器应靠近接口摆放,以减少分支残段的长度,建议控制在10cm以内,可以保证阻抗连续。
TTL远传最直接的方式就是将CAN收发器紧挨着CAN主干线放置,这样就没有分支长度。光缆星型拓扑结构便是使用这种方式,如下图;CAN光纤收发器内置在盒子里面,使用TTL电平远传到另一个CAN光纤收发器,解决了节点随意变化问题(节点任意上下电或插拔)。
在这里插入图片描述

4)消除负载集中

在布局较复杂的CAN网络中,为了避免节点摆放集中导致反射叠加,建议相邻节点的距离不得小于2cm,10m的电缆上所集中的设备最好不要超过4个,否则应加电容以吸收,并且此集中与下一个集中至少有10m的电缆距离。
同样,在复杂网络布局中,分支过长且不等的网络,由于阻抗匹配困难,常使用中继器进行分支;中继器有独立的控制器和MCU,将每段形成独立的直线拓扑。

5、屏蔽层分段接地

屏蔽层多点接地需要注意接地点电位,避免地回流影响信号质量。若屏蔽层太长可以采用分段屏蔽,单点接地方法,就可以有效避免地回流的问题。

五、解决幅值低的问题

CAN 总线上面的信号幅值是接收节点能正确识别逻辑信号的保证。一般来说差分电平(CANH-CANL)的幅值只有大于0.9V 才能被100%识别成显性电平,同理如果幅值低于0.9V 就有被识别出隐形电平的可能。
下表中的0.5V~0.9V 是不确定区域,这个根据不同收发器而异,与温度也有关系。所以检查通讯中幅值最小的那个(那些)节点,是我们的进行问题排查的重要步骤。因为如果幅值过低容易导致时通时断等现象。
在这里插入图片描述为了保证通讯质量。考虑在温度变化、干扰等因素,我们通常要求现场调试CAN 的差分幅值通常都要求在1.3V 以上。所以我们可以通过RoyalScope的眼图分析找出幅值最小的亮线,保证在调整后,它处于1.3V 以上。
在这里插入图片描述
为了提高幅值,我们有以下几种办法:

  • 使用线径更大的线缆,减小导线阻抗,需要强调的是CAN 通讯禁止使用网线和电话线,因为其阻抗极大,100 米就相当于1000 米的标准距离;
  • 调整终端电阻值,提高幅值。这个是1.5m㎡线缆的匹配值。
    距离与阻值对照表
<think>好的,用户想分析CAN总线波形数据信号特征,需要了解相关的工具技术。首先,我得回忆一下CAN总线的基本知识,比如它的信号特性,常见的分析参数等。然后,考虑用户可能需要使用哪些工具,包括硬件软件方面。 CAN总线通常使用差分信号,所以信号完整性分析很重要,比如电平度、上升/下降时间、噪声等。然后,常见的工具可能包括示波器,特别是带有CAN解码功能的,比如泰克或Keysight的示波器。软件方面,MATLABSimulink的DSP工具箱可能有用,之前引用中提到的DSP System Toolbox可以用于信号的可视化分析,这应该要提到。 另外,用户可能需要了解如何解析CAN帧,这时候可能需要专门的软件工具或库,比如CANalyzer或者PCAN-View。对于开发人员,可能还需要编程库,比如Python的canlib或者SocketCAN。同时,信号完整性分析中的串扰问题也是需要注意的,引用中的串扰部分可以引用一下。 然后,用户可能还想知道具体的分析步骤,比如如何捕获信号,解码,时域频域分析,故障诊断等。需要分步骤说明,确保结构清晰。最后生成相关问题,比如推荐工具、关键参数、常见问题解决方法,以及软件库推荐。这时候需要参考之前提到的引用内容,特别是引用1关于DSP工具箱的部分,引用3关于信号完整性串扰的内容,以及可能的编程库如引用2或4中的相关内容,但要注意引用是否相关。比如引用4中的金融库可能不相关,所以可能不需要提及。需要检查引用内容的相关性,确保正确引用。</think>### CAN总线波形分析工具技术 #### 一、信号特征分析要点 1. **物理层特性** CAN总线采用差分信号CAN_H/CAN_L),需测量以下参数: - 差分电压(典型:显性电平$2V$,隐性电平$0V$) - 上升/下降时间(一般要求$<250ns$) - 信号噪声振铃现象 - 终端电阻匹配(标准为$120Ω$) 2. **协议层特征** - 位定时分析(同步段/传播段/相位缓冲段) - 错误帧检测统计 - 总线负载率计算(公式:$$ \text{负载率} = \frac{\text{实际传输位数}}{\text{总线理论最大位数}} \times 100\% $$) #### 二、核心分析工具 1. **硬件工具** - **示波器**:需支持CAN协议解码(如Keysight Infiniium系列、Tektronix MSO5系列) *关键功能*:眼图分析、抖动测量、触发错误帧 - **CAN总线分析仪**(如Vector CANalyzer、Kvaser Leaf Pro) *特殊能力*:长期报文记录、错误注入测试 2. **软件工具** - **MATLAB/Simulink**: 通过DSP System Toolbox实现信号时频分析(如眼图、频谱分析)[^1] - **CANoe**: 支持物理层信号协议层联合分析,提供自动化测试脚本开发 - **LabVIEW**: 搭配PXI模块实现高速信号采集(采样率建议$≥5GS/s$) ```python # Python示例:使用python-can库进行基础分析 import can bus = can.interface.Bus(channel='can0', bustype='socketcan') for msg in bus: print(f"ID:{msg.arbitration_id} Data:{msg.data}") ``` #### 三、典型分析流程 1. **信号捕获** - 使用差分探头连接CAN_H/CAN_L - 采样率设置(建议$≥4倍$信号速率,CAN FD需$≥8GHz$) 2. **解码验证** - 校验位填充规则(每5个相同位后插入相反位) - CRC校验计算(15位CRC多项式:$x^{15} + x^{14} + x^{10} + x^8 + x^7 + x^4 + x^3 + 1$) 3. **完整性分析** - 眼图开口度测量(需$>70\%$度) - 信号过冲检测(应$<20\%$Vdiff) - 共模干扰分析(参考ISO 11898-2标准) 4. **故障诊断** - 使用TDR(时域反射计)定位线路阻抗突变点 - 频谱分析识别EMI干扰源(重点关注$1-10MHz$频段) #### 四、高级技术 1. **信号完整性仿真** 使用HyperLynx或ANSYS SIwave进行预布线仿真,优化PCB走线参数[^3] 2. **自动化测试** 构建基于CAPL脚本的测试系统,实现: - 总线负载压力测试 - 错误恢复能力验证 - 节点休眠/唤醒时序分析 相关问题
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值