打造更高效的智慧型裝置:第 1 部 – 採用 MCU 和 PMIC 的低功率設計

資料提供者:Digi-Key 北美編輯群

編者說明:本系列文章分為三部份,探討如何打造更高效的智慧型裝置。第 1 部 (本文) 討論使功率與效能達到平衡的低功率設計技術。第 2 部講述如何因應使用者透明安全性的挑戰。第 3 部檢視滿足設計目標所需的 MCU 規格。

無線 IoT 和穿戴式電子產品倚賴低功率設計,以便達到更長電池續航力。不過,由於對功能性的需求增加,導致功率預算突然增加,因而迫使開發人員訴諸大型電池和充電需求,這對使用者來說恐嫌笨重。因此需要能夠針對處理與電源管理兩方面,提出更深度的解決方案。

這些解決方案必須能協助設計人員滿足使用者日漸嚴苛的期望。例如,使用者期望智慧產品應與傳統版本同樣可靠,值得倚賴。少有使用者會預期所用的智慧鎖會耗盡電力,落入門鎖開啟的窘境。使用者也會期望智慧產品的外觀與前身類似。例如,智慧手錶若比市面現有的可穿戴設備明顯更大或笨重,使用者可能會有所排斥。

重點是,使用者期望智慧型裝置能帶來一定的價值,讓購買、安裝和使用值得。最終,使用者期望智慧產品能夠在無形中發揮智慧,讓使用者享受有價值的服務,同時也維持所取代之傳統產品同類的互動和外觀形式。

所有這些期望都對產品的功能性、外型尺寸和功耗形成壓力。由於功能性的需求所致,觸犯功率預算關卡最嚴重的往往是 MCU 和支援的電源管理功能。

然而,使用進階 MCU 和 PMIC,開發人員可以在不犧牲設計的尺寸和實用性之下滿足對於功率和效能的較嚴苛需求。

設計上的挑戰

對工程師而言,在創造具有無形智慧的智慧型設計的過程中,凸顯了電力需求和電力可用性之間的衝突。為交付出具有競爭力的產品,工程師不知不覺中打造出特點更加豐富的嵌入式系統,內建更多感測器,也執行更複雜的演算法。這些系統需要倚賴電池供電,同時盡可能維持最小覆蓋區。IoT 裝置和穿戴式裝置通常採用的市面供應鈕釦型電池,蓄電量限制於數十或數百毫安時,同時不會在體積上壓制 IoT 裝置或穿戴式本身。即使如此,使用者仍期望設計能比照傳統產品,具有兩次充電之間相隔數日之長的效能。

為了滿足這些多元的需求,所使用的元件必須不犧牲功能,同時讓功耗降到最低。事實上,智慧產品於功率相較於效能的特性,密切反映了這些設計核心的 MCU 之能力。不過,特定 MCU 的適用性卻鮮少可憑規格書中區區幾項規格所能衡量。雖然業界專注於電流消耗已有多年,但 MCU 以 μA/MHz 計的電流規格只能透露部分情況。其實際功耗是最清楚說明的參數,因此低 μA/MHz 加上電源電壓,成為實際應用的重要衡量指標。

最終,無論對 MCU 規格如何仔細檢視,也必須屈服於各項應用的特定要求。例如,某項應用僅需要間歇地更新感測器的量測值,可減少 MCU 工作週期,這時有功功率可能就不是最重要的規格。減少工作週期就不會以全主動模式持續執行,代表 MCU 在功率較低的睡眠狀態中的時間較長。於是,睡眠狀態的功耗、喚醒時間和 SRAM 功率保持便提升為重要參數。大型記憶體陣列和多重周邊裝置等 MCU 特點,也整合到這些 MCU 要素中。

較大的內建記憶體除了可支援日漸增大的軟體基礎,事實上有助於降低晶片外存取之外接裝置的相關功耗和效能延遲。同時,開發人員可以善加利用 MCU 的電源管理特點和資料保留能力,在處理器核心本身睡眠時,最佳化其電力和保留狀態。

