APP下载

一种CAN总线匹配故障的快速诊断方法

2022-07-01赵宝全

通信电源技术 2022年3期
关键词:阻抗匹配收发器物理层

赵宝全

(固安信通信号技术股份有限公司,河北 廊坊 065500)

0 引 言

CAN总线具有完善的地址竞争机制、故障保护机制和数据送达确认机制,并且成本低、电磁兼容性能可控、通信速率高、EMC可控,占据了工业现场总线的大部分市场[1]。

物理层的良好阻抗匹配是CAN总线高质量应用的基石,如果匹配不良就会出现通信不稳定、数据堵塞等问题,更严重的会引起整个CAN总线通信失效,诊断的简单办法是通过静态测试CAN总线的电阻值是否在60~120 Ω的范围内,但这只能解决一些简单故障,对于复杂场景下CAN总线的阻抗则无法有效测试,如果使用网络分析仪或者CAN总线故障诊断仪则价格昂贵、体积笨重、操作复杂,不适合现场应用。本文通过对CAN总线的传输的响应时间这一关键指标进行诊断,并总结了一套流程方法来解决此问题。

1 CAN总线介绍

CAN总线如图1所示,由CAN控制器、CAN收发器、CAN总线传输通道和匹配元件构成。CAN控制器主要完成数据链路层的功能,CAN收发器完成电平转换功能,传输通道实现物理层的连接,匹配元件实现传输的阻抗匹配。

图1 CAN总线原理

CAN总线收发器如图2所示,内部由发送和接收两部分构成,作用是把TX的信号转化为差分电平后驱动总线(即CANH和CANL的差分信号),并把CAN总线上的信号转换为TTL电平后由RX送回给CAN控制器回读进行控制判断。

图2 CAN收发器原理

CAN控制器无数据收发时保持高电平,CAN总线传输通道保持隐形位电平,当CAN控制器需要发送数据时,控制CAN收发器TX引脚,CAN收发器驱动波形如图3所示。CANH和CANL输出电路如图4所示。

图3 CAN收发器波形

图4 CANH和CANL输出电路

CAN通信帧如图5所示,CAN控制器在CAN通信帧的仲裁段发送帧ID时需要根据RX的回读信号判断总线竞争状态[2]。如果CAN控制器向外发出的是隐形位信号(对应TX为高电平),而RX回读的是显性位信号(对应RX电平为低电平),那么CAN控制器则认为存在更高优先级的节点也在向总线发送信号,那么CAN控制器就会停止本次发送,转为从机监听应答模式,待总线恢复空闲后再次尝试竞争主机,如果错误的判断竞争优先级就导致无法发出信息。另外CAN控制器在CAN通信帧的ACK段通过RX回读判断ACK应答位,如果无应答就会多次重复发送数据,以确保信息送达,这样就会阻塞信道。CAN总线本身由于其总线竞争的多主机制和数据送达确认机制保障了工作可靠性,但总线物理层阻抗匹配不良则成为导火索引发出一系列数据链路层的问题,如果不能抓住问题的关键点,则会被故障表象所迷惑,无法快速地解决故障。

图5 CAN通信帧

2 总线匹配的原因

通过图2可知CAN收发器内部的接收部分在总线侧是高阻输入,理想化可认为是断路,只分析发送部分即可。由于器件制造工艺原因,CANH和CANL之间存在电容等效为C1,总线的匹配电阻等效为R1,总线的线缆间电容等效为C2。

