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