張宗哲
(同濟(jì)大學(xué),上海 200092)
目前以8位、16位微處理器為控制核心的數(shù)字式電子控制,因其小巧、靈活和較強(qiáng)的數(shù)據(jù)分析和處理能力推動(dòng)了摩托車電噴技術(shù)的迅速發(fā)展.但是由于傳統(tǒng)的摩托車電噴一般使用RS232或K線作為對(duì)外的通信方式,在進(jìn)行系統(tǒng)在線標(biāo)定和數(shù)據(jù)實(shí)時(shí)采集時(shí),這種方式的實(shí)時(shí)性無(wú)法得到有效的保證.同時(shí),傳統(tǒng)的控制單元大都采用分離器件,這必然使可靠性大大降低,成本上也毫無(wú)優(yōu)勢(shì).小排量汽油發(fā)動(dòng)機(jī)電控燃油噴射系統(tǒng)能夠?qū)崿F(xiàn)且得到大量應(yīng)用,成本是其中的關(guān)鍵,而降低成本,必須從噴射系統(tǒng)的結(jié)構(gòu)精簡(jiǎn)、功能復(fù)用和算法優(yōu)化上進(jìn)行創(chuàng)新,并為此設(shè)計(jì)了一種基于集成器件L9177和CAN總線的摩托車發(fā)動(dòng)機(jī)電噴控制單元[1-2].
摩托車發(fā)動(dòng)機(jī)電噴系統(tǒng)從整體結(jié)構(gòu)上來(lái)看,包括各種傳感器、電子控制單元 (ECU)和執(zhí)行機(jī)構(gòu)[3].其中,ECU是整個(gè)系統(tǒng)的核心部分,它根據(jù)曲軸位置傳感器產(chǎn)生的信號(hào)計(jì)算出曲軸角度和轉(zhuǎn)速;根據(jù)進(jìn)氣壓力傳感器,節(jié)氣門位置傳感器及進(jìn)氣溫度計(jì)算出發(fā)動(dòng)機(jī)進(jìn)氣量;依據(jù)進(jìn)氣量和發(fā)動(dòng)機(jī)轉(zhuǎn)速計(jì)算出基本噴油持續(xù)時(shí)間,然后進(jìn)行缸溫、電池電壓的修正,得到最佳噴油持續(xù)時(shí)間;同時(shí)根據(jù)發(fā)動(dòng)機(jī)轉(zhuǎn)速和節(jié)氣門開度得到點(diǎn)火提前角,精確地控制發(fā)動(dòng)機(jī)運(yùn)轉(zhuǎn).除了正常的維持發(fā)動(dòng)機(jī)的運(yùn)轉(zhuǎn)外,ECU還需要和外部設(shè)備進(jìn)行通信,比如轉(zhuǎn)速信息,故障信息,標(biāo)定數(shù)據(jù)等,同時(shí)把必要的信息存儲(chǔ)到FLSAH或EEPROM中.整個(gè)系統(tǒng)的外圍框圖,如圖1所示.
圖1 摩托車發(fā)動(dòng)機(jī)電子控制單元系統(tǒng)外圍框圖
電子控制器ECU主要分為以下幾部分:
1)電源部分.電源保護(hù)模塊和電源檢測(cè)模塊.
2)MCU模塊.ECU的核心模塊,與各模塊連接及實(shí)現(xiàn)各模塊之間的相互聯(lián)系,處理各種輸入輸出信息,進(jìn)行控制算法的運(yùn)算及輸出.
3)輸入信號(hào)監(jiān)測(cè)處理模塊.對(duì)各傳感器信號(hào)進(jìn)行濾波后輸出到MCU.整個(gè)系統(tǒng)正常工作的信號(hào)來(lái)源于各傳感器,各傳感器測(cè)定的準(zhǔn)確與否決定了整個(gè)系統(tǒng)的控制質(zhì)量.
4)控制輸出模塊.包括噴油輸出控制處理模塊和點(diǎn)火輸出控制處理模塊.
5)通信模塊.通過(guò)CAN總線,遵循相關(guān)協(xié)議,ECU系統(tǒng)可與外部設(shè)備完成實(shí)時(shí)通信,實(shí)現(xiàn)診斷,標(biāo)定,信號(hào)采集等工作.
根據(jù)確定的ECU總體設(shè)計(jì)方案,控制單元ECU的微處理器選用Renesas公司推出的低功耗16位單片機(jī)R8C23,CAN總線的收發(fā)器采用NXP公司的TJA1050.電源、曲軸信號(hào)輸入及控制輸出部分采用了ST公司專門為摩托車電噴系統(tǒng)推出的集成器件L9177.主要硬件連接結(jié)構(gòu)示意如圖2所示.
圖2 系統(tǒng)的主要硬件連接結(jié)構(gòu)示意圖
摩托車發(fā)動(dòng)機(jī)軟件有較高的實(shí)時(shí)性要求和時(shí)序要求,結(jié)合微處理器外設(shè)的中斷工作模式,采用“后臺(tái)程序/前臺(tái)程序”的結(jié)構(gòu)形式.后臺(tái)程序處理參數(shù)計(jì)算等實(shí)時(shí)性要求較低的部分,在主函數(shù)的主循環(huán)中實(shí)現(xiàn)[4],流程見圖3.前臺(tái)程序負(fù)責(zé)處理實(shí)時(shí)性要求很高的部分,如:數(shù)據(jù)采集、噴油、點(diǎn)火定時(shí)等部分,利用微處理器的中斷,流程見圖4.
后臺(tái)程序其實(shí)就是單片機(jī)的主循環(huán).初始化程序設(shè)定MCU中相應(yīng)的寄存器及對(duì)控制算法中相應(yīng)變量的賦值;數(shù)據(jù)處理模塊對(duì)前臺(tái)程序中采集的轉(zhuǎn)速、進(jìn)氣壓力、節(jié)氣門開度、電池電壓、溫度等信號(hào)進(jìn)行換算和濾波,把AD值變成物理值;“工況判斷”根據(jù)轉(zhuǎn)速、節(jié)氣門開度和進(jìn)氣壓力判斷當(dāng)前工況;“噴油計(jì)算”根據(jù)工況和當(dāng)前轉(zhuǎn)速、進(jìn)氣壓力、節(jié)氣門開度、電池電壓和溫度等信息計(jì)算當(dāng)前所需的噴油量和噴油時(shí)刻;“點(diǎn)火計(jì)算”根據(jù)工況和當(dāng)前轉(zhuǎn)速、進(jìn)氣壓力、節(jié)氣門開度和電池電壓等信息計(jì)算當(dāng)前所需的點(diǎn)火提前角和點(diǎn)火充電時(shí)間;診斷模塊用于監(jiān)控系統(tǒng)的狀態(tài);通信模塊主要基于CAN通信,可以實(shí)時(shí)可靠的和外界信息數(shù)據(jù)通信.
圖3 后臺(tái)程序流程圖
圖4 前臺(tái)程序流程圖
前臺(tái)程序的運(yùn)行主要利用單片機(jī)的輸入脈寬測(cè)量功能對(duì)曲軸采集信號(hào)產(chǎn)生的中斷,在中斷中判斷當(dāng)前齒數(shù),并根據(jù)不同的齒完成不同的任務(wù).數(shù)齒模塊判斷當(dāng)前曲軸的位置;AD信號(hào)采集模塊根據(jù)不同的曲軸位置進(jìn)行相應(yīng)的信號(hào)采集;噴油模塊根據(jù)后臺(tái)程序中所計(jì)算的噴油時(shí)刻及曲軸的位置情況判斷是否噴油;點(diǎn)火模塊根據(jù)后臺(tái)程序中所計(jì)算的點(diǎn)火提前角、點(diǎn)火充電時(shí)間并通過(guò)轉(zhuǎn)速計(jì)算曲軸的點(diǎn)火位置情況判斷何時(shí)點(diǎn)火.
在系統(tǒng)初始化程序中完成對(duì)CAN的相關(guān)設(shè)定,包括ID、數(shù)據(jù)長(zhǎng)度、波特率等.CAN數(shù)據(jù)的發(fā)送和接收主要通過(guò)單片機(jī)的中斷完成.當(dāng)需要進(jìn)行實(shí)時(shí)數(shù)據(jù)采集、系統(tǒng)標(biāo)定,或者ECU檢測(cè)到當(dāng)前系統(tǒng)故障,或者讀取ECU相關(guān)信息時(shí),后臺(tái)程序中的CAN模塊主要把接收進(jìn)來(lái)的數(shù)據(jù)根據(jù)不同的命令和功能要求進(jìn)行相應(yīng)的處理,然后把處理完的數(shù)據(jù)發(fā)送出去,以完成不同的功能要求.摩托車發(fā)動(dòng)機(jī)CAN系統(tǒng)功能結(jié)構(gòu)如圖5所示.
圖5 CAN系統(tǒng)功能結(jié)構(gòu)
根據(jù)CAN系統(tǒng)的功能結(jié)構(gòu),系統(tǒng)采用CCP協(xié)議[5],CAN的波特率為 250 k,ID為標(biāo)準(zhǔn) ID,0x111代表上位機(jī),0x112代表ECU.基于CCP協(xié)議的ECU標(biāo)定系統(tǒng)采用主-從通信方式,主設(shè)備是測(cè)量標(biāo)定系統(tǒng)上位機(jī),從設(shè)備是需要標(biāo)定的ECU.基于CCP協(xié)議的標(biāo)定只占用兩幀CAN報(bào)文,分別是命令接收對(duì)象CRO和數(shù)據(jù)傳輸對(duì)象DTO,CRO由主設(shè)備發(fā)給從設(shè)備,DTO是從設(shè)備反饋的報(bào)文.按照CCP協(xié)議,CRO數(shù)據(jù)場(chǎng)的第1個(gè)字節(jié)為命令代碼CMD,從設(shè)備通過(guò)CMD代碼判斷主設(shè)備請(qǐng)求的是哪條命令.數(shù)據(jù)場(chǎng)的第2個(gè)字節(jié)是命令計(jì)數(shù)器CTR.剩余6個(gè)字節(jié)均為命令參數(shù),每條命令有各自對(duì)應(yīng)的命令參數(shù).CCP標(biāo)準(zhǔn)幀的數(shù)據(jù)格式如圖6所示.
圖6 CCP標(biāo)準(zhǔn)幀的數(shù)據(jù)格式
通過(guò)對(duì)一臺(tái)排量為125 ml的摩托車進(jìn)行標(biāo)定,得出基本噴油三維圖如圖7所示,基本點(diǎn)火提前角三維圖如圖8所示.
利用已經(jīng)標(biāo)定好的基本噴油三維表和基本點(diǎn)火提前角表,在對(duì)同一臺(tái)車4檔40 km的工況進(jìn)行驗(yàn)證,測(cè)量經(jīng)過(guò)三元催化后的排放數(shù)據(jù)如表1所示.
表1 排放數(shù)據(jù)對(duì)比表
根據(jù)排放看出CO達(dá)到了限值27%,HC達(dá)到了限值48.5%,NOx達(dá)到了限值60%.整個(gè)系統(tǒng)可以滿足國(guó)III排放要求.
采用L9177和CAN總線摩托車電噴系統(tǒng)控制單元ECU具有體積小、抗干擾能力強(qiáng),且工作穩(wěn)定性強(qiáng),數(shù)據(jù)實(shí)時(shí)性強(qiáng),而其成本低廉,有較高的工程價(jià)值.采用CAN接口的控制單元,既可以作為一個(gè)獨(dú)立的摩托車電噴控制系統(tǒng)進(jìn)行數(shù)據(jù)采集、系統(tǒng)標(biāo)定、診斷等工作,也可以作為構(gòu)成整個(gè)摩托車系統(tǒng)的一個(gè)關(guān)鍵部分,為以后各種系統(tǒng)的擴(kuò)展提供一個(gè)高速接口.CAN的各種上層協(xié)議都可以在軟件代碼中實(shí)現(xiàn)使得該ECU接口靈活,不受上層協(xié)議和功能的限制.
[1] 王預(yù)進(jìn),江發(fā)潮.車載網(wǎng)絡(luò)的現(xiàn)狀與發(fā)展 [J].車輛與動(dòng)力技術(shù),2008(1):54-57.
[2] 張 奇,徐國(guó)強(qiáng).小排量汽油機(jī)電控燃油噴射系統(tǒng)技術(shù)進(jìn)展 [J].小型內(nèi)燃機(jī)與摩托車,2011,40(2):89-92.
[3] 郗大光,張 平,楊延相,等.電控發(fā)動(dòng)機(jī)開發(fā)系統(tǒng)的研究[J].摩托車技術(shù),2002(1):6-9.
[4] 田建勇.摩托車電噴系統(tǒng)電控單元 (ECU)的開發(fā)研究 [D].天津:天津大學(xué),2008.
[5] Kleinknecht H.Version 2.1.CAN Calibration Protocol[S].Europe.AUDI AG,BMW AG etc.1999:1-49.