国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

讓微控制器性能發(fā)揮極限

發(fā)布時間:2010-3-24 21:29    發(fā)布者:李寬
關(guān)鍵詞: 發(fā)揮 , 極限 , 控制器 , 性能
今天的微控制器需要執(zhí)行廣大范圍的任務(wù),包括管理實時控制算法、解碼高速通信協(xié)定,以及處理高頻傳感器發(fā)出的信號。輪詢方法(如檢查端口以確定新數(shù)據(jù)是否經(jīng)已到達(dá))會消耗過多的CPU周期,而且對可靠服務(wù)I/O與外設(shè)的最大響應(yīng)時間也往往太長。對于大多數(shù)嵌入式應(yīng)用而言,開發(fā)人員以中斷來滿足對外設(shè)管理的實時要求。但中斷只能夠確定實時事件何時發(fā)生,開發(fā)人員仍然必須在數(shù)據(jù)丟失之前讓CPU直接參與讀取I/O和外設(shè)。處理一個中斷可能需要同時中斷其它對延時敏感的任務(wù),帶來任務(wù)轉(zhuǎn)換支出,并引發(fā)一系列棘手問題,諸如如何管理多個中斷同時發(fā)生時的延時,所有這些都會降低系統(tǒng)可預(yù)測性和處理器的效率。

微控制器要想處理實時I/O和外設(shè)的高數(shù)據(jù)速率和頻率,便必須擁有更高的處理效率。但這個效率不能通過提高時鐘頻率來獲得(因為需要更大功耗),而是要通過微控制器架構(gòu)的內(nèi)部改進(jìn)來實現(xiàn)。實際上,微控制器已經(jīng)開始集成用來卸載特殊任務(wù)模塊的協(xié)處理器、可加快無懲罰型(penalty-free)內(nèi)存訪問速度的多信道DMA控制器,以及能在內(nèi)部子系統(tǒng)之間發(fā)送信號以卸載I/O和外設(shè)管理任務(wù)的集成式事件系統(tǒng)。

卸載CPU任務(wù)還有很多方法

集成式協(xié)處理器在嵌入式微控制器中已獲得相當(dāng)廣泛的應(yīng)用,其中比較常見的協(xié)處理器是加密和TCP/IP卸載引擎。協(xié)處理器可高效卸載整個任務(wù),或幫助執(zhí)行復(fù)雜算法中的密集計算部分。例如,一個加密引擎可以把CPU上的AES計算任務(wù)從每次運(yùn)算數(shù)千個周期縮減為數(shù)百個周期,而一個TCP/IP卸載引擎可以極小的CPU運(yùn)行支出來終止一個以太網(wǎng)連接。此外,卸載引擎還能簡化這些任務(wù)的實現(xiàn)過程,使開發(fā)人員無需編寫擴(kuò)充代碼,便可以通過使用簡單的API來加入先進(jìn)的功能。

DMA和事件系統(tǒng)技術(shù)對開發(fā)人員來說是比較陌生的,因此并不常使用。DMA控制器通過執(zhí)行數(shù)據(jù)訪問(如在后臺執(zhí)行外設(shè)寄存器到內(nèi)部或外部SRAM的數(shù)據(jù)訪問),從CPU卸載數(shù)據(jù)移動管理任務(wù)。例如,開發(fā)人員可以配置DMA控制器,把一個數(shù)據(jù)塊預(yù)載入片上RAM中,這樣在CPU需要它之前就可以快速訪問,從而消除了等待狀態(tài)和相關(guān)延時。另外,DMA控制器還能夠承擔(dān)通信外設(shè)管理的大部分工作(見表1)。

表1 DMA控制器能夠承擔(dān)通信外設(shè)管理的大部分工作


利用DMA控制器所節(jié)省的周期數(shù)可以十分可觀:許多嵌入式開發(fā)人員都已發(fā)現(xiàn)自己無法以有限的微控制器資源來滿足應(yīng)用的需求,直到認(rèn)識了DMA,才突然明白原來還有大量額外的周期可用,數(shù)目有時甚至多達(dá)整個系統(tǒng)的30%到50%左右。許多開發(fā)人員都是在遇到處理方面的困難時,才首次發(fā)現(xiàn)這種未開發(fā)的潛力,盡管實際上這種潛力從一開始就可以使用。

熟知事件系統(tǒng)(event system)的開發(fā)人員就更少了。事件系統(tǒng)與DMA制器協(xié)同工作,可進(jìn)一步減少CPU周期的負(fù)擔(dān),并降低總體功耗。事件系統(tǒng)是一條總線,能夠?qū)奈⒖刂破魃系囊粋外設(shè)發(fā)出的內(nèi)部信號連接到另一個外設(shè)。當(dāng)有事件在外設(shè)上發(fā)生時,它就可以在一個雙周期的延時內(nèi)觸發(fā)其它外設(shè)采取行動,整個過程無需CPU參與,就和人體在手碰到火時無需大腦命令就自然做出反射動作的把手抽出來一樣。

