MSP430 一種低功耗設計
利用最低功耗實現(xiàn)絕對長的電池壽命是許多深度嵌入式應用的共同設計要求。在本文中,我們將討論一種基于微控制器 (MCU) 的小區(qū)電子自動調(diào)溫器,并對電流的每一微安 (uA) 都經(jīng)過了細致而周密的調(diào)查研究。最終得到的產(chǎn)品不但超過了技術(shù)設計要求,而且成本比上一代產(chǎn)品低 50%。重新設計的電子自動調(diào)溫器利用安裝的電池可以工作 8 年以上,如圖1 所示。本文側(cè)要于明確功耗之所在、如何為應用選擇正確的電池以及如何避免項目末期經(jīng)常出現(xiàn)的隱患。
基于MCU 的電子自動調(diào)溫器必須提供:
長達 8 年的電池使用壽命;
與機械解決方案相比具備更佳競爭性的最低成本;
旨在實現(xiàn)產(chǎn)品快速上市的應用開發(fā) (In-application development);
精度達 ±1°F 的溫度測量;
40~90°F 設定點電位計;
低電量檢測;
與電池更換相關的供電欠壓保護。
測量解決方案
在本例中,我們將探討第一代電子自動調(diào)溫器——其基于 MCU,但是需要配備用于溫度測量的附加外部集成電路,以及用于喚醒 MCU 的外部振蕩器和電池監(jiān)控器。另外,這種自動調(diào)溫器需要昂貴的人工校準。上述第一代解決方案需要超過 20mA 的電流,電池使用壽命只能達到 2~3 年。IC 總成本超過 2 美元。為了延長電池壽命并降低成本,需要進行重新設計。
對于本文研究的電子自動調(diào)溫器而言,有效占空比極低,因為其大部分時間處于待機模式,由系統(tǒng)維持的自動喚醒功能執(zhí)行常規(guī)事務。與設定點電位計不同,每幾秒鐘就要對自動調(diào)溫器的溫度測量一次。系統(tǒng)根據(jù)溫度對比以及所選擇的操作模式打開或關閉冷卻或加熱功能,而如果溫度處于預期范圍之內(nèi),則不做任何動作。自動調(diào)溫器重新設計工作的首要目標是盡可能降低待機電流。為此,選用了一種超低功耗 MCU,同時運行“智能電源”(power-wise) 軟件。
為了盡可能延長電池使用壽命,該軟件配置后使 MCU 進入待機模式,其間采用由集成的 12kHz 超低功耗振蕩器 (VLO) 計時的內(nèi)部看門狗定時器 (WDT)。由于消除了通常采用的 32kHz 低功率晶振,因此 VLO 可以節(jié)省成本。系統(tǒng)全部關閉其他的 MCU 內(nèi)置外設,而且不偏置溫度傳感器和設定點電位計。在這種正常模式下,MCU 消耗約 0.6mA 的電流。WDT 大約每 6 秒鐘溢出一次,發(fā)出中斷信號并且將 MCU 從待機模式喚醒。
在工作模式下,超低功耗 MCU 的內(nèi)置高速數(shù)字控制振蕩器 (DCO) 以 1MHz 默認頻率工作,在需要時為系統(tǒng)計時。MCU 測量溫度與用戶設定點。為了支持最低的成本和實現(xiàn)高精度,測量解決方案采用基于MCU中集成的比較器的單斜率模數(shù)轉(zhuǎn)換器(ADC)。
單斜率轉(zhuǎn)換按照固定點為電容器充電,并通過已知參考電阻(由 MCU 內(nèi)部集成的比較器測量該電阻)來測量放電時間。系統(tǒng)對未知電阻重復上述周期。集成的定時器可以自動采集放電時間,由于允許在放電周期測量過程中關閉 CPU,這種自動采集可以節(jié)省功率。上述單斜率技術(shù)遵循比率原則,其可以消除與阻容放電相關的充電電壓、充電電容以及復雜的指數(shù)方程。測量時間與放電電阻成正比,準確度與傳感器與參考電阻相同,因而可以消除昂貴的校準程序。
可將一個 10K 歐姆的外部電阻用作溫度傳感器的參考電阻與 10K 熱敏電阻;20k 歐姆電位計用作與 6.8k 歐姆電阻串聯(lián)的設定點電位計。串阻可確定與最高溫度設定點(約95F)對應的最低電阻。最高設定電阻為 26.8k 歐姆,對應于最低溫度設定點(大約 40F)。
測量序列需要對參考電阻、設定點電位計以及熱敏電阻執(zhí)行放電時間測量。由 MCU 計算設定點電位計和熱敏電阻的電阻值,方法是采用高效的軟件查詢表例程來最小化代碼周期數(shù)以及相應的有效電流。有效測量序列需要大約 10ms 和平均 50mA 電流,其中包括所需要的比較器、定時器和 CPU 功能執(zhí)行。在不需要時系統(tǒng)可關閉所有組件和 MCU 內(nèi)置外設。由于每隔 5 秒鐘才需要一個 10ms 測量序列,因此有效占空比僅為 0.2%,等于大約 1mA 的平均系統(tǒng)電流消耗。
觸發(fā)低壓加熱/冷卻繼電器所需的電流為 10ms 的 100mA 電流脈沖。根據(jù)統(tǒng)計,繼電器可能需要每小時觸發(fā) 16 次。因此,繼電器的有效占空比為 0.0044%,其等于大約 4.4mA 的系統(tǒng)電流。
從電池角度來看,我們關心的是觸發(fā)繼電器所需要的 100mA 電流。第一代電子自動調(diào)溫器最初選用的電池是 CR2032 紐扣式鋰電池。由于每年低于 1% 的內(nèi)在超低漏電以及極其平坦的放電曲線(這兩種特性是延長電池使用壽命的理想選擇),因此這種電池的額定容量為 200mAh。CR2032 的問題是阻抗較高,約為 20 歐姆,因此它妨礙了電池為觸發(fā)冷卻及加熱系統(tǒng)所需繼電器提供 100mA 電流。盡管所需要的 100mA 脈沖電流僅持續(xù) 10ms,但是仍然遠遠超出了紐扣電池的能力。設計人員曾經(jīng)考慮采用大容量電容器(由于成本原因只能采用電解電容),但是由于這種電容漏電較高,最后還是放棄了。
為上述自動調(diào)溫器選擇的電池是一對 1.5V “AAA”堿性電池,額定容量為 1250mAh。這種堿性電池提供不足 1 歐姆的超低阻抗,足以驅(qū)動加熱及冷卻繼電器。低阻抗的代價是更高的漏電,在室溫時約為 3%。不過,雖然漏電較高,但是上述堿性電池在 8 年后仍然能夠提供大約 75% 的額定容量。在更高溫度時漏電加重,不過,這并不是什么大問題,自動調(diào)溫器因其應用的性質(zhì)一般接近室溫。
附加特性
作為電子解決方案,用戶通常要求它能夠顯示系統(tǒng)的運行狀況。因此,閃爍的 LED 可以用作綜合操作狀態(tài)指示燈。LED 的閃爍與 5 秒鐘的 MCU 喚醒時間同步。一個 5000mA 低功耗綠色 LED 每5秒鐘閃動 10ms,約平均消耗 1mA 系統(tǒng)電流。
為基于 MCU 的應用更換電池比較麻煩,因為電池導線的機械接觸會產(chǎn)生電源噪聲。在電池更換過程中經(jīng)常產(chǎn)生“欠壓”情況,在這種情況下電源電壓未完全復位,從而造成隨機錯誤操作。利用附加的復位電流或電源電壓監(jiān)控器 (SVS) 可以提供欠壓保護——只要電壓低于安全操作范圍,它們就會要求 MCU 執(zhí)行完全的復位。SVS 保護需要付出功率、成本與板級空間代價。作為一種變通解決方案,所選擇的超低功耗 MCU 可以集成零功耗欠壓復位 (BOR) 保護功能。
電子自動調(diào)溫器需要提供低電量檢測功能。MCU 的內(nèi)置比較器參考發(fā)生器同時包含比率參考 (radiometric) 和 0.55V 的固定參考電壓。0.25xVCC 比率參考通過一個端口引腳輸出,對測量電容器充電,電容器然后與 0.55V 參考電壓進行對比。這種技術(shù)可以實現(xiàn)簡單的 2.2V 低電量檢測。一旦檢測到低電量狀況,MCU 就閃動紅色 LED。
用于上述電子自動調(diào)溫器的超低功耗 MCU 可提供系統(tǒng)內(nèi)可編程 (ISP) 閃存與嵌入式仿真邏輯。這些功能通過采用 TEST 和 RESET/NMI 引腳在應用中對 MCU 執(zhí)行普通的調(diào)試。這樣就能夠?qū)崿F(xiàn)快速開發(fā)以及靈活的程序定制和緊急代碼更改了。我們可以對閃存中的 MCU 代碼在生產(chǎn)過程中進行應用編程,由于消除了繁雜的應用外編程,因此可以在降低成本的同時提高產(chǎn)品質(zhì)量。如有需要,可以在生產(chǎn)過程中采用電子方式執(zhí)行設備校準,然后保存在閃存中。由于閃存是 ISP 式,作為一種未來的功能,MCU 還可以在正常的操作過程中記錄數(shù)據(jù)。
結(jié)論
“AAA”堿性電池組可從 3.3V 降至 2.2V,其約等于 1250 mAh 額定容量的 65%,因此可以提供大約 800mAh 的可用電量。再考慮到 8 年僅 3% 的漏電,則可以為應用提供 609mAh 的電量。為了提供 8 年的使用壽命,應用的總平均系統(tǒng)電流不能超過 8.7mAh(609mAh/8 年/365天/24 小時)。
本文所探討的基于超低功耗 MCU 的電子自動調(diào)溫器的總平均系統(tǒng)電流消耗是待機、測量序列、繼電器觸發(fā)以及 LED 狀態(tài)指示燈總和,其等于 7mA,遠遠低于 8 年最高工作電量 8.7mAh 的要求。應用程序代碼不足 1kB,可以寬松地保存到所采用的 MSP430F2001 中。批量為 1,000 片時,建議零售單價為 0.65美元。無需任何其他集成電路。
通過加長溫度測量與操作狀態(tài)指示燈閃爍之間的間隔還可以進一步降低功耗。如果能夠采用由可用的 24V加熱/冷卻電源供電的其他繼電器,自動調(diào)溫器本身可以降至低于 2mA,從而利用一顆 CR2032 紐扣電池即可維持 10 年以上的穩(wěn)定工作。