開發(fā)人員早已能夠訪問處于低功耗工作狀態(tài)的 MCU,從而通過關(guān)斷外設(shè)甚至是內(nèi)核本身來降低系統(tǒng)功耗要求。但是對于有些應(yīng)用來說,開發(fā)人員需要更直接地控制功率消耗,以確保部分系統(tǒng)仍處于通電狀態(tài),從而滿足某些關(guān)鍵性功能要求。
過去,設(shè)計人員要使用獨立的電源管理器件來構(gòu)建精確的功率控制。與此相反,ADI ADuCM3029 MCU 提供的是集成式解決方案,可幫助開發(fā)人員更輕松地實現(xiàn)最高的性能,同時最大限度地減少為傳感器數(shù)據(jù)采集、可穿戴電子設(shè)備和其他物聯(lián)網(wǎng) (IoT) 應(yīng)用所構(gòu)建的設(shè)計的功耗。
MCU 解決了電源管理問題
對于低功耗設(shè)計,工程師可以找到各種各樣設(shè)計有節(jié)能選擇的高級 MCU。面向功耗敏感型應(yīng)用的器件通常具備諸如頻率調(diào)節(jié)之類功能,讓工程師能夠以性能為代價換取更低的功耗。
通常,低功耗模式通過關(guān)斷越來越多的 MCU 子系統(tǒng)來逐漸降低功耗,直到只有喚醒 MCU 所需的極少電路保持運行。超低功耗 MCU 添加了特殊的工作模式,可以單獨管理器件內(nèi)核及其外設(shè)的電源,從而進一步改進了電源管理。即使在這些情況下,這些特殊模式有時會將外設(shè)作為一個整體關(guān)斷,或者使用給開發(fā)人員授予極少功率分配細節(jié)控制權(quán)限的自動化機制。
雖然 MCU 電源管理通常提供一系列低功耗工作模式,但轉(zhuǎn)換為低功耗模式通常會導(dǎo)致功能急劇下降。在許多情況下,應(yīng)用可以在有限期限內(nèi)容忍功能損失。然而,在某些情況下,精確控制功耗對維持運行來說至關(guān)重要。ADI ADuCM3029 處理器專為支持超低功耗應(yīng)用中更復(fù)雜的電源管理要求而設(shè)計。
ADuCM3029 基于 ARM? Cortex?-M3 內(nèi)核構(gòu)建,提供了 256 KB 的糾錯碼 (ECC) 閃存和 64 KB 帶多奇偶校驗位保護功能的可配置 SRAM。該處理器的變型版 ADuCM3027 則具有 128 KB 閃存,而其他特性和功能與 ADuCM3029 相同。
除了集成的硬件加密加速器之外,這些器件還包括一個 8 通道、12 位模數(shù)轉(zhuǎn)換器 (ADC) 以及多個數(shù)字外設(shè),包括 SPI、I2C、UART、GPIO、同步串行端口 (SPORT) 和 25 通道 DMA 控制器。即便具有廣泛的功能,該器件在活動模式下的功耗通常仍低于 30 μA/MHz。而且借助 ADuCM3029,設(shè)計人員可以進一步微調(diào)功能性能與功耗之間的平衡。
功耗性能微調(diào)
與大多數(shù)高級 MCU 一樣,ADuCM3029 具有多種功耗模式,旨在降低低活動期間的功耗。在休眠模式下,該器件會關(guān)閉處理器內(nèi)核和大多數(shù)外設(shè),而保持對程序選擇的 SRAM 區(qū)域供電,通常功耗低于 750 nA。在應(yīng)用處于非活動狀態(tài)時,該器件的關(guān)斷模式僅需要 60 nA。
然而,開發(fā)人員經(jīng)常會遇到在處理器處于非活動狀態(tài)時需要某種程度的外設(shè)活動的情況。為了解決這一問題,ADuCM3029 提供了另一種功耗模式,稱為靈活休眠 (Flexi) 模式。Flexi 模式可將功耗降至 300 μA,同時提供了處于活動模式和休眠模式之間的功能。在 Flexi 模式下,器件內(nèi)核保持休眠模式,而開發(fā)人員指定的特定外設(shè)保持活動狀態(tài)(表 1)。
開發(fā)人員只需將器件的 PMG_PWRMOD 寄存器中的 MODE 位設(shè)置為 0 并執(zhí)行 WFI(等待中斷)指令,即可將 MCU 置于 Flexi 模式。在處理器內(nèi)核處于非活動狀態(tài)時,開發(fā)人員可以通過向 MCU CLKG_CLK_CTL5 寄存器中每個外設(shè)的相應(yīng)位寫入 0 來保持特定的外設(shè)功能。雖然該器件不能在這種模式下執(zhí)行指令,但是它可以繼續(xù)在外設(shè)到存儲器之間執(zhí)行像 DMA 傳輸這樣的活動。
Flexi 模式提供了保持外設(shè)運行的能力,為傳感器應(yīng)用中的一個普遍問題提供了節(jié)能的解決方案,即需要先在一段時間內(nèi)對一個或多個傳感器進行采樣,然后才需要處理器處理。在這種情況下,開發(fā)人員可以使用集成式 ADC 的自動循環(huán)模式在選定通道上執(zhí)行一次或多次轉(zhuǎn)換,并將 DMA 控制器設(shè)置為自動傳輸樣本至 SRAM。經(jīng)過程序員指定次數(shù)的轉(zhuǎn)換和相關(guān) DMA 傳輸后,DMA 控制器將發(fā)出中斷來喚醒內(nèi)核,以進行后續(xù)的采樣數(shù)據(jù)處理(圖 1)。
高速緩存和時鐘
在以功能為代價換取性能方面,F(xiàn)lexi 模式和其他低功耗模式為設(shè)計人員提供了一個強大的機制,可顯著降低其設(shè)計的功耗。然而,對于許多像電池供電型系統(tǒng)這樣的應(yīng)用來說,設(shè)計人員通常需要更好地控制功耗。借助 ADuCM3029,設(shè)計人員可以利用傳統(tǒng)方法和新方法組合來進一步降低功耗。
在典型的傳統(tǒng)方法中,使用指令高速緩存可以減少對片外存儲器或高能耗片載存儲器(如 Flash)的訪問。在基于 ADuCM3029 的系統(tǒng)中,開發(fā)人員可以分配多達 4 KB 的 SRAM 來充當(dāng)高速緩存。實際上,具體功耗節(jié)省取決于高速緩存命中率,但是 ADI 指出,在一些典型的基準應(yīng)用中使用高速緩存可以顯著降低功耗(表 2)。
頻率調(diào)節(jié)是另一種降低功耗的長期性方法。較低的處理器時鐘速率會減慢執(zhí)行指令的速度,但同時也會降低功耗(圖 2)。然而,與許多其他方法不同,ADuCM3029 允許開發(fā)人員單獨為處理器和外設(shè)動態(tài)修改時鐘頻率。在此處,器件使用由 26 MHz 內(nèi)部振蕩器或外部晶體驅(qū)動的鎖相環(huán)和時鐘分頻器,為片載資源(包括處理器、存儲器和接口)生成時鐘。一個 32 kHz 內(nèi)部振蕩器或外部晶體用于驅(qū)動器件的實時時鐘 (RTC) 和看門狗定時器。開發(fā)人員可以修改器件運行時期間相應(yīng)的時鐘寄存器,以改變時鐘頻率,使之滿足不斷變化的應(yīng)用要求,或匹配功耗降低的機會。
增強的電源路徑
除了支持更傳統(tǒng)的功耗降低方法之外,ADuCM3029 還基于專用設(shè)備硬件特性提供了更新穎的方法。ADuCM3029 的電源路徑中設(shè)計有一個片載降壓轉(zhuǎn)換器,用于縮小器件的電源電壓范圍(VBAT,1.74 V - 3.6 V)與內(nèi)部數(shù)字域工作電壓 (1.2 V) 之間的差值。
正常工作時,由集成式低壓差 (LDO) 穩(wěn)壓器提供此內(nèi)部電壓。與任何典型的 LDO 一樣,當(dāng) LDO 的電源電壓與負載電壓之間的差值很大時,默認的電源路徑只會消散多余的能量,從而導(dǎo)致功率浪費。然而,憑借此款 MCU,設(shè)計人員只需使用少量的外部電容器,即可在更高電源電壓下減少這種損耗(圖 3)。在軟件方面,開發(fā)人員只需對降壓控制寄存器 (PMG_CTL1) 進行寫入操作,即可啟用降壓轉(zhuǎn)換器。
通過一種高效的基于電容器的充電泵拓撲,該轉(zhuǎn)換器就可以降低提供給 LDO 的電壓電平。因此,MCU 可顯著降低 VBAT 高端電壓電平下的功耗(圖 4)。當(dāng)電平低于約 2.3 V 時,降壓轉(zhuǎn)換器進入旁路模式并跟隨 VBAT。
功率優(yōu)化的采樣
諸如高速緩存、頻率調(diào)節(jié)和片載 DC-DC 轉(zhuǎn)換等功能可在系統(tǒng)級別操作,來幫助降低功耗。在應(yīng)用級別,諸如 Flexi 模式等功能有助于降低外設(shè)操作(如傳感器采樣)的功耗。然而,即使是采用這些方法,在某些應(yīng)用中也可能是不夠的。例如,電池供電的 IoT 器件通常負責(zé)以極低的采樣率對傳感器進行采樣,或者定期監(jiān)控某個外部進程。
對于周期活動較慢的應(yīng)用,開發(fā)人員通常依靠 MCU 的 RTC 來保持一致的時基,以及驅(qū)動用于在精確的預(yù)定時間喚醒 MCU 的倒數(shù)定時器。因此,高級 MCU 通常具有即使在極低功耗模式下也能保留 RTC 功能的功耗模式。借助 ADuCM3029,開發(fā)人員可以訪問兩個獨立的 RTC(RTC0 和 RTC1),從而為平衡功耗與性能提供更多選擇。
如表 1 所示,這兩個 RTC 均支持在活動、Flexi 和休眠模式下操作,但在最低功耗關(guān)斷模式下只有 RTC0 保持可用。但在其他模式中,這兩個時鐘之間的明顯差異使開發(fā)人員可以靈活地實現(xiàn)更復(fù)雜的定時應(yīng)用。例如,RTC0 以秒為單位計算時間(1 Hz 時),將其限制為僅以秒為單位指定的喚醒時間。RTC1 可以在較寬的范圍內(nèi)預(yù)分頻,并提供低至 30.7 μs 的喚醒時間。每個時鐘的功耗也不相同。RTC0 由主電源 (VBAT) 供電,而 RTC1 由內(nèi)部 1.2 V 電源域供電。因此,使用可選的降壓轉(zhuǎn)換器可進一步降低 RTC1 的有效功耗。也許更重要的是,RTC1 支持 Analog Device 的 SensorStrobe 機制,這是 ADuCM3029 中內(nèi)置的一種獨特的低功耗采樣功能。
SensorStrobe 是一種特殊的 RTC1 報警,可在 MCU 的 RTC1_SS1 引腳上產(chǎn)生輸出脈沖。開發(fā)人員可以將 ADuCM3029 的 SensorStrobe 輸出連接到外部多傳感器器件(如 ADI ADXL363),這樣只需少量的元器件,即可創(chuàng)造出一種較低功耗的采樣解決方案(圖 5)。
ADI 作為其 ADuCM3029 EZ-KIT 開發(fā)套件 ADZS-UCM3029EZLITE 的一部分提供了該特定子系統(tǒng)(如圖 5 所示)。除了簡單的硬件配置之外,此方法只需幾行代碼,即可設(shè)置相關(guān)的器件寄存器并啟動 SensorStrobe 機制。
在 SensorStrobe 運行期間,開發(fā)人員可以將 ADuCM3029 置于休眠模式,以確保在擴展采樣過程中產(chǎn)生最低的 MCU 功耗。當(dāng) MCU 保持休眠模式時,RTC1 將一直計數(shù)到在 SensorStrobe 設(shè)置期間建立的寄存器值中指定的所需值。滿足 SensorStrobe 計數(shù)條件時,SensorStrobe 信號會被施加到 ADXL363 的中斷輸入引腳,以喚醒該器件。ADXL363 隨即會運行其自己的數(shù)據(jù)采樣例程。完成后,ADXL363 將在 MCU 的中斷引腳上發(fā)出一個信號,使 MCU 從休眠模式中喚醒并開始處理采樣數(shù)據(jù)。
過去,開發(fā)人員通常使用外部 RTC、定時器甚至簡單的振蕩器來實現(xiàn)這種擴展采樣設(shè)計。除了增加設(shè)計復(fù)雜性之外,使用外部時鐘源還會中斷采樣數(shù)據(jù)與 MCU 自己的時基之間的時間同步。因此,使用過去的方法時,開發(fā)人員需要有效地對其數(shù)據(jù)進行重新采樣,以將其時間戳標準化為 MCU 的時間戳。但在 SensorStrobe 模式下使用 RTC1 后,開發(fā)人員可以確保采樣時間戳與基于 ADuCM3029 的系統(tǒng)本身保持同步。
開發(fā)人員可能會發(fā)現(xiàn)可采用許多分立式機制,來實現(xiàn)接近 ADuCM3029 的集成式電源管理能力。但是,通過發(fā)揮該器件的內(nèi)部能力,工程師也可以輕松地在功耗與性能之間實現(xiàn)更好的匹配。
總結(jié)
人們對較低功率系統(tǒng)的需求持續(xù)挑戰(zhàn)著開發(fā)人員在更小的節(jié)能設(shè)計中實現(xiàn)最高性能的能力。而且,每種應(yīng)用都需要在功能性能與功耗之間達到獨特的平衡,這益發(fā)增加了開發(fā)的難度。
ADI ADuCM3029 MCU 的集成式電源管理功能使開發(fā)人員可以更輕松靈活地實現(xiàn)平衡。使用該器件,開發(fā)人員可以兼顧每個特定應(yīng)用獨特的高性能與低功耗需求。
評論