更確切地說,事件系統(tǒng)利用一個連接了CPU、數(shù)據(jù)總線和DMA控制器的專用網(wǎng)絡(luò)在整個微控制器上進(jìn)行信號路由(見圖1)。在正常情況下,外設(shè)必須中斷CPU來激活某個行動,包括讀取外設(shè)本身。而事件系統(tǒng)通過直接在外設(shè)之間發(fā)送相關(guān)事件,便可有效地使CPU擺脫這些中斷所帶來的負(fù)擔(dān)。開發(fā)人員可以靈活配置外設(shè)來使用不同的事件通道,從而定義特定的事件路由,以滿足應(yīng)用的某些需求。


圖1 一個事件系統(tǒng)

靈活的卸載

DMA和事件系統(tǒng)配合工作,就可讓開發(fā)人員卸載整個任務(wù),這與協(xié)處理器的作用很類似,但兩者間的關(guān)鍵區(qū)別是協(xié)處理器不是可編程的。協(xié)處理器采用硬件來執(zhí)行一個已詳細(xì)定義的任務(wù),有時甚至是可配置的;而DMA控制器配合事件系統(tǒng)的可編程性使其適用于從最簡單的到極復(fù)雜的各類任務(wù)。在采用DMA和事件系統(tǒng)的情況下,DMA負(fù)責(zé)管理整個微處理器架構(gòu)上的數(shù)據(jù)傳輸;至于事件系統(tǒng)則控制這些低延時、高精度傳輸發(fā)生的時間。換言之,事件系統(tǒng)負(fù)責(zé)確保由DMA管理的數(shù)值在正確的時間/頻率下被采樣或輸出。

圖2所示為事件系統(tǒng)與DMA共同工作的原理模塊示意圖。ADC連接一個傳感器,并會采集信號樣本。內(nèi)部計數(shù)器被設(shè)置為與采樣頻率相匹配,用以提供規(guī)律且精確的時間間隔。事件系統(tǒng)可以直接激活A(yù)DC的采樣,而無需中斷CPU,使采樣頻率比利用微控制器的時鐘更為精確。當(dāng)ADC停止并完成轉(zhuǎn)換時,ADC便會觸發(fā)DMA通過事件系統(tǒng)存儲這些轉(zhuǎn)換值。


圖2 DMA控制器配合事件系統(tǒng)

事件管理可擴(kuò)展為包含多個事件、連接多個外設(shè)的更復(fù)雜的配置。例如一個輸入信號(事件1)可觸發(fā)ADC采樣(事件2),并把數(shù)值存儲到DMA中(事件3),直到DMA緩沖器溢滿(事件 4)。在這種配置中,CPU只有在緩沖器數(shù)據(jù)溢滿需要處理時才會被中斷。

DMA控制器和事件系統(tǒng)還支持多通道,使開發(fā)人員能夠配置一個與主CPU并行工作的互連結(jié)構(gòu),因此,可采用一種固定性方式來對多個并行實時任務(wù)進(jìn)行協(xié)調(diào)。

固定性和延時

固定性在限制延時和管理實時嵌入式系統(tǒng)的響應(yīng)性方面扮演著關(guān)鍵的角色。系統(tǒng)的固定性越高,它的響應(yīng)性也就越穩(wěn)定。影響固定性的主要因素在于系統(tǒng)必須同時處理的中斷的數(shù)目。一般而言,系統(tǒng)里中斷的數(shù)量愈大,愈容易破壞系統(tǒng)的固定性。

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

然而,在固定性和延時方面,開發(fā)人員遇到的大多數(shù)問題并非處理單個中斷這么簡單,而是當(dāng)眾多中斷同時發(fā)生時,應(yīng)如何在即時滿足所有要求。例如,如果有一個在75個周期內(nèi)完成而優(yōu)先權(quán)更高的中斷進(jìn)入系統(tǒng),前一個中斷的延時就會受到影響,因為它將被優(yōu)先權(quán)更高的任務(wù)中斷。這時,優(yōu)先權(quán)較低之任務(wù)的延時便會變?yōu)?0到125個周期。

當(dāng)更多的中斷出現(xiàn)時,優(yōu)先權(quán)較低之中斷的延時隨固定性的下降而增加。一個50 周期的任務(wù)可能多次被中斷,并最終需要數(shù)百乃至數(shù)千個周期來完成。這一點(diǎn)十分重要,因為并非所有的中斷都具有高優(yōu)先權(quán),一切都是相對性的。

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

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

