《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 車載網(wǎng)絡(luò)CAN/LIN網(wǎng)關(guān)的應(yīng)用開發(fā)
車載網(wǎng)絡(luò)CAN/LIN網(wǎng)關(guān)的應(yīng)用開發(fā)
陳院慶,王紅蕾
(貴州大學(xué) 電氣工程學(xué)院,貴州 貴陽 550003)
摘要: 隨著CAN/LIN網(wǎng)絡(luò)在汽車車身控制系統(tǒng)中廣泛的應(yīng)用,為了滿足國產(chǎn)汽車車身控制總線的迫切需求,設(shè)計了一種基于CAN/LIN總線的整車管理系統(tǒng)的硬件方案。方案完成了CAN/LIN網(wǎng)關(guān)接口驅(qū)動電路設(shè)計及CAN/LIN網(wǎng)關(guān)的硬件電路設(shè)計。對車身網(wǎng)絡(luò)控制節(jié)點軟件進行了設(shè)計,該車身網(wǎng)絡(luò)控制系統(tǒng)在網(wǎng)絡(luò)通信中充分實現(xiàn)了數(shù)據(jù)共享。
Abstract:
Key words :

 摘  要: 隨著CAN/LIN網(wǎng)絡(luò)在汽車車身控制系統(tǒng)中廣泛的應(yīng)用,為了滿足國產(chǎn)汽車車身控制總線的迫切需求,設(shè)計了一種基于CAN/LIN總線的整車管理系統(tǒng)的硬件方案。方案完成了CAN/LIN網(wǎng)關(guān)接口驅(qū)動電路設(shè)計及CAN/LIN網(wǎng)關(guān)的硬件電路設(shè)計。對車身網(wǎng)絡(luò)控制節(jié)點軟件進行了設(shè)計,該車身網(wǎng)絡(luò)控制系統(tǒng)在網(wǎng)絡(luò)通信中充分實現(xiàn)了數(shù)據(jù)共享。
關(guān)鍵詞: 總線協(xié)議;CAN/LIN網(wǎng)關(guān);接口電路

  隨著汽車工業(yè)的發(fā)展,消費者和政府相關(guān)部門對于安全、舒適、節(jié)能、環(huán)保等方面的需求促使電子控制單元和系統(tǒng)廣泛地應(yīng)用在汽車中,而汽車也隨之日益向電子化、智能化方向發(fā)展[1]。但是日益增多的電子系統(tǒng)也帶來了新的問題,越來越多的電子控制單元與傳感器必然會需要越來越多的連線,除了增加成本、增加車身自重,更重要的是給布線帶來了巨大的困難,同時還增加了安全隱患,降低了整車可靠性。因此,提高電控單元間互相通信性能和降低導(dǎo)線成本已成為迫切需要解決的問題。  
    目前,車內(nèi)的電子控制系統(tǒng)主要由CAN/LIN網(wǎng)絡(luò)組成,發(fā)展中的汽車網(wǎng)絡(luò)技術(shù)還有高速容錯網(wǎng)絡(luò)FlexRay、用于多媒體和導(dǎo)航的MOST,以及藍牙、無線局域網(wǎng)等無線網(wǎng)絡(luò)技術(shù)。LIN是一種輔助的總線網(wǎng)絡(luò),在不需要CAN總線的場合使用LIN總線可大大降低系統(tǒng)成本。汽車大量應(yīng)用電子技術(shù)提高汽車性能水平已是不爭的事實,CAN總線的應(yīng)用也被人們所認同,而CAN、LIN混合網(wǎng)絡(luò)的應(yīng)用也將使汽車網(wǎng)絡(luò)的可靠性能和經(jīng)濟性得到很大提高[1]。
1  CAN/LIN總線概述
1.1  CAN總線協(xié)議

  CAN(Controller Area Network)總線是一種有效支持分布式控制和實時控制的串行通信網(wǎng)絡(luò),目前已經(jīng)在國外汽車的電器網(wǎng)絡(luò)中得到了廣泛的應(yīng)用。CAN總線采用了許多新技術(shù)及獨特的設(shè)計,與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性。CAN總線是目前唯一有國際標準的現(xiàn)場總線,它為多主方式工作,網(wǎng)絡(luò)上任一節(jié)點均可在任意時刻主動地向網(wǎng)絡(luò)上其他節(jié)點發(fā)送信息,而不分主從;在報文標識符上,CAN上的節(jié)點分成不同的的優(yōu)先級,可滿足不同的實時要求,優(yōu)先級高的數(shù)據(jù)最多可在134 μs內(nèi)得到傳輸;CAN總線采用非破壞總線仲裁技術(shù);CAN節(jié)點只需要通過對報文的標識符濾波即可實現(xiàn)點對點、1點對多點及全局廣播等幾種方式傳送接收數(shù)據(jù);CAN的直接通信距離最遠可達10 km(速率在5 Kb/s以下),通信速率最高可達1 Mb/s(此時通信距離最長為40 m);報文采用短幀結(jié)構(gòu),傳輸時間短,受干擾概率低,保證了數(shù)據(jù)出錯率極低;CAN的每幀信息都有CRC校驗及其他檢錯措施,具有極好的檢錯效果;CAN總線的通信介質(zhì)可為雙絞線、同軸電纜或光纖,選擇靈活;CAN節(jié)點在錯誤嚴重的情況下具有自動關(guān)閉輸出功能,以使總線上其他節(jié)點的操作不受影響[1-2]。


