在一个CAN网络中,总线所能支持的最大节点数是衡量CAN收发器性能的一个重要参数。影响CAN总线节点数量的因素主要包括CAN收发器的物理层和协议层两个方面。
1
物理层
在物理层方面,总线节点的输出差分电压大小决定了CAN总线电平是否能被正常识别,通讯能否正常进行。这个因素主要受总线负载电阻RL的影响,而RL又取决于总线终端匹配电阻以及各节点的总线差分输入电阻Rdif。
我们可以通过以下方法从物理层角度估算一个CAN网络的最大节点数。
如下图所示,展示了挂载n个CAN节点的总线网络拓扑结构。其中,RT表示终端匹配电阻,Rdif为CAN收发器的总线差分输入电阻。
通过电路等效的方法,我们可以得到简化的拓扑图,以便于分析和理解整个网络的结构。
如下图所示,Node1 作为信号发送,Noden 作为信号接收。
从 Node1 端看进去的线路等效电阻为:
将公式化简可得:
在CAN总线网络中,终端匹配电阻RT取值为120Ω,差分输入电阻Rdif取值为20kΩ。RL可支持的负载电阻范围为45Ω至7000Ω。当RL为45Ω时,n取最大值为112。因此,在此参数条件下的CAN总线网络中,最多可支持挂载112个CAN节点。
2
协议层
在协议层方面,随着总线节点数量的增加和总线长度的延长,线路寄生效应逐渐显著。对于本地节点进行信号自发自收的场景,较大的线路寄生可能导致返回的信号衰减严重,从而引发CAN控制器采样错误,进而导致通讯异常。另一方面,在相距较远的两个节点间进行通信时,中间节点数量的增多和线路长度的延长会导致信号传播延时增加。接收端在接收到发送端的CAN信号后需要进行帧内应答(ACK)。若传播延时过长,可能导致应答不及时,进而造成通讯失败。
因此,在计算CAN总线的最大挂载节点数时,必须充分考虑线路寄生和传播延时的影响。具体要求如下:由线路寄生引起的信号衰减不应导致CAN控制器采样出现偏差,以避免通讯异常;同时,信号在传输路径上的传播延时必须小于位时间的1/2,以确保接收节点能够及时应答,从而避免通讯失败。
参考资料:纳芯微CAN收发器节点计算与外围电路参考设计