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

讓微控制器性能發揮極限

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

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

卸載CPU任務還有很多方法

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

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

表1 DMA控制器能夠承擔通信外設管理的大部分工作


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

熟知事件系統(event system)的開發人員就更少了。事件系統與DMA制器協同工作,可進一步減少CPU周期的負擔,并降低總體功耗。事件系統是一條總線,能夠將從微控制器上的一個外設發出的內部信號連接到另一個外設。當有事件在外設上發生時,它就可以在一個雙周期的延時內觸發其它外設采取行動,整個過程無需CPU參與,就和人體在手碰到火時無需大腦命令就自然做出反射動作的把手抽出來一樣。

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


圖1 一個事件系統

靈活的卸載

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

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


圖2 DMA控制器配合事件系統

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

DMA控制器和事件系統還支持多通道,使開發人員能夠配置一個與主CPU并行工作的互連結構,因此,可采用一種固定性方式來對多個并行實時任務進行協調。

固定性和延時

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

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

然而,在固定性和延時方面,開發人員遇到的大多數問題并非處理單個中斷這么簡單,而是當眾多中斷同時發生時,應如何在即時滿足所有要求。例如,如果有一個在75個周期內完成而優先權更高的中斷進入系統,前一個中斷的延時就會受到影響,因為它將被優先權更高的任務中斷。這時,優先權較低之任務的延時便會變為50到125個周期。

當更多的中斷出現時,優先權較低之中斷的延時隨固定性的下降而增加。一個50 周期的任務可能多次被中斷,并最終需要數百乃至數千個周期來完成。這一點十分重要,因為并非所有的中斷都具有高優先權,一切都是相對性的。

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

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

獲得更高的精度

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

比較器一般用于過零檢測,當電壓下降至設定閾值以下或上升至閾值以上時,比較器便會接通。相對于使用比較器觸發中斷并驅使CPU開關電容的情況,事件系統可以把比較器事件直接發送到定時器/計數器輸出,無需CPU干預即可控制開關。

低優先權任務(如PFC)的中斷延時可能需要數千個周期,而具體延時取決于有多少個優先權更高的中斷同時發生。延時較大意味著電容會晚于最佳時刻開關,這會顯著降低總體效率。相比之下,事件路由的延時最多兩個周期。

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

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

高頻信號處理

在大量嵌入式應用中,信號產生成為了一個越來越普遍的任務。信號用于產生聲音、管理電壓轉換調節器、控制工業應用中的致動器,以及實現無數其它功能。信號的頻率越高,采用中斷時CPU上的負荷就越大,其他任務延時增加的可能性也越高。

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

對于頻率較高的任務,事件系統和DMA控制器還能夠實現以下事項:

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

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

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

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

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

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

自主控制

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

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

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

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

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

對許多應用來說,能否支持多個任務可成為一項重要的產品差異化指標。例如,采用了DMA控制器和事件系統的電機控制應用,就能夠使微控制器釋放出足夠的資源,使開發人員能夠以在不增加系統材料成本的條件下實現PFC等先進功能。

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

表2 一個需要每秒120萬周期的應用的功率相關數據


總結

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

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

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

廠商推薦

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

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美xxxxx性视频 | 少妇美女极品美軳人人体 | 无圣光私拍一区二区三区 | 国产精品欧美劲爆可乐 | 久久精品国产99久久72 | 午夜精品成年片色多多 | 亚洲好骚综合 | 398av视频在线播放 | 亚洲精品98久久久久久中文字幕 | 偷偷狠狠的日日2020 | 国产精品一区二区综合 | 手机看片国产免费 | 一级特黄aaa大片在线观看 | 深夜福利国产精品亚洲尤物 | 久久九九免费视频 | wwwxx在线| 日本a级三级三级三级久久 日本a级精品一区二区三区 | 免费观看日本视频 | 手机在线观看黄色网址 | 成人欧美一区二区三区视频 | 五月婷婷网址 | 久热中文字幕在线精品免费 | 四虎影视永久免费观看地址 | 久久久久久一级毛片免费野外 | 天堂网2021| 韩国精品在线 | 搞黄网站在线观看 | 日本成人一区 | 亚洲一级毛片 | 欧美日本在线观看 | 私色综合网| 黄页视频免费在线观看 | 日韩成人午夜 | 欧美日本综合一区二区三区 | 羞羞视频免费网站com | 久久香蕉网站 | 国产在线一区观看 | 美女国内精品自产拍在线播放 | 激情五月激情综合 | 亚洲精品人成网在线播放蜜芽 | 亚洲欧美日韩国产专区一区 |