CAN 總線(Controller Area Network,控制器局域網(wǎng)絡(luò))由德國博世公司于上世紀(jì) 80 年代提出,近 20 年來,隨著 CAN 總線在工業(yè)測控與汽車領(lǐng)域的普及,CAN 網(wǎng)絡(luò)技術(shù)不斷優(yōu)化,取得了長足發(fā)展。如今 CAN 總線已經(jīng)成為了汽車上重要環(huán)節(jié),ECU 內(nèi)部的 CAN 總線開發(fā)也占到了 ECU 開發(fā)中的很大分量。在汽車中為了滿足車載系統(tǒng)的不同要求,主要采用高速 CAN 和低速 CAN。這兩者以不同的總線速率工作以獲得的性價(jià)比,在兩條總線之間采用 CAN 網(wǎng)關(guān)進(jìn)行連接。
高速 CAN(動力總線):高速 CAN 總線的傳輸速率范圍在 125kbit/s – 1Mbit/s 之間,主要用于傳動系數(shù)傳輸?shù)膶?shí)時(shí)性要求(如發(fā)動機(jī)控制、自動變速箱控制、行駛穩(wěn)定系統(tǒng)、組合儀表等)。
低速 CAN(舒適總線):低速 CAN 總線的傳輸速率范圍在 5kbit/s – 125kbit/s 之間。主要用于舒適系統(tǒng)和車身系統(tǒng)的數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性要求(如空調(diào)控制、座椅調(diào)節(jié)、車窗升降等)。
二、CAN 總線特點(diǎn)
CAN 總線是一種串行數(shù)據(jù)通訊協(xié)議,其中包含了 CAN 協(xié)議的物理層以及數(shù)據(jù)鏈路層??梢酝瓿蓪?shù)據(jù)的位填充,數(shù)據(jù)塊編碼,循環(huán)冗余效驗(yàn),幀優(yōu)先級的判別等工作。其主要特點(diǎn)如下:
Ps:在 CAN 總線的開發(fā)中,核心的關(guān)注點(diǎn)就是CAN 報(bào)文 ID 以及其數(shù)據(jù)域。根據(jù)客戶的要求,ECU 接收自己感興趣的 ID 報(bào)文的同時(shí),也向外發(fā)送別的 ECU 所需要的 ID 報(bào)文。一般不同整車廠在開發(fā)自己的 CAN 協(xié)議規(guī)范的同時(shí),也會有自己的checksum 機(jī)制,不滿足 checksum 的報(bào)文,數(shù)據(jù)將不會被 ECU 所接收。
六、仲裁機(jī)制
仲裁是總線應(yīng)用中一個(gè)相當(dāng)重要的概念,在 CAN 總線采用載波偵聽多路訪問/沖突檢測(CSMA/CD)技術(shù)。如果總線空閑(隱性位),有報(bào)文準(zhǔn)備發(fā)送,那么每一個(gè)節(jié)點(diǎn)都可以開始發(fā)送報(bào)文。報(bào)文以顯性位(報(bào)文幀開始位)開始,接著是標(biāo)識符。如果多個(gè)節(jié)點(diǎn)同時(shí)開始發(fā)送報(bào)文,那么使用“線與”仲裁機(jī)制(仲裁用邏輯“與”)來解決總線沖突,確定優(yōu)先級*高的報(bào)文,而不需要損失時(shí)間或數(shù)據(jù)(非破壞性仲裁)。仲裁機(jī)制使用標(biāo)識符為判斷依據(jù),不僅代表報(bào)文幀的內(nèi)容,還代表報(bào)文幀發(fā)送的優(yōu)先級。二進(jìn)制數(shù)越小的標(biāo)識符,優(yōu)先級越高;反之亦然。