新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 淺談讓微控制器性能發(fā)揮極限的方法

淺談讓微控制器性能發(fā)揮極限的方法

作者: 時間:2012-06-05 來源:網(wǎng)絡(luò) 收藏

假設(shè)一個系統(tǒng)只有一個中斷,并在50個周期內(nèi)完成。這樣一個中斷的延時相應(yīng)地在50個周期左右。要注意的是,即使最簡單的中斷,微也需要約50個周期的時間來保存有限寄存器數(shù)目的環(huán)境信息,而且還需訪問外設(shè)、保存數(shù)據(jù)、存儲環(huán)境信息及清除管線。

然而,在固定性和延時方面,開發(fā)人員遇到的大多數(shù)問題并非處理單個中斷這么簡單,而是當眾多中斷同時發(fā)生時,應(yīng)如何在即時滿足所有要求。

當更多的中斷出現(xiàn)時,優(yōu)先權(quán)較低之中斷的延時隨固定性的下降而增加。一個50周期的任務(wù)可能多次被中斷,并最終需要數(shù)百乃至數(shù)千個周期來完成。

固定性直接影響到響應(yīng)性、可靠性和精度。當開發(fā)人員確切知道延時是50或500個周期,便可以在處理時可將之考慮在內(nèi)。不過,如果延時介于50到500個周期之間,即便是最優(yōu)秀的開發(fā)人員,所能做的也不過是假設(shè)一個典型延時(如200個周期)數(shù)值,然后把所有的偏離視為誤差。

通過DMA和事件系統(tǒng)來減少同時發(fā)生的中斷(即便是低頻中斷),可以大大提高系統(tǒng)的固定性并減小延時,而更高的固定性還有助于精度等其它重要因素的提升。

如何獲得更高的精度

下面以一個電源管理任務(wù)在驅(qū)動電機等大負載時實現(xiàn)交流電源效率的最大化為例,來說明固定性如何影響精度。因為大部分可用能量都在電壓處于峰值并與電流同相時供應(yīng),所以這時系統(tǒng)的電流消耗量應(yīng)該最大。反之,電壓越接近零(即過零點),可用電能就越少,而效率也越低。

比較器一般用于過零檢測,當電壓下降至設(shè)定閾值以下或上升至閾值以上時,比較器便會接通。對兩個或多個數(shù)據(jù)項進行比較,以確定它們是否相等,或確定它們之間的大小關(guān)系及排列順序稱為比較。 能夠?qū)崿F(xiàn)這種比較功能的電路或裝置稱為比較器。 比較器是將一個模擬電壓信號與一個基準電壓相比較的電路。比較器的兩路輸 入為模擬信號,輸出則為二進制信號,當輸入電壓的差值增大或減小時,其輸出保持恒定。因此,也可以將其當作一個1位模/數(shù)轉(zhuǎn)換器(ADC)。運算放大器在不加負反饋時從原理上講可以用作比較器,但由于運算放大器的開環(huán)增益非常高,它只能處理輸入差分電壓非常小的信號。而且,一般情況下,運算放大器的延遲時間較長,無法滿足實際需求。比較器經(jīng)過調(diào)節(jié)可以提供極小的時間延遲,但其頻響特性會受到一定限制。為避免輸出振蕩,許多比較器還帶有內(nèi)部滯回電路。比較器的閾值是固定的,有的只有一個閾值,有的具有兩個閾值。相對于使用比較器觸發(fā)中斷并驅(qū)使CPU開關(guān)電容的情況,事件系統(tǒng)可以把比較器事件直接發(fā)送到定時器/計數(shù)器輸出,無需CPU干預(yù)即可控制開關(guān)。

低優(yōu)先權(quán)任務(wù)(如PFC)的中斷延時可能需要數(shù)千個周期,而具體延時取決于有多少個優(yōu)先權(quán)更高的中斷同時發(fā)生。延時較大意味著電容會晚于最佳時刻開關(guān),這會顯著降低總體效率。

當把上面的數(shù)字跟微的時鐘頻率一同考慮時,便會發(fā)現(xiàn)如果微控制器的時鐘頻率為32MHz,一個雙周期延時所引入的誤差其實微不足道(2/32M);而數(shù)千個周期的延時則可能大大影響高頻任務(wù)(它們本身也需要每隔數(shù)千周期才會被處理)的精度。值得注意的是,若中斷是由優(yōu)先權(quán)較高的任務(wù)發(fā)出的,該延時可能降至50個周期左右。

