摘 要:討論了基于CAN總線技術(shù)的汽車分布式控制系統(tǒng)的組成結(jié)構(gòu)和實(shí)現(xiàn)方案,介紹了系統(tǒng)通用模塊和數(shù)字化儀表的硬件設(shè)計(jì),并選用基于磁耦隔離技術(shù)的ADUM1201來(lái)提高通信時(shí)的抗干擾能力。闡述了系統(tǒng)主控軟件、CAN收發(fā)數(shù)據(jù)軟件設(shè)計(jì)流程。模塊硬件的通用化設(shè)計(jì)和主控軟件可靈活升級(jí)的特點(diǎn),使系統(tǒng)可適用于更多車型。
關(guān)鍵詞:CAN總線;控制系統(tǒng);磁耦隔離;軟件設(shè)計(jì)
引言
隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通訊技術(shù)和集成電路技術(shù)的飛速發(fā)展,汽車網(wǎng)絡(luò)技術(shù)應(yīng)運(yùn)而生,為簡(jiǎn)化汽車上電子控制單元(ECU)之間進(jìn)行的復(fù)雜的信息傳遞和數(shù)據(jù)交換,已產(chǎn)生了多種網(wǎng)絡(luò)標(biāo)準(zhǔn),如美國(guó)汽車工程協(xié)會(huì)(SAE)的J1850、國(guó)際標(biāo)準(zhǔn)化組織(ISO)的VAN和德國(guó)博世公司 (BOSCH)的CAN等[1]。其中,CAN總線是BOSCH為解決汽車中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種通信協(xié)議,具有突出的可靠性、實(shí)時(shí)性和靈活性[2],近年來(lái),基于CAN總線技術(shù)的分布式控制系統(tǒng)越來(lái)越廣泛地被應(yīng)用到汽車上。汽車儀表也隨著電子技術(shù)和CAN總線技術(shù)的日趨完善而快速向數(shù)字化方向發(fā)展,并與其它節(jié)點(diǎn)組成整車控制網(wǎng)絡(luò),對(duì)車輛狀態(tài)進(jìn)行監(jiān)控。而對(duì)位置分散的信號(hào)進(jìn)行通用化監(jiān)控處理,可使系統(tǒng)具有更靈活的適用性和更便捷的后期維護(hù),適于批量生產(chǎn)。
1 車身控制系統(tǒng)組成結(jié)構(gòu)
系統(tǒng)中數(shù)字化儀表和三個(gè)通用模塊單獨(dú)供電,它們通過(guò)雙絞線相連,組成多主CAN網(wǎng)絡(luò),實(shí)現(xiàn)節(jié)點(diǎn)間數(shù)據(jù)的雙向傳送。車身系統(tǒng)的控制邏輯運(yùn)算均由儀表模塊的處理器來(lái)完成,儀表模塊通過(guò)采集或者通過(guò)CAN總線從其它節(jié)點(diǎn)獲取車輛狀態(tài)信息后,經(jīng)過(guò)邏輯運(yùn)算,再將控制命令通過(guò)CAN總線發(fā)送給其它節(jié)點(diǎn),實(shí)現(xiàn)對(duì)功率負(fù)載的控制,同時(shí),儀表還按照SAE J1939協(xié)議接收尿素液位ECU和發(fā)動(dòng)機(jī)ECU的狀態(tài)信息,并將車輛狀態(tài)通過(guò)點(diǎn)亮LED燈或驅(qū)動(dòng)步進(jìn)電機(jī)帶轉(zhuǎn)指針來(lái)指示,或者以字符或圖標(biāo)在LCD顯示屏中來(lái)顯示,為駕駛員或維護(hù)人員實(shí)時(shí)提供信息。同時(shí),還可通過(guò)按鍵進(jìn)行狀態(tài)查詢和參數(shù)設(shè)置,實(shí)現(xiàn)人機(jī)互動(dòng)。
2 車身控制系統(tǒng)硬件設(shè)計(jì)
2.1 通用模塊設(shè)計(jì)
為使系統(tǒng)適于分布式安裝,節(jié)省大量的線束和繼電器,將信號(hào)采集和功率控制節(jié)點(diǎn)設(shè)計(jì)為具有良好互換性的通用模塊。
通用模塊選用飛思卡爾的MC9S08DZ60為主控制芯片,實(shí)現(xiàn)對(duì)開(kāi)關(guān)、模擬、脈沖信號(hào)的采集功能和對(duì)功率負(fù)載的控制功能,同時(shí)具備SPI和CAN通信功能以及通信地址的可配置功能。為實(shí)現(xiàn)開(kāi)關(guān)信號(hào)、模擬量信號(hào)的采集和通信地址可配置,選用多路復(fù)用芯片MC33993,它通過(guò)SPI與MC9S08DZ60通信,可實(shí)現(xiàn)共22路開(kāi)關(guān)信號(hào)的輸入,開(kāi)關(guān)信號(hào)輸入引腳還可以作為模擬量信號(hào)的輸入引腳。當(dāng)作為模擬信號(hào)輸入引腳時(shí),通過(guò)SI寫入控制命令,在片選信號(hào)CS的上升沿時(shí),將需要采集的模擬量信號(hào)接入到AMUX,并在下一個(gè)SO輸出數(shù)據(jù)中將對(duì)應(yīng)引腳位的值置為0。AMUX將捕捉到的最高為VDD電壓的模擬信號(hào)接入到主控芯片,實(shí)現(xiàn)該信號(hào)的A/D轉(zhuǎn)換。
脈沖信號(hào)的采集處理,利用三極管的開(kāi)關(guān)通斷特性,實(shí)現(xiàn)對(duì)脈沖信號(hào)的計(jì)數(shù)處理。功率負(fù)載的輸出控制選用芯片BTS840,它可提供單路12A電流和雙路24A電流,并具備過(guò)熱保護(hù)和短路、斷路診斷反饋功能,可實(shí)現(xiàn)對(duì)外接負(fù)載工作狀態(tài)的監(jiān)控。
2.2 數(shù)字化儀表設(shè)計(jì)
儀表選用飛思卡爾的MC9S12D64為主控制芯片。該芯片為112腳封裝,有豐富的I/O資源和工業(yè)控制專用的通信模塊[4],特別適用于汽車。儀表作為系統(tǒng)主控單元,不必配置通信地址,故可將芯片MC33993的輸入引腳全部用作采集開(kāi)關(guān)信號(hào)。為實(shí)時(shí)監(jiān)控車輛狀態(tài)信息,在儀表上側(cè)布有30個(gè)LED指示燈陣列,由主控芯片根據(jù)對(duì)車輛狀態(tài)數(shù)據(jù)進(jìn)行邏輯運(yùn)算后,通過(guò)I/O引腳控制對(duì)應(yīng)狀態(tài)指示燈。
對(duì)發(fā)動(dòng)機(jī)轉(zhuǎn)速、車速、機(jī)油壓力、蓄電池電壓、發(fā)動(dòng)機(jī)冷卻水溫、燃油量和前后橋氣壓等參數(shù),采取驅(qū)動(dòng)步進(jìn)電機(jī)帶動(dòng)指針來(lái)指示刻度表盤的實(shí)現(xiàn)方式。步進(jìn)電機(jī)的驅(qū)動(dòng)芯片選用MC33976,通過(guò)SPI與主控芯片通信,每個(gè)驅(qū)動(dòng)芯片可驅(qū)動(dòng)2個(gè)步進(jìn)電機(jī)。
儀表采用240x120像素的LCD屏,在主頁(yè)面顯示LOGO、重要參數(shù)和報(bào)警信息,并可分頁(yè)顯示更多信息。儀表還設(shè)計(jì)有四個(gè)按鍵,主控芯片通過(guò)中斷方式接收按鍵信號(hào),通過(guò)選擇不同按鍵,可實(shí)現(xiàn)LCD屏的分頁(yè)顯示信息,還可以設(shè)置日期、時(shí)間、主減速比和單圈脈沖數(shù)等參數(shù)。
2.3 CAN通信設(shè)計(jì)
2.4 CAN通信網(wǎng)絡(luò)組成
系統(tǒng)的軟件開(kāi)發(fā)環(huán)境為Metrowerks公司的CodeWarrior。儀表將所有采集或通過(guò)總線接收到的狀態(tài)數(shù)據(jù)經(jīng)過(guò)邏輯運(yùn)算后,通過(guò)LED陣列、LCD屏和步進(jìn)電機(jī)帶動(dòng)指針顯示當(dāng)前車輛狀態(tài),并經(jīng)過(guò)CAN總線將控制命令發(fā)送給相應(yīng)模塊,實(shí)時(shí)控制功率負(fù)載的啟停。儀表主控制流程圖如圖3所示。
車身控制系統(tǒng)各個(gè)節(jié)點(diǎn)間通過(guò)CAN總線收發(fā)數(shù)據(jù),各個(gè)節(jié)點(diǎn)的控制模塊在主程序中先對(duì)CAN控制器進(jìn)行初始化,分別分配一段內(nèi)存空間作為接收和發(fā)送數(shù)據(jù)的隊(duì)列,并通過(guò)中斷完成CAN總線數(shù)據(jù)的接收和發(fā)送,CAN數(shù)據(jù)的接收和發(fā)送流程圖分別如圖4、圖5所示。
4 結(jié)束語(yǔ)
本文設(shè)計(jì)了符合CAN通信協(xié)議的儀表和通用模塊,并與發(fā)動(dòng)機(jī)ECU和尿素液位ECU通過(guò)CAN總線連接組成整車控制網(wǎng)絡(luò),實(shí)現(xiàn)了對(duì)車輛狀態(tài)信息的實(shí)時(shí)監(jiān)控。采用ADUM1201作為隔離器件,提高了CAN通信的抗干擾能力。信號(hào)和負(fù)載的通用處理和儀表的集中控制邏輯運(yùn)算,使系統(tǒng)的售后維護(hù)變得更便捷、靈活。本系統(tǒng)已小批量裝車后運(yùn)行數(shù)萬(wàn)公里,具有良好的穩(wěn)定性和可靠性。
參考文獻(xiàn)
[1]李錚,鮮繼清,鄧炳光等.基于CAN總線的汽車組合儀表[J].儀器儀表用戶,2006,13(5):152-153.
[2]王佳,蔡志標(biāo)等.基于CAN總線純電動(dòng)汽車整車控制器設(shè)計(jì)[A].見(jiàn):孫力,郭淑英,田光宇.2007中國(guó)電動(dòng)車車輛研究與開(kāi)發(fā)[C].北京:北京理工大學(xué)出版社,2007:146.
[3]邵貝貝.單片機(jī)嵌入式應(yīng)用的在線開(kāi)發(fā)方法[M].北京:清華大學(xué)出版,2004.10:19.
[4]北京晶圓智通科技有限公司.雙通道數(shù)字隔離器-ADuM120x[DB/OL].北京:北京晶圓智通科技有限公司,2013.
作者簡(jiǎn)介:廖吉春(1975-),男,工程師,碩士,主要研究方向:汽車電子控制系統(tǒng)。
嵇黎明(1978-),女,工程師,本科,主要研究方向:電動(dòng)汽車動(dòng)力系統(tǒng)電氣集成。