基于ASAP標準的發動機標定診斷系統設計
摘要:采用分層和模塊化思想設計出一種基于ASAP 標準的標定診斷系統。在上位機利用軟
件看門狗技術,解決了標定工具與發動機電控單元之間的故障快速定位問題。故障時上位機
自動保存標定數據,故障修復后自動下發該標定數據,進而防止標定數據丟失,避免重復性
的標定工作。并能讀取國外標定系統的數據庫文件,其可靠性和通用性進一步增強。
關鍵詞:標定系統;發動機;診斷;ASAP 標準;軟件看門狗
Design of engine calibration diagnosis system based on ASAP standards
Li Yin-guo Cao Geng-yan Cen Ming (Chongqing University of Posts and Telcoms,Chongqing China 400065)
Abstract:A calibration and diagnosis system based on ASAP standards was designed using layer and modularization idea. the malfunction between host computer and ECU was positioned quickly
through the software watchdog technology in the host computer. and the calibrated datas were autosaved into the Caliration tool. After the malfunction was repaired ,these datas were sent to the RAM of ECU. So this can avoid the datas’losing and the calibration’s repetition. Also it can read foreign calibration software’s description file.it’s reliability and universality was strengthened.
Key words:calibration system, Engine, diagnosis, ASAP standards , Software Watchdog
引言
發動機電子控制單元(ECU)是車用發動機控制系統的核心,它能夠根據發動機的運行
情況來提供最佳空燃比和點火時間,進而使發動機的動力性、經濟性和尾氣排放達到最優狀
態[1]。因此開發一個功能可靠且方便靈活的的標定工具非常重要。它能縮短ECU 的開發周期,
減小匹配實驗工作量,降低開發成本,幫助標定員在短時間內獲得最佳的標定參數。
從現有資料來看,國內設計的標定系統一般具有標定、監測和診斷功能。但其診斷功能
只是對ECU提供的故障信息在上位機顯示。在上位機和ECU之間的故障快速定位和修復方面沒
有介紹,本文設計的標定診斷系統除了具有在線標定、實時監測并能讀取ECU中的故障信息
功能外,在標定上位機利用軟件看門狗技術實現了上位機與ECU之間的故障快速定位,并具
有自動保存、加載、回讀比較數據等功能。增強了標定系統的可靠性和靈活性。
1 ASAP標準體系結構
ASAP(Arbeitskreis zur Standardisierung von Applikationssystemen)指的是應用系統標準
化組織,為了使車用電子產品在開發期間所用的工具和方法具有兼容性和可交換性而提出該
國際標準[2]。為了實現對應用系統進行測量、標定和診斷,ASAP工作組根據MCD(Measurement,
Calibration and Diagnostics)模型將該標準分成ASAP1、ASAP2和ASAP3三個子標準。
ASAP1標準為應用系統和控制設備之間提供接口;ASAP2標準對ECU的內部各種參數、外部
接口信息、通信方法等進行了標準化的描述,按此標準生成的ASAP描述文件是各類控制設備
的數據交換平臺;ASAP3標準為自動系統(或用戶)與MCD系統之間提供統一接口,用戶只需
通過調用MCD系統提供的接口函數來完成測量、標定和診斷等功能。
2 標定系統整體設計
采用PC機作為上位機,通過USB-CAN通信卡連到發動機ECU,實現對發動機ECU的標定、
監測、診斷等操作。上位機與ECU之間的通信和數據交換平臺分別由ASAP標準中的CCP協議和ASAP2標準生成的ASAP描述文件(.A2L文件)來實現。上位機標定軟件采用分層和模塊化思
想設計,包括數據層、表示層和通信層(如圖1)。其中數據層包括初始化子系統和數據管
理子系統,初始化子系統主要是完成CAN通信模塊和數據的初始化等操作。數據管理子系統
主要是完成數據的保存、加載、回放和A2L數據庫的管理等操作;表示層包括標定監測子系
統和診斷子系統,該層主要完成對發動機ECU的標定、監測和診斷等操作;通信層主要是完
成上位機與ECU之間的通信操作。
圖1 標定診斷系統的總體框架圖
由ASAP編輯器生成的A2l數據庫是整個標定系統的數據交換平臺,因此在系統運行開始
首先導入A2L文件,然后調用CAN通信模塊提供的接口庫函數完成CAN通信模塊初始化等操作,
建立連接后可對多個ECU進行標定和監測。故障診斷(ECU故障信息上傳顯示和標定系統的故
障診斷)貫穿于標定和監測的整個過程中(如圖2)。
圖2 上位機主流程圖 圖3 標定數據初始化流程圖
2.1 初始化子系統的設計
在此子系統中包括USB-CAN模塊的初始化、標定參數的初始化和DAQ參數的初始化配置。
上位機通過調用CAN通信模塊的相關接口庫函數依次進行下列初始化操作:打開CAN通信模
塊、選中與ECU連接的CAN口、配置各CAN口相關參數(驗收碼、屏蔽碼、定時器、濾波器、
模式等)、啟動CAN通信設備等。標定參數的初始化有兩種方式:一種是從ECU的RAM區讀取標
定數據到上位機標定窗口,另一種是從上位機的標定數據文件中加載到程序中進行標定數據
的初始化(如圖3)。在監測參數上傳之前,對需要監測的數據進行DAQ配置,不同上傳周期
的監測數據配置到不同的DAQ表中,這需要上位機發送DAQ配置命令和START_STOP命令要求
ECU中的DAQ處理機配置并開啟不同DAQ表進行上傳并顯示監測數據。在標定系統運行期間,
通過開啟或關閉某個DAQ表,可以實時監測到所開啟DAQ表的數據上傳數據。
2.2 數據管理子系統的設計
在此子系統中,主要包括A2L數據庫的管理、數據的保存、打印、回放和比較等功能。
A2l數據庫是整個標定系統的數據交換平臺,它記錄了控制器內部的各種參數、外部接
口信息、通信方法等詳細信息。因此對其管理尤為重要。在通訊協議中采用地址結合數據段
長度的方法實現數據的下載和修改。上位機程序負責查詢A2L數據庫以獲得控制參數的地址
和數據段長度等信息[3],A2L數據庫的使用減輕了ECU對大量標定變量的定義和存儲的負擔,
縮短占用微處理器的運算時間。當ECU中的參數信息改變時,只需用ASAP數據庫編輯器對原
有A2L文件的改動部分進行刷新。標定系統只需在新的A2L文件下對ECU進行標定、監測等操
作。因此,當ECU有關信息的改變時不會對標定軟件的代碼做任何改動,同時也避免因標定
軟件內部代碼的局部改動所帶來的隱患[4],增加了標定系統的靈活性。
為了便于對監測到的數據進行離線分析比較,該系統具有保存監測數據并對其進行離線
分析、波形回放和打印功能。
2.3 診斷子系統的設計
在此子系統中,除了讀取ECU中的故障信息外,在標定上位機利用軟件看門狗技術實現
了標定系統的故障快速定位,大大減少故障查找時間。故障時及時地將已標定數據進行保存,
避免因標定數據的丟失而進行重復性地標定工作,提高了標定系統的可靠性(如圖4、圖5)。
評論