忽略R1和C2,当TX为高电平时,开关管Q1和Q2关闭,CANH和CANL被拉到参考电平2.5V。若TX由高电平变低电平时,开关管Q1和Q2导通,稳压管Z1和Z2起分压作用,C1被迅速充电,CANH和CANL分别被快速的拉到3.5 V和1.5 V,非常快的信号变化会导致电磁辐射的增大,但是当TX由低电平变高电平时,开关管Q1和Q2关闭,电容C1中的电荷只能通过R2和R3的高阻通路进行缓慢放电,这就导致CANH和CANL恢复到参考电平非常缓慢,总线就会出现隐形位时间小于显性位时间,从而导致总线竞争判断错误或接收数据校验错误而不应答。线间电容C2并联到C1上,更加剧了上述情况,所以才需要增加匹配终端电阻R1,其阻抗为60Ω左右,由于R1的分流作用,对电容的充电时间变长,总线信号边沿上升时间变长改善了电磁兼容性能,在CANH和CANL由显性位变为隐形位时,R1又充当了对C1和C2的低阻放电通路,使CANH和CANL快速恢复到参考电平,总线的显性位和隐形位持续时间会趋于一致。通过以上分析可知为什么要对总线进行阻抗匹配,以及阻抗不匹配时的现象,但是常规诊断方法仅仅对CANH和CANL的波形进行测试,判断是否达到3.5 V和1.5 V,无法分辨主机和从机节点,无法直观了解主机发送信息是否正确和从机是否及时的应答,物理层和数据链路层的各种问题现象搅合在一起,无法快速有效的排查故障。

3 通过响应时间特征快速诊断

通过对CAN收发器内部的发送部分电路的分析了解了总线物理层需要阻抗匹配的原因,那么可以再利用其接收部分,更加直观地了解到总线的显性和隐形位,这样就不必在总线侧使用昂贵的差分探头,直接在CAN收发器的TX和RX引脚处使用常规示波器探头即可测试如图3所示的t1和t2响应时间。表1为参照器件SN65HVD230的数据手册并且在斜率RS电阻为0的情况下的数值,如果超出此范围则说明总线阻抗匹配不良,需要优化调整[3]。其他器件可以参照对应手册中的规定条件下数值进行测试诊断。

按照图6所示流程步骤进行故障诊断,首先进行主机节点的判断,找到主机节点后在收发器的RX也挂上示波器探头,设置TX为下降沿触发,触发后测试t1和t2并按照表1进行判断,由此可以得知总线的物理层是否存在阻抗匹配问题。

图6 诊断流程

表1 响应时间

实际操作如图7所示,示波器的2个通道分别接入普通探头,探头都拨入X10档位,并校准[4]。此处需注意,普通探头X1档位只有7 MHz的带宽,而CAN信号最高可达1M比特的速率,且为方波,所以带宽要求超过7 MHz[5]。CH1的探头接入收发器的TX引脚,CH2的探头接入收发器的RX引脚,触发方式为下降沿,触发电平设置为1.5 V,触发源为CH1。

图7 诊断接线图

如图8所示,CH1和CH2分别显示了CAN收发器的TX和RX引脚的波形以及总线上其它节点的应答响应。使用示波器的串行协议分析功能,在抓取的波形上可以自动完整的显示出can帧的数据,如果示波器不具备串行协议分析功能可略过此步骤,直接观察波形。确认TX和RX引脚波形抓取无误后,拉宽波形,采用光标截取出t1的延时,如图9所示,测量出的时间为80 ns,参考表1中70~155 ns的范围可知,CAN总线一侧工作良好。t2时间的测量方法类似,限于篇幅不再赘述。

图8 CAN帧波形

图9 CAN收发器的TX和RX引脚延迟时间

4 结 论

本文分析了CAN总线物理层阻抗匹配的原因,并介绍了通过在CAN收发器的TX和RX引脚测试信号的响应时间来快速对CAN总线物理层进行故障诊断方法,非常适合在现场对物理层的故障快速定位和评估修复情况。笔者在实际工作中已经按照本文所述方法多次解决问题,并评估CAN总线的通信质量,未来计划按照此方法开发一套CAN总线时间测试工具,进一步简化现场操作步骤,提高效率。

猜你喜欢

阻抗匹配收发器物理层
基于K-ML-MPWFRFT的物理层安全传输技术
基于LCC-S补偿拓朴MCR-WPT系统的宽范围阻抗匹配研究
微波无线传能系统中直流阻抗匹配器设计①
光纤收发器故障排除经验谈
公路联网电子不停车收费系统路侧单元物理层自动测试软件研发
Virtex5 FPGA GTP_DUAL硬核两个收发器独立使用的实现
一种阻抗匹配层的截断边界
一种应用于5G基于LDPC码的物理层包编码
水声换能器基阵信号采集系统优化设计
卫星通信物理层安全技术探析