MC微控器在汽車CAN/LIN網(wǎng)關(guān)中的應用
汽車電子技術(shù)的不斷發(fā)展大大提高了汽車性能,同時也給汽車制造安裝以及系統(tǒng)可靠性等帶方面來了一系列問題。汽車網(wǎng)絡(luò)的誕生使汽車電子邁入了一個新的臺階,汽車網(wǎng)絡(luò)用總線進行信息通訊,不僅解決了現(xiàn)代汽車電子化中出現(xiàn)的線路復雜和線束增加等問題,同時也是汽車通信和控制的一個重要基礎(chǔ)。CAN 總線和LIN 總線作為汽車總線的主流形式,在汽車領(lǐng)域已逐日得到廣泛應用。
1 CAN/LIN 總線技術(shù)簡介[1]
CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應用最廣泛的現(xiàn)場總線之一。CAN 通信協(xié)議描述了在設(shè)備之間信息如何傳遞。CAN 以兩種形式存在:一種是具有11 位ID 標示符的標準CAN,另一種是29 位ID 標示符的擴展CAN。LIN,全稱為“Local Interconnect Network”,是一種低成本的串行通訊網(wǎng)絡(luò)。LIN 的目
標是為現(xiàn)有汽車網(wǎng)絡(luò)(如CAN 總線)提供輔助功能,在不需要CAN 總線的帶寬和多功能的場合,使用LIN 總線可大大節(jié)省成本。
CAN 總線以及LIN 總線的主要特征如表1 所示。
2 MC68HC908GZ32 簡介[2]
MC68HC908GZ32 是Freescale 公司生產(chǎn)的8 位微控制器。其內(nèi)部具有8 位的中央處理單元、時鐘發(fā)生模塊、8 通道的定時器模塊、8 位的鍵盤中斷模塊、增強型串行通信模塊、時基模塊以及CAN 通信模塊等。其容量達32KB 的片內(nèi)Flash 存儲器與1536B RAM 能滿足多數(shù)用戶的各種應用要求。不僅有傳統(tǒng)的串行通信接口,而且還有串行外圍接口,使得芯片與外部設(shè)備、芯片與外圍擴展芯片的通信和連接變得簡便,具有53 個通用I/O 引腳。
MC68HC908GZ32 的上述眾多功能特點,使其既可以進行CAN 網(wǎng)絡(luò)通信,又可以進行LIN 網(wǎng)絡(luò)通信,因此可以將其作為CAN/LIN 網(wǎng)關(guān)。
3 GZ32 在CAN/LIN 網(wǎng)關(guān)中的應用
以汽車車身網(wǎng)絡(luò)為例,說明GZ32 在CAN/LIN 網(wǎng)絡(luò)中的應用。車身網(wǎng)絡(luò)屬于中低速網(wǎng)絡(luò),既可以用CAN 總線進行通信和控制,也可以用LIN 總線進行通信和控制。從節(jié)約成本的角度考慮,可以使用LIN 總線。但LIN 總線使用主從結(jié)構(gòu),而車身電器部分又很多,包括車燈、車門、后視鏡以及雨刮等等,因此,為減少系統(tǒng)模塊以及使系統(tǒng)更為簡單系統(tǒng)化,可使用GZ32 作為CAN/LIN 網(wǎng)關(guān),既可以接收CAN 總線報文,又可以對CAN 報文進行解讀,發(fā)送給LIN 總線。車身網(wǎng)絡(luò)系統(tǒng)構(gòu)建圖如圖1 所示。
3.1 網(wǎng)關(guān)的作用
網(wǎng)關(guān)的作用就是為在不同的通信協(xié)議和不同的傳輸速度的計算機或模塊之間進行通信時,建立連接和信息解碼,重新編譯,并將數(shù)據(jù)傳輸給其他系統(tǒng)。為了使采用不同協(xié)議及速度的數(shù)據(jù)總線間實現(xiàn)無差錯數(shù)據(jù)傳輸,必須要用一種特殊功能的計算機,這種計算機就是網(wǎng)關(guān)。
GZ32 具有MSCAN08 模塊,可以接收/發(fā)送CAN 報文;同時又具有ESCI 模塊,可以接收/發(fā)送LIN 報文。因此,本設(shè)計中使用GZ32 作為CAN/LIN 網(wǎng)關(guān)。
當使用 MSCAN 模塊時,應作如下初始化[3]:
CONFIG1=0x09;
CONFIG2=0x1C; // CAN 模塊使能
CBTR0=0x00;
CBTR1=0xD8; //設(shè)置波特率為125K
3.2 CAN 報文的接收和發(fā)送
一個完整的汽車網(wǎng)絡(luò)系統(tǒng)可分為車身網(wǎng)絡(luò)系統(tǒng)和動力網(wǎng)絡(luò)系統(tǒng),要有高低速CAN 網(wǎng)關(guān)。本設(shè)計中的CAN/LIN 網(wǎng)關(guān)的主要功能是,接收高低速CAN 網(wǎng)關(guān)發(fā)送來的CAN 報文幀,通過TJA1050 CAN 收發(fā)器實現(xiàn)。對于車燈模塊(包括轉(zhuǎn)向燈、示寬燈、遠/近光燈、霧燈等),可以使用CAN 報文通過I/O 口進行控制。同時網(wǎng)關(guān)還對接收到的CAN 報文進行解析,發(fā)送給LIN 總線。由于CAN 和LIN 是全雙工的總線,因此GZ32 CAN/LIN 網(wǎng)關(guān)還可以向CAN總線發(fā)送CAN 報文幀,也可以接收來自LIN 總線的LIN 報文幀。如圖2 所示[4]。
評論