1.2 LIN總線協(xié)議
  LIN是由BMW、AUDI等7家公司聯(lián)合發(fā)起的1個專門用于汽車控制網(wǎng)絡(luò)的低成本的串行通信協(xié)議。LIN總線是一種輔助的總線網(wǎng)絡(luò),在不需要CAN總線的帶寬和多功能場合,如智能傳感器和抽動裝置之間的通信,使用LIN總線可大大節(jié)省成本。LIN總線為單主節(jié)點/多從節(jié)點模式,即沒有總線仲裁;能保證信號傳輸?shù)难舆t時間;它是帶時間同步的多點廣播接收,從節(jié)點無需石英或陶瓷諧振器;基于UART接口,幾乎所有的單片機都具備LIN必需的硬件;極少的信號線即可實現(xiàn)國際標準ISO9141規(guī)定;不需要改變LIN從節(jié)點的硬件和軟件就可以在網(wǎng)上增加節(jié)點;通常1個LIN網(wǎng)絡(luò)上節(jié)點數(shù)目小于12個,共有64個標志符。每個報文幀包括報頭和響應(yīng)兩部分,報頭由主節(jié)點發(fā)送,內(nèi)有同步間歇信號、同步字段信號和標識字段信號;而響應(yīng)部分可能由主節(jié)點或者從節(jié)點發(fā)送,包含報文長度1~8個字節(jié)的有效載荷和1個校驗字節(jié)。對于從節(jié)點,它需要檢測報頭數(shù)據(jù),并根據(jù)報頭內(nèi)容決定是否接收后續(xù)數(shù)據(jù)內(nèi)容或者發(fā)送數(shù)據(jù)到總線上[1]。


2 網(wǎng)關(guān)硬件實現(xiàn)
  1個車身控制網(wǎng)絡(luò)有很多CAN和LIN節(jié)點,如天窗、雨刮、座椅、車燈及組合開關(guān)等,這些模塊節(jié)點可通過網(wǎng)關(guān)實現(xiàn)數(shù)據(jù)的相互通信。圖1為網(wǎng)關(guān)的結(jié)構(gòu)拓撲圖,CAN節(jié)點信號通過CAN驅(qū)動接口傳送到MCU,并經(jīng)MCU處理后把CAN信號轉(zhuǎn)換成LIN信號,通過LIN驅(qū)動接口把信號發(fā)送到LIN總線,控制相應(yīng)的LIN模塊動作;同樣的LIN信號經(jīng)MCU后可轉(zhuǎn)換為CAN信號,實現(xiàn)相應(yīng)控制功能。


2.1 中央控制器電路實現(xiàn)
  中央控制模塊的核心是80C51單片機,在CAN通信接口中CAN控制器選用SAJ1000,如圖2所示。微處理器負責(zé)SJA1000的初始化,并負責(zé)整個網(wǎng)關(guān)的監(jiān)控任務(wù)及CAN總線與LIN總線的通信任務(wù)。SJA1000是一種獨立的CAN控制器,主要用于移動目標和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制,它是Philips半導(dǎo)體公司PCA82C200 CAN 控制器的替代產(chǎn)品,而且還增加了1種新的操作模式—PeliCAN,這種模式支持CAN2.0B協(xié)議。在邊線上,SAJ1000的AD0~AD7連接到80C51的P0口,CS連接到80C51的P2.7口。P2.7為0時,CPU片外存儲器地址可選中SJA1000,CPU通過這些地址可對SJA1000執(zhí)行相應(yīng)的讀/寫操作。SJA1000的RD、WR、ALE分別與80C51單片機的對應(yīng)引腳相連。INT引腳接80C51單片機的INT0,可通過中斷方式訪問SJA1000。80C51單片機的10和11管腳連到LIN接口電路,實現(xiàn)與LIN總線的通信[3]。


