CAN總線網(wǎng)絡(luò)在應(yīng)用時(shí),工程師常常會(huì)建議總線支線不要太長(zhǎng),,那么為什么CAN總線支線不能太長(zhǎng),,如果某些環(huán)境下必須使用長(zhǎng)支線又該怎么辦呢?
一,、CAN網(wǎng)絡(luò)的拓?fù)浞N類(lèi)
控制器局域網(wǎng)CAN(Controller Area Network),,是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一,最初是由德國(guó)Bosch公司設(shè)計(jì)的,,為解決現(xiàn)代汽車(chē)中眾多控制單元,、測(cè)試儀器之間的實(shí)時(shí)數(shù)據(jù)交換而開(kāi)發(fā)一種串行通信協(xié)議。CAN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)主要有線形拓?fù)?、星形拓?fù)?、?shù)形拓?fù)浜铜h(huán)形拓?fù)涞取?/p>
線形結(jié)構(gòu)如下圖所示,其特點(diǎn)是一條主干總線,,在總線上分出支線到各個(gè)節(jié)點(diǎn),,其優(yōu)點(diǎn)在于布線施工簡(jiǎn)單,阻抗匹配規(guī)則固定,,接線比較方便,,缺點(diǎn)是拓?fù)洳粔蜢`活,在一定程度上影響通訊距離,;
星形拓?fù)淙缦聢D所示,,其特點(diǎn)是每個(gè)節(jié)點(diǎn)通過(guò)中央設(shè)備連到一起,優(yōu)點(diǎn)是容易擴(kuò)展,,缺點(diǎn)是一旦中央設(shè)備出故障會(huì)導(dǎo)致總線集體故障,,而且分支線長(zhǎng)不同,阻抗匹配復(fù)雜,,可能需要通過(guò)一些中繼器或集線器進(jìn)行擴(kuò)展,;
樹(shù)形拓?fù)淙缦聢D所示,其特點(diǎn)是分支比較多,,且分支長(zhǎng)度不同,,優(yōu)點(diǎn)是布線方便,缺點(diǎn)是網(wǎng)絡(luò)拓?fù)鋸?fù)雜,阻抗匹配困難,,通訊中極易出現(xiàn)問(wèn)題,,必須加一些集線器設(shè)備;
環(huán)形拓?fù)淙缦聢D所示,,其特點(diǎn)是將CAN總線頭尾相連,,形成環(huán)狀,優(yōu)勢(shì)是線纜任意位置斷開(kāi),,總線都不會(huì)出現(xiàn)問(wèn)題,,缺點(diǎn)是信號(hào)發(fā)射嚴(yán)重,無(wú)法用于高波特率和遠(yuǎn)距離傳輸,。
雖然CAN總線可以有多種網(wǎng)絡(luò)拓?fù)?,但在?shí)際應(yīng)用當(dāng)中比較推薦使用線形拓?fù)洌以贗OS-11898-2中有高速CAN物理層規(guī)范,,其中推薦的CAN網(wǎng)絡(luò)拓?fù)湟彩蔷€形拓?fù)?,下面就針?duì)線形拓?fù)渚W(wǎng)絡(luò)CAN支線過(guò)長(zhǎng)問(wèn)題進(jìn)行分析。
二,、支線過(guò)長(zhǎng)帶來(lái)的問(wèn)題
在講CAN支線之前,,我們來(lái)看一個(gè)CAN的波形圖,如下圖所示,,大家仔細(xì)查看CAN波形圖,,會(huì)發(fā)現(xiàn)CAN波形上存在明顯的上升沿和下降沿臺(tái)階現(xiàn)象,因?yàn)榕_(tái)階的存在,,從而引起波特率變化,導(dǎo)致接收節(jié)點(diǎn)采樣出錯(cuò)(也稱(chēng)位寬錯(cuò)誤),。
邊沿臺(tái)階出現(xiàn)的源頭主要是CAN節(jié)點(diǎn)的分支,,分支過(guò)長(zhǎng)形成的反射就變強(qiáng),將會(huì)導(dǎo)致位寬度失調(diào)的錯(cuò)誤,。ISO11898中只規(guī)定1M波特率下分支不超過(guò)0.3米,,支線過(guò)長(zhǎng)會(huì)直接導(dǎo)致總線阻抗匹配問(wèn)題發(fā)生,阻抗匹配是指信號(hào)源或者傳輸線跟負(fù)載之間達(dá)到一種適合的搭配,,阻抗匹配主要為了調(diào)整負(fù)載功率和抑制信號(hào)反射,,所以一旦阻抗匹配出現(xiàn)問(wèn)題,就出現(xiàn)了上圖中的上升沿和下降沿的臺(tái)階,。
三,、解決支線過(guò)長(zhǎng)的辦法
如果我們的總線存在支線過(guò)長(zhǎng)的問(wèn)題,那么該怎么辦呢,?我們下面提供幾種解決方案:
減小分支長(zhǎng)度
在CAN網(wǎng)絡(luò)布局的根源上解決問(wèn)題的方式就是減少CAN節(jié)點(diǎn)的分支長(zhǎng)度,,從而降低信號(hào)反射,保證位寬的穩(wěn)定性,。如上圖波形實(shí)驗(yàn)中,,其它條件不變,,只將分支長(zhǎng)度減少為20cm,此時(shí)并沒(méi)有看到邊沿臺(tái)階的出現(xiàn),。由此可見(jiàn),,減少分支長(zhǎng)度是消除邊沿臺(tái)階的最直接方式。
長(zhǎng)分支上加適當(dāng)電阻
在網(wǎng)絡(luò)布局無(wú)法改變,,分支引起的信號(hào)反射必須存在的情況下,。最實(shí)用的方法就是在長(zhǎng)分支末端加上電阻,消除信號(hào)反射,。同樣的在上述實(shí)驗(yàn)中,,在分支節(jié)點(diǎn)處加上一個(gè)200Ω的電阻,其它條件不變進(jìn)行通信實(shí)驗(yàn),。下圖為實(shí)驗(yàn)的CAN波形圖,,此時(shí)可以看到邊沿臺(tái)階已被消減,但是加了電阻之后差分電壓變小,,注意差分電壓不得小于0.9V,。這里值得一提的是:阻值大于500Ω的電阻吸收反射的能力很弱,所以在末端掛電阻的時(shí)候應(yīng)小于500Ω,。
增加CAN中繼器或集線器
當(dāng)然很多場(chǎng)合是在出現(xiàn)了問(wèn)題之后才發(fā)現(xiàn)支線過(guò)長(zhǎng),,當(dāng)重新布線或更改節(jié)點(diǎn)本身都無(wú)法操作的情況下,我們也有解決方案,,那就是在過(guò)長(zhǎng)的支線上增加CAN中繼器,,典型的如致遠(yuǎn)電子CANBridge,甚至可以支持不同波特率的CAN網(wǎng)絡(luò)的連接,。