的策略,同时从发送、接收节点等方面,讲解保障节点数量及通信可靠性的方法。
增加节点就会带来寄生电容的增加,节点增加到少数,波形严重失真,导致数据接收错误。硬件设计CAN电路时,需要总线抗受电磁兼容同时需要寄生电容小,直接给总线并联TVS瞬态抑制二极管,这些就可以?答案肯定是不行的,因为TVS瞬态抑制二极管的结电容高达1000pF以上,可完全使波形变形。既要使用TVS瞬态抑制二极管,又不能使结电容很大,如何来解决?我们大家都知道电阻并联阻值减少,电容并联容值增大。那么根据电容串联容值减少这一思路进行硬件设计,参考设计如图1所示。
如图1所示的CAN电路设计,二极管和TVS瞬态抑制二极管都是串联的关系,利用的是二极管单向导电性和小结电容特性。如果觉得分立元器件太多,可以借鉴如图2所示的电路设计,同等效果。
在CAN-bus电路设计中,理论上收发器支持节点数最多可做到110个,但实际应用中往往达不到这个数量。今天我们就来谈谈如何通过合理的CAN-bus总线设计,保证CAN网络中的通讯的可靠性和节点数量。
影响总线节点数的因素有多种,我们从满足接收节点的差分电压幅值方面来讨论,只有满足了这个前提,我们才可以考虑总线的其他因素如寄生电容、寄生电感对信号的影响。
CAN接口负载即为CANH、CANL之间的有效电阻值大小,该电阻会影响发送节点输出的差分电压的幅值,组网后网络中各个节点的负载电阻RL接近,如图3所示结果是我们测试了CTM1051M小体积CAN隔离模块在不同负载下的输出差分电压幅值。
在负载电阻由45Ω不断增大到66Ω时,节点的输出差分电压也随着由1.84V增大到2.16V,两者近似线性关系。为了使发送节点的输出差分电压不至于过低,实际组网时负载电阻应在图3的范围内波动。我们分析RL的组成有3个:终端电阻、总线节点的差分输入电阻、总线本身的有效电阻。
终端电阻:总线两端均要增加终端电阻,当总线距离长时,总线有效电阻大,损耗大,可以适当增加终端电阻值以减小总线Ω。
差分输入电阻:ISO 11898中规定的收发器差分输入电阻范围为10kΩ~100kΩ之间,CTM1051M系列收发器的差分输入电阻为19kΩ~52kΩ,其典型值为30 kΩ,如果我们以最多节点组网,按典型值考虑,则整个总线Ω,与终端电阻并联时会明显地增加节点的负载。
总线有效电阻:使用较小截面积的双绞线,其有效电阻达到几十欧姆,长距离通信,总线对差分信号的影响会很大,如常用的RVS非屏蔽双绞线Ω/km不等。严重时会使接收点的电平达不到识别范围。
差分电压除负载电阻的影响外,还会受到供电电压的影响,图4是我们测试了CTM1051M模块在不同电压,不同负载下的差分电压幅值得到的曲线。能够正常的看到电源电压升高0.5V,差分电压幅值会升高约0.3V。
接收节点有一定的电平识别范围,CTM1051M的CAN接口典型参数如图5所示。
图5 CAN接口典型参数节点输入显性电平应大于0.9V。ISO 11898中,总线上的任意点的最小电平应大于1.2V,组网时我们应使差分电压大于此值。
目前收发器的最大组网节点数为110个,组网时我们考虑以上的电阻参数,确保总线上的差分电压在合理的范围内即可。图6所示为CTM1051M推荐的组网拓扑,我们要考虑总线电阻,终端电阻,发送点,接收点电压参数。
根据等效电路,我们大家可以调整的参数有终端电阻RT、发送节点电压VOUT、总线中,各节点的RW、RIN难以准确确定,组网时以公式计算较为繁琐,简便的方法便是测量总线两端的节点电压。如网络的总线到节点n总线对信号的损耗会很大,当节点n接收的差分电压低于1.2V时,需要增大终端电阻。在使用浪涌抑制器的场合,比如在图7的节点1和节点2之间增加SP00S12信号浪涌抑制器,其直流等效电阻为9.5Ω,可以将其等效为总线收到的电压过低时可通过减小总线处的终端电阻来弥补浪涌抑制器带来的损耗。
接口负载? /
最多为110个,但实际使用时需要合理的布局组网,选用合适的收发器、线缆、匹配好终端等才可能正真的保证网络中的各个
最多为110个,但实际使用时需要合理的布局组网, 选用合适的收发器、线缆、匹配好终端等才可能正真的保证网络中的各个
几个方法 /
的差分电压幅值方面来讨论,只有满足了这个前提,我们才可以考虑总线的其他因素如
电感 /
的差分电压幅值方面来讨论,只有满足了这个前提,我们才可以考虑总线的其他因素如
篇 /
及更先进阶段。在这样的一个过程中,中道(MEOL)金属互联面临着诸多新的挑战,如
基于SharedPreferences的OkHttp3的持久CookieJar实现
AI-Intelligent-Recognition AI智能识物小程序
EE-236:将混合信号前端器件与Blackfin处理器结合使用的实时解决方案
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核启动流程