汽車ECU 標定系統CCP 軟件的實現
(2)DAQ 處理機
DAQ 處理機的任務是根據主設備的需要,定時向CAN 總線上發送DAQ 數據。它由啟動從設備的DAQ 發送、停止從設備的DAQ 發送、執行DAQ 循環發送的任務3 個部分構成。
啟動或停止從設備的 DAQ 發送,由Command 處理機調用函數Start_DAQ (DAQ List
number ,)和Stop_DAQ (DAQ List number)來完成,該函數啟動或停止相應的DAQ 發送任務,
其示意性代碼如下:
Start_DAQ(INT8U DAQ_List_num) { //啟動第n 個DAQ_List
DAQ_List[n].Started = 1;
DAQ_List[n].Prepared = 1;
OSTaskCreate (第n 個DAQ_List 的任務); //調用系統函數,創建DAQ 發送任務,
并使任務進入調度
}}
Stop_DAQ(INT8U DAQ_List_num) { //停止第n 個DAQ_List
DAQ_List[n].Started = 0;
DAQ_List[n].Prepared = 0;
OSTaskDel (第n 個DAQ_List 的任務); //調用系統函數,刪除DAQ 發送任務
}
執行DAQ 循環發送的任務,需要按照ODT 設置把DAQ 數據發送到CAN 總線上,同時需要按照DAQ 周期要求循環執行,該任務示意性代碼如下:
void DAQ_task ( ) {
for( ; ; ) {
CCP.Upload(0); //根據ODT 設置把DAQ 數據發送到CAN 總線上
OSTimeDlyHMSM(Period); //調用RTOS 函數,等待一個周期的時間
}
}
5 結束語
經過多次反復不斷的實際調試,此 CCP 軟件程序在系統上運行穩定可靠,實現了基于MC9S12DP256 上的FLASH 區的標定。
這種采用環形緩沖區以及結合實時操作系統的 CCP 軟件程序設計,有效的避免在ECU標定過程中數據的丟失,并可以對多個ECU 同時進行在線標定,具有很強的實用價值。
參考文獻
?。?]陶恒燕,田江學,屈衛東. 基于MC68736 的CCP 軟件程序設計. 測控技術,2005,3:49-52.
[2]宋雪樺,潘波.汽車電控制單元CAN-RS232-USB 診斷與通訊模塊研制.微計算機信息,2006,2-2:226-228
?。?]邵貝貝. 單片機嵌入式應用的在線開發方法. 清華大學出版社,2004.
[4]Jean J.Labrosse. 嵌入式系統構件. 機械工業出版社,2002.
?。?]李雅博,張俊智,甘海云. 基于CCP 協議的HEV 用ECU 標定系統設計. 汽車工程,2004,4:375-378.
評論