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