<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 基于ASAP標(biāo)準(zhǔn)的發(fā)動(dòng)機(jī)標(biāo)定診斷系統(tǒng)設(shè)計(jì)

          基于ASAP標(biāo)準(zhǔn)的發(fā)動(dòng)機(jī)標(biāo)定診斷系統(tǒng)設(shè)計(jì)

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

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

          本文引用地址:http://www.ex-cimer.com/article/197472.htm

          圖4 標(biāo)定流程圖 圖5 監(jiān)測(cè)流程圖
          3 標(biāo)定系統(tǒng)底層軟件的設(shè)計(jì)

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


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

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();