進階 MCU 的電源管理特點在能顯著的降低周邊裝置選項的功率。這些 MCU 內建精細電源管理器,能選擇性地啟用或停用周邊裝置,甚至允許在能「睡眠運作」的 MCU 中,讓周邊裝置可持續操作。此情況下,即使 MCU 處於省電的睡眠狀態,涉及周邊裝置的操作仍能繼續進行。

以往,開發人員經常不得不在影響功耗和功能性的各種因素之間權衡。相對而言,Maxim IntegratedDarwin MCU 系列可提供穿戴式及其他低功率設計對於日漸提高的挑戰所需具備的能力。

平衡電力與效能

Darwin MCU 系列專為滿足 IoT 設計需求所設計,包括一系列的元件:Maxim 的 MAX32620MAX32625MAX32630。Darwin MCU 是基於含浮點單元的 Arm® Cortex®-M4 所建置而成,共用一個硬體基礎,結合多元周邊裝置、時脈、即時時脈 (RTC)、監控設備計時器和其他許多項目。

除了品項差異之外,Darwin MCU 也針對晶片上快閃記憶體和 SRAM 提供不同的選項。MAX32620 和 MAX32630 內建 2 MB 快閃記憶體,MAX32625 則提供 512 KB 快閃記憶體。另外,也有一系列可支援的晶片上 SRAM 供開發人員選擇,例如 MAX32630 為 512 KB,MAX32620 為 256 KB,MAX32625 為 160 KB。

這些元件也都能在全主動模式下消耗最低電流:102 µA/MHz (MAX32620)、106 µA/MHz (MAX32625) 及 106 µA/MHz (MAX32630)。如同前文所述,功率是重要規格,這些元件就是以低電壓作業,核心為 1.2 V,I/O 為 1.8 至 3.3 V。因此,功耗在全主動模式下可維持極低。低電壓作業由多個機制支援,允許開發人員進行最佳化,為應用降低功耗。

當然,能使功耗降至最低,對於電池供電裝置的長期操作非常重要。對大多數應用而言,這表示能在不影響反應時間之下使工作週期降至最低。對開發人員來說,這些相互衝突的需求可從 Darwin MCU 低功率模式得以解決。

此 MCU 的最低功率狀態 LP0 能使元件進入靜態,除電源定序器、開機重置、電壓電源監測器、RTC (若啟用),和資料保留暫存器相關電路例外,元件其他所有電路均會停用。LP1 可提供功率極低的待機模式,能將 CPU 保持睡眠模式,同時仍供電至 SRAM 和暫存器。在 LP0 和 LP1 之下,CPU 核心本身會保持在靜態下,直到發生中斷而導致其開機為止。

第三種功率模式 LP2 能將核心保持在睡眠狀態下,不過又如下文所述,可提供一個操作 MCU 周邊裝置的重要機制。最後,LP3 是正常執行狀態,處理器和周邊裝置會啟動,以所選的時脈率操作。

與 LP3 相較之下,LP2 可大幅降低功率 (圖 1)。藉由將時脈從標稱 96 MHz 的速率降至 4 MHz,設計人員還能節省更多功率 (參見圖 1 右)。最好的一點是,如此的功率下降能在不損及重要周邊裝置功能的情形下達成,詳述請見下文。

Maxim 的 Darwin MCU 電力生態系統示意圖

圖 1:Darwin MCU 電力生態系統可讓開發人員從全主動 LP3 模式改為 LP2 模式時大幅降低功率,若將時脈率從其標稱 96 MHz (左) 降為 4 MHz (右) 還能進一步節省更多功率。(圖片來源:Maxim Integrated)

內部而言,Darwin MCU 不同的功率模式倚賴一組複雜的功能元素。例如,處於 LP0 和 LP1 時,電源定序器能有效控制 MCU。同時,源自於晶片上計時器、元件周邊裝置、GPIO 引腳,甚至元件內建電源電壓監測器的中斷,能觸發系統重啟 (或是萬一電源電壓故障,可進行元件重置)。不過,儘管有此基本的複雜性,開發人員仍可看出一個簡單的功率模式操作模型。

在典型應用中,開發人員能以編程方式將 MCU 調為較低功率模式,直到發生 RTC 逾時或中斷為止 (圖 2)。

Maxim LP2 的周邊裝置管理單元 (PMU) 示意圖