2.2 CAN接口驅(qū)動電路
  CAN控制器和系統(tǒng)物理總線之間的接口采用Philips公司的CAN收發(fā)器TJA1050,它具有對CAN總線的差動發(fā)送和接收功能。TJA1050總線收發(fā)器與ISO11898標準完全兼容,優(yōu)化了CANH與CANL之間的耦合,因此大大降低了信號的電磁輻射,具有強電磁干擾下寬共模范圍的輸送接收能力,適用于汽車和工業(yè)應(yīng)用[2]。為了增強CAN通信的可靠性,CAN總線網(wǎng)絡(luò)的2個端點通常均接有抑制反射的終端匹配電阻,如圖3所示。匹配電阻連接在CAN-H和CAN-L之間,終端匹配電阻的大小由傳輸電纜的特性阻抗所決定。例如雙絞線的特性阻抗為120 Ω,則總線上的2個端點應(yīng)集成120 Ω終端電阻。


2.3 LIN接口驅(qū)動電路
  LIN總線接口驅(qū)動電路如圖4所示。TJA1020是1個物理媒體連接,它是LIN主機/從機協(xié)議控制器和LIN傳輸媒體之間的接口,通過在LIN和BAT引腳之間串聯(lián)反向電流二極管和電阻實現(xiàn)主機應(yīng)用,如圖4所示。協(xié)議控制器輸入引腳TXD的發(fā)送數(shù)據(jù)流被LIN收發(fā)器轉(zhuǎn)換為總線信號,而且電平翻轉(zhuǎn)速率和波形都受到限制,以減少電磁輻射。TJ1020的接收器檢測到LIN總線上的數(shù)據(jù)流并通過RXD引腳將它傳送到協(xié)議控制器。收發(fā)器有低功耗管理模式,它在睡眠模式中幾乎不消耗電流,并在錯誤模式中減少功率消耗[4]。

3 系統(tǒng)軟件實現(xiàn)
  CAN/LIN網(wǎng)關(guān)軟件主要實現(xiàn)CAN與LIN總線之間的協(xié)議轉(zhuǎn)換,即將接收到的CAN格式報文用LIN協(xié)議進行封裝并發(fā)送到相應(yīng)的控制節(jié)點,同時把接收到的LIN格式的報文用CAN協(xié)議進行封裝并發(fā)送到相應(yīng)節(jié)點及車身BCM模塊等完成相應(yīng)的動作,從而實現(xiàn)CAN與LIN節(jié)點的一致、透明通信傳輸[4]。


  為了實現(xiàn)上述通信任務(wù),其軟件設(shè)計主要包括以下幾個部分:主監(jiān)控程序、CAN和LIN接口芯片的初始化、CAN報文的接收和發(fā)送及LIN報文的接收和發(fā)送。主監(jiān)控程序負責(zé)對CAN和LIN報文的接收緩沖區(qū)進行監(jiān)視,若某一路緩沖區(qū)非空,則向另一路轉(zhuǎn)發(fā)。程序開始時即進入程序初始化,進入初始化程序有3種方式:硬件復(fù)位、軟件復(fù)位、上電復(fù)位。初始化程序?qū)λ械膱笪膶ο筮M行初始化操作。初始化后,中央控制器采取查詢與中斷方式監(jiān)控整個系統(tǒng),實現(xiàn)報文協(xié)議轉(zhuǎn)換、接收與發(fā)送。


  基于CAN/LIN網(wǎng)關(guān)的汽車CAN、LIN混合網(wǎng)絡(luò),不僅可以有效地降低汽車整車成本,而且可減小總線的使用率,并可實現(xiàn)整個網(wǎng)絡(luò)數(shù)據(jù)通信的一致性、透明性。隨著汽車電子技術(shù)的網(wǎng)絡(luò)化發(fā)展趨勢,低成本的CAN/LIN混合網(wǎng)絡(luò)將會得到越來越廣泛的應(yīng)用。
參考文獻
[1] 南金瑞,劉波瀾.汽車單片機及車載總線技術(shù)[M].北京:北京理工大學(xué)出版社,2007.
[2] 饒運濤,鄒繼軍.現(xiàn)場總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2007.
[3] 鄧志華.車載網(wǎng)絡(luò)CAN和 LIN互連技術(shù)的研究[J].計算機應(yīng)用,2006(1):44-46.
[4] 崔俊峰.車射混合網(wǎng)絡(luò)中CAN/LIN網(wǎng)關(guān)的設(shè)計與實現(xiàn)[J].微計算機信息,2006,22(2-3):201-204.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。