劉金鳳
(煙臺汽車工程職業(yè)學(xué)院 車輛運用工程系, 煙臺 264000)
汽車電子化程度隨著汽車技術(shù)的發(fā)展而逐漸提高,汽車總線技術(shù)更能滿足數(shù)據(jù)通信的要求,目前在汽車電子領(lǐng)域中,建立基于總線技術(shù)的汽車電氣控制系統(tǒng)是研究的熱點,而實時交換大量控制信號在基于CAN總線的綜合控制系統(tǒng)中即可實現(xiàn),并且表現(xiàn)出了較強的抗干擾性能和較高的傳輸速率,該系統(tǒng)還具備線路簡化、可根據(jù)實際需求進行擴展等優(yōu)勢,逐漸受到國內(nèi)外汽車行業(yè)的高度重視。本文在汽車上運用信息技術(shù),同時借鑒現(xiàn)場總線控制技術(shù),保證信息流的實時、有效、全面,對于汽車系統(tǒng)的驅(qū)動則通過這些信息流來實現(xiàn),汽車采用分布式電氣控制系統(tǒng),以降低使用成本,提高工作效率[1]。
汽車電氣控制系統(tǒng)包含大量的用電器件,這些用電器件能夠?qū)崿F(xiàn)大功率的驅(qū)動,是行車必備的用電設(shè)備,包括大型客車中用來給乘客提供服務(wù)的用電設(shè)備(如飲水機、通道燈、電視機、閱讀燈等)。汽車底盤有數(shù)量較多的傳感器,包括速度、水溫、擋位、機油、剎車等傳感器,還需大量的開關(guān)包括門、發(fā)動機艙及儀表盤等,中央控制器需要通過導(dǎo)線接收或反饋這些設(shè)備和傳感器信息,這就導(dǎo)致了大量導(dǎo)線捆成線扎的形成,點對點電氣控制方式,如圖1所示。
圖1 點對點電氣控制方式
電子線路復(fù)雜程度逐漸提高,給汽車設(shè)計、裝配、維護等工作增加了難度,線路接頭數(shù)量的增加不利于安全性的提升,線重和占用空間會一定程度上降低效率。汽車內(nèi)部相對運動的部分間(如車門窗的線束)會因過大的線路體積而加大過線的難度,為解決不斷增加的電子裝置帶來的問題,對于汽車電氣控制系統(tǒng)的設(shè)計,基于串行的信息傳輸成為解決問題的必然選擇[2]。
CAN總線,可以雙絞線、光導(dǎo)纖維或同軸電纜作為通信介質(zhì),信號以差分電壓的形式出現(xiàn),如圖2所示。
圖2 CAN總線位信號
CAN總線通信控制器中可成幀處理通信數(shù)據(jù),對CAN協(xié)議的數(shù)據(jù)鏈路層和物理層功能進行了集成,CAN協(xié)議通過對通信數(shù)據(jù)塊進行編碼取代了傳統(tǒng)的站地址編碼,這是該協(xié)議的一個最大特點,正是通過這種方法的使用,實現(xiàn)了在理論上不限制網(wǎng)絡(luò)內(nèi)節(jié)點的個數(shù),按照不同的 CAN 技術(shù)規(guī)范(2.0A或2.0B)可定義不同的數(shù)據(jù)塊(211或229個),不同節(jié)點據(jù)此可完成相同數(shù)據(jù)的同時接收,數(shù)據(jù)段長度最多為 8個字節(jié),占用總線時間較短,確保了通信的實時性,這對分布式控制系統(tǒng)的實現(xiàn)極為重要,可滿足控制命令、數(shù)據(jù)測試及工作狀態(tài)的一般要求,采用CRC檢驗的CAN 協(xié)議提高了數(shù)據(jù)通信的可靠性,同時具備相應(yīng)的錯誤處理功能。結(jié)合性價比以及應(yīng)用前景,考慮到其極高的可靠性和獨特的設(shè)計,本文系統(tǒng)在開發(fā)研究的方向選擇了 CAN 總線[3]。
以電氣設(shè)備配置要求為依據(jù),以金龍大型客車(XML6796E1G)為開發(fā)平臺,系統(tǒng)主要由前/左前/右前/后/主5個ECU節(jié)點組成,整體架構(gòu)設(shè)計如圖3 所示。
圖3 系統(tǒng)整體架構(gòu)
CAN總線采用星形拓撲結(jié)構(gòu),利用前、左前、右前及后4個ECU節(jié)點,汽車電氣控制系統(tǒng)實現(xiàn)了就近位置的信息采集(29 路開關(guān)量),將其組成一幀報文信息(按照 CAN 總線通信協(xié)議),主 ECU 節(jié)點完成報文信息的接收,并對其進行邏輯分析與判斷,然后將最終分析結(jié)果組成四幀報文信息(按照 CAN 通信協(xié)議),各目標 ECU 節(jié)點接收并濾波處理反饋回的報文信息,功率負載輸出控制模塊通過UART總線接收到各目標 ECU 節(jié)點發(fā)送的信息,完成 29 路功率輸出的驅(qū)動。由專用單片機(AT89C51)完成開關(guān)信息的采集及功率輸出的邏輯控制,每個ECU節(jié)點設(shè)計開關(guān)信息采集和功率負載輸出各29 路,其內(nèi)部包括P0、P1、P2、P3四個口,共有32個 I/O 口,其中看門狗喂狗信號輸出口為P3.7,通信口為 P3.0 、P3.1[4]。前 ECU 節(jié)點主要負責(zé)對電控氣/電喇叭,以及左側(cè)車燈,雨刮器檔位開關(guān),鑰匙開關(guān)的一擋 ACC、二擋ON和三擋STA ,左前側(cè)的轉(zhuǎn)向燈和霧燈等進行檢測和控制;右前 ECU節(jié)點主要負責(zé)對右側(cè)的近光燈、遠光燈、轉(zhuǎn)向燈、示廓燈、標志燈,前門的控踏步燈、指示燈開關(guān)、防夾開關(guān),右前側(cè)的轉(zhuǎn)向燈、霧燈,噴水電機等進行檢測和控制;前 ECU 節(jié)點主要負責(zé)對ABS、機油壓力報警燈,儀表照明燈、TV 開關(guān)、前/后霧燈開關(guān)、行李倉燈開關(guān)等進行檢測和控制;后 ECU 節(jié)點主要負責(zé)對熄火電磁閥的電源1和電源2,后側(cè)的示闊燈、倒車燈、剎車燈、霧燈,以及空擋、倒車、后倉門限位、水位報警的開關(guān)等進行檢測和控制。由CAN總線為系統(tǒng)提供通信介質(zhì),實現(xiàn)大批數(shù)據(jù)信息共享及控制信號的實時交換,顯著提高電控單元信息利用率,從而保證汽車系統(tǒng)的運動是在實時有效的信息流的驅(qū)動下完成的[5]。
ECU節(jié)點不同應(yīng)用程序的寫入以所在位置為依據(jù),具體設(shè)計如圖4所示。
圖4 ECU節(jié)點設(shè)計
ECU節(jié)點中:功率負載輸出驅(qū)動口實現(xiàn)對汽車上所有功率負載的直接驅(qū)動,避免了繼電器工作帶來的安全隱患;汽車上各種開關(guān)量信息由29 路開關(guān)量輸入口采集;CAN 通信接口可采用帶屏蔽的雙絞線,該接口提供兩根通信線(CANH 和 CANL),正是通過良好外圍接口的提供,提高了各ECU 節(jié)點間的通信效果[6]。
CAN通信模塊對總線上(CAN)出現(xiàn)的報文信息進行驗收濾波,由主處理器讀取完報文信息后,主處理器將其釋放到接收緩沖區(qū)并對其進行格式轉(zhuǎn)換,功率輸出控制模塊實現(xiàn)串口信息的接收(通過 UART 總線),再按照一定的順序?qū)⑵浒l(fā)送到單片機上各 I/O口,實現(xiàn)對各負載功率輸出的控制;對于各開關(guān)輸入點的狀況,將通過開關(guān)信息采集模塊完成循環(huán)檢測的過程,按照控制命令,將當前采集的開關(guān)狀態(tài)信息傳送至主處理器(通過 UART 總線),主控模塊進行分析比較后,將同上一次有異同的開關(guān)狀態(tài)信息組成一幀報文信息(按照一定格式),CAN 總線通過 CAN 通信模塊接收這些報文信息,并對其作出進一步處理,完成對各開關(guān)輸入點的循環(huán)檢測。
本文根據(jù)系統(tǒng)實際的功能將軟件架構(gòu)設(shè)計為驅(qū)動層、轉(zhuǎn)換層和通信層3個層次,具體軟件結(jié)構(gòu)如圖5所示。
系統(tǒng)通過3類消息的具體定義,即定義狀態(tài)消息,接口消息,器件消息,以實現(xiàn)各層模塊之間良好的通信效果。
引腳的電平變化情況輸入后,在發(fā)送給轉(zhuǎn)換層之前需將其轉(zhuǎn)換為輸入狀態(tài)信息,這一部分由輸入驅(qū)動模塊負責(zé);轉(zhuǎn)換層接收到狀態(tài)信息后,需通過輸出驅(qū)動模塊將其轉(zhuǎn)變?yōu)閷嶋H引腳的電平變化;驅(qū)動層接收輸入狀態(tài)信息后,在發(fā)送給規(guī)則處理層供其進行邏輯分析之前,需通過輸入轉(zhuǎn)換模塊將其轉(zhuǎn)換為輸入器件消息;規(guī)則處理層接收到狀態(tài)信息(輸出器件)后,在發(fā)送給驅(qū)動層之前,需通過輸出轉(zhuǎn)換模塊將其轉(zhuǎn)換(或由輸入轉(zhuǎn)換模塊發(fā)送來的接口消息直接轉(zhuǎn)換)為輸出狀態(tài)信息,對于輸入器件消息(由輸入轉(zhuǎn)換模塊接收的消息),通過規(guī)則處理層模塊進行邏輯關(guān)系分析,并在發(fā)送給輸出轉(zhuǎn)換模塊之前,將其映射為輸出器件消息;信息在各轉(zhuǎn)換層和規(guī)則處理層間的交換過程,由通過通信模塊負責(zé)完成[7]。
為驗證本文系統(tǒng)的功能實現(xiàn)情況,在系統(tǒng)實驗平臺上完成了對本系統(tǒng)的測試,實驗嚴格按照 CAN2.0 協(xié)議,實驗平臺分為兩個階段:分別在汽車電氣模擬實驗臺和金龍大型客車(XML6796E1G)進行測試,由主ECU節(jié)點,左前和右前 ECU 節(jié)點,前、后 ECU 節(jié)點構(gòu)成,完成對汽車電氣設(shè)備的控制,和對各種 ECU 傳感器信號的采集,并實現(xiàn)了儀表顯示,測試結(jié)果表明基于 CAN 總線的汽車電氣控制系統(tǒng)的設(shè)計,實現(xiàn)了在不同電子單元中對大批數(shù)據(jù)信息的共享,使系統(tǒng)內(nèi)復(fù)雜控制信號的實時交換需求得以有效滿足,顯著提高了數(shù)據(jù)在不同功能電子單元間的通信能力,實現(xiàn)了高性能和高可靠性等獨特的設(shè)計目標,對汽車總線電氣控制系統(tǒng)改善具有現(xiàn)實意義。
汽車行業(yè)發(fā)展迅速,其電氣控制系統(tǒng)也在不斷更新和完善,本文主要對汽車電氣控制系統(tǒng)進行設(shè)計,設(shè)計該系統(tǒng)的目的在于提高電氣系統(tǒng)的利用率,該系統(tǒng)基于CAN總線,可以將控制信號轉(zhuǎn)換為信息流,汽車的電氣控制系統(tǒng)通過分布式的控制模式,進一步提高了控制的效率,分布式的控制模式突破了傳統(tǒng)的單一線束限制,實現(xiàn)了汽車電氣控制系統(tǒng)使用效率的顯著提高。