基于ASAP標(biāo)準(zhǔn)的發(fā)動(dòng)機(jī)標(biāo)定診斷系統(tǒng)設(shè)計(jì)
摘要:采用分層和模塊化思想設(shè)計(jì)出一種基于ASAP 標(biāo)準(zhǔn)的標(biāo)定診斷系統(tǒng)。在上位機(jī)利用軟
件看門(mén)狗技術(shù),解決了標(biāo)定工具與發(fā)動(dòng)機(jī)電控單元之間的故障快速定位問(wèn)題。故障時(shí)上位機(jī)
自動(dòng)保存標(biāo)定數(shù)據(jù),故障修復(fù)后自動(dòng)下發(fā)該標(biāo)定數(shù)據(jù),進(jìn)而防止標(biāo)定數(shù)據(jù)丟失,避免重復(fù)性
的標(biāo)定工作。并能讀取國(guó)外標(biāo)定系統(tǒng)的數(shù)據(jù)庫(kù)文件,其可靠性和通用性進(jìn)一步增強(qiáng)。
關(guān)鍵詞:標(biāo)定系統(tǒng);發(fā)動(dòng)機(jī);診斷;ASAP 標(biāo)準(zhǔn);軟件看門(mén)狗
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
引言
發(fā)動(dòng)機(jī)電子控制單元(ECU)是車用發(fā)動(dòng)機(jī)控制系統(tǒng)的核心,它能夠根據(jù)發(fā)動(dòng)機(jī)的運(yùn)行
情況來(lái)提供最佳空燃比和點(diǎn)火時(shí)間,進(jìn)而使發(fā)動(dòng)機(jī)的動(dòng)力性、經(jīng)濟(jì)性和尾氣排放達(dá)到最優(yōu)狀
態(tài)[1]。因此開(kāi)發(fā)一個(gè)功能可靠且方便靈活的的標(biāo)定工具非常重要。它能縮短ECU 的開(kāi)發(fā)周期,
減小匹配實(shí)驗(yàn)工作量,降低開(kāi)發(fā)成本,幫助標(biāo)定員在短時(shí)間內(nèi)獲得最佳的標(biāo)定參數(shù)。
從現(xiàn)有資料來(lái)看,國(guó)內(nèi)設(shè)計(jì)的標(biāo)定系統(tǒng)一般具有標(biāo)定、監(jiān)測(cè)和診斷功能。但其診斷功能
只是對(duì)ECU提供的故障信息在上位機(jī)顯示。在上位機(jī)和ECU之間的故障快速定位和修復(fù)方面沒(méi)
有介紹,本文設(shè)計(jì)的標(biāo)定診斷系統(tǒng)除了具有在線標(biāo)定、實(shí)時(shí)監(jiān)測(cè)并能讀取ECU中的故障信息
功能外,在標(biāo)定上位機(jī)利用軟件看門(mén)狗技術(shù)實(shí)現(xiàn)了上位機(jī)與ECU之間的故障快速定位,并具
有自動(dòng)保存、加載、回讀比較數(shù)據(jù)等功能。增強(qiáng)了標(biāo)定系統(tǒng)的可靠性和靈活性。
1 ASAP標(biāo)準(zhǔn)體系結(jié)構(gòu)
ASAP(Arbeitskreis zur Standardisierung von Applikationssystemen)指的是應(yīng)用系統(tǒng)標(biāo)準(zhǔn)
化組織,為了使車用電子產(chǎn)品在開(kāi)發(fā)期間所用的工具和方法具有兼容性和可交換性而提出該
國(guó)際標(biāo)準(zhǔn)[2]。為了實(shí)現(xiàn)對(duì)應(yīng)用系統(tǒng)進(jìn)行測(cè)量、標(biāo)定和診斷,ASAP工作組根據(jù)MCD(Measurement,
Calibration and Diagnostics)模型將該標(biāo)準(zhǔn)分成ASAP1、ASAP2和ASAP3三個(gè)子標(biāo)準(zhǔn)。
ASAP1標(biāo)準(zhǔn)為應(yīng)用系統(tǒng)和控制設(shè)備之間提供接口;ASAP2標(biāo)準(zhǔn)對(duì)ECU的內(nèi)部各種參數(shù)、外部
接口信息、通信方法等進(jìn)行了標(biāo)準(zhǔn)化的描述,按此標(biāo)準(zhǔn)生成的ASAP描述文件是各類控制設(shè)備
的數(shù)據(jù)交換平臺(tái);ASAP3標(biāo)準(zhǔn)為自動(dòng)系統(tǒng)(或用戶)與MCD系統(tǒng)之間提供統(tǒng)一接口,用戶只需
通過(guò)調(diào)用MCD系統(tǒng)提供的接口函數(shù)來(lái)完成測(cè)量、標(biāo)定和診斷等功能。
2 標(biāo)定系統(tǒng)整體設(shè)計(jì)
采用PC機(jī)作為上位機(jī),通過(guò)USB-CAN通信卡連到發(fā)動(dòng)機(jī)ECU,實(shí)現(xiàn)對(duì)發(fā)動(dòng)機(jī)ECU的標(biāo)定、
監(jiān)測(cè)、診斷等操作。上位機(jī)與ECU之間的通信和數(shù)據(jù)交換平臺(tái)分別由ASAP標(biāo)準(zhǔn)中的CCP協(xié)議和ASAP2標(biāo)準(zhǔn)生成的ASAP描述文件(.A2L文件)來(lái)實(shí)現(xiàn)。上位機(jī)標(biāo)定軟件采用分層和模塊化思
想設(shè)計(jì),包括數(shù)據(jù)層、表示層和通信層(如圖1)。其中數(shù)據(jù)層包括初始化子系統(tǒng)和數(shù)據(jù)管
理子系統(tǒng),初始化子系統(tǒng)主要是完成CAN通信模塊和數(shù)據(jù)的初始化等操作。數(shù)據(jù)管理子系統(tǒng)
主要是完成數(shù)據(jù)的保存、加載、回放和A2L數(shù)據(jù)庫(kù)的管理等操作;表示層包括標(biāo)定監(jiān)測(cè)子系
統(tǒng)和診斷子系統(tǒng),該層主要完成對(duì)發(fā)動(dòng)機(jī)ECU的標(biāo)定、監(jiān)測(cè)和診斷等操作;通信層主要是完
成上位機(jī)與ECU之間的通信操作。
圖1 標(biāo)定診斷系統(tǒng)的總體框架圖
由ASAP編輯器生成的A2l數(shù)據(jù)庫(kù)是整個(gè)標(biāo)定系統(tǒng)的數(shù)據(jù)交換平臺(tái),因此在系統(tǒng)運(yùn)行開(kāi)始
首先導(dǎo)入A2L文件,然后調(diào)用CAN通信模塊提供的接口庫(kù)函數(shù)完成CAN通信模塊初始化等操作,
建立連接后可對(duì)多個(gè)ECU進(jìn)行標(biāo)定和監(jiān)測(cè)。故障診斷(ECU故障信息上傳顯示和標(biāo)定系統(tǒng)的故
障診斷)貫穿于標(biāo)定和監(jiān)測(cè)的整個(gè)過(guò)程中(如圖2)。
圖2 上位機(jī)主流程圖 圖3 標(biāo)定數(shù)據(jù)初始化流程圖
2.1 初始化子系統(tǒng)的設(shè)計(jì)
在此子系統(tǒng)中包括USB-CAN模塊的初始化、標(biāo)定參數(shù)的初始化和DAQ參數(shù)的初始化配置。
上位機(jī)通過(guò)調(diào)用CAN通信模塊的相關(guān)接口庫(kù)函數(shù)依次進(jìn)行下列初始化操作:打開(kāi)CAN通信模
塊、選中與ECU連接的CAN口、配置各CAN口相關(guān)參數(shù)(驗(yàn)收碼、屏蔽碼、定時(shí)器、濾波器、
模式等)、啟動(dòng)CAN通信設(shè)備等。標(biāo)定參數(shù)的初始化有兩種方式:一種是從ECU的RAM區(qū)讀取標(biāo)
定數(shù)據(jù)到上位機(jī)標(biāo)定窗口,另一種是從上位機(jī)的標(biāo)定數(shù)據(jù)文件中加載到程序中進(jìn)行標(biāo)定數(shù)據(jù)
的初始化(如圖3)。在監(jiān)測(cè)參數(shù)上傳之前,對(duì)需要監(jiān)測(cè)的數(shù)據(jù)進(jìn)行DAQ配置,不同上傳周期
的監(jiān)測(cè)數(shù)據(jù)配置到不同的DAQ表中,這需要上位機(jī)發(fā)送DAQ配置命令和START_STOP命令要求
ECU中的DAQ處理機(jī)配置并開(kāi)啟不同DAQ表進(jìn)行上傳并顯示監(jiān)測(cè)數(shù)據(jù)。在標(biāo)定系統(tǒng)運(yùn)行期間,
通過(guò)開(kāi)啟或關(guān)閉某個(gè)DAQ表,可以實(shí)時(shí)監(jiān)測(cè)到所開(kāi)啟DAQ表的數(shù)據(jù)上傳數(shù)據(jù)。
2.2 數(shù)據(jù)管理子系統(tǒng)的設(shè)計(jì)
在此子系統(tǒng)中,主要包括A2L數(shù)據(jù)庫(kù)的管理、數(shù)據(jù)的保存、打印、回放和比較等功能。
A2l數(shù)據(jù)庫(kù)是整個(gè)標(biāo)定系統(tǒng)的數(shù)據(jù)交換平臺(tái),它記錄了控制器內(nèi)部的各種參數(shù)、外部接
口信息、通信方法等詳細(xì)信息。因此對(duì)其管理尤為重要。在通訊協(xié)議中采用地址結(jié)合數(shù)據(jù)段
長(zhǎng)度的方法實(shí)現(xiàn)數(shù)據(jù)的下載和修改。上位機(jī)程序負(fù)責(zé)查詢A2L數(shù)據(jù)庫(kù)以獲得控制參數(shù)的地址
和數(shù)據(jù)段長(zhǎng)度等信息[3],A2L數(shù)據(jù)庫(kù)的使用減輕了ECU對(duì)大量標(biāo)定變量的定義和存儲(chǔ)的負(fù)擔(dān),
縮短占用微處理器的運(yùn)算時(shí)間。當(dāng)ECU中的參數(shù)信息改變時(shí),只需用ASAP數(shù)據(jù)庫(kù)編輯器對(duì)原
有A2L文件的改動(dòng)部分進(jìn)行刷新。標(biāo)定系統(tǒng)只需在新的A2L文件下對(duì)ECU進(jìn)行標(biāo)定、監(jiān)測(cè)等操
作。因此,當(dāng)ECU有關(guān)信息的改變時(shí)不會(huì)對(duì)標(biāo)定軟件的代碼做任何改動(dòng),同時(shí)也避免因標(biāo)定
軟件內(nèi)部代碼的局部改動(dòng)所帶來(lái)的隱患[4],增加了標(biāo)定系統(tǒng)的靈活性。
為了便于對(duì)監(jiān)測(cè)到的數(shù)據(jù)進(jìn)行離線分析比較,該系統(tǒng)具有保存監(jiān)測(cè)數(shù)據(jù)并對(duì)其進(jìn)行離線
分析、波形回放和打印功能。
2.3 診斷子系統(tǒng)的設(shè)計(jì)
在此子系統(tǒng)中,除了讀取ECU中的故障信息外,在標(biāo)定上位機(jī)利用軟件看門(mén)狗技術(shù)實(shí)現(xiàn)
了標(biāo)定系統(tǒng)的故障快速定位,大大減少故障查找時(shí)間。故障時(shí)及時(shí)地將已標(biāo)定數(shù)據(jù)進(jìn)行保存,
避免因標(biāo)定數(shù)據(jù)的丟失而進(jìn)行重復(fù)性地標(biāo)定工作,提高了標(biāo)定系統(tǒng)的可靠性(如圖4、圖5)。
評(píng)論