新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 消除現(xiàn)實(shí)世界中超低功耗嵌入式設(shè)計(jì)的隱患

消除現(xiàn)實(shí)世界中超低功耗嵌入式設(shè)計(jì)的隱患

作者:Mark E. Buccini,德州儀器 時間:2009-02-24 來源:電子產(chǎn)品世界 收藏

  目前,工程師的任務(wù)之一是開發(fā)基于低成本微控制器 (MCU) 的超低功耗應(yīng)用,此類應(yīng)用通常要求用一顆電池維持?jǐn)?shù)年的工作。在從家用自動調(diào)溫器到個人醫(yī)療設(shè)備等此類超低功耗應(yīng)用中,設(shè)計(jì)人員必須仔細(xì)考慮每一微安電流。本文主要探究功耗去向以及如何消除往往在項(xiàng)目的最后時刻才會顯露的隱患。 在典型的基于超低功耗 MCU 的應(yīng)用中,有效占空比極低。在下,絕大多數(shù)時間處于待機(jī)模式下,只保持實(shí)時時鐘功能。此類例子包括數(shù)秒鐘才測一次溫度的電子自動調(diào)溫器以及一天只啟動幾次且每次運(yùn)行不超過 1 分鐘的便攜式血糖監(jiān)測儀。但是一旦有需求,系統(tǒng)必須即時進(jìn)行處理。 應(yīng)當(dāng)牢記的是,基于 MCU 的超低功耗應(yīng)用必須提供如下性能:

