<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > 基于A(yíng)SAP標準的發(fā)動(dòng)機標定診斷系統設計

基于A(yíng)SAP標準的發(fā)動(dòng)機標定診斷系統設計

作者: 時(shí)間:2011-04-06 來(lái)源:網(wǎng)絡(luò ) 收藏

2.3.1 故障快速定位與數據的自動(dòng)保存
在上位機的接收中斷函數中設置一個(gè)全局變量ConnectFlag并使其值賦為0,只要有監測
數據周期性上傳(本文三個(gè)DAQ表的數據上傳周期是10ms、20ms、50ms)ConnectFlag一直為
0,當超過(guò)50ms,該變量就會(huì )在定時(shí)器函數里不斷加1, 當大于指定的數值時(shí)(在指定的時(shí)
間內沒(méi)有數據上傳),在上位機出現故障提示。根據USB-CAN提供的接口函數判斷故障是ECU
與USB-CAN模塊之間,還是USB-CAN與ECU之間。故障時(shí)在上位機調用保存函數對已數據
進(jìn)行保存,做好數據的備份,避免因數據丟失而進(jìn)行重新標定,減少標定工作量。
2.3.2 故障修復與數據的自動(dòng)加載
根據故障提示快速作出故障定位,故障排除后根據故障提示點(diǎn)擊主界面修復菜單中的復
位按鈕,復位成功同時(shí)自動(dòng)將已標定的數據從上位機的保存文件中加載到標定窗口并下發(fā),
然后繼續標定操作,不需重新進(jìn)行標定。修復菜單中,對于ECU斷電的情況,ECU上電后進(jìn)行
修復時(shí),需要上位機重新下發(fā)配置DAQ命令和啟動(dòng)DAQ表等相關(guān)命令,因為一旦斷電或者復位,
ECU與上位機的相關(guān)命令需要重新發(fā)送才能完成兩者的通信;對于ECU與USB-CAN之間線(xiàn)路故
障的情況,只需將線(xiàn)路連好即可繼續上位機與ECU之間的通信;對于USB-CAN與上位機故障的
情況,需要在上位機先關(guān)閉CAN-USB設備再打開(kāi)并初始化設備,再可繼續標定工作。
2.4 標定監測子系統的設計
在上位機的標定窗口完成ECU控制參數的在線(xiàn)標定。通過(guò)在線(xiàn)修改標定窗口中的參數值
就可以對ECU中RAM區的相關(guān)參數值進(jìn)行優(yōu)化,標定后將RAM區的標定值燒寫(xiě)到FLASH中。同時(shí)
還可以將ECU中的標定參數值讀當標定子窗口并與當前標定窗口值進(jìn)行比較,確保下發(fā)標定
值的正確性。標定流程圖如圖4所示。此外,該子系統能夠實(shí)時(shí)監測ECU采集到的數據,并將
數據進(jìn)行多樣化顯示,能直觀(guān)地顯示所監測的數據及其變化規律。上位機一次發(fā)送命令就可
要求從設備周期性地自動(dòng)上傳DAQ監測數據(具體見(jiàn)圖5)。
2.5 通信子系統的設計
通信子系統主要為上位機與ECU之間提供通信接口。所用通信協(xié)議是CCP協(xié)議[5],該協(xié)議
都是從1a子中獨立出來(lái)的通信,該協(xié)議具有通信可靠,實(shí)時(shí)性強、通用性好等
優(yōu)點(diǎn)。在設計中,通過(guò)ccpCommand()函數調用不同的CCP命令完成命令的下發(fā),調用fGetData()
函數來(lái)接收ECU的返回命令并讀取ECU中上傳的監測數據。ECU根據上位機的DAQ配置命令和啟動(dòng)DAQ命令周期性地上傳監測數據。

本文引用地址:http://dyxdggzs.com/article/197472.htm

圖4 標定流程圖 圖5 監測流程圖
3 標定系統底層軟件的設計

圖6 底層軟件設計
如圖6所示,為了增加底層通信模塊的通用性,采用了模塊化設計思想,將CAN Driver
和CCP Driver分離。Command 處理機是CCP Driver的主要組成部分;DAQ處理機是用來(lái)采集
并按要求周期性地上傳不同DAQ表的監測參數當前值。兩處理機組成控制器的CCP Driver,
是對標定協(xié)議內容的解析和實(shí)現。為了保證CAN通信的可靠性,CAN Driver采用環(huán)形緩沖機
制,并通過(guò)操作系統消息溝通中斷子程和系統任務(wù)。通過(guò)更改CAN Driver實(shí)現不同ECU硬件
平臺的移植,并且可以對新的ECU進(jìn)行標定,增加了底層通信模塊的兼容性和通用性。
4 結束語(yǔ)
本文設計的標定診斷系統集標定、監測、診斷等功能為一體。在保證系統的靈活性和通
信實(shí)時(shí)性的基礎上,在上位機利用軟件看門(mén)狗技術(shù)實(shí)現了標定系統故障的快速診斷與修復、
數據的自動(dòng)保存和加載功能,進(jìn)而防止標定數據丟失,避免重復性地標定工作,使整個(gè)標定
系統的可靠性得到保證。實(shí)驗表明,該系統具有較高的實(shí)時(shí)性,靈活性和可靠性。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>