` CAN总线网络在实际应用时偶尔会有临时测试的需要,这时有的工程师就会直接将测试节点接上一条很长的支线接入总线中,由此可能会带来其他节点失效或系统报错等问题。经验丰富的工程师会直接看出其中的原因:总线支线太长。 如果在CAN网络中随意拉过长的分支,会对信号的波形造成影响,在信号的上升沿与下降沿部分出现大量的“台阶型”干扰,“台阶”会对为宽度识别造成影响,导致接收节点采样出错,也称作位宽错误。 针对总线分支过长带来的问题下面提供几种解决方案: 1、 使用标准的“手拉手”线形拓扑 线性拓扑是IOS-11898-2中高速CAN物理层规范推荐的拓扑方式。使用如下图的“手拉手”的布线规则,让分支长度最小,为保证阻抗连续,收发器应靠近接口摆放,以减少分支残段的长度,收发器到接口的距离控制在10cm以内。
2、根据总线使用的波特率,限制最长分支长度 在CAN网络布局的根源上解决问题的方式就是减少CAN节点的分支长度,从而降低信号反射,保证位宽的稳定性。所以保持其他条件不变,分支线长度的选择参照下表中的规则,即可保证总线的正常 通信。 波特率 / kbps | 最大总线长度 / m | 最大分支线长度 / m | 1000 | 40 | 0.3 | 500 | 100 | 0.75 | 250 | 250 | 1.5 | 125 | 500 | 3.75 |
3、在长节点处增加电阻 有一个实用的方法就是在长分支末端加上电阻,消除信号反射。所以在其他条件不变的情况下,在分支节点处加上一个200Ω的电阻,也可以改善信号质量。但是加了电阻之后差分电压变小,注意差分电压不得小于0.9V。 总线总负载电阻 | CAN差分信号幅值 | 120Ω | 2.5V左右 | 60Ω | 2V左右 | 40Ω | 1.5-1.7V左右 | 20Ω | 1.1-1.3V左右 | 10Ω | 0.9-1.1V左右 |
4、采用收发器前置方案 这个方法的实现难度就加大了很多,要将CAN节点的收发器与控制器独立出来,将节点的收发器靠近并接入总线,这样只要保证收发器到总线的分支长度尽可能短就可以避免支线过长带来的问题。
5、使用网桥,中继器等组网设备 最简单的解决方法就是在过长的支线上靠近总线端增加CAN中继器,来改善支线过长的问题。典型的CAN中继器如Ixxat的CANbridge NT,通过CANbridge NT也可以连接波特率不同的两个CAN网络甚至连接传统CAN与CAN FD网络。 为了保证CAN网络的健康,请大家一定要规范使用。更多的方法可以参考“麦克泰技术”往期推送的技术文章。
`
|