?

面向異構網絡的整車控制器標定系統的實現*

2015-02-21 07:50張俊峰童天涯
電子技術應用 2015年12期
關鍵詞:上位數據包整車

張俊峰,肖 兵,童天涯

(華南理工大學 自動化科學與工程學院,廣東 廣州 510640)

0 引言

由于新能源汽車車載網絡的復雜性,傳統汽車領域的測量與標定工具并不適合新能源汽車的研發需求。新的通訊方式和標定協議也在不斷發展并得到應用,如歐洲汽車公司成立的標準化組織ASAP于1992年推出了基于CAN(Controller Area Network)總線的 CCP協議以及其后的升級版本XCP協議。在車載控制器的匹配過程中,需要根據整車的各種性能要求(如動力性、經濟性、排放及輔助功能等)來調整、優化和確定整車上各ECU(電子控制單元)的運行及控制參數的控制算法[1]。新能源汽車整車控制器包含并涉及多門學科的多個系統,如機械傳動領域、電機驅動領域和電化學等,它的本質就是一種異構網絡。由于傳統的標定系統沒有基于較好的標準和協議規范,也無法適應新能源車內部復雜異構網絡的苛刻需求,而國外產品產業鏈價格昂貴且技術開放度差,從而實現一套面向異構網絡的新能源車整車控制器測量與標定系統具有極高的應用價值。

1 XCP協議介紹

XCP協議是基于不同通訊平臺的測量標定協議的總稱,可以基于CAN總線、LIN總線、USB總線等不同總線,最常見的是“XCP on CAN”。CAN總線是德國BOSCH公司為現代汽車應用領域推出的一種多主局域網。它實現了汽車電子的網絡化,大幅度減少了汽車內的線束,實現了數據共享[2]。圖1為“XCP on CAN”的消息幀結構,幀頭為空,幀尾為填充位,消息最大長度為8 B,ID標識域用來辨識數據包類型和數據區內容,FILL為對齊選項,DAQ為 DTO(Data Transfer Object)數據包在數據請求列表中的索引,時間表示域為可選項,DATA存放相應數據[3]。XCP協議通訊模式采用主從通訊方式,主機發送命令,從機應答。XCP數據包分為兩種類型:指令傳輸包 CTO(Command Transfer Object)和同步數據包 DTO[4-6],主機發送不同的CTO建立與從機的邏輯連接,請求從機回應DTO,另外CTO可以請求啟動DAQ(數據采集)模式定時發送數據。

圖1 XCP on CAN消息幀的結構

2 標定系統總體架構

如圖2所示,整個標定系統框架遵循ASAP標準和XCP通訊協議。上位機通過Kvaser設備將USB信號轉為CAN信號與整車控制器進行通訊。A2L文件獨立于上位機和整車控制器,完成整車控制器所有相關參數的詳細定義和描述,上位機通過讀取A2L文件來完成對整車控制器的測量和標定工作。整車控制器通過不同的總線接口與外部子系統相連,不同的總線接口與子系統構成了復雜的異構網絡。

圖2 標定系統總體架構

該標定系統以PC機作為上位機,主要集成測量、標定和診斷模塊、數據庫管理模塊、XCP協議解析模塊及A2L文件解析器。測量、標定和診斷窗口采用C#技術搭建,可實現ECU數據的監測、在線修改和故障診斷功能。數據庫模塊可根據用戶需求完成對相關參數值的存儲、修改、刪除及查找功能。A2L文件解析器集成于上位機中,完成A2L文件的讀取和解析,將相關參數的定義轉換為相應存儲格式存儲,依此,上位機可精確找出具體參數的詳細地址、大小和數據格式等信息。XCP協議解析模塊完成XCP協議的封裝和解析。

底層標定軟件由XCP Driver、CAN Driver、應用層程序組成。XCP Driver實現整個XCP協議的協議層,包括XCP命令的解析、處理、回復及數據的采集等;CAN Driver作為XCP傳輸層,與PC機標定軟件進行通訊;應用層程序主要實現對特定任務的調度。其中,XCP Driver層可根據數據包的形式判斷是指令數據包CTO還是同步數據包DTO,從而決定調用的是命令處理機還是DAQ處理機。

3 標定系統上位機的實現

3.1 A2L文件解析器的設計

A2L文件以模塊為單元進行層次劃分,每個模塊以/begin開頭,以/end來結尾,MEASUREMENT模塊描述了監測參數的詳細信息,CHARACTERTSTIC模塊定義了標定參數的詳細信息,它們的數據格式參考關鍵字RECORD_LAYOUT,轉換方法參考關鍵字 COMPU_METHOD[4]。將A2L文件按照文件信息來處理,逐行讀取并進行字符串操作,取出其中描述的關鍵信息,按照轉換方式轉換即可轉換為相應物理值。因為解析過程比較復雜,采用先進后出的數據結構來建立相應關鍵字和嵌套關鍵字的邏輯關系,A2L文件解析流程如圖3所示。

圖3 A2L文件解析流程圖

3.2 XCP協議驅動程序的設計

PC機與ECU間基于XCP協議的通訊方式為標準通訊模式,即PC機發出命令得到ECU的應答后才能發出下一條命令。為了滿足基本要求,上位機中設計了4個XCP功能函數,分別為建立對話函數、參數標定函數、同步數據傳輸函數以及結束對話函數。XCP功能函數列表如表1所示。

Setting_Up_Session()函數建立會話連接并完成主從信息的交換。Calibration()函數可完成參數的標定功能。DAQ_data_transfer()函數可調用DAQ處理機監測數據。結束會話函數Closing_session()結束XCP對話。

