本文帶領(lǐng)你一起解讀汽車CAN通訊總線,從CAN的原理、設(shè)計、應(yīng)用以及維修,全方面解析讀懂CAN通訊,遇到汽車通訊協(xié)議故障,無師自通!
一、“什么是CAN?”
CAN,是controller Area Network的縮寫,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。最初,CAN被設(shè)計作為汽車的微控制器通訊,在車載各電子控制裝置(比如發(fā)動機管理系統(tǒng)、變速箱控制器、儀表裝備、電子主干系統(tǒng)中,均嵌入CAN控制裝置)之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。
一個由CAN總線構(gòu)成的單一網(wǎng)絡(luò)中,理論上可以掛無數(shù)個節(jié)點。實際應(yīng)用中,節(jié)點數(shù)目受網(wǎng)絡(luò)硬件的電氣特性限制。常見的CAN線的頻率有250Kbs/500Kbs/1000Kbs,不同的頻率代表傳輸速度的快慢不一樣。
二、“CAN的工作原理?”
CAN通訊協(xié)議主要描述設(shè)備之間的信息傳遞方式。CAN層的定義與開放系統(tǒng)互連模型一致。每一層與另一設(shè)備上的相同的那一層通訊。實際的通訊發(fā)生在每一設(shè)備上相鄰的兩層,而設(shè)備只通過模型物理層的物理介質(zhì)互連。
CAN能夠使用多種物理介質(zhì),例如雙絞線、光釬等。最常用的就是雙絞線,信號使用差分電壓傳送,兩條信號線被稱為“CAN_H”和“CAN_L”,靜態(tài)時均是2.5V左右,此時狀態(tài)表示為邏輯“1”,也可以叫做“隱性”。用CAN_H比CAN_L高表示邏輯“0”,稱為“顯形”;此時,通常電壓值為:CAN_H=3.5V和CAN_L=1.5V。
三、CAN總線的通訊原理
第一種『每項信息都通過各自獨立的數(shù)據(jù)線進行交換』
目前,在車輛上應(yīng)用的信息傳遞形式有兩種。第一種是每項信息都通過各自獨立的數(shù)據(jù)線進行交換,比如兩個控制單元間有5種信息需要傳遞,那么則需要5根獨立的數(shù)據(jù)線,即信息的種類越多,數(shù)據(jù)線的數(shù)量和控制單元的針腳數(shù)也會相應(yīng)增加。這些復(fù)雜繁多的線束無疑會增加車身重量,也為整車的布線帶來一定困難。
第二種『所有信息都通過兩根數(shù)據(jù)線進行交換』
第二種方式是控制單元之間的所有信息都通過兩根數(shù)據(jù)線進行交換,這種數(shù)據(jù)線也叫CAN數(shù)據(jù)總線。通過該種方式,所有的信息,不管信息容量的大小,都可以通過這兩條數(shù)據(jù)線進行傳遞,這種方式充分的提高了整個系統(tǒng)的運行效率。我們常見的電腦鍵盤有104個按鍵,卻可以發(fā)出數(shù)百種不同的指令,但鍵盤與電腦主機之間的數(shù)據(jù)連接線只有7根,鍵盤正是依靠這7根數(shù)據(jù)連接線上不同的編碼信號來傳遞信息的。CAN數(shù)據(jù)總線的原理也正是如此。這種一線一用的專線制改為一線多用制,可以大大減少汽車上電線的數(shù)量,同時也簡化了整車的布線。
在了解到兩個控制單元是通過兩根數(shù)據(jù)線來進行信息交換的基礎(chǔ)上,就可以將其推而廣之,多個控制單元之間的通信其實就是將每個控制單元都連接到這兩條CAN總線上,從而實現(xiàn)多個控制單元間的信息共享。
整個原理很類似于一個電話會議進行的方式,一個電話用戶(控制單元)將數(shù)據(jù)“講”入網(wǎng)絡(luò)中,其他用戶通過網(wǎng)絡(luò)“接聽”這個數(shù)據(jù),對這個數(shù)據(jù)感興趣的用戶則會利用,其他用戶則會選擇忽略。
四、CAN通訊的設(shè)計
1、CAN線為什么是兩根雙絞線?
為了清楚起見,CAN導(dǎo)線分別用單顏色來表示CAN-High線總是黃色,CAN-Low線總是綠色。(具體CAN線顏色在于主車廠家設(shè)計采用,按實際為準,一般設(shè)計的很好區(qū)別車輛其他線路)
CAN數(shù)據(jù)總線的兩條導(dǎo)線分別叫CAN-High和CAN-Low線。兩條扭絞在一起的導(dǎo)線稱為雙絞線。
原則上CAN總線用一條導(dǎo)線就足以滿足功能要求了,但該總線系統(tǒng)上還是配備了第二條導(dǎo)線。在這個第二條導(dǎo)線上,信號電壓與第一條成鏡像,這樣可有效抑制外部干擾。
2、CAN總線為什么設(shè)計高低電壓?
CAN數(shù)據(jù)總線:用以傳輸數(shù)據(jù)的數(shù)據(jù)線,分為CAN高位(CAN-high)和低位(CAN-low)數(shù)據(jù)線。數(shù)據(jù)沒有指定接收器,數(shù)據(jù)通過數(shù)據(jù)總線發(fā)送給各控制單元,各控制單元接收后進行計算。
為了防止外界電磁波干擾和向外輻射,CAN總線采用兩條線纏繞在一起,兩線條上的電位是相反的,工作中CAN高電壓2.5V-3.5V,CAN低電壓1.5V-2.5V,靜態(tài)測量時,CAN高電壓2.6V左右,CAN低電壓為2.4V左右,通過這種辦法,CAN總線得到保護而免受外界電磁場干擾,同時CAN總線向外輻射了保持中性,即無輻射。
五、什么是通訊協(xié)議?
通訊協(xié)議,就是電子控制單元交換信息的時候所遵守的原則。簡單地說,網(wǎng)絡(luò)中的電子控制單元要能夠互相順利地通信,就必須講同樣的語言,協(xié)議就相當于語言。比如:J1939目前商用車常用CAN總線設(shè)計是基于J1939協(xié)議。
六、CAN通訊總線的優(yōu)點
1、傳統(tǒng)線路:
傳統(tǒng)電氣控制系統(tǒng)中電器元件比較多,多一個元件就會多一個故障點,如果需要增加或改變功能,那么就會涉及到更改線束、更改開關(guān)或者加裝繼電器等工作,更改麻煩。如果增加復(fù)雜功能:發(fā)動機故障中文顯示、巡航等則無法實現(xiàn)。
2、CAN通訊總線:
CAN總線優(yōu)點:
1>滿足更多的電腦模塊之間復(fù)雜的通訊,效率更高。很遠的數(shù)據(jù)傳輸距離(可長達10Km);高速的數(shù)據(jù)傳輸速率(高達1Mbit/s);
2>節(jié)省了新產(chǎn)品開發(fā)設(shè)計成本。CAN節(jié)點幾乎可以在不、擴充性強,產(chǎn)品升級快,改動原有線束的情況下增加新的組件;
3>總線控制系統(tǒng)替代了傳統(tǒng)的熔斷器和繼電器,減少了元器件數(shù)量,就減少了一個故障點;
4>總線控制系統(tǒng)減少了線束的長度,線束越長越容易產(chǎn)生故障。減少車身布線,進一步節(jié)省成本。由于采用總線技術(shù),模塊之間的信號傳遞僅需要兩條信號線。布線局部化,車上除掉總線外,其他所有橫貫車身的線都不再需要了,節(jié)省了布線成本。此外,數(shù)據(jù)共享也節(jié)省了線束;
5>電路保護功能:在電路出現(xiàn)短路時,CBCU會自動切斷該線路的電源輸出、保護電路,并同時將故障信息傳遞給儀表,儀表報出相關(guān)故障;
6>當電器系統(tǒng)中某一路出現(xiàn)故障時候,電控模塊會將此故障顯示儀表,方便維修。
七、CAN總線上為什么首尾安裝電阻?
在汽車CAN總線首尾的終端分別安裝設(shè)計了終端電阻!
1、如圖下圖中ECU本身沒有120Ω電阻,需在CAN網(wǎng)終首尾端分別安裝2個120Ω并聯(lián)其中:
2、有的CAN總線首尾的電腦內(nèi)部本身就設(shè)計了電阻,如下圖(以德龍?zhí)烊粴釩AN總線為例):
終端電阻的作用:數(shù)據(jù)傳輸終端是一個電阻,防止數(shù)據(jù)傳送終了反射回來,產(chǎn)生的反射波而使數(shù)據(jù)遭到破壞,影響到CAN網(wǎng)數(shù)據(jù)的傳輸。所以在CAN總線設(shè)計安裝了終端電阻。
維修溫馨提示:
1、CAN網(wǎng)絡(luò)是有兩個120歐姆的終端電阻,因此在CAN網(wǎng)絡(luò)中測量兩個CAN線電阻、正常情況下應(yīng)該是60歐姆(兩個120的電阻并聯(lián)后就成了60歐姆,極少數(shù)車型也會出現(xiàn)測量電阻為40歐姆的情況,這種情況說明有三個設(shè)備內(nèi)部有120歐姆電阻,也是能正常通訊的;這一點大家要知曉).
2、通常情況下CANH電壓在1.5-3.5V之間,CANL電壓在1.5-2.5V之間。
七、什么是CAN通訊節(jié)點?
1、CAN通訊總線實現(xiàn)ECU、CBCU、ABS、CAN儀表等CAN設(shè)備之間信息共享,比如水溫、機油壓力等,僅需ECU安裝傳感器即可, 就能把當前測得的水溫、機油壓力時時傳送給CAN儀表。CAN儀表不需要專門安裝水溫、機油壓力傳感器了。
2、只有CAN設(shè)備才能使用CAN總線,有時一輛車上有幾個CAN設(shè)備,比如ECU、CAN儀表、NOx傳感器等,每個CAN設(shè)備稱為一個節(jié)點,其中ECU就是節(jié)點A;
3、在我們維修當中常見故障“CAN節(jié)點A總線錯誤”并不一定是ECU本身故障,基本都是整車CAN網(wǎng)絡(luò)電壓異常、 其他CAN控制故障造成CAN網(wǎng)絡(luò)干擾導(dǎo)致。
八、CAN總線常見故障排查
1、常見故障:CAN高短路到電源
1>點火開關(guān)打到ON檔,即整車所有節(jié)點上電;
2>萬用表調(diào)到電壓檔量程;
3>將萬用表的正表筆連接到診斷接口引腳CAN_H,負表筆連接到地(GND),測試CAN的CAN-H電壓:若電壓值為2.6V左右,則表示正常;若電壓值大于5V,或者是電瓶電壓,則表示CAN-H與高電源短路;
2、常見故障:CAN低短路到電源
1>點火開關(guān)打到ON檔,即整車所有節(jié)點上電;
2>萬用表調(diào)到電壓檔量程;
3>將萬用表的正表筆連接到診斷接口引腳CAN_L,負表筆連接到地(GND),測試CAN的CAN-L電壓:若電壓值為2.4V左右,則表示正常;若電壓值大于5V,或者是電瓶電壓,則表示CAN-L與高電源短路;
3、常見故障:CAN高短路到地
1>將電池正極斷開,整車斷電;
2>萬用表調(diào)到電阻檔;
3>將萬用表的正表筆連接到診斷接口引腳CAN_H,負表筆連接到地(GND),測試CAN-H對地電阻,若阻值大于100KΩ則正常。若阻值過小,則CAN高線存在對地短路情況。
4、常見故障:CAN低短路到地
1>將電池正極斷開,整車斷電;
2>、萬用表調(diào)到電阻檔;
3>、將萬用表的正表筆連接到診斷接口引腳CAN_L,負表筆連接到地(GND),測試CAN-L對地電阻,若阻值大于100KΩ則正常。若阻值過小,則CAN低線存在對地短路情況。
5、常見故障:CAN高與CAN低線路存在短路
1>將電池正極斷開,整車斷電;
2>萬用表調(diào)到電阻檔;
3>將萬用表的兩個表筆連接到診斷接口引腳CAN_H和CAN_L兩端,測試CAN的CAN-H與CAN-L是否短路,整個CAN首尾安裝了120Ω電阻并聯(lián)CAN網(wǎng),正常測量CAN高與CAN低電阻值為60Ω左右,結(jié)果異常檢測CAN高與CAN低線路是否存在短路開路。
注:還有一種情況就是CAN網(wǎng)終端電阻(電腦內(nèi)部的電阻或者是外掛式電阻)本身出現(xiàn)問題,導(dǎo)致CAN高與CAN低阻值不是60Ω左右。
注:如以上測試沒有異常,但儀表還報總線通信故障那屬于特殊故障情況,根據(jù)經(jīng)驗可能以下幾種故障:
1、某一節(jié)點電源斷路,導(dǎo)致沒有報文發(fā)出;
2、某一節(jié)點不滿足250kbps通信速率;
3、某一節(jié)點自身內(nèi)部出現(xiàn)故障。