圖 2:LP2 的周邊裝置管理單元 (PMU) 達到節省功率的方式在於執行周邊裝置與記憶體之間移動資料等其他功能的同時,讓 MCU 進入睡眠狀態。(圖片來源:Maxim Integrated)

雖然開發人員能以 LP0 和 LP1 模式達到最低功率狀態,但 LP2 可在 CPU 核心維持睡眠模式時,於所支援的周邊裝置功能性上賦予高彈性。此能力的關鍵依憑元件的周邊裝置管理單元 (PMU)。

周邊裝置管理

Darwin MCU PMU 自成一個智慧控制子系統。此一直接記憶體存取 (DMA) 式單元可在六個獨立通道,提供循環排程,允許進行獨立於 CPU 之外的多重周邊裝置操作。PMU 利用其 DMA 的功能,能在周邊裝置與記憶體之間移動資料,甚至可將脈衝串列訊號、類比量測值及其他事件同步處理。在 LP2 之下 (也稱為 PMU 模式),PMU 能在核心維持睡眠時以其狀態機有效地控制元件,以支援周邊裝置操作。

藉由設定適當的暫存器,開發人員能為功能性與功耗之間的平衡,做到還要更精細的控制。事實上,開發人員能在 LP3 中對周邊裝置操作進行相同的控制。雖然 PMU 在 LP2 之下可達到低功率操作,但在 LP3 中運用則可透過周邊裝置處理操作,降低原本會增加於處理器的負載。兩種情況下,開發人員皆能以編程方式啟用或停用元件上的個別區塊 (圖 3)。

PMU 能用來啟用或停用元件上的個別區塊圖片

圖 3:PMU 能用來啟用或停用裝置上的個別區塊,以便在操作時節省功率。(圖片來源:Maxim Integrated)

開發人員可以使用三個 32 位元暫存器 CLKMAN_CLK_GATE_CTRLn (n=0, 1, 2) 針對區塊啟動進行編程,對個別功能區塊施以精細控制,進而控制整體功耗。事實上,開發人員可以選擇自行實作此控制,或倚賴 MCU 的動態時脈閘控電路來自動啟用或停用周邊裝置,從而實現此控制。

例如,Darwin MCU 架構專門採用一個主要 SPI,在就地執行 (XIP) 操作過程中作為外接快閃記憶體與 CPU 之間的介面。每當 SPI XIP (SPIX) 操作為非主動時,MCU 的動態時脈閘控機制會自動停用 SPIX 周邊裝置。開發人員可以在 CLKMAN_CLK_GATE_CTRL0 暫存器中使用位元 21:20 控制此行為,將位元 21 設為「1」可迫使 SPIX 時脈始終維持主動,將位元 20 設為「1」可啟用動態時脈閘控,或將兩者設為「0」可迫使完整停用 SPIX 時脈。

對於晶片上類比數位轉換器 (ADC) 等模組,開發人員也能明確控制對周邊裝置的供電。例如,開發人員使用 ADC 時,首先對 ADC 啟用時脈閘控,作法是將 CLKMAN_CLK_GATE_CTRL2 中的位元 12 設為「1」,設定啟用介面的位元,接著設定 ADC_CTRL 暫存器中的位元 1,以啟動 ADC。此獨立操作 ADC 的能力,在 LP2 (PMU 模式) 中尤其有效。因為在 LP2 模式中,處理器核心處於睡眠模式,背景雜訊為最低量,這讓開發人員能夠執行靈敏的類比訊號採集。

ADC 另有一項特點是讓開發人員能將 CPU 工作週期降至最低。開發人員能為 ADC 樣本設定上下限進行編程,僅在樣本落在所需的窗值之外時才產生中斷,喚醒 CPU。開發人員可以利用此項特點讓 CPU 保持省電的睡眠模式,直到取樣的感測器資料有明顯變化為止,而非定時喚醒 CPU 以輪詢感測器來掌握量測樣本的顯著變化。

針對資料採集,ADC 支援四個外接類比多工輸入至其內部的 10 位元三角積分轉換器。對於其中兩個輸入通道,分壓器可讓開發人員將輸入訊號縮小五倍。

