盧軍 趙熠 聶向前 黃海波 車凱 蔣偉榮
摘要:該文以飛思卡爾MCU9S08DZ60為主控芯片,完成多路CAN/LIN節(jié)點之間的相互通信。系統(tǒng)模擬了汽車上的總線通信功能。例如,發(fā)動機轉(zhuǎn)速、油門踏板、儀表等。最后,通過對CAN/LIN信號結(jié)果的測試和分析,驗證CAN/LIN混合網(wǎng)絡(luò)的可行性,完成了CAN/LIN混合網(wǎng)絡(luò)通信。
關(guān)鍵詞:CAN總線;LIN總線;混合總線結(jié)構(gòu)
中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1009-3044(2017)31-0020-02
CAN是在汽車上應(yīng)用最廣泛的網(wǎng)絡(luò),而LIN是近幾年出現(xiàn)的一種低成本汽車網(wǎng)絡(luò),兩者在實際應(yīng)用中不是競爭關(guān)系而是互補關(guān)系,CAN/LIN混合網(wǎng)絡(luò)能夠在不影響網(wǎng)絡(luò)性能的前提下降低網(wǎng)絡(luò)成本。因此,針對此兩類總線進行應(yīng)用研究在目前有很大的意義。
1 CAN/LIN總線結(jié)構(gòu)
由于CAN和LIN是不同的網(wǎng)絡(luò)協(xié)議,兩者之間的通信需要網(wǎng)關(guān)(gateway)來完成。汽車網(wǎng)關(guān)是汽車上連接異型網(wǎng)絡(luò)的接口裝置,能在OSI參考模型的物理層、數(shù)據(jù)鏈路層和應(yīng)用層上對雙方不同的協(xié)議進行翻譯和解釋 。網(wǎng)關(guān)主要“處理”有關(guān)下面三部分的內(nèi)容:從第一個網(wǎng)絡(luò)讀取所接收的信息,翻譯信息,向第二個網(wǎng)絡(luò)發(fā)送信息。如果有必要,這個處理過程應(yīng)該是可逆的,亦即雙向的通信。CAN/LIN網(wǎng)關(guān)的模型如圖1所示。
2 CAN/LIN總線硬件設(shè)計
2.1 CAN/LIN網(wǎng)關(guān)硬件結(jié)構(gòu)
CAN/LIN網(wǎng)關(guān)把CAN總線和LIN總線連接起來,需要完成CAN通信、LIN通信功能,是CAN、LIN總線之間的橋梁。本設(shè)計中網(wǎng)關(guān)的硬件原理框圖如圖2所示。
2.2 CAN總線收發(fā)器TJAl050
由于CAN控制器已經(jīng)集成在DZ60芯片內(nèi)部,所以CAN電路的設(shè)計僅需再添加一個收發(fā)器電路即可。在協(xié)議控制器中通過一條串行數(shù)據(jù)輸出線TxD和一條串行數(shù)據(jù)輸入線RxD連接到收發(fā)器,而收發(fā)器則通過它的兩個有差動接收和發(fā)送能力的總線終端CANH和CANL連接到總線線路。CAN總線收發(fā)器選用Philips公司的TJAl050 。TJAl050完全符合ISO l 1898標(biāo)準(zhǔn),支持CAN的高速率收發(fā),最高可達1Mbit/s,電磁輻射極低,電磁抗干擾性極高,至少可連接110個節(jié)點。TJAl050輸入級和3.3V以及5V的器件兼容,這一點對汽車中越來越多的低于5V的器件應(yīng)用來說是相當(dāng)必要的,因此,DZ60與TJAl050之間無須再附加電壓轉(zhuǎn)換電路,能夠直接連接。
2.3 LIN總線收發(fā)器TJAl020
LIN總線收發(fā)器選用Philips公司的TJAl020。TJAl020的波特率最高可達20Kbit/s,具有低電磁輻射的高電磁抗干擾的特性,可連接16個LIN節(jié)點。TJAl020輸入級電平和3.3V以及5V的器件兼容,因此DZ60與TJAl020之間無須再附加電壓轉(zhuǎn)換電路,能夠直接連接 。LIN總線另外需要一個12V的電壓(圖3-5中的V??BAT)作為LIN總線電平信號電源。TJAl020的工作模式分為睡眠、待機、正常斜率模式和低斜率模式四種,可以達到節(jié)電或減少電磁輻射干擾的目的。
3 CAN/LIN總線軟件設(shè)計和測試
下面分別對CAN發(fā)送函數(shù)和LIN發(fā)送函數(shù)進行設(shè)計分析。
3.1 CAN發(fā)送函數(shù)
發(fā)送函數(shù)CANSendData(eCANNUM CanNum,INT32U Cmd,stcRxBUF+RxBuf)與接收函數(shù)正好相反,簡單地說就是向發(fā)送寄存器寫入要發(fā)送的數(shù)據(jù),然后啟動發(fā)送。CAN中為了提高大量數(shù)據(jù)發(fā)送的效率,每個CAN控制器配有三個獨立的發(fā)送緩沖寄存器,發(fā)送時要根據(jù)實際情況判斷哪個緩沖是空閑的,再把數(shù)據(jù)寫入。CAN在啟動發(fā)送前需要指定具體的發(fā)送緩沖和發(fā)送命令字。發(fā)送流程如圖3所示。
3.2 LIN發(fā)送函數(shù)
發(fā)送函數(shù)根據(jù)情況發(fā)送報文頭到總線上,然后根據(jù)需要發(fā)送0、2、4、8字節(jié)數(shù)據(jù)到總線上。其處理的流程如圖4所示。
3.3 波形測試
CAN和LIN的波形如圖5所示,圖5(a)是CAN波形圖,圖5(b)圖是LIN波形圖。
通過對通信網(wǎng)絡(luò)的測試與開發(fā),為了實現(xiàn)通信網(wǎng)絡(luò)的穩(wěn)定傳輸必須注意以下幾項:
(1) CAN總線上所有的節(jié)點的幀類型,位速率必須設(shè)置一致。
(2) CAN總線報文信息只有在CAN節(jié)點連接到CAN總線網(wǎng)絡(luò)上,才能發(fā)送出去,否則將產(chǎn)生錯誤中斷,但與網(wǎng)絡(luò)中是否有符合的標(biāo)識符ID節(jié)點無關(guān)。
(3) CAN總線兩端應(yīng)該接有兩個120歐的電阻,這對于匹配總線阻抗起著相當(dāng)重要的作用,忽略掉它們會使數(shù)據(jù)通信的抗干擾性及可靠性大大降低,甚至無法通信。
(4) LIN收發(fā)器TJA1020做主機應(yīng)用時,必須通過串聯(lián)的外部電阻和二極管將引腳INH或引腳BAT與引腳LIN進行連接,主機端電阻為1K。從測試結(jié)果看,在長時間的通訊中,網(wǎng)絡(luò)的通信都能保證100%的正確率。
可以驗證CAN/L工N網(wǎng)關(guān)通信的可靠性較高。而數(shù)據(jù)傳輸時間的測量結(jié)果,證明通信網(wǎng)絡(luò)的實時性是符合系統(tǒng)要求的。這說明,本課題構(gòu)建的CAN/LIN混合通信網(wǎng)絡(luò)在電梯系統(tǒng)的應(yīng)用是合理和成功的。
4 總結(jié)
由于汽車上各種電子單元千差萬別,目前還不能出現(xiàn)一個單一的網(wǎng)絡(luò)將所有的汽車電子單元連接起來。本課題研究的是汽車上中低端的控制網(wǎng)絡(luò)CAN和LIN的組網(wǎng)技術(shù),目的是在汽車上組建一個實用的CAN/LIN混合網(wǎng)絡(luò),以便將來在其上方便的開發(fā)眾多的電子控制單元。在課題研究期間,還針對兩個具體的項目進行了CAN,LIN混合網(wǎng)絡(luò)應(yīng)用方面的研發(fā),進一步完善了對CAN,LIN混合網(wǎng)絡(luò)組網(wǎng)技術(shù)的研究。對汽車上總線通信進行研究,以及對基于總線的電子控制單元的研究,無疑對中國汽車工業(yè)是有一定促進意義的。
參考文獻:
[1] 楊建軍. CAN總線技術(shù)在汽車中的應(yīng)用[J].上海汽車, 2007(6):32-34.
[2] 劉立峰,廖力清,凌玉華. 高低速 CAN 總線在汽車控制系統(tǒng)中的研究與應(yīng)用[J]. 上海汽車,2005(9):26-32.
[3] 南金瑞,劉波瀾.汽車單片機及車載總線技術(shù)[M].北京,北京理工大學(xué)出版社,2005.
[4] 趙雙,孫天健.LIN 總線技術(shù)及其在汽車電子中的應(yīng)用[M].北京汽車, 2007(3):44-46.
[5] 黃曲菜,唐厚君,孟祥群.基于CAN總線/LIN總線的車身控制系統(tǒng)[J].工業(yè)控制計算機, 2004,17(10).