一種高效實用的發(fā)動機(jī)片上爆震檢測解決方案
爆震信號的采樣
Monaco的ADC支持高達(dá)1MHz的采樣頻率及8、 10或12位的采樣精度。本例選擇200K@12bit。Monaco上周期中斷定時器(PIT)的一個特性是:不僅能夠配置成周期中斷,還能夠配置成周期地直接觸發(fā)片上的EQADC。本例將PIT周期置為5us并觸發(fā)AD轉(zhuǎn)換,于是得到一個精確的200kHz的AD轉(zhuǎn)換觸發(fā)信號。
爆震只在特定角度窗內(nèi)(TDC稍后的一段時間)才可能發(fā)生,故只需讓ADC在恰當(dāng)?shù)拇翱趦?nèi)工作。這個窗口由eTPU產(chǎn)生。eTPU是一個獨立于內(nèi)核以外的 RISC引擎,在Monaco中eTPU與32個定時通道緊密組合在一起,專注于復(fù)雜、高實時性的定時邏輯。其最重要的功能是根據(jù)輸入的曲軸和凸輪軸的脈沖信號來產(chǎn)生發(fā)動機(jī)工作的角度基準(zhǔn)。這樣使EMS的控制算法可基于角度空間,eTPU還同時提供基于角度的噴油和點火控制功能。飛思卡爾提供了完備的 eTPU微碼和全面的庫函數(shù)以便用戶使用。其中包括爆震窗口的產(chǎn)生:在不同的發(fā)動機(jī)轉(zhuǎn)速下對于不同的汽缸都能實時給出所期望的基于角度的窗口。
Monaco 片上外設(shè)間的聯(lián)動邏輯允許ADC支持高級外部觸發(fā)模式。圖3描述了在MCU內(nèi)部如何產(chǎn)生AD觸發(fā)信號及相關(guān)信號的波形。Monaco的EQADC集成了一個并行接口(PSI),爆震數(shù)字信號可以通過PSI直接輸送到片上的硬件數(shù)字濾波器(Decimation Filter)。使用PSI的一個顯著好處是:在濾波過程中不需要CPU的干預(yù)。
硬件數(shù)字濾波器
硬件數(shù)字濾波器的核心是硬件乘加器(MAC)。缺省輸入樣點的精度為16位。通過軟件可以將硬件數(shù)字濾波器設(shè)置成8階的有限沖擊相應(yīng)濾波器(8th FIR)或4階的無限沖擊濾波器(4th IIR)。硬件數(shù)字濾波器有9個24位的系數(shù)寄存器,分別存放8個濾波器系數(shù)和1個常數(shù)項。MAC單元的累加結(jié)果精度達(dá)51位。在本例中我們將Decimation Filter設(shè)計為一個4th IIR低通濾波器,截止頻率為16kHz。硬件數(shù)字濾波器還支持對濾波后的信號亞采樣,亞采樣率從2:1到16:1。目的是降低后續(xù)CPU處理的負(fù)荷。在本例中選擇4:1,截止頻率為16kHz的信號用50k的樣點率就足夠了,不需要高到200k。
信號處理引擎
信號處理引擎(SPE)屬于內(nèi)核的一部分,具有強(qiáng)大的數(shù)學(xué)運(yùn)算能力。SPE具有各種靈活的乘法及乘加指令,并支持單指令多數(shù)據(jù)(SIMD)功能,在每個系統(tǒng)時鐘內(nèi)能夠完成兩個32位的乘加運(yùn)算(MAC)。飛思卡爾提供了完備的可供高層調(diào)用的DSP庫,包括常用的FFT,IIR和FIR運(yùn)算。在對高級的爆震檢測應(yīng)用中,往往采用FFT作更精細(xì)的頻域分析。在本例中使用6th IIR實現(xiàn)一個帶通 濾波器來提取爆震信號。該帶通濾波器的截止頻率設(shè)在9kHz和15kHz。最后的能量集成也由SPE來完成,這只涉及到加法運(yùn)算和對結(jié)果的簡單修正。整個爆震檢測的CPU所需的負(fù)荷小于3%。
需要指出的是,DMA在實現(xiàn)該爆震檢測的方案中起到兩個重要作用:負(fù)責(zé)將存在系統(tǒng)RAM中的EQADC的命令實時搬運(yùn)到CFIFO中;將硬件數(shù)字濾波器低通處理后數(shù)據(jù)搬運(yùn)到系統(tǒng)RAM中暫存,并在每個爆震窗口的數(shù)據(jù)搬運(yùn)完后產(chǎn)生中斷。CPU在中斷服務(wù)程序中調(diào)用SPE的帶通濾波。
本文小結(jié)
飛思卡爾新一代面向中低端EMS應(yīng)用的Monaco系列MCU集成了高效的片上爆震檢測能力。針對爆震控制的應(yīng)用,Monaco系列不僅保留了經(jīng)典的 Power Architecture強(qiáng)大的數(shù)字信號處理能力,更深入優(yōu)化了片上的外設(shè)及相互間的聯(lián)動邏輯。無論是較復(fù)雜的高級爆震算法還是較直接簡單的爆震檢測都很適合在Monaco上實現(xiàn)。
評論