獲得更高的精度

下面以一個電源管理任務(wù)在驅(qū)動電機(jī)等大負(fù)載時實現(xiàn)交流電源效率的最大化為例,來說明固定性如何影響精度。因為大部分可用能量都在電壓處于峰值并與電流同相時供應(yīng),所以這時系統(tǒng)的電流消耗量應(yīng)該最大。反之,電壓越接近零(即過零點(diǎn)),可用電能就越少,而效率也越低。利用功率因數(shù)校正(PFC),通過接入和斷開大電容,調(diào)節(jié)負(fù)載保持交流電流和電壓同相,便可以提高功效。

比較器一般用于過零檢測,當(dāng)電壓下降至設(shè)定閾值以下或上升至閾值以上時,比較器便會接通。相對于使用比較器觸發(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),這會顯著降低總體效率。相比之下,事件路由的延時最多兩個周期。

當(dāng)把上面的數(shù)字跟微控制器的時鐘頻率一同考慮時,便會發(fā)現(xiàn)如果微控制器的時鐘頻率為 32MHz,一個雙周期延時所引入的誤差其實微不足道(2/32M);而數(shù)千個周期的延時則可能大大影響高頻任務(wù)(它們本身也需要每隔數(shù)千周期才會被處理)的精度。值得注意的是,若中斷是由優(yōu)先權(quán)較高的任務(wù)發(fā)出的,該延時可能降至50個周期左右。不過,這樣一來會導(dǎo)致根據(jù)精度要求而不是根據(jù)系統(tǒng)功能的重要性來分配優(yōu)先權(quán),而且這只是把缺乏固定性引起的誤差轉(zhuǎn)移給了其它任務(wù)而已。

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

高頻信號處理

在大量嵌入式應(yīng)用中,信號產(chǎn)生成為了一個越來越普遍的任務(wù)。信號用于產(chǎn)生聲音、管理電壓轉(zhuǎn)換調(diào)節(jié)器、控制工業(yè)應(yīng)用中的致動器,以及實現(xiàn)無數(shù)其它功能。信號的頻率越高,采用中斷時CPU上的負(fù)荷就越大,其他任務(wù)延時增加的可能性也越高。

對于發(fā)生頻率較高的事件而言,CPU負(fù)荷是一大考慮因素。例如,高速傳感器必須在下一個樣本準(zhǔn)備好之前進(jìn)行采樣,以防丟失數(shù)據(jù)。以一個流量計多軸定位系統(tǒng)或一個擁有每秒采集200萬個樣本采樣速度的快速精確測量能力的儀表系統(tǒng)為例,單是采集樣本,每秒便消耗了數(shù)十到數(shù)億個周期。而若采用一個事件系統(tǒng)和DMA控制器,所有這些周期都可從CPU卸載,而且這些樣本還會被實際處理,而不是簡單地緩存。即使只是一個僅需要50個周期來完成、需要任務(wù)切換支出的簡單任務(wù),也能夠從CPU卸載一億個周期。鑒于這個原因,許多系統(tǒng)都使用獨(dú)立的微控制器來管理各個高頻傳感器或電機(jī)。

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

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

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

• 動態(tài)頻率:某些應(yīng)用只在某些時間或特定工作條件下才需要較高的感測精度。例如,水表在水流速度快速變化時,采樣頻率會較高;而在流量被切斷或流速穩(wěn)定時,又回復(fù)正常頻率。采樣頻率不但易于調(diào)節(jié),而且還不會影響即時響應(yīng)能力。

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

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

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

自主控制

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

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

若利用中斷,對于CPU處理能力而言,執(zhí)行這類任務(wù)的成本太高,而且會增加延時,降低固定性。而采用事件系統(tǒng)和DMA控制器,開發(fā)人員就能夠避免CPU執(zhí)行這些功能。這不僅可減少系統(tǒng)必須管理的中斷數(shù)量,而且還能簡化任務(wù)的實現(xiàn)和管理。

例如,在一個在特殊工作條件下向用戶發(fā)出警示信息的應(yīng)用中,預(yù)先設(shè)置的聲音文件可以存儲在緩存中,再利用DMA通過適當(dāng)?shù)耐庠O(shè)饋入到揚(yáng)聲器,而利用定時器,事件系統(tǒng)就可以確保44,056KHz的準(zhǔn)確數(shù)據(jù)率。此外還有一個額外的好處,因為頻率準(zhǔn)確且穩(wěn)定,聲音保真度也得以提高。從性能角度來看,只要配置了DMA和事件系統(tǒng),CPU就完全不用干預(yù)播放任務(wù)了。

