本文帶領(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ù)線進(jìn)行交換』
目前,在車輛上應(yīng)用的信息傳遞形式有兩種。第一種是每項信息都通過各自獨立的數(shù)據(jù)線進(jìn)行交換,比如兩個控制單元間有5種信息需要傳遞,那么則需要5根獨立的數(shù)據(jù)線,即信息的種類越多,數(shù)據(jù)線的數(shù)量和控制單元的針腳數(shù)也會相應(yīng)增加。這些復(fù)雜繁多的線束無疑會增加車身重量,也為整車的布線帶來一定困難。
第二種『所有信息都通過兩根數(shù)據(jù)線進(jìn)行交換』
第二種方式是控制單元之間的所有信息都通過兩根數(shù)據(jù)線進(jìn)行交換,這種數(shù)據(jù)線也叫CAN數(shù)據(jù)總線。通過該種方式,所有的信息,不管信息容量的大小,都可以通過這兩條數(shù)據(jù)線進(jìn)行傳遞,這種方式充分的提高了整個系統(tǒng)的運行效率。我們常見的電腦鍵盤有104個按鍵,卻可以發(fā)出數(shù)百種不同的指令,但鍵盤與電腦主機之間的數(shù)據(jù)連接線只有7根,鍵盤正是依靠這7根數(shù)據(jù)連接線上不同的編碼信號來傳遞信息的。CAN數(shù)據(jù)總線的原理也正是如此。這種一線一用的專線制改為一線多用制,可以大大減少汽車上電線的數(shù)量,同時也簡化了整車的布線。
在了解到兩個控制單元是通過兩根數(shù)據(jù)線來進(jìn)行信息交換的基礎(chǔ)上,就可以將其推而廣之,多個控制單元之間的通信其實就是將每個控制單元都連接到這兩條CAN總線上,從而實現(xiàn)多個控制單元間的信息共享。
整個原理很類似于一個電話會議進(jìn)行的方式,一個電話用戶(控制單元)將數(shù)據(jù)“講”入網(wǎng)絡(luò)中,其他用戶通過網(wǎng)絡(luò)“接聽”這個數(shù)據(jù),對這個數(shù)據(jù)感興趣的用戶則會利用,其他用戶則會選擇忽略。
四、CAN通訊的設(shè)計