基于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)。
2.3.1 故障快速定位與數據的自動保存
在上位機的接收中斷函數中設置一個全局變量ConnectFlag并使其值賦為0,只要有監測
數據周期性上傳(本文三個DAQ表的數據上傳周期是10ms、20ms、50ms)ConnectFlag一直為
0,當超過50ms,該變量就會在定時器函數里不斷加1, 當大于指定的數值時(在指定的時
間內沒有數據上傳),在上位機出現故障提示。根據USB-CAN提供的接口函數判斷故障是ECU
與USB-CAN模塊之間,還是USB-CAN與ECU之間。故障時在上位機調用保存函數對已標定數據
進行保存,做好標定數據的備份,避免因標定數據丟失而進行重新標定,減少標定工作量。
2.3.2 故障修復與數據的自動加載
根據故障提示快速作出故障定位,故障排除后根據故障提示點擊主界面修復菜單中的復
位按鈕,復位成功同時自動將已標定的數據從上位機的保存文件中加載到標定窗口并下發,
然后繼續標定操作,不需重新進行標定。修復菜單中,對于ECU斷電的情況,ECU上電后進行
修復時,需要上位機重新下發配置DAQ命令和啟動DAQ表等相關命令,因為一旦斷電或者復位,
ECU與上位機的相關命令需要重新發送才能完成兩者的通信;對于ECU與USB-CAN之間線路故
障的情況,只需將線路連好即可繼續上位機與ECU之間的通信;對于USB-CAN與上位機故障的
情況,需要在上位機先關閉CAN-USB設備再打開并初始化設備,再可繼續標定工作。
2.4 標定監測子系統的設計
在上位機的標定窗口完成ECU控制參數的在線標定。通過在線修改標定窗口中的參數值
就可以對ECU中RAM區的相關參數值進行優化,標定后將RAM區的標定值燒寫到FLASH中。同時
還可以將ECU中的標定參數值讀當標定子窗口并與當前標定窗口值進行比較,確保下發標定
值的正確性。標定流程圖如圖4所示。此外,該子系統能夠實時監測ECU采集到的數據,并將
數據進行多樣化顯示,能直觀地顯示所監測的數據及其變化規律。上位機一次發送命令就可
要求從設備周期性地自動上傳DAQ監測數據(具體見圖5)。
2.5 通信子系統的設計
通信子系統主要為上位機與ECU之間提供通信接口。所用通信協議是CCP協議[5],該協議
都是從ASAP1a子標準中獨立出來的通信標準,該協議具有通信可靠,實時性強、通用性好等
優點。在設計中,通過ccpCommand()函數調用不同的CCP命令完成命令的下發,調用fGetData()
函數來接收ECU的返回命令并讀取ECU中上傳的監測數據。ECU根據上位機的DAQ配置命令和啟動DAQ命令周期性地上傳監測數據。
圖4 標定流程圖 圖5 監測流程圖
3 標定系統底層軟件的設計
圖6 底層軟件設計
如圖6所示,為了增加底層通信模塊的通用性,采用了模塊化設計思想,將CAN Driver
和CCP Driver分離。Command 處理機是CCP Driver的主要組成部分;DAQ處理機是用來采集
并按要求周期性地上傳不同DAQ表的監測參數當前值。兩處理機組成控制器的CCP Driver,
是對標定協議內容的解析和實現。為了保證CAN通信的可靠性,CAN Driver采用環形緩沖機
制,并通過操作系統消息溝通中斷子程和系統任務。通過更改CAN Driver實現不同ECU硬件
平臺的移植,并且可以對新的ECU進行標定,增加了底層通信模塊的兼容性和通用性。
4 結束語
本文設計的標定診斷系統集標定、監測、診斷等功能為一體。在保證系統的靈活性和通
信實時性的基礎上,在上位機利用軟件看門狗技術實現了標定系統故障的快速診斷與修復、
數據的自動保存和加載功能,進而防止標定數據丟失,避免重復性地標定工作,使整個標定
系統的可靠性得到保證。實驗表明,該系統具有較高的實時性,靈活性和可靠性。
評論
查看更多