直流調速系統的SIMULINK仿真
簡介
本文引用地址:http://www.j9360.com/article/86638.htm汽車設計從過去單純的機械式系統,到如今常常包含多達100個微處理器的現代汽車,已經走過了很長的歷程。傳統汽車上用到電子器件的部分僅僅是那些娛樂設施,最常見的是汽車收音機。直到有關諸如廢氣排放量和節油性等汽車各方面性能的政府規定出臺以后,對汽車功能的電子控制才開始變得越來越普遍。最初,某些功能是依靠分立式硬件元件或數字邏輯執行的。隨著單片機(MCU)等嵌入式處理器解決方案的出現,使用MCU來代替固定硬件的好處正逐步顯現,這是因為設計者可以對MCU進行編程以執行模塊所要求的特定任務。汽車設計中大量采用了各種MCU,從用在轉動擋風玻璃雨刮器和開門等功能的最簡單的8位MCU到控制引擎的復雜32位MCU。這個范圍的中間是大量的16位MCU,它們本身在計算能力、存儲容量、功耗和外設特性方面也呈現出相當大的多樣性。為每個獨立的汽車子系統選擇合適的處理器,并在不同的子系統間合理地分配處理能力,對汽車產品的性能、可靠性和增強功能起著至關重要的作用。
數字信號控制器:單片機和數字信號處理器領域的佼佼者
大多數汽車控制和監視操作都需要大量的數學運算。例如,在引擎預熱階段,空氣流量(MAF)傳感器和引擎轉速計(以每分鐘轉數(RPM)表示)的輸出數據會被MCU采樣,然后需要根據測得的數值,計算出要求噴射到每個汽缸的燃油量,公式如下:
F=MAF/(K*N*RPM/120)
其中,K是給定潤滑劑溫度下的理想(常數)空氣-燃油比,N是汽缸的數量。
上面的計算不僅涉及精確的乘法和除法,還必須對要射入的燃油量進行重復計算以適應快速變化的引擎工作條件。因此,當廢氣含氧量(EGO)傳感器已預熱充分,能夠測量廢氣的質量時,必須持續監視EGO傳感器的輸出數據,以調節燃油噴射速率,從而獲得最佳的引擎性能并減少廢氣的排放量。
計算密集型操作的其他實例還有:
a)對來自各種傳感器的數據進行有限沖激響應(FIR)或無限沖激響應(IIR)濾波,以消除噪聲。應用實例:引擎爆震檢測、熄火檢測或在持續監視燃油液位時消除油料晃動的影響。
b)進行快速傅立葉變換(FFT)對數據進行分析,以在后續的處理階段使用頻譜。應用實例:主動振動控制或排氣噪聲消除。
c)根據傳感器輸入數據的數量級,對其進行定標,以及歸一化和線性化處理。
d)比例-積分(PI)或比例-積分-微分(PID)控制算法。應用實例:導航控制。
圖1描繪了一個簡化的引擎控制系統,它本身就是汽車中各種處理器所執行任務的一部分。
車廂噪聲消除、引擎爆震檢測及防翻滾和穩定性控制等舒適、診斷和安全功能都需要更強的信號處理能力,這就要求使用自適應濾波等數學密集型算法。
進行這樣的計算要求所使用的處理器具有非常高速的數學運算功能。8位的MCU或一般的16位MCU架構完全不具備這樣的功能,而對成本的考慮又常常會使昂貴的32位MCU無法在這樣的場合得到使用。一個專門針對重復性數學處理進行優化的特殊處理器架構——16位數字信號處理器(DSP)可用來執行這樣的密集型任務。
但就DSP本身(沒有處理控制任務的相關MCU)來說,它并不是非常適合在汽車系統等動態環境中使用。主要有以下幾個原因:
a)DSP不具有靈活的中斷結構。
b)DSP無法對位(如各個I/O引腳的狀態)進行十分高效的操作。
c)DSP在很大程度上需要依賴片外存儲器和外設。
d)很少有低引腳數的DSP器件,因而不適合在空間受限的模塊中使用。
因此,可執行大量汽車功能的理想單芯片架構平臺將是16位數字信號控制器(DSC),比如Microchip的dsPIC30F系列器件。DSC是一款創新的混合型“片上系統”(SoC)架構,它無縫地組合了16位MCU的控制特性和大量的DSP功能。
一方面,DSC架構尤其適合類似于下述的典型控制操作:
a)定期提供中斷服務,例如,獲取對汽車速度和轉向角度的定期采樣以計算防抱死制動系統(ABS)所需的制動壓力。
b)從多個傳感器和控制輸入捕捉數據,例如,同時測量汽車速度、加速度、車身和車輪的相對運動,以及轉向角度,從而確定主動懸架控制系統的制動水平。
c)向執行機構發送數據和控制脈沖,例如,發送占空比可變的PWM信號以合適的周期開關燃油噴射器或點火電路。
d)與分布式系統中的其他控制器模塊共享數據,例如,各種子系統周期性地發送狀態數據到診斷模塊或用戶顯示面板。
另一方面,DSC的CPU支持功能強大的一套DSP指令和靈活的尋址模式,因此能快速完成一系列精確的算術與邏輯運算。
DSC的主要特性
典型的DSC架構具備一些CPU和外設的特性,因而適用于眾多汽車應用。在這一部分,我們將探討這些 特性中最具優勢的特性,它們是考慮使用DSC架構時,最令人關注的特性。
增強的CPU功能
16位DSC最強有力的功能可能就要屬其強大的數學處理能力。一個真正的DSC包含兩個40位累加器,可用來存儲兩個獨立的16位×16位乘法運算的結果。
大多數信號處理算法以及許多一般數學計算,都包含有動態乘積和的計算。諸如MAC(乘-累加)等特殊指令能夠在一個指令周期內,求得兩個16位數的乘積,將結果添加到累加器,然后從RAM預取一對數據值。因為有兩個累加器,這種架構還能在回寫數據到一個累加器的同時在另一個累加器中執行計算。
40位寬的累加器允許數據暫時溢出(當在累加器中累加大量數值時,這種情況時有發生!)。此外,DSC的CPU還可選擇將值保持在一個允許的范圍內,這個范圍由一種稱為飽和的機制確定,在回寫數據到RAM時,這種機制還將對數據進行舍入和調整。DSC還擁有MCU通常不具備的特性,那就是DSC有能力解析小數形式的數據而不總是將數據看作整數,這一特性有助于小數的算術運算。
除了上述特性以外,DSC架構還具有多種數據尋址模式,能夠有效地傳送數據、支持循環緩沖區和位反轉尋址,以及零開銷循環。很明顯,DSC提供了一款非常有效且用戶友好的CPU架構。DSC是處理和分析傳感器數據、執行與控制各種執行機構相關的計算以及監視汽車系統性能的理想之選。
評論