【導(dǎo)讀】CAN總線網(wǎng)絡(luò)在應(yīng)用時(shí),工程師常常會(huì)建議總線支線不要太長(zhǎng),那么為什么CAN總線支線不能太長(zhǎng),如果某些環(huán)境下必須使用長(zhǎng)支線又該怎么辦呢?
CAN網(wǎng)絡(luò)的拓?fù)浞N類
控制器局域網(wǎng)CAN(Controller Area Network),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一,最初是由德國(guó)Bosch公司設(shè)計(jì)的,為解決現(xiàn)代汽車中眾多控制單元、測(cè)試儀器之間的實(shí)時(shí)數(shù)據(jù)交換而開發(fā)一種串行通信協(xié)議。CAN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)主要有線形拓?fù)洹⑿切瓮負(fù)洹湫瓮負(fù)浜铜h(huán)形拓?fù)涞取?/div>
線形結(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)通過中央設(shè)備連到一起,優(yōu)點(diǎn)是容易擴(kuò)展,缺點(diǎn)是一旦中央設(shè)備出故障會(huì)導(dǎo)致總線集體故障,而且分支線長(zhǎng)不同,阻抗匹配復(fù)雜,可能需要通過一些中繼器或集線器進(jìn)行擴(kuò)展;
樹形拓?fù)淙缦聢D所示,其特點(diǎn)是分支比較多,且分支長(zhǎng)度不同,優(yōu)點(diǎn)是布線方便,缺點(diǎn)是網(wǎng)絡(luò)拓?fù)鋸?fù)雜,阻抗匹配困難,通訊中極易出現(xiàn)問題,必須加一些集線器設(shè)備;
環(huán)形拓?fù)淙缦聢D所示,其特點(diǎn)是將CAN總線頭尾相連,形成環(huán)狀,優(yōu)勢(shì)是線纜任意位置斷開,總線都不會(huì)出現(xiàn)問題,缺點(diǎn)是信號(hào)反射嚴(yán)重,無(wú)法用于高波特率和遠(yuǎn)距離傳輸。
雖然CAN總線可以有多種網(wǎng)絡(luò)拓?fù)?,但在?shí)際應(yīng)用當(dāng)中比較推薦使用線形拓?fù)?,且在IOS-11898-2中有高速CAN物理層規(guī)范,其中推薦的CAN網(wǎng)絡(luò)拓?fù)湟彩蔷€形拓?fù)洌旅婢歪槍?duì)線形拓?fù)渚W(wǎng)絡(luò)CAN支線過長(zhǎng)問題進(jìn)行分析。
支線過長(zhǎng)帶來(lái)的問題
在講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ò)(也稱位寬錯(cuò)誤)。
邊沿臺(tái)階出現(xiàn)的源頭主要是CAN節(jié)點(diǎn)的分支,分支過長(zhǎng)形成的反射就變強(qiáng),將會(huì)導(dǎo)致位寬度失調(diào)的錯(cuò)誤。ISO11898中只規(guī)定1M波特率下分支不超過0.3米,支線過長(zhǎng)會(huì)直接導(dǎo)致總線阻抗匹配問題發(fā)生,阻抗匹配是指信號(hào)源或者傳輸線跟負(fù)載之間達(dá)到一種適合的搭配,阻抗匹配主要為了調(diào)整負(fù)載功率和抑制信號(hào)反射,所以一旦阻抗匹配出現(xiàn)問題,就出現(xiàn)了上圖中的上升沿和下降沿的臺(tái)階。
解決支線過長(zhǎng)的辦法
如果我們的總線存在支線過長(zhǎng)的問題,那么該怎么辦呢?我們下面提供幾種解決方案:
1、減小分支長(zhǎng)度
在CAN網(wǎng)絡(luò)布局的根源上解決問題的方式就是減少CAN節(jié)點(diǎn)的分支長(zhǎng)度,從而降低信號(hào)反射,保證位寬的穩(wěn)定性。如上圖波形實(shí)驗(yàn)中,其它條件不變,只將分支長(zhǎng)度減少為20cm,此時(shí)并沒有看到邊沿臺(tái)階的出現(xiàn)。由此可見,減少分支長(zhǎng)度是消除邊沿臺(tái)階的最直接方式。
2、長(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Ω。
3、增加CAN中繼器或集線器
當(dāng)然很多場(chǎng)合是在出現(xiàn)了問題之后才發(fā)現(xiàn)支線過長(zhǎng),當(dāng)重新布線或更改節(jié)點(diǎn)本身都無(wú)法操作的情況下,我們也有解決方案,那就是在過長(zhǎng)的支線上增加CAN中繼器,典型的如致遠(yuǎn)電子CANBridge,甚至可以支持不同波特率的CAN網(wǎng)絡(luò)的連接。
所以無(wú)論是標(biāo)準(zhǔn)規(guī)定,還是現(xiàn)場(chǎng)實(shí)際應(yīng)用,都告訴我們要保證CAN總線網(wǎng)絡(luò)良好運(yùn)行,其支線長(zhǎng)度不能過長(zhǎng),為了CAN保證CAN網(wǎng)絡(luò)的健康,請(qǐng)大家一定要規(guī)范使用。
推薦閱讀: