CAN 是Controller Area Network 的縮寫(以下稱為CAN),是ISO標準化的串行通信協(xié)議。在汽車產(chǎn)業(yè)中,出于對安全性、舒適性、方便性、低功耗、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。為適應(yīng)'減少線束的數(shù)量'、'通過多個LAN,進行大量數(shù)據(jù)的高速通信'的需要,1986 年德國電氣商博世公司開發(fā)出面向汽車的CAN 通信協(xié)議。此后,CAN 通過ISO11898 及ISO11519 進行了標準化,在歐洲已是汽車網(wǎng)絡(luò)的標準協(xié)議。
CAN 的強性能和可靠性已被認同,并被廣泛地應(yīng)用于工業(yè)自動化、船舶、工業(yè)設(shè)備等方面。現(xiàn)場總線是當今自動化領(lǐng)域技術(shù)發(fā)展的熱點之一,被譽為自動化領(lǐng)域的計算機局域網(wǎng)。它的出現(xiàn)為分布式控制系統(tǒng)實現(xiàn)各節(jié)點之間實時、可靠的數(shù)據(jù)通信提供了強有力的技術(shù)支持。
CAN總線以報文為單位進行數(shù)據(jù)傳送,報文的優(yōu)先級結(jié)合在11位標識符中,具有較低二進制數(shù)的標識符有較高的優(yōu)先級。這種優(yōu)先級一旦在系統(tǒng)設(shè)計時被確立后就不能再被更改。總線讀取中的沖突可通過位仲裁解決。例如標識符0111111、0100100、0100111發(fā)生位仲裁時,0100100報文將會被跟蹤,而其余報文會被丟棄。具體過程為:當幾個站同時發(fā)送報文時,站1的報文標識符為0111111,站2的報文標識符為0100100,站3的報文標識符為0100111,所有標識符都有相同的兩位01,直到第3位進行比較時,站1的報文被丟棄,因為它的第3位為高,而其它兩個站的報文第3位為低。站2和站3報文的3、4、5位相同,直到第7位時,站3的報文才被丟棄。注意,總線中的信號持續(xù)跟蹤后獲得總線讀取權(quán)的站的報文。在此例中,站2的報文被跟蹤。這種非破壞性位仲裁方法的優(yōu)點在于,在網(wǎng)絡(luò)終確定哪一個站的報文被傳送以前,報文的起始部分已經(jīng)在網(wǎng)絡(luò)上傳送了。所有未獲得總線讀取權(quán)的站都成為具有較高優(yōu)先權(quán)報文的接收站,并且不會在總線再次空閑前發(fā)送報文。
遠程幀
遠程幀由6個場組成:幀起始、仲裁場、控制場、CRC場、應(yīng)答場和幀結(jié)束。遠程幀不存在數(shù)據(jù)場。
遠程幀的RTR位必須是隱位。
DLC的數(shù)據(jù)值是獨立的,它可以是0~8中的任何數(shù)值,為對應(yīng)數(shù)據(jù)幀的數(shù)據(jù)長度。
錯誤幀
錯誤幀由兩個不同場組成,一個場由來自各站的錯誤標志疊加得到,第二個場是錯誤界定符
錯誤標志具有兩種形式:
活動錯誤標志(Active error flag),由6個連續(xù)的顯位組成
認可錯誤標志(Passive error flag),由6個連續(xù)的隱位組成
錯誤界定符包括8個隱位
超載幀
超載幀包括兩個位場:超載標志和超載界定符
發(fā)送超載幀的超載條件:
要求延遲下一個數(shù)據(jù)幀或遠程幀
在間歇場檢測到顯位
超載標志由6個顯位組成
超載界定符由8個隱位組成
數(shù)據(jù)錯誤檢測
不同于其它總線,CAN協(xié)議不能使用應(yīng)答信息。事實上,它可以將發(fā)生的任何錯誤用信號發(fā)出。CAN協(xié)議可使用五種檢查錯誤的方法,其中前面三種為基于報文內(nèi)容檢查。
使用屏蔽線后,在屏蔽層沒有良好接大地前,屏蔽線是不起作用的。所以我們要選擇一種接地方式。這里有三種外殼接地法:屏蔽層單點接地,可以避免地回流(不同位置的地電位不同而導(dǎo)致的產(chǎn)生電流),如圖10所示。節(jié)點信號地阻容接自身外殼,如圖11所示。屏蔽層分段屏蔽法,多點接地可以加快高頻干擾信號的泄放,屏蔽層單點接地可以避免地回流,所以要根據(jù)實際情況選擇合適的接地方式。