摩托車發(fā)動(dòng)機(jī)電控單元ECU的開發(fā)
噴油控制模塊
噴油控制模塊在總體結(jié)構(gòu)上與點(diǎn)火模塊類似,從功能上可分為前景噴油時(shí)序控制邏輯和背景噴油脈寬計(jì)算模塊以及噴油工況判別邏輯,如圖7所示。在背景噴油脈寬計(jì)算模塊中,將根據(jù)發(fā)動(dòng)機(jī)工況的變化,計(jì)算出所需的噴油脈寬,其計(jì)算公式為:
噴油脈寬=基本噴油脈寬×加速加濃修正×減速減稀修正×蓄電池電壓修正因子
其中:基本噴油脈寬=發(fā)動(dòng)機(jī)排量×充氣效率因子×空燃比(A/F)
圖7 噴油控制模塊的流程圖
為了能夠適應(yīng)發(fā)動(dòng)機(jī)工況的變化,同樣也需要通過標(biāo)定試驗(yàn)將相關(guān)數(shù)據(jù)存儲(chǔ)在表格中,通過查詢表格獲得目標(biāo)空燃比值。并由各傳感器信號(hào)計(jì)算得到循環(huán)進(jìn)氣量,再乘以各項(xiàng)修正因子完成噴油脈寬的計(jì)算,在前景程序中將完成噴油驅(qū)動(dòng)脈沖起止時(shí)刻的設(shè)定。
前景程序中噴油脈寬的輸出是通過在參考事件中設(shè)置定時(shí)器T2CH1輸出比較中斷來實(shí)現(xiàn)的。發(fā)動(dòng)機(jī)一個(gè)工作循環(huán)曲軸旋轉(zhuǎn)2周,其中只在每轉(zhuǎn)的第二個(gè)參考事件中設(shè)置噴油輸出,這樣分別在發(fā)動(dòng)機(jī)的壓縮沖程和排氣沖程中各進(jìn)行一次噴油。當(dāng)駕駛員有急加速意圖時(shí),通過增加同步噴油脈寬的輸出仍不能滿足快速響應(yīng)的需要,此時(shí)需要根據(jù)節(jié)氣門變化率計(jì)算出異步噴油脈寬并在前景程序中立即輸出。異步脈寬輸出設(shè)計(jì)思路如下:若當(dāng)前有同步脈寬正在輸出,則將異步脈寬疊加于當(dāng)前同步脈寬;若當(dāng)前無同步脈寬輸出,則將計(jì)算出的異步脈寬累加到下次同步脈寬中一起輸出??紤]到每循環(huán)同步脈寬的輸出均在本循環(huán)進(jìn)氣門打開之前,故此設(shè)計(jì)思路可以很好地保證發(fā)動(dòng)機(jī)良好的加速響應(yīng)性能。
SCI通訊模塊
通訊模塊的設(shè)計(jì)主要是為電控系統(tǒng)的軟件開發(fā)和標(biāo)定試驗(yàn)服務(wù)的,方便RAM監(jiān)控及在線修改標(biāo)定數(shù)據(jù)。此功能的實(shí)現(xiàn)需要得到上位機(jī)開發(fā)裝置的支持,使用的開發(fā)工具是本課題組自主開發(fā)的實(shí)時(shí)監(jiān)控發(fā)動(dòng)機(jī)狀態(tài)并進(jìn)行控制的標(biāo)定軟件。
RAM監(jiān)控功能是通過讀數(shù)據(jù)單元、讀數(shù)據(jù)區(qū)以及讀參數(shù)顯示狀態(tài)的通訊模塊來實(shí)現(xiàn)的。RAM監(jiān)控可使RAM單元內(nèi)容透明化,軟件開發(fā)者可以實(shí)時(shí)地獲得軟件中點(diǎn)火、噴油功能模塊相關(guān)變量的變化情況。無論是模擬調(diào)試還是臺(tái)架試驗(yàn),上位機(jī)記錄的數(shù)據(jù)都可用于離線查錯(cuò)和數(shù)據(jù)分析,完成數(shù)據(jù)的作圖、顯示和存盤。上位機(jī)可以顯示發(fā)動(dòng)機(jī)轉(zhuǎn)速,節(jié)氣門開度,噴油脈寬,點(diǎn)火提前角等變量值,還能顯示包括清淹缸,動(dòng)力加濃,減速斷油等狀態(tài),同時(shí)提供顯示曲線功能,方便了解發(fā)動(dòng)機(jī)的狀態(tài)及其變化情況。而且還具有數(shù)據(jù)采集功能,能存儲(chǔ)指定時(shí)間內(nèi)的上述各種變量和狀態(tài)的數(shù)據(jù)。
系統(tǒng)上電后禁止RAM單元監(jiān)控模塊工作。上位機(jī)發(fā)出監(jiān)控命令觸發(fā)數(shù)據(jù)接收中斷后再開始回送數(shù)據(jù)。為了實(shí)時(shí)接收通訊請(qǐng)求,數(shù)據(jù)的接收是在前景程序中執(zhí)行的,即由SCI中斷程序處理,同時(shí)也可進(jìn)行數(shù)據(jù)的發(fā)送。但由于某些通訊模式下一次發(fā)送數(shù)據(jù)較多,為了不影響點(diǎn)火、噴油等前景程序的執(zhí)行,其第一個(gè)數(shù)據(jù)的發(fā)送仍在SCI中斷程序中進(jìn)行,但后續(xù)數(shù)據(jù)的發(fā)送則在背景程序中,通過查詢方式定時(shí)進(jìn)行。
圖8 實(shí)時(shí)在線修改數(shù)據(jù)功能在臺(tái)架驗(yàn)證實(shí)驗(yàn)中的應(yīng)用
電控系統(tǒng)要想能夠工作在最佳狀態(tài),需要有良好的數(shù)據(jù)做基礎(chǔ)。數(shù)據(jù)區(qū)在線修改功能主要在發(fā)動(dòng)機(jī)臺(tái)架標(biāo)定及整車標(biāo)定時(shí)使用。
由于ECU軟件程序及標(biāo)定數(shù)據(jù)區(qū)都存儲(chǔ)在MC68HC908SR12的12K的FLASH中,因此要實(shí)現(xiàn)電控系統(tǒng)的在線標(biāo)定就需要能夠?qū)LASH進(jìn)行擦寫。由于這些程序必須放在RAM中,因此電控系統(tǒng)軟件首先需要將這些程序存放在FLASH中,在系統(tǒng)上電初始化之后對(duì)將這些FLASH擦寫程序復(fù)制到RAM中去。由于MC68HC908SR12對(duì)于FLASH的擦寫是整頁擦寫(最小的擦除單元是128個(gè)字節(jié),最小寫入單元是64個(gè)字節(jié)),這樣在進(jìn)行電控系統(tǒng)標(biāo)定時(shí),就不能只對(duì)特定的數(shù)據(jù)單元內(nèi)容進(jìn)行修改,而是為了一個(gè)單元的修改就需要進(jìn)行整頁的擦寫才能完成。擦寫一頁FLASH需要3ms左右,由于摩托車發(fā)動(dòng)機(jī)轉(zhuǎn)速高達(dá)上萬轉(zhuǎn),比如在10000rpm時(shí),3ms就對(duì)應(yīng)著發(fā)動(dòng)機(jī)轉(zhuǎn)過半轉(zhuǎn),在這半轉(zhuǎn)的時(shí)間內(nèi),由于在進(jìn)行FLASH的擦寫,ECU就不能正常工作,因此臺(tái)架標(biāo)定時(shí)將無法進(jìn)行高速時(shí)的標(biāo)定。本電控系統(tǒng)采用的方法是將原有電控系統(tǒng)中的標(biāo)定數(shù)據(jù)直接進(jìn)行使用,然后再根據(jù)具體的使用需要進(jìn)行某些數(shù)據(jù)的標(biāo)定。
評(píng)論