不過,開發人員經常需要用到外接訊號調整,以針對類比訊號進行放大或單純緩衝。在此情況下,設計人員可以利用 Maxim Integrated 的 nanoPower 系列低功率類比元件,維持低功率操作。例如,Maxim 的 MAX40007 nanoPower 運算放大器特別具有 110 dB 高額訊號電壓增益 (3 VDD),卻僅耗用 700 nA (典型值)。此運算放大器能驅動最高 20 pF 的電容性負載。相較而言,Darwin ADC 的接地電容僅 1 pF,且其動態切換電容為 250 nF。

MAX40007 等 nanoPower 元件用於以 Darwin MCU 為基礎的設計尤其高效。開發人員能採用為 MCU 供電相同的 1.8 V 或 3.3 V 電軌為這些元件供電。不過,以往由於支援這樣的多重電軌,使其無法滿足低功耗和設計覆蓋區盡量縮小的需求。隨著多重輸出 PMIC 的問世,設計人員能輕鬆支援多電軌元件,無需犧牲整體需求。

電源管理

對於電池供電設計,提供電源電壓的傳統技術有所不足。例如,線性穩壓器通常用於提供不同電壓軌,在將單節鋰離子電池的標稱 3.6 V 輸出轉換為目前低電壓 MCU 要求的較低值時,會浪費可觀的電能。加上需要支援多重個別供電層級,又加劇了對功耗、零件數和複雜性的影響。相對而言,Maxim Integrated 的 MAX77650 則能針對多電軌電池供電設計,提供完備的電源管理解決方案。

MAX77650 的電源管理架構將單一電感、多重輸出 (SIMO) 升降壓穩壓器與低壓差 (LDO) 穩壓器 (圖 4) 加以結合。Maxim Integrated 提供能以多重 GPIO 擴充此架構的選項,並有一個可編程為 250 至 425 mA 的電流流入驅動器,支援專用可攜式設計中所用的紅外線 LED 等元件。

Maxim 的 MAX77650 中所用 SIMO 升降壓穩壓器示意圖

圖 4:MAX77650 中所用的單一電感多重輸出 (SIMO) 升降壓穩壓器,僅需一個電感,可閘控對個別輸出引腳 (上方) 的輸出,並為順序中的下一個輸出 (下方) 提升電感電荷。(圖片來源:Maxim Integrated)

此 PMIC 架構核心的 SIMO 穩壓器能實作閘控機制,僅需一個外接電感以輸送 Darwin MCU 及其他裝置所需的多重電軌。在 SIMO 穩壓器中,控制電路會透過分別閘控的輸出從單一電感放電 (圖 4 上方)。在操作上,SIMO 穩壓器可為各輸出循序提升電感上的電荷 (圖 4 下方),讓各輸出達到可編程控制。

估算電池電量

在電池供電產品設計中打造無形智慧的最後一步在於電池本身。在這些設計中,準確估算剩餘的電池蓄電量,是避免意外斷電的關鍵,因為儘管產品有諸多其他優點,意外斷電卻會直接引起使用者對產品全盤失望。

雖然 MAX77650 等 PMIC 負責充電程序,但智慧產品需要有可靠的估算,以便當電池需要充電或更換時能通知使用者。傳統電量計元件一直以來充當著這個角色,但其準確度低,功耗又高,往往不符期望。

更進階的電量計 IC,例如 Maxim Integrated 的 MAX17048MAX17055,可讓開發人員擁有高彈性,既滿足電力和複雜性的設計目標,又不失準確預測電池充電狀態 (SOC) 的能力。

以往,主要的 SOC 量測方法倚賴開路電壓 (OCV) 量測值或庫侖計數。單獨使用之下,每種方法在本質上均有折衷。OCV 量測值受電池電流的影響非常大;庫倫計數能在短期內提供良好的準確度,但準確度會隨時間推移而衰退。每種方式在設計層級亦有不同的妥協之處。OCV 量測值需要一定量的電池特徵化以建立補償表;庫倫計數需要額外的電阻以測量自電池流出與流入的電流。

