《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(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è)計(jì)了一種基于CAN/LIN總線的整車管理系統(tǒng)的硬件方案,。方案完成了CAN/LIN網(wǎng)關(guān)接口驅(qū)動(dòng)電路設(shè)計(jì)及CAN/LIN網(wǎng)關(guān)的硬件電路設(shè)計(jì)。對(duì)車身網(wǎng)絡(luò)控制節(jié)點(diǎn)軟件進(jìn)行了設(shè)計(jì),,該車身網(wǎng)絡(luò)控制系統(tǒng)在網(wǎng)絡(luò)通信中充分實(shí)現(xiàn)了數(shù)據(jù)共享,。
Abstract:
Key words :

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

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

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


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


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


2.1 中央控制器電路實(shí)現(xiàn)
  中央控制模塊的核心是80C51單片機(jī),,在CAN通信接口中CAN控制器選用SAJ1000,,如圖2所示,。微處理器負(fù)責(zé)SJA1000的初始化,并負(fù)責(zé)整個(gè)網(wǎng)關(guān)的監(jiān)控任務(wù)及CAN總線與LIN總線的通信任務(wù),。SJA1000是一種獨(dú)立的CAN控制器,,主要用于移動(dòng)目標(biāo)和一般工業(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時(shí),,CPU片外存儲(chǔ)器地址可選中SJA1000,,CPU通過這些地址可對(duì)SJA1000執(zhí)行相應(yīng)的讀/寫操作,。SJA1000的RD、WR,、ALE分別與80C51單片機(jī)的對(duì)應(yīng)引腳相連,。INT引腳接80C51單片機(jī)的INT0,可通過中斷方式訪問SJA1000,。80C51單片機(jī)的10和11管腳連到LIN接口電路,,實(shí)現(xiàn)與LIN總線的通信[3]。


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


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

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


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


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

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