4 底層軟件系統的設計

XCP的數據包分為兩種類型,指令數據包(CTO)和同步數據包(DTO),上位機發送指令包時,經過 XCP傳輸層將CAN信息發送給XCP驅動層進行解析處理,從中獲得指令碼,從CMD函數列表中運行對應指令碼的執行函數,進行相應處理并返回結果,XCP傳輸層將結果傳輸至CAN總線。當上位機發送同步數據包時,ECU開啟DAQ模式,從事先已經配置好的DAQ列表中,根據對應內存地址及地址長度信息,將對應內存中的數據通過XCP傳輸層傳輸至CAN總線。每次執行完CAN的發送和接收后,都要執行發送和接收完處理,設置狀態位,釋放緩沖區數據,以便于開始下一波處理。

表1 上位機XCP功能函數列表

通過設計不同的函數接口,將CAN傳輸層和CAN驅動層以及應用層銜接起來,實現基于XCP協議的數據通訊。各類函數接口和邏輯關系如圖4所示。

圖4 底層軟件不同層間的函數接口調用

各接口功能定義如下:

(1)Can_Init函數完成CAN模塊的初始化;

(2)XcpRx_CallBack函數對接收到的 CAN數據進行初步解析后放入相應通道的接收緩沖區中,設置接收緩沖區的狀態;

(3)XcpTx_CallBack函數對發送完 CAN數據后進行發送完處理,管理發送緩沖區;

(4)Can_Transmit函數完成對應郵箱中數據的發送,即CAN數據發送函數;

(5)Xcp_Init函數完成XCP驅動模塊的初始化工作;

(6)Cmd_Professor函數查詢各通道中的命令并進行解析,調用相應函數列表中的處理函數去執行命令;

(7)Daq_Processor函數完成 DAQ模式的處理,根據配置將DAQ列表指向的內容發送出去;

(8)Xcp_Event函數用于應用層觸發事件,可根據要求進行同步數據傳輸。

應用層用于對不同任務間的指揮和調度,系統測量與標定總流程圖如圖5所示。系統開始工作時,執行CONNECT命令,建立主從設備間的連接;讀取ECU的參數描述文件,即A2L文件;開始進行系統初始化,包括CAN初始化,XCP初始化,DAQ列表的配置及標定參數內存的初始化;接下來分析主機發送過來的會話命令,如果是開啟DAQ模式,則執行DAQ的自動開啟發送,在系統主循環程序中周期執行DAQ列表處理任務,周期由DAQ列表所配置的周期決定;如果是參數標定命令,則在A2L文件中查找參數的相關信息,將標定值下載到RAM,從而完成在線標定,為了保證掉電不丟失,需要將相應標定數據燒寫進FLASH單元;執行完判斷處理后進入系統主循環,循環遍歷是否有XCP命令處理等其他任務,有則執行,無則繼續等待。

圖5 標定系統主程序流程圖

5 標定系統的應用

將多核芯片為主控芯片的ECU通過接線端子與實驗室控制模擬臺架相連接,在PC端通過監控標定軟件界面來查看各類傳感器采集信號和整車控制器的一些重要參數的實時信息,并可以針對點火提前角、噴氣脈寬、替代率等重要參數進行在線修改和查看比較,以曲線的形式展現結果。通過標定軟件控制節氣門閥片的位置,改變和調節噴氣脈寬來對不同工況進行優化,經過大量實驗,標定的噴氣脈寬MAP圖如圖6所示,相應的外特性曲線如圖7所示。

上位機中的標定軟件采用C#語言進行開發,利用WPF技術創建控件并完成封裝,將圖形與代碼完美隔離開來,提高界面的美觀性、通用性和可移植性。上位機的測量標定工作可監測到整車控制器的主要參數以及傳感器的采集信號,分別以報文表、儀表盤和波形圖的形式顯示給用戶,其中包括蓄電池電壓、電池溫度、噴氣脈寬等重要參數。示例界面獲取的是不同轉速情況下的噴氣脈寬值,通過標定系統改變不同轉速值,可得到相應噴氣脈寬值變化情況。測量標定界面如圖8所示。

圖6 噴氣脈寬MAP圖

圖7 噴氣脈寬外特性曲線

6 總結

經過上述的研究和開發,通過實驗室配有整車控制器ECU的臺架上試驗,驗證了實時監測和在線標定功能。其特色在于該標定系統主要適用于新能源汽車,可通過對整車控制器的標定實現復雜異構網絡系統的標定和優化,采用國際ASAP標準和通用XCP協議,具有較好的移植性和通用性。

圖8 上位機監測界面

[1]李計融,鐘再敏.車載控制器匹配標定ASAP標準綜述[J].汽車技術,2004,10:1-4.

[2]顧衛鋼.手把手教你學DSP—基于TMS320X281x[M].北京:北京航空航天大學出版社,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標準的標定數據庫邏輯分析與編程實現[J].汽車技術,2012(1):10-13.

[6]ASAM_XCP_Part4-Interface-Specification_V1.0.0.

猜你喜歡
上位數據包整車
基于六自由度解耦分析的整車懸置設計
二維隱蔽時間信道構建的研究*
民用飛機飛行模擬機數據包試飛任務優化結合方法研究
SmartSniff
特斯拉 風云之老阿姨上位
“三扶”齊上位 決戰必打贏
基于ZigBee和VC上位機的教室智能監測管理系統
以新思路促推現代農業上位
整車低頻加速噪聲研究及改進
HFF6127G03EV純電動客車整車開發
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合