CAN-bus应用笔记:节点篇
在CAN-bus电路设计中,理论上收发器支持节点数最多可做到110个,但实际应用中往往达不到这个数量。今天我们就来谈谈如何通过合理的CAN-bus总线设计,保证CAN网络中的通讯的可靠性和节点数量。
影响CAN总线节点数的因素
影响总线节点数的因素有多种,本文我们从满足接收节点的差分电压幅值方面来讨论,只有满足了这个前提条件,我们才能考虑总线的其他因素如寄生电容、寄生电感对信号的影响。
1、发送节点的CAN接口负载
为何考虑CAN接口负载?
CAN接口负载即为CANH、CANL之间的有效电阻值大小,该电阻会影响发送节点输出的差分电压的幅值,组网后网络中各个节点的负载电阻RL接近,如图1我们测试了CTM1051M小体积CAN隔离模块在不同负载下的输出差分电压幅值。
图1 不同负载下的差分电压在负载电阻由45Ω不断增大到66Ω时,节点的输出差分电压也随着由1.84V增大到2.16V,两者近似线性关系。为了使发送节点的输出差分电压不至于过低,实际组网时负载电阻应在图1测试的范围内波动。我们分析RL的组成有3个:终端电阻、总线节点的差分输入电阻、总线本身的有效电阻。
终端电阻:总线两端均需要增加终端电阻,当总线距离长时,总线有效电阻大,损耗大,可以适当增加终端电阻值以减小总线有效电阻的损耗,如150Ω~300Ω。
差分输入电阻:ISO 11898中规定的收发器差分输入电阻范围为10kΩ~100kΩ之间,CTM1051M系列收发器的差分输入电阻为19kΩ~52kΩ,其典型值为30 kΩ,如果我们以最多节点组网,按典型值考虑,则整个总线的差分输入电阻会达到30 kΩ/110=273Ω,与终端电阻并联时会显著增加节点的负载。
总线有效电阻:使用较小截面积的双绞线,其有效电阻达到几十欧姆,长距离通信,总线对差分信号的影响会很大,如常用的RVS非屏蔽双绞线的电阻从8.0Ω/km到39.0Ω/km不等。严重时会使接收点的电平达不到识别范围。
差分电压除负载电阻的影响外,还会受到供电电压的影响,如图2我们测试了CTM1051M模块在不同电压,不同负载下的差分电压幅值,可以看到电源电压升高0.5V,差分电压幅值会升高约0.3V。
图2 不同供电电压下的差分电压2、接收节点的识别电平
接收节点有一定的电平识别范围,CTM1051M的CAN接口典型参数如表1所示。节点输入显性电平应大于0.9V。ISO 11898中,总线上的任意点的最小电平应大于1.2V,组网时我们应使差分电压大于此值。
表1 CAN接口典型参数实际组网分析
目前收发器的最大组网节点数为110个,组网时我们考虑以上的电阻参数,确保总线上的差分电压在合理的范围内即可。
图3为CTM1051M推荐的组网拓扑,我们要考虑总线电阻,终端电阻,发送点,接收点电压参数。画出其等效电路如图4所示。
图3 CTM1051M推荐组网 图4 CTM1051M组网等效电路根据等效电路,我们可以调整的参数有终端电阻RT、发送节点电压VOUT、总线有效电阻RW。
图4中,各节点的RW、RIN难以准确确定,组网时以公式计算较为繁琐,简便的方法便是测量总线两端的节点电压。如网络的总线电阻过大时,节点1到节点n总线对信号的损耗会很大,当节点n接收的差分电压低于1.2V时,需要增大终端电阻。
在使用浪涌抑制器的场合,比如在图4的节点1和节点2之间增加SP00S12信号浪涌抑制器,其直流等效电阻为9.5Ω,可以将其等效为总线的有效电阻,当节点1收到的电压过低时可通过减小总线有效电阻,提高节点1处的终端电阻来弥补浪涌抑制器带来的损耗。
总结
- 无论总线网络长短,网络两端都需要加终端电阻;
- 通讯距离长时,适当增加终端电阻值,减少总线电阻对信号的衰减,如150Ω~300Ω;
- 有强烈干扰的场合使用屏蔽双绞线,屏蔽层单点接大地;
- 收发器CAN接口输出的差分电平会随着供电电压的变化而变化,应确保供电电压在手册规定范围内。