新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 為低功耗應用選擇正確的uC外圍器件

        為低功耗應用選擇正確的uC外圍器件

        作者: 時間:2013-12-13 來源:網絡 收藏
          在現實世界中,Power(權力)就意味著金錢-越大越好;而對于 μC 來說則正好相反。隨著消費市場的不斷發展,終端應用產品的體積不斷縮小,Power(功率)越小越好。便攜性和成為最優先考慮的事情,并促成處理器內核電壓降至1.8 v 的行業動向,也就不足為奇了。盡管與 3.3 v 和 5 v 型號相比,這些器件消耗的能量確實要低得多,但是處理器并非都一樣。設計出色的低功耗應用需要同時考慮終端應用的需求和各種可用的 μC 特性。

          設計人員可能會提出以下問題:是否能夠重新充電?尺寸能夠做到多小?典型的工作時間是多少?速度必須多快?要連接哪種類型的?這些答案將最終為確立設計標準和功率要求積累原始資料。

        為低功耗應用選擇正確的uC外圍器件
        圖 1:典型 μC 環境中的器件

          
        處理功率

          首先應該考慮 CPU 的處理功率,一般來說,CPU 是功耗最高的。處理器全速運行時,耗電量非常大,因此 CPU 處于待機或關閉狀態的時間越多,電池壽命越長。例如,4 位處理器比 32 位處理器的功率消耗低;而處于或停機狀態的任何位數的處理器均比工作中的處理器的功耗要低。因此,如果 32 位處理器執行功能所耗的時間僅為 4 位處理器的1/10,那么,它在整個系統生命周期內要少消耗 9/10 的功率。因此,大多數制造商建議以較高的頻率運行 CPU,迅速完成任務,并立即返回到功耗最低的狀態。總之,在選擇處理器速度時,要考慮能夠迅速處理預期工作量并盡可能長時間地處于狀態。

          其次應考慮大多數便攜式應用的中斷服務例程 (ISR)。ISR 會定期喚醒處理器執行預排程序的或用戶啟動的任務,然后讓處理器返回到休眠狀態。進入和退出 ISR 所用的 CPU 時鐘周期越少越好。事實上,許多 ISR(例如端口 I/O)有多個標志,這些標志可能會觸發同一中斷。采用程序計數器相對尋址方式的處理器會大大縮短識別和處理適當中斷源所需的必要周期-尤其是在鍵盤掃描應用中。如果 ISR 編寫得好,通過限制喚醒 CPU、執行任務和返回休眠狀態所需的程序分支,可以確保處理時間最短。采用中斷向量表的處理器中,程序計數器加載 ISR 地址,這種處理器有助于減少額外的程序分支,并降低功耗。自動上下文保存以及算術邏輯單元 (ALU) 標志和功率模式的恢復功能也可以促進節能。

          此外,由于在低速或時鐘停止的環境中,動態內核處理器不能保持數據的完整性,因而應盡可能使用靜態內核處理器。

          
        工作模式

          休眠和“低功耗”模式也是必須考慮的重要問題。通過減慢喚醒時間實現低功耗狀態(或關閉對喚醒器件非常重要的功能)會增加功耗,而不是降低功耗。

          大多數低功耗器件的休眠或空閑模式會關閉處理器和時鐘,通常流耗低于一微安。然后,需要 I/O 中斷把處理器從休眠模式喚醒。使用 32kHz 時鐘驅動定時器或實時時鐘能以更靈活的方式喚醒處理器。基于32kHz 振蕩器的功耗不像“深度睡眠”模式那樣低,但它能以幾微安的電流提供時鐘功能。由于許多便攜式應用需要實時時鐘功能,這種改進可以讓系統選用多種不同的外圍器件。

          需要注意的一點是,如果處理器必須使用 RESET 信號從停機狀態喚醒,它必須運行所有硬件初始化程序。事實上,即使處理器SRAM 中的內容沒有改變且仍然能夠尋址中斷,它也將不得不重新初始化處理器外圍器件,這將消耗能量。

          
        振蕩器

          在通過復位喚醒時,由于穩定振蕩器晶體所花費的時間不同,內部振蕩器能比外部振蕩器多執行將近 1,000 條指令。例如,使用外部振蕩器的100 MIP 機器啟動、穩定和處理指令需要的時間為1 毫秒。與此相比,同一臺機器僅需要1 微秒時間就可以使內部振蕩器全速工作。讓外部振蕩器穩定的時間里,內部振蕩器可以完成加電,執行 1000 條指令,然后恢復斷電狀態。這一時間通常已足夠找到中斷地址,并恢復斷電狀態。那么,為什么要考慮使用外部振蕩器呢?外部振蕩器通常在整個工作溫度范圍內更準確。事實上,在低功耗應用中,嵌入式程序裝置經常習慣對照外部振蕩器校準內部振蕩器。這是因為驅動外部振蕩器并使其達到速度所需的電路比內部振蕩器消耗的功率更大。

          選擇內部振蕩器時應慎重。雖然某些內部振蕩器可以在數微秒內喚醒處理器,但是,必須在經過數毫秒,當外部晶體達到穩定之后, 才能以更高的速度運行,然后 CPU 時鐘才能切換到更高的頻率。例如,如果一個 100 MIP 的處理器有一個 20kHz 的內部時鐘,該時鐘與外部振蕩器的 1 MHz 時鐘同時啟動,內部振蕩器將仍然能夠執行 999 條指令,而更高速度的處理器用同樣的時間只能執行 20 條指令。

          
        定時器

          利用好定時器有助于在處理器保持待機狀態的情況下實現系統處理功能。由于定時器功耗非常小,因此這有助于大大降低功耗。應該使用實時時鐘模塊接受 32kHz 計時器定時器輸入和設置不同時間間隔的“警報”或中斷,在無需處理器干預的情況下,使計時器計數增加。同樣,應該使用影子寄存器更新和比較來自 ISR 的值。一旦寄存器讀到有效的預編程值,即觸發 ISR,使處理器脫離休眠或待機狀態,而不需要 CPU 尋找 ISR 地址、更新周期或比較值。

         
        管理開銷

          管理開銷系統監視程序、監管工作有助于防范不安全的狀況,有關器件包括電壓監控器和看門狗定時器。由于數字電路依賴觸發器或從負到正(或相反亦然)狀態的轉換,因此,即使工作電壓有稍小的下降,也可能會意外觸發 RESET 條件,從而造成系統無法工作。電力減弱保護作為電壓監控的一部分,一般用于確保電壓瞬變不會強制處理器進入和退出RESET 狀態。

          只要有可能,在電壓監控解決方案中應采用不可屏蔽的中斷 (NMI) 來識別電壓瞬變。這種方法讓用戶能隨心所欲地設定電壓觸發的門限電平,無需系統復位條件,其功耗一般比模擬-數字轉換器 (ADC) 通道更低。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 禄丰县| 重庆市| 萍乡市| 清丰县| 广灵县| 道孚县| 方山县| 房山区| 吉木萨尔县| 和林格尔县| 泰州市| 库尔勒市| 当雄县| 峨眉山市| 乐清市| 赞皇县| 淮阳县| 额敏县| 浮梁县| 华坪县| 南京市| 榕江县| 乌拉特后旗| 内江市| 寿阳县| 蛟河市| 焦作市| 新化县| 贵阳市| 博乐市| 达拉特旗| 曲阜市| 扶绥县| 迭部县| 巧家县| 遵义县| 广德县| 徐闻县| 正蓝旗| 古交市| 牟定县|