1 前言
電動(dòng)汽車中的電控單元多、內(nèi)部空間小、環(huán)境干擾大,對(duì)控制系統(tǒng)、通信系統(tǒng)提出了更高的要求。CAN 以其良好的運(yùn)行特性,極高的可靠性和獨(dú)特的設(shè)計(jì),特別適合電動(dòng)汽車各電子控制單元之間的通信。為了更好地在實(shí)驗(yàn)室進(jìn)行研究,建立了一個(gè)功能比較完善的試驗(yàn)測(cè)試平臺(tái),能夠?qū)AN 總線系統(tǒng)及其網(wǎng)絡(luò)協(xié)議進(jìn)行研究。首先,基于DSP 的開發(fā)設(shè)計(jì)了電機(jī)控制器節(jié)點(diǎn)的通信程序。其次,深入了解CAN 總線在電動(dòng)汽車中的應(yīng)用需求,設(shè)計(jì)了CAN總線的應(yīng)用層協(xié)議。最后,為檢驗(yàn)設(shè)計(jì)協(xié)議的可行性,利用VB6.0 開發(fā)了電動(dòng)汽車的監(jiān)控系統(tǒng),并為監(jiān)控?cái)?shù)據(jù)建立了數(shù)據(jù)庫,方便管理數(shù)據(jù)。
2 電機(jī)控制器節(jié)點(diǎn)的設(shè)計(jì)
針對(duì)電動(dòng)汽車電機(jī)控制器的特點(diǎn),選用TI 公司的TMS320LF2407 芯片作為電機(jī)控制器的處理器。采用模塊化的設(shè)計(jì)思想,編寫了電機(jī)控制器節(jié)點(diǎn)的通信程序,可方便移植到基于DSP 的電機(jī)控制器或其他控制單元中。在電動(dòng)汽車的CAN 總線系統(tǒng)中,電機(jī)控制器的實(shí)時(shí)性要求高,屬于高速節(jié)點(diǎn),波特率設(shè)為1 兆波特。電機(jī)控制器節(jié)點(diǎn)主要是接收總線上傳來的電機(jī)工作模式、SOC、車速、加速踏板位置和制動(dòng)踏板位置等控制信息,同時(shí)發(fā)送電機(jī)的工作溫度、電機(jī)故障、工作狀態(tài)等實(shí)時(shí)信息。本文中利用DSP2407的郵箱2 作為接收郵箱,郵箱5 作為發(fā)送郵箱,20 毫秒定時(shí)發(fā)送一次。
3 電動(dòng)汽車監(jiān)控系統(tǒng)設(shè)計(jì)
在實(shí)驗(yàn)室模擬電動(dòng)汽車CAN 總線系統(tǒng),以PC 機(jī)(帶USB-CAN 模塊)作為電動(dòng)汽車的總控制器。利用CAN-bus 通用測(cè)試軟件的運(yùn)行機(jī)制和工作原理,設(shè)計(jì)了基于PC 機(jī)的電動(dòng)汽車CAN 總線技術(shù)的監(jiān)控系統(tǒng)。
3.1 監(jiān)控系統(tǒng)概述
監(jiān)控系統(tǒng)通過控制臺(tái)(帶USB-CAN 模塊的PC 機(jī))對(duì)電機(jī)控制器、電池控制器以及離合控制器進(jìn)行監(jiān)控。運(yùn)行主界面如圖1 所示。能根據(jù)需要在CAN 總線中收發(fā)參數(shù),實(shí)現(xiàn)對(duì)總線各節(jié)點(diǎn)的監(jiān)視和控制。例如,電機(jī)參數(shù),包括SOC、車速、故障等級(jí)、工作模式、故障代碼、工作溫度等。監(jiān)控系統(tǒng)還可根據(jù)系統(tǒng)擴(kuò)展需要,提供創(chuàng)建節(jié)點(diǎn)的功能。另外,還提供數(shù)據(jù)管理功能。在監(jiān)控系統(tǒng)執(zhí)行過程中,采集到的數(shù)據(jù)會(huì)被記錄到Microsoft Access 數(shù)據(jù)庫中,可以用表格形式實(shí)時(shí)顯視,還可以通過輸出按鈕由軟件Excel 打開。
3.2 監(jiān)控系統(tǒng)通信協(xié)議
在CAN 協(xié)議中只定義了數(shù)據(jù)鏈路層和物理層兩層協(xié)議,缺乏對(duì)信息處理的規(guī)范,而一個(gè)完整的網(wǎng)絡(luò)系統(tǒng)中離不開人機(jī)交互的應(yīng)用進(jìn)程,所以必須由用戶定義應(yīng)用層協(xié)議。根據(jù)電動(dòng)汽車運(yùn)行的特點(diǎn),設(shè)計(jì)了監(jiān)控系統(tǒng)的通信協(xié)議。大體上將電動(dòng)汽車上各電子控制單元(ECU)分為高速和低速節(jié)點(diǎn)兩大類。其中高速節(jié)點(diǎn)包括電機(jī)控制器、發(fā)動(dòng)機(jī)控制器、電池控制器、ABS/ASR控制單元和能量管理單元等,在它們的ID 碼設(shè)置較高的優(yōu)先級(jí)。低速節(jié)點(diǎn)包括空調(diào)系統(tǒng)、儀表顯示系統(tǒng)、車燈系統(tǒng)等。表1 給出了電動(dòng)汽車各節(jié)點(diǎn)之間接收及發(fā)送的信號(hào)類型。根據(jù)電動(dòng)汽車各節(jié)點(diǎn)之間接收及發(fā)送的數(shù)據(jù),對(duì)各節(jié)點(diǎn)之間需要交換的信息的類型,所包含的參數(shù)以及表示方法有具體的說明。例如在電機(jī)控制器節(jié)點(diǎn)發(fā)送的8 個(gè)字節(jié)分別定義為:電機(jī)轉(zhuǎn)速(雙字節(jié))、電機(jī)轉(zhuǎn)矩(雙字節(jié))、工作溫度(單字節(jié))、錯(cuò)誤等級(jí)及代碼(單字節(jié))、工作模式(單字節(jié))還有一個(gè)字節(jié)作為備用。表1 電動(dòng)汽車各節(jié)點(diǎn)之間接收及發(fā)送的數(shù)據(jù)明。例如在電機(jī)控制器節(jié)點(diǎn)發(fā)送的8 個(gè)字節(jié)分別定義為:電機(jī)轉(zhuǎn)速(雙字節(jié))、電機(jī)轉(zhuǎn)矩(雙字節(jié))、工作溫度(單字節(jié))、錯(cuò)誤等級(jí)及代碼(單字節(jié))、工作模式(單字節(jié))還有一個(gè)字節(jié)作為備用。
3.3 監(jiān)控系統(tǒng)程序設(shè)計(jì)
監(jiān)控系統(tǒng)是要完成對(duì)各節(jié)點(diǎn)的監(jiān)控,按照設(shè)計(jì)需求,可將整個(gè)設(shè)計(jì)分為五個(gè)設(shè)計(jì)窗體,包括主窗體、電機(jī)控制器監(jiān)控窗體、電池控制器監(jiān)控窗體、離合控制器監(jiān)控窗體和創(chuàng)建節(jié)點(diǎn)窗體,并進(jìn)行模塊化設(shè)計(jì)。其中創(chuàng)建節(jié)點(diǎn)窗體可根據(jù)需要方便創(chuàng)建監(jiān)控窗口,設(shè)置節(jié)點(diǎn)ID 號(hào)和監(jiān)控變量。監(jiān)控系統(tǒng)程序設(shè)計(jì)流程圖如圖2 所示。
4 監(jiān)控系統(tǒng)的測(cè)試
完成了PC 機(jī)的監(jiān)控系統(tǒng)程序設(shè)計(jì)后,為了驗(yàn)證程序是否正常工作,同時(shí)為了驗(yàn)證設(shè)計(jì)的下位機(jī)DSP 數(shù)據(jù)采集與通信程序的正確性。在這里將DSP數(shù)據(jù)采集與通信程序和PC 機(jī)程序聯(lián)合起來進(jìn)行調(diào)試。將雙方的波特率設(shè)為1M 波特。DSP 節(jié)點(diǎn)的測(cè)試程序包含A/D 采樣(模擬加速踏板位置)和通信程序,DSP 運(yùn)行后由定時(shí)中斷(20ms)進(jìn)行數(shù)據(jù)采集及處理,將信號(hào)通過CAN總線上傳到上位機(jī)(PC 機(jī))。另一方面,DSP 自動(dòng)判斷是否有PC 機(jī)發(fā)送來的指令,如電池電壓、電池電流、加速踏板位置和工作模式等。上位機(jī)接收到數(shù)據(jù)后,進(jìn)行處理并交給監(jiān)控系統(tǒng)進(jìn)行顯示。電機(jī)控制器節(jié)點(diǎn)的測(cè)試界面如圖3 所示。
5 結(jié)論
為適合電動(dòng)汽車監(jiān)控的需求,組建了基于CAN總線的電動(dòng)汽車仿真測(cè)試平臺(tái),配備專業(yè)測(cè)試儀器后可組建CAN-BUS 實(shí)驗(yàn)室。該系統(tǒng)具有良好的擴(kuò)展性,可方便增加需要監(jiān)控的汽車電子控制單元(ECU)。此外,通過VB 與ACCESS 技術(shù)的良好銜接,具有數(shù)據(jù)實(shí)時(shí)保存,為后期的數(shù)據(jù)處理提供條件。為了保證各個(gè)消息能及時(shí)被相關(guān)節(jié)點(diǎn)采集并處理,需要對(duì)消息的調(diào)度策略進(jìn)行深入研究,進(jìn)一步優(yōu)化網(wǎng)絡(luò)管理,特別是網(wǎng)絡(luò)故障診斷以及處理機(jī)制。