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