本文引用地址:http://butianyuan.cn/article/91625.htm
  •         盡可能低的待機(jī)功耗;
  •   必要的卓越性能;
  •   在工作模式間能夠快速切換。

  理想的電池 便攜式儀器使用的電池對系統(tǒng)的工作壽命有很大的影響。最常見的方法是使用一對標(biāo)準(zhǔn)的 1.5V‘AAA’堿性電池。另一種既能使成本最小化又無需更換電池的解決方案是永久安裝的單體鈕扣鋰電池。永久電池概念是一個重要的市場賣點(diǎn),這種電池能夠避免客戶服務(wù)及因更換電池時安裝不當(dāng)所引起的相關(guān)責(zé)任。 假設(shè)有一個最小供電電壓為 2.7V 的電池供電儀器,它的待機(jī)模式?jīng)Q定了平均電流,其值通常在 2μA 以內(nèi)。在使用一對‘AAA’電池供電時,則需要一個 20uA 以內(nèi)的穩(wěn)壓器對此類電池的線性放電進(jìn)行補(bǔ)充。因而,系統(tǒng)的總電流消耗為 22μA 即 MCU 與穩(wěn)壓器之和。串聯(lián)的 2 節(jié)堿性電池放電至 2.7V 電壓時,只有 40% 的電池容量能被利用,產(chǎn)生大約 400mAh 的電量。在除以 22μA 的平均電流消耗之后,我們就可以計(jì)算出采用這種堿性電池供電,系統(tǒng)可以運(yùn)行 2 年。 與之相反,鋰電池具有平坦的放電特性,使得其電池容量幾乎可以得到完全利用,而無需進(jìn)行漏電流調(diào)節(jié)。例如,一顆普通的 220mAh鈕扣鋰電池 CR2032,其放電量可以達(dá)到 90%,輸出電壓幾乎恒定為 2.8V。總的系統(tǒng)電流消耗為 2μA(即只有 MCU 的電流消耗)。采用這種解決方案,一顆電池就可以使系統(tǒng)運(yùn)行 10 年以上。由于具有超長的工作壽命,此類儀器往往可以設(shè)計(jì)成一次性設(shè)備,10 年后,該儀器完成了它的使命,同時也變得陳舊或過時。時鐘控制是關(guān)鍵 超低功耗應(yīng)用中經(jīng)常采用雙振蕩器方案。一個總是保持開放狀態(tài)的 32kHz 的鐘表晶振用于低頻輔助時鐘 (ACLK),通常只為定時器與實(shí)時中斷功能提供時鐘源。一個能夠‘快速啟動’的高頻主時鐘 (MCLK) 振蕩器只有在 CPU 與系統(tǒng)需要時才啟動,且其喚醒時間一般小于 10 微秒。不過,了解哪些時鐘需要快速啟動,哪些時鐘不需要快速啟動是很重要的。 常見的陷阱是二級系統(tǒng)時鐘喚醒,其最初僅向 CPU 與系統(tǒng)提供 ACLK,而 MCLK 則保持穩(wěn)定(1 毫秒即可啟動)。有時為系統(tǒng)提供快速啟動的 MCLK(但不穩(wěn)定),但其不穩(wěn)定性會給可用性造成不利影響。例如,如果要求采用 19200 波特 UART 協(xié)議下載數(shù)據(jù)(這種操作可以隨時進(jìn)行),這就要求每隔 52μs 準(zhǔn)確接受一個比特。但 ACLK 的頻率不足以為 UART 提供足夠的波特率調(diào)制。如果將二級啟動的高速 MCLK 用于 UART,結(jié)果將會造成無法預(yù)測的波特率并會丟失字符。在此情況下,MCLK 穩(wěn)定下來之前 MCU 必須使系統(tǒng)處于等待狀態(tài)。 進(jìn)入與退出低功率模式并快速處理數(shù)據(jù)的能力至關(guān)重要,否則 CPU 就會在等待時鐘穩(wěn)定過程中浪費(fèi)功率。高速系統(tǒng)時鐘可能能夠快速啟動并立即穩(wěn)定下來。 外設(shè)功耗 在設(shè)計(jì)基于 MCU 的超低功耗應(yīng)用時還必須考慮到外設(shè)的功耗。大部分 MCU 都具有啟動單個外設(shè)與時鐘源的能力,以節(jié)省功耗。僅在需要時啟動某個外設(shè)與時鐘是降低功耗的基礎(chǔ)。

  但是我們需要細(xì)心檢查兩個與外設(shè)控制相關(guān)的領(lǐng)域,即欠壓保護(hù)和端口引腳漏電流。 大部分 MCU 都集成了欠壓保護(hù)功能,其可在電源電壓降低到安全工作范圍之外時重啟系統(tǒng),以避免無法預(yù)料的事件發(fā)生。MCU 通常還能啟用或禁用欠壓保護(hù)功能以節(jié)省功耗,但是欠壓保護(hù)必須始終處于開啟狀態(tài),這是因?yàn)榍穳菏菬o法預(yù)測的。 端口引腳漏電流有時會被忽視,但這個問題必須考慮。許多老式的 MCU 的限定輸入引腳漏電流為 1 µA。而這對于一個具有 20 個輸入端口的器件來說會消耗 20µA 的電流!但專為低功耗設(shè)計(jì)的 MCU 允許最大不超過 50nA的漏電流。 架構(gòu)影響 在項(xiàng)目開始之前,我們通常需要執(zhí)行一系列專用基準(zhǔn),以分析指定架構(gòu)在代碼密度與周期數(shù)量方面的整體效率。通過這個步驟,設(shè)計(jì)人員應(yīng)當(dāng)檢驗(yàn)關(guān)鍵的可重入代碼路徑,以便深入了解可能架構(gòu)對具體應(yīng)用產(chǎn)生的影響。 處理集成 A/D 轉(zhuǎn)換器外設(shè)的中斷服務(wù)程序是可重入代碼的一個好例子。圖 1 說明了可同時在工作文件型 8 位 RISC CPU 與基于寄存器的 16 位 RISC CUP 架構(gòu)中傳輸 10 位 A/D 數(shù)據(jù)所需的指令。8 位架構(gòu)采用單個工作文件累加器,數(shù)據(jù)必須通過該工作文件累加器進(jìn)行傳輸。此類架構(gòu)與基于 16 位寄存器的 CPU 相比需要更多的 CPU 開銷,因?yàn)楹笳咴试S直接存儲器對傳輸進(jìn)行存儲。從此例可以看出,16 位架構(gòu)所需代碼更少,功能執(zhí)行速度快 4 倍,從而縮短了運(yùn)行時間,降低了功耗。 上述 A/D 轉(zhuǎn)換器實(shí)例僅對 CPU 處理數(shù)據(jù)能力的差異進(jìn)行了對比。而同樣重要的是 A/D 轉(zhuǎn)換器外設(shè)具備可以降低服務(wù)需求的特性。如自動通道掃描、基于定時器的SOC 觸發(fā)器以及轉(zhuǎn)換輸出的直接傳輸?shù)忍匦钥梢詫?CPU 開銷基本上降低至零,從而有效地將功耗降低至僅為 A/D 轉(zhuǎn)換器自身的功耗。 最終清單 針對具體應(yīng)用選擇超低功耗 MCU 將是一件耗時而又困難的工作。花些時間來了解各種 MCU 的架構(gòu)特性,可以使設(shè)計(jì)滿足苛刻的功率預(yù)算要求。

  以下清單為實(shí)現(xiàn)基于超低功耗 MCU 的設(shè)計(jì)提供了部分指導(dǎo)原則。 考慮采用永久鋰電池;

  •   采用多種工作模式;
  •   盡可能降低待機(jī)功耗;
  •   采用即時啟動且穩(wěn)定的高速振蕩器;
  •   在功率預(yù)算中考慮欠壓保護(hù)功能;
  •   兼顧端口引腳泄漏;
  •   采用可最小化每項(xiàng)任務(wù)周期數(shù) (cycles per task) 的 CPU;
  •   提供可以降低開銷的智能外設(shè)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


關(guān)鍵詞: 德州儀器 通用電路 嵌入式

評論


相關(guān)推薦

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

關(guān)閉