我们经常在高速信号中听说一些名词如:阻抗匹配、传输线、反射等一些相关的概念,但这些概念都是相对而言的,举个极端的例子:一个5G频率的信号在10nm的线上它也就是一个普通的信号,你可以随意布线,但是像一个几十兆的信号在100m的线上它就是高速信号,它就存在阻抗匹配、损耗等一系列问题,这里呢我就用曾经的一个案例分析,即走线长度对CAN信号质量的影响。
首先我们上正常情况下CAN通信的波形,如下图所示,可以i看到CANH和CANL之间电平差大于2V,波形平滑无毛刺。
CAN总线协议要求使用120欧姆双绞屏蔽线走线,相对应的终端电阻应选择120欧姆。那么如果终端电阻选择过大,会使信号反射增加,出现过冲和毛刺,影响正常通信。表现为错误帧增多,通信不稳定。
上图,下图就是端接了一个10K的电阻,此时所测波形信号质量就很差了,当然就会出现错误帧啦。
那么如果端接电阻过小或者一个CAN总线上挂了多个设备每个设备都接120R的电阻,又或者你的走线太长了在线上消耗的太多或驱动芯片驱动不足等这些问题,我们测量的CAN信号质量是什么样的呢?
来吧继续上图,如下图所示,可以看到CANH和CANL电平差值小于2V,无法通信。那么我们就需要增加终端电阻阻值啦。
通过上面的分析,我们再来实际的测试一下,下图呢是一个CAN总线的系统框图,在源端和设备3我们各接一个120R的电阻,剩下的模块则都不端接电阻。同时呢所用线缆也是普通的线缆,测了一下线阻抗为3R。
测试了一下毛都木有一个啊,哎。。。。。继续测量波形吧,首先测量一下源断的波形吧,如下图所示。
在测量一下设备端的波形吧,波形如下下图所示,我去这是啥玩意啊?
分析一下吧,那就是由于普通单股导线对CAN信号表现为感性增大,近端信号反射增加,CANH-L之间出现负电压,信号经过长导线后高频信号被过滤,远端接收不到正常方波信号了。
我们在方案不改的情况下更换一下线缆测试一下哈,如下图所示,是400米双绞屏蔽线,电阻约为30R(因为我找不到120R的双绞线凑合看吧)。
接120欧姆终端电阻时,测试波形如下,方波正常没有毛刺,但是CANH-CANL压差低于2V,此时不能正常通信,数据丢失严重。
将终端电阻换为240欧测试波形如下,波形正常,通信恢复正常。
有句话咋说来着,哦想起来了就是“硬件工程是可以分为两类,一类是已经遇到了信号完整性问题,另一类是即将遇到信号完整性问题”,(如果你以前没有看到过,那就算我说的,哈哈)。
作为一个合格的硬件攻城狮必须具备信号完整性的意识和必要的防范手段,不管你之前有没有接触过像DDR、PCIE、SATA等这样的高速信号,但是你一定接触过像CAN、UART这些信号吧,不要认为这样的信号就没有信号完整性的问题,其实在设计和调试过程中处处都是学问,处处多留心多观察多思考就一定能够不断的提升自己。
联系客服