27《CAN总线隔离电路设计:从原理到实践,提升通信稳定性》
CAN总线基础与通信痛点:为什么需要隔离?去年冬天,我在一个车载BMS项目现场蹲了三天。客户反馈说,每隔十几分钟,整条CAN总线就会“死”一次——所有节点都收不到数据,但示波器看波形又正常。我带着万用表和逻辑分析仪过去,发现是电机控制器那边的高压IGBT开关动作时,地线上瞬间窜出了近20V的共模电压。CAN收发器的共模输入范围只有-2V到+7V,直接被打穿。换了两片TJA1050,烧了两片。最后老老实实上了隔离,问题才消停。这个场景,做嵌入式通信的兄弟应该不陌生。CAN总线号称“差分信号、抗干扰强”,但现实中的工业现场、车载环境,从来不是教科书里那个干净的实验室。今天这篇笔记,咱们就从最底层的物理层开始,把CAN总线的通信痛点掰开揉碎,看看隔离到底在解决什么问题。一、CAN总线的物理层,远比你想象的脆弱很多人以为CAN是差分信号,两根线(CAN_H和CAN_L)互为参考,共模干扰就能被抵消。这话对了一半。差分接收器的确能抑制共模噪声,但前提是——共模电压不能超出收发器的承受范围。翻一下常用收发器的数据手册:TJA1050的共模输入范围是-2V到+7V,ISO1050(隔离型)是-12V到+12V。看起来后者更宽,但实际现场中,电机启动瞬间地电位抬升几十伏是常事。更麻烦的是,地环路带来的低频共模电压,会让收发器内部的差分放大器饱和,信号直接“淹没”在噪声里。这里踩过坑:有一次在变频器旁边调试,CAN总线波特率500kbps,示波器看差分信号幅值正常,但通信就是丢包。后来发现是共模电压缓慢漂移到了8V左右,收发器已经工作在非线性区了。差分信号虽然还在,