Maxim 的電量計 IC 能使這兩種方式皆得到提升。MAX17048 實作 Maxim 的 ModelGauge 演算法,能以估算法延伸 OCV 技術。如同以 OCV 為基礎的其他方法,MAX17048 不需要額外的電流感測電阻。雖然此元件內含預載的電池模型,但開發人員可能需要執行電池特徵化以達最佳準確度。儘管如此,此元件格外適合功率預算非常吃緊的設計。正常操作時,此元件在低功率「休眠」模式下僅耗用 3 μA。在這一模式中,此元件仍能提供準確 SOC 估算,只是更新速率減慢為每 45 s 一次,相較之下,主動模式中則為每 250 ms 一次。

如同任何以 OCV 為基礎的方法,SOC 的估算仍會受負載暫態及其他因素的影響。透過 MAX17055,Maxim Integrated 提供其 ModelGauge m5 演算法,此演算法以 OCV 法修正庫倫計數的長期漂移 (圖 5)。

Maxim 的 MAX17055 進階電量計 IC 示意圖

圖 5:進階電量計 IC,以 Maxim 的 MAX17055 為例,將開路電壓 (OCV) 與庫倫計數兩方法結合,在電池完整生命週期內提供非常準確的結果。(圖片來源:Maxim Integrated)

MAX17055 利用此法以及一個外接 Rsense 電阻和少數電容,提供了一款非常準確的電量計 (圖 6)。如同 MAX17048,此元件可提供休眠模式,在不損及功能之下將功耗降至 7 μA。在此情況下,休眠模式每 5.625 s 執行一次更新,而非全主動模式的每 175.8 ms 一次。

Maxim 的 MAX17055 示意圖

圖 6:開發人員可以使用 Maxim 的 MAX17055、一個外接感測電阻和少數電容,實作非常準確的電池電量計功能。(圖片來源:Maxim Integrated)

另一個 ModelGauge m5 電量計選項內建 Rsense 電阻,對覆蓋區影響甚小,僅 2.132 mm2,相較之下, MAX17055 採用類似的 9 引腳晶圓級封裝 (WLP),覆蓋區為 2.115 mm2。Rsense 整合選項可將休眠操作模式下的電流消耗降至僅 5.2 μA,同時提供相同的 5.6 s 更新率。

儘管需要外接 Rsense 元件,將 MAX17055 電量計 IC 結合 MAX77650 PMIC 及其單一電感,可達到節省空間的設計 (圖 7)。Maxim Integrated 便以此組合作為 MAX32620 架構的 MAX32620FTHR 開發板中的電源子系統設計。

Maxim 的 MAX77650 PMIC 和 MAX17055 電量計 IC 示意圖

圖 7:Maxim 的 MAX77650 PMIC 結合 MAX17055 電量計 IC,可在簡單的設計中提供精密的電源子系統,只需要 PMIC 的單一電感 (L1)、一個電量計 Rsense 電阻 (R14)、一個 Murata ElectronicsNCP15XH103F03RC NTC 熱敏電阻、幾個電阻和電容即可。(圖片來源:Maxim Integrated)

除了 MCU、PMIC 和電量計元件之外,此電路板只需要 PMIC 單一電感 (L1)、一個電量計 Rsense 電阻 (R14)、一個 Murata Electronics 的 NCP15XH103F03RC NTC 熱敏電阻、幾個電阻和電容即可。如此就可在僅 0.9 in x 2.0 in 尺寸的覆蓋區內提供兩個 12 引腳的插槽連接器、兩個 RGB LED 和兩個按鈕。開發人員可透過電路板的 micro USB 連接器或透過其 2 mm 連接器接上電池,為電路板供電。

結論

為迎合使用者對智慧產品的期望,電池供電裝置需要在外觀和實用性方面與較傳統的產品密切相符。對設計人員而言,欲滿足這些限制,必須將功耗和設計覆蓋區降至最低,同時不犧牲創造更具智慧之產品所需的效能。

使用 Maxim Integrated 的 Darwin MCU、SIMO PMIC 和進階電量計 IC,開發人員能打造出形式和功能為使用者所熟悉,又具有精湛能力的設計,滿足其中經常相互衝突的需求。

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 Digi-Key Electronics 的意見、理念和觀點,亦非 Digi-Key Electronics 的正式原則。

關於出版者

Digi-Key 北美編輯群