文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.035
中文引用格式: 張俊峰,肖兵,童天涯. 面向異構(gòu)網(wǎng)絡(luò)的整車控制器標定系統(tǒng)的實現(xiàn)[J].電子技術(shù)應(yīng)用,2015,41(12):133-136.
英文引用格式: Zhang Junfeng,Xiao Bing,Tong Tianya. The implementation of vehicle controller calibration system for heterogeneous network[J].Application of Electronic Technique,2015,41(12):133-136.
0 引言
由于新能源汽車車載網(wǎng)絡(luò)的復(fù)雜性,傳統(tǒng)汽車領(lǐng)域的測量與標定工具并不適合新能源汽車的研發(fā)需求。新的通訊方式和標定協(xié)議也在不斷發(fā)展并得到應(yīng)用,如歐洲汽車公司成立的標準化組織ASAP于1992年推出了基于CAN(Controller Area Network)總線的CCP協(xié)議以及其后的升級版本XCP協(xié)議。在車載控制器的匹配過程中,需要根據(jù)整車的各種性能要求(如動力性、經(jīng)濟性、排放及輔助功能等)來調(diào)整、優(yōu)化和確定整車上各ECU(電子控制單元)的運行及控制參數(shù)的控制算法[1]。新能源汽車整車控制器包含并涉及多門學(xué)科的多個系統(tǒng),如機械傳動領(lǐng)域、電機驅(qū)動領(lǐng)域和電化學(xué)等,它的本質(zhì)就是一種異構(gòu)網(wǎng)絡(luò)。由于傳統(tǒng)的標定系統(tǒng)沒有基于較好的標準和協(xié)議規(guī)范,也無法適應(yīng)新能源車內(nèi)部復(fù)雜異構(gòu)網(wǎng)絡(luò)的苛刻需求,而國外產(chǎn)品產(chǎn)業(yè)鏈價格昂貴且技術(shù)開放度差,從而實現(xiàn)一套面向異構(gòu)網(wǎng)絡(luò)的新能源車整車控制器測量與標定系統(tǒng)具有極高的應(yīng)用價值。
1 XCP協(xié)議介紹
XCP協(xié)議是基于不同通訊平臺的測量標定協(xié)議的總稱,可以基于CAN總線、LIN總線、USB總線等不同總線,最常見的是“XCP on CAN”。CAN總線是德國BOSCH公司為現(xiàn)代汽車應(yīng)用領(lǐng)域推出的一種多主局域網(wǎng)。它實現(xiàn)了汽車電子的網(wǎng)絡(luò)化,大幅度減少了汽車內(nèi)的線束,實現(xiàn)了數(shù)據(jù)共享[2]。圖1為“XCP on CAN”的消息幀結(jié)構(gòu),幀頭為空,幀尾為填充位,消息最大長度為8 B,ID標識域用來辨識數(shù)據(jù)包類型和數(shù)據(jù)區(qū)內(nèi)容,F(xiàn)ILL為對齊選項,DAQ為DTO(Data Transfer Object)數(shù)據(jù)包在數(shù)據(jù)請求列表中的索引,時間表示域為可選項,DATA存放相應(yīng)數(shù)據(jù)[3]。XCP協(xié)議通訊模式采用主從通訊方式,主機發(fā)送命令,從機應(yīng)答。XCP數(shù)據(jù)包分為兩種類型:指令傳輸包CTO(Command Transfer Object)和同步數(shù)據(jù)包DTO[4-6],主機發(fā)送不同的CTO建立與從機的邏輯連接,請求從機回應(yīng)DTO,另外CTO可以請求啟動DAQ(數(shù)據(jù)采集)模式定時發(fā)送數(shù)據(jù)。
2 標定系統(tǒng)總體架構(gòu)
如圖2所示,整個標定系統(tǒng)框架遵循ASAP標準和XCP通訊協(xié)議。上位機通過Kvaser設(shè)備將USB信號轉(zhuǎn)為CAN信號與整車控制器進行通訊。A2L文件獨立于上位機和整車控制器,完成整車控制器所有相關(guān)參數(shù)的詳細定義和描述,上位機通過讀取A2L文件來完成對整車控制器的測量和標定工作。整車控制器通過不同的總線接口與外部子系統(tǒng)相連,不同的總線接口與子系統(tǒng)構(gòu)成了復(fù)雜的異構(gòu)網(wǎng)絡(luò)。
該標定系統(tǒng)以PC機作為上位機,主要集成測量、標定和診斷模塊、數(shù)據(jù)庫管理模塊、XCP協(xié)議解析模塊及A2L文件解析器。測量、標定和診斷窗口采用C#技術(shù)搭建,可實現(xiàn)ECU數(shù)據(jù)的監(jiān)測、在線修改和故障診斷功能。數(shù)據(jù)庫模塊可根據(jù)用戶需求完成對相關(guān)參數(shù)值的存儲、修改、刪除及查找功能。A2L文件解析器集成于上位機中,完成A2L文件的讀取和解析,將相關(guān)參數(shù)的定義轉(zhuǎn)換為相應(yīng)存儲格式存儲,依此,上位機可精確找出具體參數(shù)的詳細地址、大小和數(shù)據(jù)格式等信息。XCP協(xié)議解析模塊完成XCP協(xié)議的封裝和解析。
底層標定軟件由XCP Driver、CAN Driver、應(yīng)用層程序組成。XCP Driver實現(xiàn)整個XCP協(xié)議的協(xié)議層,包括XCP命令的解析、處理、回復(fù)及數(shù)據(jù)的采集等;CAN Driver作為XCP傳輸層,與PC機標定軟件進行通訊;應(yīng)用層程序主要實現(xiàn)對特定任務(wù)的調(diào)度。其中,XCP Driver層可根據(jù)數(shù)據(jù)包的形式判斷是指令數(shù)據(jù)包CTO還是同步數(shù)據(jù)包DTO,從而決定調(diào)用的是命令處理機還是DAQ處理機。
3 標定系統(tǒng)上位機的實現(xiàn)
3.1 A2L文件解析器的設(shè)計
A2L文件以模塊為單元進行層次劃分,每個模塊以/begin開頭,以/end來結(jié)尾,MEASUREMENT模塊描述了監(jiān)測參數(shù)的詳細信息,CHARACTERTSTIC模塊定義了標定參數(shù)的詳細信息,它們的數(shù)據(jù)格式參考關(guān)鍵字RECORD_LAYOUT,轉(zhuǎn)換方法參考關(guān)鍵字COMPU_METHOD[4]。將A2L文件按照文件信息來處理,逐行讀取并進行字符串操作,取出其中描述的關(guān)鍵信息,按照轉(zhuǎn)換方式轉(zhuǎn)換即可轉(zhuǎn)換為相應(yīng)物理值。因為解析過程比較復(fù)雜,采用先進后出的數(shù)據(jù)結(jié)構(gòu)來建立相應(yīng)關(guān)鍵字和嵌套關(guān)鍵字的邏輯關(guān)系,A2L文件解析流程如圖3所示。
3.2 XCP協(xié)議驅(qū)動程序的設(shè)計
PC機與ECU間基于XCP協(xié)議的通訊方式為標準通訊模式,即PC機發(fā)出命令得到ECU的應(yīng)答后才能發(fā)出下一條命令。為了滿足基本要求,上位機中設(shè)計了4個XCP功能函數(shù),分別為建立對話函數(shù)、參數(shù)標定函數(shù)、同步數(shù)據(jù)傳輸函數(shù)以及結(jié)束對話函數(shù)。XCP功能函數(shù)列表如表1所示。
Setting_Up_Session()函數(shù)建立會話連接并完成主從信息的交換。Calibration()函數(shù)可完成參數(shù)的標定功能。DAQ_data_transfer()函數(shù)可調(diào)用DAQ處理機監(jiān)測數(shù)據(jù)。結(jié)束會話函數(shù)Closing_session()結(jié)束XCP對話。
4 底層軟件系統(tǒng)的設(shè)計
XCP的數(shù)據(jù)包分為兩種類型,指令數(shù)據(jù)包(CTO)和同步數(shù)據(jù)包(DTO),上位機發(fā)送指令包時,經(jīng)過XCP傳輸層將CAN信息發(fā)送給XCP驅(qū)動層進行解析處理,從中獲得指令碼,從CMD函數(shù)列表中運行對應(yīng)指令碼的執(zhí)行函數(shù),進行相應(yīng)處理并返回結(jié)果,XCP傳輸層將結(jié)果傳輸至CAN總線。當上位機發(fā)送同步數(shù)據(jù)包時,ECU開啟DAQ模式,從事先已經(jīng)配置好的DAQ列表中,根據(jù)對應(yīng)內(nèi)存地址及地址長度信息,將對應(yīng)內(nèi)存中的數(shù)據(jù)通過XCP傳輸層傳輸至CAN總線。每次執(zhí)行完CAN的發(fā)送和接收后,都要執(zhí)行發(fā)送和接收完處理,設(shè)置狀態(tài)位,釋放緩沖區(qū)數(shù)據(jù),以便于開始下一波處理。
通過設(shè)計不同的函數(shù)接口,將CAN傳輸層和CAN驅(qū)動層以及應(yīng)用層銜接起來,實現(xiàn)基于XCP協(xié)議的數(shù)據(jù)通訊。各類函數(shù)接口和邏輯關(guān)系如圖4所示。
各接口功能定義如下:
(1)Can_Init函數(shù)完成CAN模塊的初始化;
(2)XcpRx_CallBack函數(shù)對接收到的CAN數(shù)據(jù)進行初步解析后放入相應(yīng)通道的接收緩沖區(qū)中,設(shè)置接收緩沖區(qū)的狀態(tài);
(3)XcpTx_CallBack函數(shù)對發(fā)送完CAN數(shù)據(jù)后進行發(fā)送完處理,管理發(fā)送緩沖區(qū);
(4)Can_Transmit函數(shù)完成對應(yīng)郵箱中數(shù)據(jù)的發(fā)送,即CAN數(shù)據(jù)發(fā)送函數(shù);
(5)Xcp_Init函數(shù)完成XCP驅(qū)動模塊的初始化工作;
(6)Cmd_Professor函數(shù)查詢各通道中的命令并進行解析,調(diào)用相應(yīng)函數(shù)列表中的處理函數(shù)去執(zhí)行命令;
(7)Daq_Processor函數(shù)完成DAQ模式的處理,根據(jù)配置將DAQ列表指向的內(nèi)容發(fā)送出去;
(8)Xcp_Event函數(shù)用于應(yīng)用層觸發(fā)事件,可根據(jù)要求進行同步數(shù)據(jù)傳輸。
應(yīng)用層用于對不同任務(wù)間的指揮和調(diào)度,系統(tǒng)測量與標定總流程圖如圖5所示。系統(tǒng)開始工作時,執(zhí)行CONNECT命令,建立主從設(shè)備間的連接;讀取ECU的參數(shù)描述文件,即A2L文件;開始進行系統(tǒng)初始化,包括CAN初始化,XCP初始化,DAQ列表的配置及標定參數(shù)內(nèi)存的初始化;接下來分析主機發(fā)送過來的會話命令,如果是開啟DAQ模式,則執(zhí)行DAQ的自動開啟發(fā)送,在系統(tǒng)主循環(huán)程序中周期執(zhí)行DAQ列表處理任務(wù),周期由DAQ列表所配置的周期決定;如果是參數(shù)標定命令,則在A2L文件中查找參數(shù)的相關(guān)信息,將標定值下載到RAM,從而完成在線標定,為了保證掉電不丟失,需要將相應(yīng)標定數(shù)據(jù)燒寫進FLASH單元;執(zhí)行完判斷處理后進入系統(tǒng)主循環(huán),循環(huán)遍歷是否有XCP命令處理等其他任務(wù),有則執(zhí)行,無則繼續(xù)等待。
5 標定系統(tǒng)的應(yīng)用
將多核芯片為主控芯片的ECU通過接線端子與實驗室控制模擬臺架相連接,在PC端通過監(jiān)控標定軟件界面來查看各類傳感器采集信號和整車控制器的一些重要參數(shù)的實時信息,并可以針對點火提前角、噴氣脈寬、替代率等重要參數(shù)進行在線修改和查看比較,以曲線的形式展現(xiàn)結(jié)果。通過標定軟件控制節(jié)氣門閥片的位置,改變和調(diào)節(jié)噴氣脈寬來對不同工況進行優(yōu)化,經(jīng)過大量實驗,標定的噴氣脈寬MAP圖如圖6所示,相應(yīng)的外特性曲線如圖7所示。
上位機中的標定軟件采用C#語言進行開發(fā),利用WPF技術(shù)創(chuàng)建控件并完成封裝,將圖形與代碼完美隔離開來,提高界面的美觀性、通用性和可移植性。上位機的測量標定工作可監(jiān)測到整車控制器的主要參數(shù)以及傳感器的采集信號,分別以報文表、儀表盤和波形圖的形式顯示給用戶,其中包括蓄電池電壓、電池溫度、噴氣脈寬等重要參數(shù)。示例界面獲取的是不同轉(zhuǎn)速情況下的噴氣脈寬值,通過標定系統(tǒng)改變不同轉(zhuǎn)速值,可得到相應(yīng)噴氣脈寬值變化情況。測量標定界面如圖8所示。
6 總結(jié)
經(jīng)過上述的研究和開發(fā),通過實驗室配有整車控制器ECU的臺架上試驗,驗證了實時監(jiān)測和在線標定功能。其特色在于該標定系統(tǒng)主要適用于新能源汽車,可通過對整車控制器的標定實現(xiàn)復(fù)雜異構(gòu)網(wǎng)絡(luò)系統(tǒng)的標定和優(yōu)化,采用國際ASAP標準和通用XCP協(xié)議,具有較好的移植性和通用性。
參考文獻
[1] 李計融,鐘再敏.車載控制器匹配標定ASAP標準綜述[J].汽車技術(shù),2004,10:1-4.
[2] 顧衛(wèi)鋼.手把手教你學(xué)DSP—基于TMS320X281x[M].北京:北京航空航天大學(xué)出版社,2011.
[3] ASAM_XCP_Part2-Protocol-Layer-Specification_V1.0.0.
[4] ASAM_XCP_Part3-Transport-Layer-Specification_XCP onCAN_V1.0.0.
[5] 宋維群,楊世春,李明,等.基于ASAM標準的標定數(shù)據(jù)庫邏輯分析與編程實現(xiàn)[J].汽車技術(shù),2012(1):10-13.
[6] ASAM_XCP_Part4-Interface-Specification_V1.0.0.