數(shù)字信號控制器在汽車設計中的應用
簡介
汽車設計從過去單純的機械式系統(tǒng),到如今常常包含多達100個微處理器的現(xiàn)代汽車,已經走過了很長的歷程。傳統(tǒng)汽車上用到電子器件的部分僅僅是那些娛樂設施,最常見的是汽車收音機。直到有關諸如廢氣排放量和節(jié)油性等汽車各方面性能的政府規(guī)定出臺以后,對汽車功能的電子控制才開始變得越來越普遍。最初,某些功能是依靠分立式硬件元件或數(shù)字邏輯執(zhí)行的。隨著單片機(MCU)等嵌入式處理器解決方案的出現(xiàn),使用MCU來代替固定硬件的好處正逐步顯現(xiàn),這是因為設計者可以對MCU進行編程以執(zhí)行模塊所要求的特定任務。汽車設計中大量采用了各種MCU,從用在轉動擋風玻璃雨刮器和開門等功能的最簡單的8位MCU到控制引擎的復雜32位MCU。這個范圍的中間是大量的16位MCU,它們本身在計算能力、存儲容量、功耗和外設特性方面也呈現(xiàn)出相當大的多樣性。為每個獨立的汽車子系統(tǒng)選擇合適的處理器,并在不同的子系統(tǒng)間合理地分配處理能力,對汽車產品的性能、可靠性和增強功能起著至關重要的作用。
數(shù)字信號控制器:單片機和數(shù)字信號處理器領域的佼佼者
大多數(shù)汽車控制和監(jiān)視操作都需要大量的數(shù)學運算。例如,在引擎預熱階段,空氣流量(MAF)傳感器和引擎轉速計(以每分鐘轉數(shù)(RPM)表示)的輸出數(shù)據(jù)會被MCU采樣,然后需要根據(jù)測得的數(shù)值,計算出要求噴射到每個汽缸的燃油量,公式如下:
F = MAF / (K*N*RPM/120)
其中,K是給定潤滑劑溫度下的理想(常數(shù))空氣-燃油比,N是汽缸的數(shù)量。
上面的計算不僅涉及精確的乘法和除法,還必須對要射入的燃油量進行重復計算以適應快速變化的引擎工作條件。因此,當廢氣含氧量(EGO)傳感器已預熱充分,能夠測量廢氣的質量時,必須持續(xù)監(jiān)視EGO傳感器的輸出數(shù)據(jù),以調節(jié)燃油噴射速率,從而獲得最佳的引擎性能并減少廢氣的排放量。
計算密集型操作的其他實例還有:
a)對來自各種傳感器的數(shù)據(jù)進行有限沖激響應(FIR)或無限沖激響應(IIR)濾波,以消除噪聲。應用實例:引擎爆震檢測、熄火檢測或在持續(xù)監(jiān)視燃油液位時消除油料晃動的影響。
b)進行快速傅立葉變換(FFT)對數(shù)據(jù)進行分析,以在后續(xù)的處理階段使用頻譜。應用實例:主動振動控制或排氣噪聲消除。
c)根據(jù)傳感器輸入數(shù)據(jù)的數(shù)量級,對其進行定標,以及歸一化和線性化處理。
d)比例-積分(PI)或比例-積分-微分(PID)控制算法。應用實例:導航控制。
圖1描繪了一個簡化的引擎控制系統(tǒng),它本身就是汽車中各種處理器所執(zhí)行任務的一部分。
車廂噪聲消除、引擎爆震檢測及防翻滾和穩(wěn)定性控制等舒適、診斷和安全功能都需要更強的信號處理能力,這就要求使用自適應濾波等數(shù)學密集型算法。
進行這樣的計算要求所使用的處理器具有非常高速的數(shù)學運算功能。8位的MCU或一般的16位MCU架構完全不具備這樣的功能,而對成本的考慮又常常會使昂貴的32位MCU無法在這樣的場合得到使用。一個專門針對重復性數(shù)學處理進行優(yōu)化的特殊處理器架構--16位數(shù)字信號處理器(DSP)可用來執(zhí)行這樣的密集型任務。
但就DSP本身(沒有處理控制任務的相關MCU)來說,它并不是非常適合在汽車系統(tǒng)等動態(tài)環(huán)境中使用。主要有以下幾個原因:
a)DSP不具有靈活的中斷結構。
b)DSP無法對位(如各個I/O引腳的狀態(tài))進行十分高效的操作。
c)DSP在很大程度上需要依賴片外存儲器和外設。
d)很少有低引腳數(shù)的DSP器件,因而不適合在空間受限的模塊中使用。
因此,可執(zhí)行大量汽車功能的理想單芯片架構平臺將是16位數(shù)字信號控制器(DSC),比如Microchip的dsPIC30F系列器件。DSC是一款創(chuàng)新的混合型"片上系統(tǒng)"(SoC)架構,它無縫地組合了16位MCU的控制特性和大量的DSP功能。
一方面,DSC架構尤其適合類似于下述的典型控制操作:
a)定期提供中斷服務,例如,獲取對汽車速度和轉向角度的定期采樣以計算防抱死制動系統(tǒng)(ABS)所需的制動壓力。
b)從多個傳感器和控制輸入捕捉數(shù)據(jù),例如,同時測量汽車速度、加速度、車身和車輪的相對運動,以及轉向角度,從而確定主動懸架控制系統(tǒng)的制動水平。
c)向執(zhí)行機構發(fā)送數(shù)據(jù)和控制脈沖,例如,發(fā)送占空比可變的PWM信號以合適的周期開關燃油噴射器或點火電路。
d)與分布式系統(tǒng)中的其他控制器模塊共享數(shù)據(jù),例如,各種子系統(tǒng)周期性地發(fā)送狀態(tài)數(shù)據(jù)到診斷模塊或用戶顯示面板。
另一方面,DSC的CPU支持功能強大的一套DSP指令和靈活的尋址模式,因此能快速完成一系列精確的算術與邏輯運算。
DSC的主要特性
典型的DSC架構具備一些CPU和外設的特性,因而適用于眾多汽車應用。在這一部分,我們將探討這些特性中最具優(yōu)勢的特性,它們是考慮使用DSC架構時,最令人關注的特性。
增強的CPU功能
16位DSC最強有力的功能可能就要屬其強大的數(shù)學處理能力。一個真正的DSC包含兩個40位累加器,可用來存儲兩個獨立的16位×16位乘法運算的結果。
大多數(shù)信號處理算法以及許多一般數(shù)學計算,都包含有動態(tài)"乘積和"的計算。諸如MAC(乘-累加)等特殊指令能夠在一個指令周期內,求得兩個16位數(shù)的乘積,將結果添加到累加器,然后從RAM預取一對數(shù)據(jù)值。因為有兩個累加器,這種架構還能在回寫數(shù)據(jù)到一個累加器的同時在另一個累加器中執(zhí)行計算。
40位寬的累加器允許數(shù)據(jù)暫時溢出(當在累加器中累加大量數(shù)值時,這種情況時有發(fā)生!)。此外,DSC的CPU還可選擇將值保持在一個允許的范圍內,這個范圍由一種稱為"飽和"的機制確定,在回寫數(shù)據(jù)到RAM時,這種機制還將對數(shù)據(jù)進行舍入和調整。DSC還擁有MCU通常不具備的特性,那就是DSC有能力解析小數(shù)形式的數(shù)據(jù)而不總是將數(shù)據(jù)看作整數(shù),這一特性有助于小數(shù)的算術運算。
除了上述特性以外,DSC架構還具有多種數(shù)據(jù)尋址模式,能夠有效地傳送數(shù)據(jù)、支持循環(huán)緩沖區(qū)和位反轉尋址,以及零開銷循環(huán)。很明顯,DSC提供了一款非常有效且用戶友好的CPU架構。DSC是處理和分析傳感器數(shù)據(jù)、執(zhí)行與控制各種執(zhí)行機構相關的計算以及監(jiān)視汽車系統(tǒng)性能的理想之選。
靈活的中斷結構
DSC架構的中斷結構具有極高的靈活性。通常,支持大量的可獨立選擇和設定優(yōu)先級的中斷源和向量(對于包含多個傳感器和執(zhí)行機構的應用非常有用!)。中斷延時具有高度的確定性,便于系統(tǒng)開發(fā)人員進行設計。
運行時自編程(RTSP)
大多數(shù)汽車應用需要對常量進行存儲,這些常量可用于根據(jù)環(huán)境條件、傳感器的種類和預先測得的偏移量校準傳感器的輸出數(shù)據(jù)。后處理算法也會使用到常量,比如濾波系數(shù)、活塞尺寸和目標空氣-燃油比等預先確定的系統(tǒng)特性參數(shù),以及誤差門限值。若在RAM中存儲這些常量會浪費數(shù)據(jù)存儲器的容量。DSC器件通常有閃存程序存儲器和閃存數(shù)據(jù)EEPROM,這些存儲器可用來可靠而高效地存儲和訪問這些常量。在具有閃存的DSC中,用戶程序甚至可以根據(jù)環(huán)境、數(shù)據(jù)或工作條件的變化實時修改這些常量。在許多系統(tǒng)中,還有可能使用控制器局域網(CAN)等串行通信通道,使用自舉程序算法來重新編寫代碼段或常量。
在線串行編程(ICSP)
閃存DSC允許用戶使用一種稱為"在線串行編程(In-Circuit Serial Programming?)"的方法在現(xiàn)場方便地升級應用程序固件。這允許在不同的汽車子系統(tǒng)和不同的工作/環(huán)境條件下重復使用同一個控制器,此外還允許修正軟件漏洞、校準傳感器,以及在保證開銷和延時最少的情況下,使功能得到增強。
高分辨率模數(shù)轉換器(ADC)
傳感器在許多汽車子系統(tǒng)中的廣泛使用促使具有足夠速度和分辨率的片上ADC成為迫切需要,以便允許對輸入量的快速微小變化進行測量。在閉環(huán)工作中尤其重要,比如要采樣進氣歧管壓力以確定點火的精確時機,從而產生最佳的轉矩。分辨率小于12位或非線性誤差大于1個最低有效位(LSB)的ADC無法滿足多數(shù)汽車功能的需要。在某些子系統(tǒng)中,采樣速度是考慮的重點,尤其是在氣囊控制等對安全要求嚴格的功能中。在其他情況下,主要考慮的可能是同時測量不同物理量的能力。例如,主動懸架系統(tǒng)可能需要同時獲取對汽車速度、加速度、車身/車輪相對運動和轉向角度的采樣。應根據(jù)模塊所需的ADC功能選擇合適的DSC器件。
脈寬調制(PWM)
汽車系統(tǒng)中使用的一些閥門和執(zhí)行機構由占空比可變的脈沖控制。PWM控制功能的兩個常見實例為:燃油噴射閥,該閥門會在脈沖有效時開啟以控制噴射到汽缸中的燃油量;以及點火發(fā)生器,當脈沖下降為低電壓電平時,產生火花。DSC支持自動產生具有指定波形和極性的PWM信號。動力轉向、自動變速器和空調等子系統(tǒng)均包含復雜的電機控制算法。有些DSC具備多種片內外設來支持此類高級PWM算法。
正交編碼器接口(QEI)
精確而快速地測量汽車以及其中的各種機械構件的速度和位置對于有效控制汽車運行的許多方面非常重要。例如,防碰撞系統(tǒng)需要測量速度和加速度。通常選擇正交編碼器(如光電編碼器)作為這一測量的傳感器。有些DSC包含內部正交編碼器接口,能夠在軟件開銷最少的情況下有效解碼正交編碼器產生的信號。
控制器局域網(CAN)
由于一輛汽車包含許多處理器來執(zhí)行各種各樣的功能,因此為了共享傳感器和控制信息,不同子系統(tǒng)之間有效而可靠的通信就非常重要。模塊之間相互通信的另一個優(yōu)點是它不需要用多個傳感器對同一個物理量進行重復測量,此外還能在系統(tǒng)級進行有效的監(jiān)視和診斷。例如,電池監(jiān)視的功能,MCU不僅需要不時地測量電池的電壓,還要將控制信號發(fā)送給各種其他模塊以控制它們的開關,從而優(yōu)化電池的使用并確保汽車啟動。CAN總線標準在汽車網絡的通信標準中處于重要地位。許多DSC包含一個或多個片內CAN控制器,使之自然而然地成為了應用在汽車設計中的不二選擇。在汽車網絡中使用DSC,借助軟件對高層協(xié)議(如,符合OSEK標準的實時操作系統(tǒng)和CAN應用層實現(xiàn)方案)的支持,還可實現(xiàn)其他額外功能。
典型應用
下面列出了數(shù)字信號控制器在汽車中的典型應用。
電子動力轉向
電子離合器和變速箱控制
防翻滾和穩(wěn)定性控制
車廂噪聲消除
高級電池監(jiān)視系統(tǒng)
氣囊控制
點火控制
泊車傳感器
燃油壓力傳感器
溫度控制
引擎爆震檢測
引擎熄火檢測
自適應導航控制
燃料電池
車內娛樂設施
車載免提電話套件
基于人體生物學的無鑰門禁
結論
隨著汽車系統(tǒng)對功能性、連通性和數(shù)學運算能力的要求越來越高,如Microchip dsPIC30F系列等16位數(shù)字信號控制器將是用在許多汽車子系統(tǒng)中的處理器架構的理想之選。越來越多的新穎而強大的功能,包括新興的混合動力(Hybrid)技術和燃料電池技術,正快速引入到汽車設計領域中。這進一步加深了對DSC所具有的功能和多樣性的需求。OSEK、基于CAN的協(xié)議棧、TCP/IP以及預先打包的DSP算法等軟件工具的存在將進一步推進此類架構在大量汽車應用中的使用。