CAN总线是由德国以研发和生产汽车电子产品著称的BOSCH公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。CAN总线是一种多主控(Multi-Master)的总线系统。传统总线系统如USB或以太网等是在总线控制器的协调下,实现从A节点到B节点大量数据的传输。CAN网络的消息是广播式的,即在同一时刻网络上所有节点侦测的数据是一致的,它是一种基于消息广播模式的串行通信总线。
CAN总线有4种常见的拓扑类型,分别是:直线型拓扑、星型拓扑、树状拓扑和环形拓扑,由于CAN总线的分布线受环境和产品等因素影响,导致在现场布线中出现总线的分支过长/过多等现象。当系统总线过长时,会导致阻抗的的突变,或者阻抗不连续等现象,就会有上升沿和下降沿台阶现象产生,很容易在逻辑识别的时候产生错误的识别。从而导致位宽失调,节点接收错误信息。
在IOS11898-2中有明确规定,在1M波特率的条件下,对CAN分支长度规定1Mbps下最长为0.3米。所以我们应该根据不同波特率来制定最长分支距离的规范。原则上来说:分支长度总和+主干长度≤总线传输极限长度(极限长度*0.7)来使用,分支总和一般不超过总长度的百分之三十。
(1)减小分支长度
从根源上来解决CAN总线太长的问题,就是减少CAN节点的分支长度,从而降低信号反射,保证位宽的稳定性。可以使用标准的“手牵手”的接口布线标准方式,让分支的长度最小,以达到减小分支长度问题来解决。
(2)长分支上加适当的电阻
当我们在网络布局无法更改时,分支过长,过多引起的信号反射是必然存在的。最简单实用的方法就是在长分支末端串上电阻,用来消除信号反射。但是加了电阻之后差分电压会减小,注意我们这里差分电压不得小于0.9V。
(3)增加CAN中继或集线器
在很多场合中,当我们已经不能更改分支长度和在分支中串联电阻的时候,我们可以采用CAN Bridge中继或者CAN Hub集线器。CAN Hub集线器等组网设备进行分支。这些设备每路都具备独立的CAN控制器,所以可以将每段形成独立的直线拓扑,方便施工。