更高的精度在產(chǎn)生信號時也起著關(guān)鍵的作用,這里所指的并非單純的信號采樣。以創(chuàng)建100kHz波形為例,利用中斷,波形的精度將受相對于信號速率的可變延時的影響,并根據(jù)任務(wù)切換和已堆積的其它中斷數(shù)量而變得稍慢或稍快。注意,當波形平均而言準確時,在許多情況下,影響只來自是兩個連續(xù)樣本之間的相對差異。

高頻信號處理

在大量嵌入式應(yīng)用中,信號產(chǎn)生成為了一個越來越普遍的任務(wù)。信號用于產(chǎn)生聲音、管理電壓轉(zhuǎn)換調(diào)節(jié)器、控制工業(yè)應(yīng)用中的致動器,以及實現(xiàn)無數(shù)其它功能。

對于發(fā)生頻率較高的事件而言,CPU負荷是一大考慮因素。以一個流量計多軸定位系統(tǒng)或一個擁有每秒采集200萬個樣本采樣速度的快速精確測量能力的儀表系統(tǒng)為例,單是采集樣本,每秒便消耗了數(shù)十到數(shù)億個周期。而若采用一個事件系統(tǒng)和DMA控制器,所有這些周期都可從CPU卸載,而且這些樣本還會被實際處理,而不是簡單地緩存。即使只是一個僅需要50個周期來完成、需要任務(wù)切換支出的簡單任務(wù),也能夠從CPU卸載一億個周期。

對于頻率較高的任務(wù),事件系統(tǒng)和DMA控制器還能夠?qū)崿F(xiàn)以下事項:

精確的時間戳((time-stamping):為采樣加上時間戳讓開發(fā)人員能夠使信號更好地與外部事件同步。在雙周期延時的情況下,時間戳遠比標注中斷更精確,并可省去后者達數(shù)千個周期的延時。

過度采樣:提高傳感器分辨率的其中一個是過度采樣。譬如,把計數(shù)器除以16,可以使采樣樣本數(shù)目增加到16倍,從而提高傳感器的總體精度。由于CPU沒有直接參與樣本的采集和存儲,故有可能出現(xiàn)過度采樣,而無太多懲罰。

動態(tài)頻率:某些應(yīng)用只在某些時間或特定工作條件下才需要較高的感測精度。例如,水表在水流速度快速變化時,采樣頻率會較高;而在流量被切斷或流速穩(wěn)定時,又回復(fù)正常頻率。

降低堆棧大?。簻p少并行中斷數(shù)目的另一個好處是能夠維持較小的堆棧。由于每一個中斷都必須通過在堆棧中增加數(shù)十個寄存器來執(zhí)行環(huán)境信息保存,因此消除了好幾個環(huán)境保存層,顯著減低所需堆棧的大小,這將讓應(yīng)用能夠使用更少的RAM存儲器。

抗擴展能力:鑒于不同微控制器支持的外設(shè)數(shù)目不同,同一應(yīng)用的中斷數(shù)目可能隨產(chǎn)品價格而各有不同。即便使用同一個微控制器系列,支持更多功能的較高端系統(tǒng)會有更多的中斷,降低了總體固定性。因此,把設(shè)計移植到集成度更高的微控制器,可能會影響信號延時乃至采樣和輸出的精度。

實現(xiàn)簡易軟件改變:由于事件處理減少了CPU干預(yù),所以系統(tǒng)可在不會影響實時響應(yīng)的情況下實現(xiàn)軟件改變。即便需要更多的CPU時間來處理額外的功能,事件處理和響應(yīng)時間也將完全相同。

自主控制

一個嵌入式微控制器可能要執(zhí)行無數(shù)個任務(wù)來降低功耗、提高精度以及改善用戶體驗,而許多這類任務(wù)只不過是監(jiān)控或是檢測單個數(shù)值。例如電池監(jiān)控器進行監(jiān)測,直至電壓降至某個數(shù)值以下。然后,系統(tǒng)就觸發(fā)關(guān)斷操作,在仍有足夠電量時保存應(yīng)用數(shù)據(jù)。

提升用戶體驗常常是許多消費類產(chǎn)品的主要賣點。例如,事件系統(tǒng)能夠加快系統(tǒng)對喚醒按鍵或外設(shè)輸入的響應(yīng)速度,在兩個周期內(nèi)就可以做出反應(yīng)。如果與采用中斷的響應(yīng)性比較,由于中斷需要系統(tǒng)返回到工作模式,因此就降低了能效。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