原创 你知道CAN总线波形上的尖尖角从何而来吗?

2021-4-16 22:03 2273 18 2 分类: MCU/ 嵌入式

最近在研究CAN总线,发现CAN总线的CANHCANL上的波形有好有坏,如图1所示红框中所示,有的波形有明显的过冲,想弄清楚原因,请教了一些前辈,自己也查阅了一些资料,但由于孔丙火(微信公众号:孔丙火)自身愚钝,总是感觉不能完全理解。

1

根据孔丙火(微信公众号:孔丙火)的理解,CAN波形中的冲击是由于电平陡然变化,在传输双绞线上电波反射造成的,回波反射的原理应该是很复杂的,查阅了相关文献,理论公式一大堆,什么基尔霍夫定律等等,总之,对于我们这些搞应用研究的人来说,一句话,看不懂,但有没有其他方法可以简单理解这种现象呢,我想是有的,下面列举几种比较通俗的解释,有的用自然现象解释,有的用人性解释,反应了CAN总线作为自然界的一部分,就会遵循自然规律,有的“道法自然”意思。

1)用光的反射来解释

孔丙火(微信公众号:孔丙火)看过周立功关于CAN总线的一本书,书中用光的反射原理解释了CAN信号的回波反射,很形象。他说,电波在双绞线中传输,跟光波在空气中传输具有相同的道理,当光从空气射向水面时,一部分被反射,另一部分折射进入水中。电信号在均匀的双绞线中传播时,是不会有反射的,但在双绞线的末端,线缆的特征阻抗突然变化,信号就会发生反射,反射信号与源信号叠加,就会形成向上的冲击。

2

2)用水流解释

这是一个前辈打的比喻,也比较形象。在河流中,如果水流比较缓慢,是看不到回波的,如果水流突然变大,就会看到有反方向的回波。在CAN总线中,低电平突然变到高电平时,就会像水流一样出现回波,从这个角度讲,总线信号电平应该缓慢变化比较好,回波反射小,但太缓慢会影响通信速率,要取个择中,这就是CAN收发器芯片的斜率控制,现在好多芯片都没有这个管脚了,应该是斜率是固定的,因此,不同的芯片在相同的测试条件下,回波反射式差别的。周立功公司有一篇文章,专门比较了几种芯片的性能,大家可以百度搜一下,题目是:主流CAN收发器性能PK,孔丙火(微信公众号:孔丙火)认为写得不错。

 

3)用人与人交流解释

有的人性子急,如果交流的时候,你的性子也急,把想要说的事,想要讲的话一股脑的全说完,可能会引起对方的激烈反应,如果你讲究方式方法,做好铺垫,慢慢谈,对方的反应就不会那么大,这也是一个前辈打的比喻,是不是跟CAN总线的信号反射有些类似啊。人性在CAN总线上的反应,孔丙火(微信公众号:孔丙火)感觉有些意思,写出来跟大家分享一下。

3

4)用能量守恒定律解释

下面是从一篇论文中摘出来的,写得也有道理,大家可以看一下,有助于理解。

4

关于CAN总线的回波反射问题,还是有很多细节问题需要研究的,尤其是对于多节点长距离的应用,留待后续一起讨论。关于你的理解,也可以留言一起探讨。

文章在公众号(孔丙火)同步推出,欢迎查看更多系列文章。

单片机、ARM、现场总线、PLC、嵌入式软硬件的设计经验分享,秉承“点点滴滴皆智慧”的理念,以实际项目为单元阐述知识点,一起分享,共同交流。


文章评论1条评论)

登录后参与讨论

curton 2021-4-18 19:35

相关推荐阅读
孔丙火 2021-07-09 21:10
Modbus的通信参数存在flash中,如果改乱了,该怎么办--FreeModbus从站设计(12)
FreeModbus从站设计(12)-Modbus的通信参数存在flash中,如果改乱了,该怎么办关键词:FreeModbus 复位默认参数 HAL库 flash STM32在上一篇文章中,介绍了如何...
孔丙火 2021-07-09 15:21
如何把Modbus的通信参数存在单片机的flash中-FreeModbus从站设计(11)
FreeModbus从站设计(11)-把Modbus的通信参数存在单片机的flash中关键词:FreeModbus CubeMX HAL库 flash 通信参数作为从站,Modbus-RTU通信的参数...
孔丙火 2021-06-19 22:31
单片机程序中,Modbus功能码的回调函数如何编写--FreeModbus从站设计(10)
FreeModbus从站设计(10)-Modbus功能码的回调函数如何编写 关键词:FreeModbus CubeMX HAL库 串口 功能码   此系列的前面几篇文章,主要是阐述...
孔丙火 2021-05-19 15:51
为什么有的PLC需要上电停止功能,能防止PLC变砖
关键词:PLC可编程控制器 上电停止 串口通信 梯形图 摘要:PLC(可编程控制器)在工业控制中使用非常广泛,型号很多,有一部分PLC有上电停止的功能,它们为什么需要这个功能呢?孔丙火(微信公众号:...
孔丙火 2021-05-06 22:57
不要小瞧TVS管哦,否则要吃大亏
摘要:TVS管是常用的保护器件,但在平时正常环境的测试中,并不能明显地感觉到它的存在,好像有没有TVS管,都一个样。TVS管表示很委屈。TVS管本身就是为了在意外情况(比如瞬间高压串扰)保护电路的...
孔丙火 2021-04-20 13:07
当RS485隔离遇见Freemodbus,你碰到问题了吗?
摘要: 基于RS485物理接口的Modbus总线在工业控制中广泛应用。Freemodbus是一个免费的实用的协议栈,孔丙火(微信公众号:孔丙火)用它实现了一个从站。串口收发信号和RS485芯片的收发使...
我要评论
1
18
关闭 站长推荐上一条 /2 下一条