顏培宇
(河海大學(xué) 機(jī)電工程學(xué)院,江蘇 常州 213022)
eTPU模塊在共軌柴油機(jī)噴油系統(tǒng)中的應(yīng)用
顏培宇
(河海大學(xué) 機(jī)電工程學(xué)院,江蘇 常州 213022)
為使柴油機(jī)共軌系統(tǒng)能夠進(jìn)行多次精確噴油,ECU必須具備高控制精度和多任務(wù)協(xié)調(diào)處理功能。以MPC5634單片機(jī)為平臺(tái),開發(fā)eTPU正時(shí)同步函數(shù),噴油控制函數(shù)。實(shí)驗(yàn)表明,該系列函數(shù)能夠?qū)崿F(xiàn)正時(shí)同步控制,以及準(zhǔn)確噴油控制。
柴油機(jī);共軌系統(tǒng);增強(qiáng)型定時(shí)處理單元;正時(shí)同步;噴油控制
汽車在給人類經(jīng)濟(jì)活動(dòng)帶來便利的同時(shí),也給人類帶來了諸多負(fù)面影響,主要表現(xiàn)為能源短缺和環(huán)境污染。實(shí)踐證明,電控高壓共軌柴油機(jī)燃油噴射技術(shù)能有效地降低發(fā)動(dòng)機(jī)的燃油消耗,改善汽車的動(dòng)力性能,同時(shí)減少排放。共軌柴油發(fā)動(dòng)機(jī)的控制對(duì)象多、控制算法復(fù)雜、控制精度和實(shí)時(shí)性要求高,這對(duì)于單片機(jī)的運(yùn)算速度及實(shí)時(shí)處理能力要求極高,而Freescale公司的32位微處理器MPC5634,采用雙核結(jié)構(gòu),其中擁有32個(gè)通道的eTPU(增強(qiáng)型時(shí)序處理單元)更是具有強(qiáng)大的定時(shí)處理功能,特別適合發(fā)動(dòng)機(jī)的控制。因此,eTPU成了整個(gè)發(fā)動(dòng)機(jī)電控系統(tǒng)最不可或缺的一部分,決定了整個(gè)系統(tǒng)的工作狀態(tài)和運(yùn)行效率,對(duì)eTPU的開發(fā)應(yīng)用也就有了重要的現(xiàn)實(shí)意義。
1.1eTPU簡(jiǎn)介
eTPU采用類似RISC的微引擎,與I/O硬件定時(shí)通道連接,作為一個(gè)半獨(dú)立的協(xié)處理器,在不需要CPU 參與的情況下,可以完成高速復(fù)雜的時(shí)序操作。eTPU也可以獨(dú)立讀取共享數(shù)據(jù)和處理微指令、實(shí)時(shí)輸入事件,執(zhí)行設(shè)定的輸出波形,從而大大削減或消除CPU的服務(wù)時(shí)間。利用MPC5634的eTPU模塊通過主CPU發(fā)出服務(wù)請(qǐng)求,完成發(fā)動(dòng)機(jī)的正時(shí)同步、噴油信號(hào)的輸出等功能。
1.2eTPU運(yùn)行機(jī)理
eTPU模塊包含了它運(yùn)行所需的所有微控制器:數(shù)據(jù)和程序存儲(chǔ)器、微引擎、任務(wù)調(diào)度器以及32條I/O通道。
eTPU擁有32條通道,如果多條通道在同一時(shí)間請(qǐng)求服務(wù),調(diào)度器就必須決定eTPU首先應(yīng)為哪條通道服務(wù)。調(diào)度器是根據(jù)各條通道的優(yōu)先級(jí)和內(nèi)部調(diào)度算法做出決定的。通道優(yōu)先級(jí)有高、中、低3個(gè)類別;在每一個(gè)調(diào)度時(shí)序中,高優(yōu)先級(jí)占4個(gè)狀態(tài),中優(yōu)先級(jí)占2個(gè)狀態(tài),低優(yōu)先級(jí)占1個(gè)狀態(tài)。每個(gè)調(diào)度時(shí)序狀態(tài)排列如圖1所示。這種算法,一方面使調(diào)度器能夠更快、更高頻率地為高優(yōu)先級(jí)通道服務(wù),另一方面又能防止低優(yōu)先級(jí)通道被高優(yōu)先級(jí)通道消除。
圖1 調(diào)度時(shí)序
一旦選擇了通道,微引擎就在可用通道上開始其服務(wù)。事件服務(wù)不能中斷,下一個(gè)服務(wù)必須在當(dāng)前服務(wù)完成后才能處理。另外,不應(yīng)在一條通道的服務(wù)上花費(fèi)太多時(shí)間,以保證不延遲其他通道。對(duì)時(shí)間要求非常苛刻的任務(wù)應(yīng)作為不同事件的幾個(gè)服務(wù)或一個(gè)事件的幾個(gè)服務(wù)進(jìn)行調(diào)度組織。
在eTPU模塊初始化期間,CPU將eTPU二進(jìn)制程序代碼加載到代碼存儲(chǔ)器(SCM)中,同時(shí),代碼存儲(chǔ)器被鎖住。在eTPU運(yùn)行期間,代碼存儲(chǔ)器就只能由eTPU訪問,而且為只讀。eTPU和CPU都可以訪問數(shù)據(jù)存儲(chǔ)器,可以進(jìn)行讀寫。數(shù)據(jù)存儲(chǔ)器管理數(shù)據(jù)交換空間,以便在eTPU和CPU之間交換數(shù)據(jù)(參數(shù)、變量和結(jié)果)。
燃油噴射系統(tǒng)由eTPU模塊采集曲軸信號(hào)和凸輪軸信號(hào)進(jìn)行正時(shí)同步,判斷發(fā)動(dòng)機(jī)位置,給出發(fā)動(dòng)機(jī)的工作時(shí)序,而后在相應(yīng)的eTPU通道調(diào)用噴油函數(shù)。四缸發(fā)動(dòng)機(jī)一個(gè)工作循環(huán),曲軸轉(zhuǎn)兩圈,產(chǎn)生兩個(gè)缺齒信號(hào),凸輪軸只轉(zhuǎn)一圈,產(chǎn)生一個(gè)高電平信號(hào),利用曲軸和凸輪軸既定的相位關(guān)系可以通過凸輪軸的高電平信號(hào)對(duì)曲軸的兩個(gè)缺齒信號(hào)進(jìn)行區(qū)分,從而確定曲軸位置。根據(jù)以上分析,本文給出了一種正時(shí)同步的方法,該方法分為三個(gè)步驟:首先是信號(hào)有效性檢測(cè)(對(duì)曲軸、凸輪軸信號(hào)進(jìn)行有效性檢測(cè));其次對(duì)曲軸的缺齒信號(hào)進(jìn)行驗(yàn)證;最后進(jìn)行正時(shí)同步。
2.1 信號(hào)有效性檢測(cè)
為了排除外界干擾,保證采集的信號(hào)質(zhì)量,首先需要對(duì)曲軸、凸輪軸信號(hào)進(jìn)行有效性檢測(cè)。信號(hào)有效性檢測(cè)采用窗口技術(shù)。eTPU根據(jù)當(dāng)前齒間隔,預(yù)估下次齒間隔的可能最大和最小值,開設(shè)一個(gè)合理的齒捕獲窗口,將窗口外的信號(hào)完全濾掉,保證信號(hào)的可靠性。如下一個(gè)信號(hào)的下降沿出現(xiàn)在t1前,則該信號(hào)為異常多齒。如下一個(gè)信號(hào)的下降沿沒有出現(xiàn)在窗口范圍內(nèi)即(t2,t3)區(qū)間內(nèi),將在t3時(shí)刻插入一個(gè)虛擬的齒信號(hào),然后檢測(cè)函數(shù)開始尋找新的齒信號(hào)上升沿。這樣,可以保證齒數(shù)完全正確,明顯降低了CPU軟件的復(fù)雜度,增強(qiáng)了系統(tǒng)的可靠性。如圖2所示為曲軸齒信號(hào)檢測(cè),T為當(dāng)前齒信號(hào)周期,t1為當(dāng)前齒周期結(jié)束時(shí)的下降沿時(shí)刻,t2為打開窗口時(shí)刻,t3為關(guān)閉窗口時(shí)刻,WinRatio 為窗口因子。考慮到信號(hào)的波動(dòng)性,窗口區(qū)間計(jì)算中T一般采用平均周期。
圖2 曲軸齒信號(hào)檢測(cè)
凸輪軸齒信號(hào)檢測(cè)是以檢測(cè)到曲軸缺齒信號(hào)為前提。其次,凸輪信號(hào)以角度作單位,不同于曲軸信號(hào)以時(shí)間為單位。如圖3所示。
圖3 凸輪齒信號(hào)檢測(cè)
2.2 缺齒驗(yàn)證
曲軸信號(hào)盤有60個(gè)齒,四缸機(jī)完成一個(gè)工作循環(huán),曲軸信號(hào)有120個(gè)脈沖,編號(hào)為0-119。一般將缺齒后面的第一齒設(shè)為0號(hào)齒,按轉(zhuǎn)動(dòng)順序計(jì)數(shù),第58、59號(hào)齒為缺齒,第60號(hào)齒同0號(hào)齒。缺齒檢測(cè)方法和齒信號(hào)有效性檢測(cè)方法類似,都是鑒于齒信號(hào)周期T不會(huì)發(fā)生突變。若當(dāng)前齒周期約等于3倍的前一個(gè)齒周期時(shí),當(dāng)前齒即為檢測(cè)到的缺齒。缺齒判別如圖4所示,TA為缺齒前正常齒周期,TB為缺齒周期,k為常數(shù)因子,缺齒滿足:(3-k)×TA 圖4 缺齒判別 2.3 正時(shí)同步方案 為使曲軸信號(hào)和凸輪軸信號(hào)實(shí)現(xiàn)正時(shí)同步,正時(shí)同步函數(shù)必須能夠處理各種起始信號(hào)。正時(shí)同步函數(shù)初始化后,凸輪軸信號(hào)可能在缺齒信號(hào)前或缺齒信號(hào)后被檢測(cè)到。 1) 如圖5,若首先檢測(cè)到曲軸缺齒信號(hào),在此信號(hào)之前每檢測(cè)到一個(gè)曲軸齒信號(hào),TCR2計(jì)數(shù)器都復(fù)位到0;在第一個(gè)缺齒信號(hào)之后,TCR2做角度累加。這種方法保證在正時(shí)同步完成之前,TCR2中角度值不超過720°。 圖5 曲軸缺齒信號(hào)先被檢測(cè)到 2) 如圖6,若首先檢測(cè)到凸輪軸信號(hào),第一個(gè)凸輪齒信號(hào)將被忽略。第一個(gè)曲軸缺齒被檢測(cè)到時(shí),TCR2才開始計(jì)數(shù),在此之前每當(dāng)檢測(cè)到曲軸齒時(shí)TCR2都被復(fù)位到0。第一圈結(jié)束時(shí),沒有檢測(cè)到凸輪齒,此時(shí)TCR2仍然復(fù)位到0。這樣做也是保證在正時(shí)同步完成之前,TCR2中角度值不超過720°。 圖6 凸輪齒信號(hào)先被檢測(cè)到 CAM函數(shù)和CRANK函數(shù)分別處理凸輪信號(hào)和曲軸信號(hào)。當(dāng)CAM函數(shù)檢測(cè)到凸輪信號(hào)狀態(tài)發(fā)生變化時(shí),即通過LSR寄存器通知曲軸函數(shù)狀態(tài)改變,這樣eTPU就能夠?qū)崟r(shí)更新發(fā)動(dòng)機(jī)位置狀態(tài)信息了。正時(shí)同步狀態(tài)轉(zhuǎn)化流程由圖7所示。 圖7 正時(shí)同步流程圖 噴油控制函數(shù)主要用于輸出噴油脈沖信號(hào)。該信號(hào)有兩種觸發(fā)模式:角度加時(shí)間和時(shí)間加時(shí)間。角度加時(shí)間模式就是信號(hào)的第一個(gè)跳變沿以TCR2的角度計(jì)數(shù)為時(shí)鐘基準(zhǔn),第二個(gè)跳變沿以TCR1的時(shí)間計(jì)數(shù)為時(shí)鐘基準(zhǔn);時(shí)間加時(shí)間模式就是信號(hào)的第一個(gè)跳變沿和第二個(gè)跳變沿都以TCR1的時(shí)間計(jì)數(shù)為時(shí)鐘基準(zhǔn)。第一種觸發(fā)模式不需要時(shí)間延遲,節(jié)約了延遲前的中斷使控制精度更高,更可靠,主要用在以曲軸信號(hào)為基準(zhǔn)的工作形式下;第二種觸發(fā)模式主要用在以凸輪信號(hào)為基準(zhǔn)的工作形式下。 該函數(shù)的輸入?yún)?shù)主要有脈沖個(gè)數(shù)、有效電平的極性和各脈沖的延遲角度或時(shí)間等。 函數(shù)運(yùn)行時(shí),TCR1工作在時(shí)間模式,TCR2工作在角度模式。在每個(gè)飛輪齒檢測(cè)完成后,MDU(乘除單元)進(jìn)行如下運(yùn)算: trr=齒周期(TCR1測(cè)得)/TCR2計(jì)數(shù)次數(shù) trr取整后存入一個(gè)預(yù)分頻器中,該分頻器以TCR1的時(shí)鐘頻率遞減計(jì)數(shù),直至遞減為零,TCR2就會(huì)進(jìn)行一次角度計(jì)數(shù)。 TCR2對(duì)檢測(cè)到的每個(gè)飛輪齒進(jìn)行角度計(jì)數(shù),相當(dāng)于TCR2將每個(gè)飛輪齒劃分為一定數(shù)量的微齒,TCR1對(duì)每個(gè)微齒又進(jìn)行計(jì)數(shù)。如圖8所示。而每個(gè)微齒的角度值正是TCR2角度計(jì)數(shù)的精度。 圖8 角度觸發(fā)噴油 從圖8中可以看出,噴油脈沖信號(hào)在整微齒處觸發(fā)不會(huì)有時(shí)間延遲。按照傳統(tǒng)的控制方式,需要在整齒處進(jìn)入中斷,然后對(duì)延遲時(shí)間進(jìn)行賦值,頻繁的中斷不僅會(huì)影響噴油控制精度,還會(huì)對(duì)系統(tǒng)的可靠性帶來一定的影響。 4.1 軟件結(jié)構(gòu) 在軟件設(shè)計(jì)中,采用分層模型,以降低系統(tǒng)各部分間的耦合關(guān)系,提高系統(tǒng)代碼的可復(fù)用性和可移植性。軟件以層次結(jié)構(gòu)形式組織,每一層定義一組接口,獨(dú)立于系統(tǒng)。整個(gè)軟件系統(tǒng)分為三個(gè)子層:硬件驅(qū)動(dòng)層、軟件支持層和管理應(yīng)用層。硬件驅(qū)動(dòng)層直接作用于微控制器硬件,包含各硬件功能模塊驅(qū)動(dòng)指令,為軟件支持層提供指令接口。軟件支持層負(fù)責(zé)將管理應(yīng)用層的服務(wù)請(qǐng)求轉(zhuǎn)換為硬件驅(qū)動(dòng)層對(duì)硬件資源的調(diào)度。管理應(yīng)用層包含共軌柴油機(jī)噴油系統(tǒng)的各種控制策略和算法。軟件結(jié)構(gòu)如圖9。 圖9 軟件結(jié)構(gòu) 4.2eTPU代碼開發(fā) 主CPU 和eTPU 具有不同的內(nèi)核結(jié)構(gòu),它們的代碼也必須使用不同的編譯器。為了使CPU 代碼和eTPU 代碼能夠交互運(yùn)行,eTPU 編譯器提供一系列的CPU 接口宏定義,這些宏定義用于產(chǎn)生執(zhí)行代碼和符號(hào)信息,并依此編寫eTPU 的API 函數(shù)。eTPU 的API 函數(shù)正是作為CPU 代碼和eTPU 代碼的交互界面,屏蔽了兩者之間復(fù)雜的交互過程,為CPU 程序設(shè)計(jì)提供了簡(jiǎn)單的應(yīng)用接口。CPU通過API 函數(shù)初始化各eTPU通道功能,作信息采集或者執(zhí)行器驅(qū)動(dòng)。通道功能分配如圖10。 介紹了eTPU模塊在高壓共軌柴油機(jī)燃油噴射系統(tǒng)中的應(yīng)用,據(jù)此編寫的eTPU代碼已在自主開發(fā)的汽車 圖10 通道功能分配 ECU中得到驗(yàn)證。在共軌柴油機(jī)試驗(yàn)臺(tái)測(cè)試過程中,微控制器采集軌壓信號(hào)并通過PWM脈沖控制壓力控制閥來維持軌壓的穩(wěn)定,并依此軌壓信號(hào)查詢MAP圖得到每 個(gè)噴油閥的噴油量(即噴油時(shí)間)。通過示波器觀察噴油信號(hào),噴油提前角和噴油時(shí)長(zhǎng)都準(zhǔn)確無誤,未出現(xiàn)多噴和少噴的情況,這也表明了正時(shí)同步方案的正確。 [1] 張衛(wèi)鋼,張守姣,車喜龍,等.基于eTPU模塊的高壓共軌柴油機(jī)正時(shí)同步方法[J].汽車工程,2012,34(2):103-108. [2] 任亮,李進(jìn),等.高壓共軌柴油機(jī)噴射控制策略研究[J].車用發(fā)動(dòng)機(jī),2004(6):14-17. Application of eTPU Module in Common Rail Diesel Injection System YAN Pei-yu (School of Mechanical and Electrical Engineering,Hohai University,Changzhou 213022,China) To make common rail system perform multiple precise fuel injections, ECU must be provided with high control precision and capabilities of multi-task processing. With MPC5634 microcontroller as the platform, eTPU timing synchronization and fuel injection control functions are developed.Experiments show that the family of functions is used to achieve the timing synchronization control and the multiple injections. diesel engine; common rail system; eTPU; timing synchronization; injection control 顏培宇(1989-),男,江蘇漣水人,碩士研究生,研究方向?yàn)楣曹壊裼蜋C(jī)電控系統(tǒng)。 TP391;TK42 B 1671-5276(2014)02-0174-03 2013-08-193 噴油控制
4 軟件設(shè)計(jì)
5 結(jié)語