最近在研究 CAN 总线,发现 CAN 总线的 CANH 和 CANL 上的波形有好有坏,如图 1 所示红框中所示,有的波形有明显的过冲,想弄清楚原因,请教了一些前辈,自己也查阅了一些资料,但由于孔丙火(微信公众号:孔丙火)自身愚钝,总是感觉不能完全理解。 图 1 根据孔丙火(微信公众号:孔丙火)的理解, CAN 波形中的冲击是由于电平陡然变化,在传输双绞线上电波反射造成的,回波反射的原理应该是很复杂的,查阅了相关文献,理论公式一大堆,什么基尔霍夫定律等等,总之,对于我们这些搞应用研究的人来说,一句话,看不懂,但有没有其他方法可以简单理解这种现象呢,我想是有的,下面列举几种比较通俗的解释,有的用自然现象解释,有的用人性解释,反应了 CAN 总线作为自然界的一部分,就会遵循自然规律,有的“道法自然”意思。 ( 1 )用光的反射来解释 孔丙火(微信公众号:孔丙火)看过周立功关于 CAN 总线的一本书,书中用光的反射原理解释了 CAN 信号的回波反射,很形象。他说,电波在双绞线中传输,跟光波在空气中传输具有相同的道理,当光从空气射向水面时,一部分被反射,另一部分折射进入水中。电信号在均匀的双绞线中传播时,是不会有反射的,但在双绞线的末端,线缆的特征阻抗突然变化,信号就会发生反射,反射信号与源信号叠加,就会形成向上的冲击。 图 2 ( 2 )用水流解释 这是一个前辈打的比喻,也比较形象。在河流中,如果水流比较缓慢,是看不到回波的,如果水流突然变大,就会看到有反方向的回波。在 CAN 总线中,低电平突然变到高电平时,就会像水流一样出现回波,从这个角度讲,总线信号电平应该缓慢变化比较好,回波反射小,但太缓慢会影响通信速率,要取个择中,这就是 CAN 收发器芯片的斜率控制,现在好多芯片都没有这个管脚了,应该是斜率是固定的,因此,不同的芯片在相同的测试条件下,回波反射式差别的。周立功公司有一篇文章,专门比较了几种芯片的性能,大家可以百度搜一下,题目是:主流 CAN 收发器性能 PK ,孔丙火(微信公众号:孔丙火)认为写得不错。 ( 3 )用人与人交流解释 有的人性子急,如果交流的时候,你的性子也急,把想要说的事,想要讲的话一股脑的全说完,可能会引起对方的激烈反应,如果你讲究方式方法,做好铺垫,慢慢谈,对方的反应就不会那么大,这也是一个前辈打的比喻,是不是跟 CAN 总线的信号反射有些类似啊。人性在 CAN 总线上的反应,孔丙火(微信公众号:孔丙火)感觉有些意思,写出来跟大家分享一下。 图 3 ( 4 )用能量守恒定律解释 下面是从一篇论文中摘出来的,写得也有道理,大家可以看一下,有助于理解。 图 4 关于 CAN 总线的回波反射问题,还是有很多细节问题需要研究的,尤其是对于多节点长距离的应用,留待后续一起讨论。关于你的理解,也可以留言一起探讨。 文章在公众号( 孔丙火 )同步推出,欢迎查看更多系列文章。 单片机、 ARM 、现场总线、 PLC 、嵌入式软硬件的设计经验分享,秉承“点点滴滴皆智慧”的理念,以实际项目为单元阐述知识点,一起分享,共同交流。