說這些任務(wù)變得更“自由”可能顯得有點(diǎn)夸張。不過,以這種方式執(zhí)行這些任務(wù),的確使其能夠適用于更寬范圍的應(yīng)用。協(xié)處理器、DMA控制器和事件系統(tǒng)的結(jié)合能夠釋放控制器,讓它只進(jìn)行信號處理,而不必把大部分資源消耗在信號的周期密集型采集工作上。因此,CPU得以保存大部分處理能力進(jìn)行信號處理。這樣一來,就可以利用單個控制器管理多個高頻任務(wù)。這也簡化了系統(tǒng)設(shè)計,使用戶能夠以更低的成本在單個微控制器上執(zhí)行更多任務(wù),更容易實現(xiàn)多個信號之間的互連性,并提高能效。

對許多應(yīng)用來說,能否支持多個任務(wù)可成為一項重要的產(chǎn)品差異化指標(biāo)。例如,采用了DMA控制器和事件系統(tǒng)的電機(jī)控制應(yīng)用,就能夠使微控制器釋放出足夠的資源,使開發(fā)人員能夠以在不增加系統(tǒng)材料成本的條件下實現(xiàn)PFC等先進(jìn)功能。

除了通過卸載中斷來提高微控制器的性能和能力之外,事件系統(tǒng)還能夠把功耗最低降至 1/7(具體數(shù)字取決于應(yīng)用)。表2所示為一個需要每秒120萬周期的應(yīng)用的功率相關(guān)數(shù)據(jù)。在12MHz時,微控制器只有10%的時間在工作模式下,其余時間都處于待機(jī)模式。執(zhí)行DMA控制器和事件系統(tǒng)可以卸載大量CPU每秒必須執(zhí)行的周期數(shù),使微控制器進(jìn)入閑置或睡眠模式。鑒于工作模式下的耗電量遠(yuǎn)大于閑置睡眠模式下的,就算工作模式只出現(xiàn)少許百分比變化,所能節(jié)省的功率也可以是相當(dāng)可觀的。

表2 一個需要每秒120萬周期的應(yīng)用的功率相關(guān)數(shù)據(jù)


總結(jié)

架構(gòu)方面的改進(jìn)提高了CPU的總體能力,使得嵌入式微控制器系統(tǒng)性能不斷提升。協(xié)處理器能夠從CPU卸載已詳細(xì)定義的計算密集型任務(wù),DMA控制器可把整個系統(tǒng)的數(shù)據(jù)移動任務(wù)從CPU中解放出來,而事件系統(tǒng)可解決有關(guān)多個由頻率觸發(fā)中斷的瓶頸問題。通過減少系統(tǒng)必須處理的并行中斷的數(shù)目,開發(fā)人員能夠提高系統(tǒng)固定性,從而降低延時,提高信號的分辨率和精度,改善穩(wěn)定性和可預(yù)測性,并增強(qiáng)系統(tǒng)可靠性。這樣一來,設(shè)計人員不但使用單個微處理器就能夠執(zhí)行以往需要多個微控制器才能完成的工作,而且還可降低系統(tǒng)的成本和功耗。

作者:愛特梅爾公司 AVR產(chǎn)品市場經(jīng)理 Kristian Saether
來源:世界電子元器件 2010-03
本文地址:http://m.qingdxww.cn/thread-9847-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 四虎影院久久 | 国产网红主播在线视频观看 | 国产免费黄色片 | 精品美女激情视频线播放 | 亚洲欧美国产另类视频 | 久久精品8 | 日韩高清不卡在线 | 欧洲精品一区二区三区 | 国产国语一级a毛片高清视频 | 欧美色成人tv在线播放 | 日本精品视频一视频高清 | 日韩精品在线播放 | 五月婷婷在线观看 | 99精品国产高清一区二区麻豆 | 91年精品国产福利线观看久久 | 精品免费在线视频 | 最新香蕉97超级碰碰碰碰碰久 | 欧美亚洲一区二区三区 | 老司机日日摸夜夜摸精品影院 | 国产三级国产精品国产国在线观看 | 搞黄网站在线观看 | 蓝月战士奥特曼免费看 | 国产aaaaaa| 四虎影视大全 | 91香蕉成人免费高清网站 | 91在线精品 | 手机在线看黄色 | 欧美另类视频一区二区三区 | 欧美中文一区 | 日韩视频高清免费看 | 亚洲欧美在线观看视频 | 国产中文欧美 | 色停停 | 日韩视频一区二区在线观看 | 日韩精品一区二区三区中文在线 | 亚洲hhh| 久久国产精品高清一区二区三区 | 极品美女在线观看免费视频 | 国产片自拍 | 欧美一区二区三区大片 | 色婷婷亚洲综合 |