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

4 監(jiān)控系統(tǒng)的測試
完成了PC 機的監(jiān)控系統(tǒng)程序設(shè)計后,,為了驗證程序是否正常工作,,同時為了驗證設(shè)計的下位機DSP 數(shù)據(jù)采集與通信程序的正確性。在這里將DSP數(shù)據(jù)采集與通信程序和PC 機程序聯(lián)合起來進行調(diào)試,。將雙方的波特率設(shè)為1M 波特,。DSP 節(jié)點的測試程序包含A/D 采樣(模擬加速踏板位置)和通信程序,DSP 運行后由定時中斷(20ms)進行數(shù)據(jù)采集及處理,,將信號通過CAN總線上傳到上位機(PC 機),。另一方面,DSP 自動判斷是否有PC 機發(fā)送來的指令,,如電池電壓,、電池電流、加速踏板位置和工作模式等,。上位機接收到數(shù)據(jù)后,,進行處理并交給監(jiān)控系統(tǒng)進行顯示。電機控制器節(jié)點的測試界面如圖3 所示,。

5 結(jié)論
為適合電動汽車監(jiān)控的需求,,組建了基于CAN總線的電動汽車仿真測試平臺,配備專業(yè)測試儀器后可組建CAN-BUS 實驗室,。該系統(tǒng)具有良好的擴展性,,可方便增加需要監(jiān)控的汽車電子控制單元(ECU)。此外,,通過VB 與ACCESS 技術(shù)的良好銜接,,具有數(shù)據(jù)實時保存,為后期的數(shù)據(jù)處理提供條件。為了保證各個消息能及時被相關(guān)節(jié)點采集并處理,,需要對消息的調(diào)度策略進行深入研究,,進一步優(yōu)化網(wǎng)絡(luò)管理,特別是網(wǎng)絡(luò)故障診斷以及處理機制,。