汽車電子控制系統(tǒng)上的CAN總線通訊介紹
汽車控制功能的網(wǎng)絡(luò)化、智能化已經(jīng)成為現(xiàn)代汽車工業(yè)發(fā)展的必然趨勢,由于 CAN 總線通訊協(xié)議廢除了傳統(tǒng)的站地址編碼,使得 CAN 網(wǎng)絡(luò)內(nèi)的節(jié)點數(shù)量將不受限制,且實時性好,通訊速率高,因此被廣泛用于汽車電子控制系統(tǒng)上。
一、引言
(一)CAN 通訊網(wǎng)絡(luò)描述
CAN(Controller Area Network)即控制器局域網(wǎng)絡(luò),最初是由德國 Bosch 公司為解決現(xiàn)代汽車眾多控制與測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,即以串行通訊協(xié)議為基礎(chǔ)進行數(shù)據(jù)交換。
傳統(tǒng)的數(shù)據(jù)傳輸方式為:每條數(shù)據(jù)通過一條導線進行傳輸。當數(shù)據(jù)增多時導線必須增加,控制器的接插件也相應增加。該方式只適用于限定數(shù)據(jù)量的數(shù)據(jù)傳輸,而采用 CAN 總線,則可解決上述的問題。CAN 總線是網(wǎng)絡(luò)通訊的形式,可將所有數(shù)據(jù)通過兩條雙絞線進行傳輸而且不受控制器數(shù)量及控制器間傳輸數(shù)據(jù)多少的限制。CAN 總線在數(shù)據(jù)交換量較大的情況下,其意義更為顯著。
(二)CAN 總線結(jié)構(gòu)形式
CAN 的結(jié)構(gòu)形式如下:
CAN 總線可以在單發(fā)送、多接收方式下工作,只要將需要某條信息的裝置連在總線上,就能在同一時間收到該信息。反之,如果總線上的某個節(jié)點需要某條信息,它只要發(fā)送需要該信息的請求,總線就能提供信息單元對其作出響應。
CAN 總線通信接口集成了 CAN 協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗和數(shù)據(jù)鏈路層等功能。
(三)CAN 總線的優(yōu)點
CAN 總線具有以下優(yōu)點:1.通過更改軟件,數(shù)據(jù)傳輸協(xié)議的附加功能就可以得到較大
程度的擴展;2.不需改變節(jié)點及應用層的軟件和硬件即可增加節(jié)點;3.明顯降低錯誤發(fā)生率,通過控制器連續(xù)數(shù)據(jù)傳輸、數(shù)據(jù)比
較以及數(shù)據(jù)傳輸協(xié)議的保障,錯誤發(fā)生率將會降低到最小程度;4.數(shù)據(jù)共享,顯著減小了傳感器和信電纜的數(shù)量;5.控制器間數(shù)據(jù)傳輸速度更快;6.控制器和控制器的接插件體積更小,更節(jié)省空間;
二、CAN 通訊協(xié)議定義
(一)CAN 數(shù)據(jù)傳輸格式 CAN 以幀的形式進行傳輸,其標準格式的每一幀數(shù)據(jù)里包含7個區(qū)域,即幀起始、仲裁區(qū)、控制區(qū)、數(shù)據(jù)區(qū)、CRC 校驗、ACK應答區(qū)和幀結(jié)束。
如圖所示:
其中:起始位,標志數(shù)據(jù)幀的開始,它由一顯性位組成,這顯性位用于接收狀態(tài)下 CAN 控制器的硬同步。
RTR 位,一般由發(fā)送者自主向總線送數(shù),但也可以由接收方通過將該位設(shè)成隱性電平進行遠程請求發(fā)送。 DLC 位,標識數(shù)據(jù)長度。CRC 校驗位,采用循環(huán)冗余校驗。
應答位,通過將發(fā)送方應答空隙位上的隱性電平置為主控電平來進行確認。如果主控電平不出現(xiàn),則發(fā)送者判定為發(fā)送錯誤。
結(jié)束位,由 7 位隱性電平組成。
2.2、標識符的定義
優(yōu)先級指對傳感器的優(yōu)先級類別的識別。節(jié)點指對節(jié)點的識別。
(二)汽車系統(tǒng)、子系統(tǒng)及總成定義規(guī)則
CAN 規(guī)范中,數(shù)據(jù)區(qū)共有 8個字節(jié),將汽車的系統(tǒng)、子系統(tǒng)及總成的地址以及傳輸?shù)臄?shù)據(jù)和加密處理等都在此 8 個字節(jié)內(nèi)完成。定義如下:
B7、B6 字節(jié)為地址碼,用于對系統(tǒng)、子系統(tǒng)、總成進行定義,并包含優(yōu)先級,其中優(yōu)先級的表示是以地址碼的大小來決定的,地址碼越小,其優(yōu)先級越高。
B5——B2 共 4 個字節(jié)(32 位),用于對總成的數(shù)據(jù)進行定義。采用標準的 32 位定點運算格式。
B1:保留字節(jié)。保留一個字節(jié),以備以后擴展用。
B0:加密處理
三、CAN 總線通訊模塊電路
CAN 總線通訊模塊是整車 CAN 總線節(jié)點的重要組成部分,采用獨立于系統(tǒng)的模塊化設(shè)計,500Kbps 通訊速率,軟件兼容整車 CAN 總線通訊協(xié)議,可以移植到任何一個節(jié)點中去。
模塊由兩個芯片及其外圍元件組成。內(nèi)嵌帶 CAN 總線管理器的單片機系統(tǒng)和雙端口RAM。它主要完成以下功能:
1、CAN 總線管理器負責 CAN 標準 2.0A 的 CAN 總線數(shù)據(jù)通訊;
2、數(shù)據(jù)濾波器;3.本地通訊(包括高速 8 位并口通訊和低速 RS-232 通訊)。
四、結(jié)論
隨著汽車工業(yè)的發(fā)展,電子控制系統(tǒng)將越來越多地應用到汽車領(lǐng)域。如果不采用 CAN 總線方式,將無法實現(xiàn)電控系統(tǒng)之間的數(shù)據(jù)傳輸和協(xié)調(diào)控制。因此,開發(fā)汽車 CAN 總線是現(xiàn)代汽車發(fā)展的必然趨勢。





