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