CAN總線作為可靠性、穩定性最高的總線之一,在工業現場、汽車電子、軌道交通等行業都有廣泛應用。但是在實際使用CAN總線中還是會遇到一些問題,今天我們就總線分支過長、過多引起的總線問題進行深入的剖析。
CAN總線的布線受現場環境、產品形狀等因素的影響,可能導致現場布線中出現總線的分支過長/過多等現象,某系統中A、B(AB各有120電阻)一條CAN線上掛有CDEF等節點,若將C支線延長100m,則F全部關閉,系統會報錯,去掉100m延長線,F任意狀態系統都不會報錯。
當總線支線過長,上升沿和下降沿產生臺階現象,當臺階正好處于0.5V邏輯識別閾值附近時,容易導致位寬度失調,從而使接收節點接收錯誤,針對此類錯誤給出如下解決方案:

總線分支過多/過長的解決方案一
使用標準的“手牽手”的接口與布線規則,讓分支長度最小,為了保證阻抗連續,收發器應靠近接口擺放,以減少分支殘段的長度,收發器到接口距離控制在10cm以內。

總線分支過多/過長的解決方案二
根據不同波特率,制定最長分支距離的規范。
ISO11898-1/2中對高速CAN的分支長度規定值是1Mbps下最長0.3米。其他波特率的最長分支一般由應用廠商自定義。原則是:
分支長度總和+主干長度<總線傳輸極限長度(注意極限長度一般要*0.7使用);
分支總和一般不超過總長度的30%。

總線分支過多/過長的解決方案三
按照分支越長,匹配電阻越小,匹配電阻在120-680歐之間,總并聯電阻在30-60歐之間的原則,進行每個分支的匹配。比如在完全等長情況下:
R=n×60歐姆
R:每個分支的終端電阻
n:分支數量<11

總線分支過多/過長的解決方案四
采用收發器前置、TTL分支的方法,徹底解決分支問題與節點擴展問題。
