基于ASAP標準的發動機標定診斷系統設計
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命令周期性地上傳監測數據。本文引用地址:http://www.104case.com/article/197472.htm
圖4 標定流程圖 圖5 監測流程圖
3 標定系統底層軟件的設計
圖6 底層軟件設計
如圖6所示,為了增加底層通信模塊的通用性,采用了模塊化設計思想,將CAN Driver
和CCP Driver分離。Command 處理機是CCP Driver的主要組成部分;DAQ處理機是用來采集
并按要求周期性地上傳不同DAQ表的監測參數當前值。兩處理機組成控制器的CCP Driver,
是對標定協議內容的解析和實現。為了保證CAN通信的可靠性,CAN Driver采用環形緩沖機
制,并通過操作系統消息溝通中斷子程和系統任務。通過更改CAN Driver實現不同ECU硬件
平臺的移植,并且可以對新的ECU進行標定,增加了底層通信模塊的兼容性和通用性。
4 結束語
本文設計的標定診斷系統集標定、監測、診斷等功能為一體。在保證系統的靈活性和通
信實時性的基礎上,在上位機利用軟件看門狗技術實現了標定系統故障的快速診斷與修復、
數據的自動保存和加載功能,進而防止標定數據丟失,避免重復性地標定工作,使整個標定
系統的可靠性得到保證。實驗表明,該系統具有較高的實時性,靈活性和可靠性。
評論