專利名稱:基于fpga的柴油機電噴控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及發(fā)動機控制技術(shù),尤其涉及一種基于FPGA的柴油機電噴控制方法。
技術(shù)背景
內(nèi)燃機是現(xiàn)代工業(yè)、運輸業(yè)的動力之源,同時也制造了大量的尾氣污染。目前,國 內(nèi)外提高柴油機動力性、經(jīng)濟性要求的同時,更加嚴(yán)格限制柴油機尾氣排放。這就要求,能 夠全程各工況,柔性、精確控制柴油機,因此柴油機電噴控制器已經(jīng)成為柴油機的重要部 件。
電噴控制器柴油機噴油進行柔性精確控制,主要通過控制器其輸出的PWM信號, 進而控制噴油電磁閥實現(xiàn)。微控制器(CPU)是電噴控制器的核心,通常CPU所能提供的PWM 通道數(shù)量有限,這就限制了其能控制柴油機氣缸數(shù)量,同時對電噴控制閥控制的實時性受 到CPU代碼的順序執(zhí)行特性與中斷優(yōu)先級限制,很難提高。
目前,(汽)車用柴油機是柴油機電噴控制器應(yīng)用最廣泛的領(lǐng)域。通常車用柴油機 氣缸數(shù)量較少(一般為4、6缸),常用CPU提供的PWM通道能夠滿足其對于控制氣缸數(shù)量、 實時性等方面的需求,可以直接使用。
然而,對于機車、船用大缸徑、多缸柴油機而言,常用CPU提供的PWM通道數(shù)量有 限,PWM通道數(shù)量限制了其能控制柴油機氣缸數(shù)量,同時對多個噴油電磁閥控制的實時性很 難提高。因此,必須實現(xiàn)電噴控制器PWM通道數(shù)量的擴展,才能完成多缸柴油機電噴控制任務(wù)。
傳統(tǒng)的電噴控制器設(shè)計方法是選用PWM通道數(shù)量、速度、資源特別強大,足以滿足 電噴控制需求的CPU,這給電噴控制器的設(shè)計帶來了一定的困難。其主要原因就是滿足需求 的高性能CPU難以選擇,且成本較高。
隨著嵌入式技術(shù)的不斷發(fā)展,已經(jīng)出現(xiàn)了一些技術(shù)可以解決上述問題。例如采用 模擬PWM通道技術(shù)、PWM通道復(fù)用技術(shù)、多CPU同步技術(shù),他們各有特點,又有各自的不足。
采用模擬PWM通道技術(shù),通過CPU的通用I/O、配合定時器模擬出PWM通道。該方 法需要使用的通用I/O和定時器,需要極高性能的CPU支持,通常使用外部總線時鐘,實時 性較差,精確性不足,難以滿足電噴控制器對于時鐘精確性的要求,只能用于低速、實時性 要求不高的產(chǎn)品。
PWM通道復(fù)用技術(shù),在電路設(shè)計上采用控制信號復(fù)用形式,使用CPU通用I/O控 制同一時刻的通道選擇,通過通道選擇將PWM信號輸出到指定的通道上。采用該方法可以 在一定程度上滿足電噴控制器的需求,但是在硬件、軟件的設(shè)計上比較復(fù)雜,同時對于多缸 (例如16缸)柴油機電噴控制器,仍然難以滿足PWM通道數(shù)量和實時性的需求。
多CPU同步技術(shù),采用多CPU并行設(shè)計方法或多控制單元并行工作方法,通過增加 CPU的數(shù)量擴展PWM通道的數(shù)量。該技術(shù)需要用軟件協(xié)調(diào)多CPU同步工作,硬件上也增加了 復(fù)雜程度,提高了成本,同樣該方法對于多缸柴油機仍有一定的局限性。
發(fā)明內(nèi)容
本發(fā)明的目的就是克服上述現(xiàn)有技術(shù)之不足,提供一種簡便、可靠、高效率、低成 本、實現(xiàn)PWM通道擴展、滿足實時性需求的基于FPGA的柴油機電噴控制方法。本發(fā)明的目的是這樣現(xiàn)的一種基于FPGA的柴油機電噴控制方法其特征在于采 取下述步驟A. CPU預(yù)先將控制PWM信號所需參數(shù)分配到指定地址;B. CPU通過檢測柴油機轉(zhuǎn)速、凸輪軸信號,計算出柴油機轉(zhuǎn)速、曲軸位置參數(shù);C. CPU依據(jù)柴油機轉(zhuǎn)速、曲軸位置參數(shù),轉(zhuǎn)速設(shè)定值參數(shù),計算下一個噴油通道、噴 油時刻、噴油時刻修正參數(shù)、啟噴持續(xù)時間,啟噴PWM脈寬參數(shù),噴油持續(xù)期、維持PWM脈寬 參數(shù);D.將上述參數(shù)通過外部總線傳遞給FPGA ;E. FPGA通過檢測柴油機轉(zhuǎn)速、凸輪軸信號,計算出柴油機轉(zhuǎn)速、曲軸相位參數(shù),進 行精確曲軸相位同步;F.監(jiān)測外部總線,當(dāng)有數(shù)據(jù)通過總線寫入FPGA端口后,F(xiàn)PGA根據(jù)地址進行數(shù)據(jù)解 碼;G.參考柴油機轉(zhuǎn)速、曲軸相位參數(shù),在指定啟噴時刻,通過內(nèi)部定時器進行計時, 并進行啟噴時刻修正;H.開啟內(nèi)部計時,進入啟噴模式,通過PWM信號控制電磁閥開啟,并在指定時刻, 結(jié)束啟噴控制I.開啟內(nèi)部計時,進入維持模式,通過PWM信號維持電磁閥開啟,并在達(dá)到噴油持 續(xù)期時結(jié)束維持控制。采用本發(fā)明的方案,可以在FPGA容量允許范圍內(nèi),實現(xiàn)任意數(shù)量PWM通道擴展,同 時極大減輕了 CPU負(fù)荷,提高了系統(tǒng)實時性。
圖1為本發(fā)明實施例的硬件原理框圖;圖2為本發(fā)明實施例的CPU控制流程框圖;圖3為本發(fā)明實施例的FPGA控制流程框圖。
具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。參看圖1。本實施例的柴油機電噴控制器PWM通道擴展模塊包括CPU、FPGA、信號 采集接口、驅(qū)動電路、PWM輸出接口。選擇具有外部總線的CPU,作為電噴控制器核心。CPU 的外部總線包括地址總線、控制總線、數(shù)據(jù)總線,連接到FPGA。信號采集接口連接到CPU和 FPGA的對應(yīng)輸入端口。FPGA的各P麗信號輸出端口與對應(yīng)的P麗驅(qū)動電路相連。各P麗 驅(qū)動電路將電磁閥驅(qū)動信號輸出致對應(yīng)PWM輸出接口。
4
參看圖2,說明CPU的軟件流程。CPU上電開始后,首先進入框1. 1初始化。進入 框1.2分配各PWM通道參數(shù)地址。進入框1.3檢測柴油機轉(zhuǎn)速信號。進入框1.4檢測凸輪 軸信號,計算出柴油機轉(zhuǎn)速、曲軸相位參數(shù)。進入框1.5檢測設(shè)定轉(zhuǎn)速。進入框1.6計算電 噴參數(shù),計算需發(fā)出信號的PWM通道序號及參數(shù),(參數(shù)包括啟噴時刻及修正值、啟噴PWM脈 寬、啟噴PWM持續(xù)時間、電噴維持PWM脈寬、電噴維持PWM持續(xù)時間)。進入框1. 7向指定 地址寫入上述PWM控制參數(shù)。進入框1.8判斷是否成功,是正常結(jié)束本次控制過程,返回 框1. 3 ;否則,進入框1. 9累加并記錄錯誤次數(shù)。進入框1. 10判斷是否達(dá)到預(yù)定錯誤次數(shù), 是,進入框1.11退出;否則,返回框1.3。
參看圖3,說明FPGA的軟件流程。首先進入框2. 0,檢測柴油機轉(zhuǎn)速、凸輪軸信號, 計算出柴油機轉(zhuǎn)速、曲軸位置信息。進入框2. 1判斷是否檢測收到的總線數(shù)據(jù),否進入框 2. 13,退出本次,是進入框2. 2。進入框2. 2依據(jù)總線數(shù)據(jù)計算工作通道及各參數(shù),參數(shù)包 括啟噴時刻及修正值、啟噴PWM脈寬、啟噴PWM持續(xù)時間、電噴維持PWM脈寬、電噴維持PWM 持續(xù)時間)。進入框2. 3設(shè)定為啟噴模式。進入框2. 4設(shè)定啟噴模式PWM參數(shù)、定時參數(shù)。 進入框2. 5在指定時刻,S卩(噴油時刻+噴油時刻修正參數(shù)值),啟動啟噴定時器。進入框 2. 6輸出啟噴PWM信號。進入框2. 7判斷是否到達(dá)啟噴定時時間,否返回框2. 6,是進入 框2. 8。進入框2. 8設(shè)定為維持模式。進入框2. 9設(shè)定維持模式PWM參數(shù)、定時參數(shù)。進入 框2. 10啟動維持定時器。進入框2. 11輸出維持PWM信號。進入框2. 12判斷是否到達(dá)維 持定時時間,否返回框2. 11,是進入框2. 13,正常結(jié)束本次控制過程。進入框2. 13,結(jié)束 本次PWM控制過程,返回框2. 0。
最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡 管參照前述實施例對本發(fā)明進行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然 可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精 神和范圍。
權(quán)利要求
1. 一種基于FPGA的柴油機電噴控制方法,其特征在于采取下述步驟A.CPU預(yù)先將控制PWM信號所需參數(shù)分配到指定地址;B.CPU通過檢測柴油機轉(zhuǎn)速、凸輪軸信號,計算出柴油機轉(zhuǎn)速、曲軸位置參數(shù);C.CPU依據(jù)柴油機轉(zhuǎn)速、曲軸位置參數(shù),轉(zhuǎn)速設(shè)定值參數(shù),計算下一個噴油通道、噴油 時刻、噴油時刻修正參數(shù)、啟噴持續(xù)時間,啟噴PWM脈寬參數(shù),噴油持續(xù)期、維持PWM脈寬參 數(shù);D.將上述參數(shù)通過外部總線傳遞給FPGA;E.FPGA通過檢測柴油機轉(zhuǎn)速、凸輪軸信號,計算出柴油機轉(zhuǎn)速、曲軸相位參數(shù),進行精 確曲軸相位同步;F.監(jiān)測外部總線,當(dāng)有數(shù)據(jù)通過總線寫入FPGA端口后,F(xiàn)PGA根據(jù)地址進行數(shù)據(jù)解碼;G.參考柴油機轉(zhuǎn)速、曲軸相位參數(shù),在指定啟噴時刻,通過內(nèi)部定時器進行計時,并進 行啟噴時刻修正;H.開啟內(nèi)部計時,進入啟噴模式,通過PWM信號控制電磁閥開啟,并在指定時刻,結(jié)束 啟噴控制I.開啟內(nèi)部計時,進入維持模式,通過PWM信號維持電磁閥開啟,并在達(dá)到噴油持續(xù)期 時結(jié)束維持控制。
全文摘要
本發(fā)明的基于FPGA的柴油機電噴控制方法,CPU預(yù)先將控制PWM信號所需參數(shù)分配到指定地址,計算出柴油機轉(zhuǎn)速、曲軸位置參數(shù)和噴油參數(shù)后,傳遞給FPGA,F(xiàn)PGA根據(jù)地址進行數(shù)據(jù)解碼;參考柴油機轉(zhuǎn)速、曲軸相位參數(shù),通過PWM信號控制噴油??梢栽贔PGA容量允許范圍內(nèi),實現(xiàn)任意數(shù)量PWM通道擴展,同時極大減輕了CPU負(fù)荷,提高了系統(tǒng)實時性。
文檔編號F02D41/30GK102032065SQ20101056648
公開日2011年4月27日 申請日期2010年11月30日 優(yōu)先權(quán)日2010年11月30日
發(fā)明者管明華, 蔡志偉 申請人:中國北車集團大連機車車輛有限公司