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