如何設計低功率的全時啟動穿戴式裝置:第 1 篇 - 微控制器最佳化
資料提供者:DigiKey 北美編輯群
2019-09-12
編者說明:我們針對電池供電式的全時啟動穿戴式電子裝置設計撰寫了三篇文章,本文是第 1 篇。此系列文章將著重在電源最佳化的三大層面。第 1 篇說明如何設定微控制器,以延長電池續航力並減少充電次數。第 2 篇探討如何妥善維護電池,以延長充電的時間間隔。第 3 篇將說明穿戴式裝置的無線網路連線,以及如何既維持無線連線能力,又能將電池的耗電量降至最低。
以電池供電的穿戴式裝置越來越普遍,為了保持競爭力,穿戴式裝置的製造商陸續增添許多更出色的功能。對於消費者時常使用的健身手錶來說更是如此。這些手錶始終處於啟動狀態,使用者也不斷尋求新的功能和更強的效能。
然而,要增添更棒的功能,常常需要改用更強大的微控制器來控制與監測手錶的功能。但缺點是會縮短電池續航力,因此電池要更頻繁地充電,繼而影響使用體驗。
本文探討全時啟動穿戴式裝置用的微控制器具有哪些獨特的需求。文中將說明如何配置全時啟動穿戴式裝置的微控制器,包括低功率模式與自主式周邊裝置。接著會介紹 Texas Instruments 的 16 位元微控制器,以及 Maxim Integrated 的 32 位元微控制器,並展示如何利用這些產品的主要特點來改進穿戴式裝置的設計。
全時啟動穿戴式裝置用微控制器的獨特需求
對於穿戴式裝置的最終用戶來說,能保持長時間電池續航力可說是最重要的功能。雖然網路上可能有人會對穿戴式裝置的準確性和功能給予好評,但多久要充電一次,會決定評論者是給出一顆星的負評還是五顆星的好評。
除了頻繁充電的不便性之外,電池續航力不佳還有更深遠的影響。可充電鋰電池會因為頻繁充電而喪失總蓄電量,因而更加難以保證電池在使用一段時間後仍能保持良好的使用狀態。穿戴式裝置的電池,將在本系列文章的第 2 篇進行探討。
此外,雖然充電用的連接器通常都很堅固,但連接器的插拔次數畢竟有限,因此每次充電都會導致磨損。
比起其他消費性裝置,穿戴式電子裝置具有不同的電力需求,原因在於穿戴式裝置始終處於啟動狀態,需要對微控制器持續供電。通常,這種裝置還需要低功耗藍牙 (BLE) 連線,而此連線必須永遠就緒,並可用來跟搭配的行動裝置進行通訊。請注意,穿戴式裝置的無線連線,將在本系列的第 3 篇進行探討。
穿戴式裝置在有可用連線的情況下,能與行動裝置進行資料同步處理,但也必須能在沒有行動連線的狀態下,獨立運作數小時或數日 (視用途而定)。
除了報時之外,智慧型手錶等穿戴式裝置的主要用途是針對與 I2C、SPI 等序列埠相連的外部感測器,監測和記錄其輸入資訊。這些感測器可能包括:計步器用來計算步數的專用加速計、用於追蹤定位和導航功能的 GPS 無線電,以及心率監測器。雖然這些感測器多數可由使用者個別關閉和開啟,但一名優秀的工程師,應將系統設計成能應付最糟的情況,即所有的感測器都處於啟動的狀態。
從這些感測器收集的資料必須持續地予以記錄。在許多物聯網 (IoT) 或消費性行動裝置中,記錄的感測器資料通常會儲存在快閃或 EEPROM 等非揮發性記憶體內。但是,對快閃記憶體或 EEPROM 進行寫入會消耗大量的電流,很快會讓穿戴式裝置裡的小型電池沒電。比較好的解決方法是,將感測器資料儲存在 SRAM 中。
寫入 SRAM 所耗用的電流,比寫入非揮發性記憶體要少得多。由於微控制器始終處於通電狀態,因此 SRAM 感測器資料會一直保存且安全無虞,除非穿戴式裝置的電源關閉,或是使用者沒幫電池充電,令電力耗盡。儲存的感測器資料會無線傳輸並儲存在行動裝置中,因此即使斷電,感測器資料也不會遺失。
採用自主式周邊裝置是將微控制器耗電量降低到最少的重要手段。確切的自主程度,會隨著微控制器產品系列而有所不同。而另一個常見的省電手段則是,在電源暫存器中設定或清除某個位元,停止供電給未使用的周邊裝置,並且不會影響控制器的其他部分。
穿戴式裝置的微控制器低功率模式
瞭解全時啟動穿戴式裝置微控制器的獨特需求後,就必須確定低功率模式下必須進行的操作有哪些,包括哪些有用,哪些無用。
當然,穿戴式裝置的最低功率模式即是關機狀態。大多數穿戴式裝置都是在指定時間內按下軟體控制的瞬動按鈕進行開關,這可避免發生意外的電源定序。這種開關方式比機械式開關更優異,後者不僅成本效益較低,而且還可能會意外觸發。但是,工程師應假定使用者很少關閉裝置。因此,穿戴式裝置的設計應遵循兩個看似衝突的假設,既要假設裝置永遠不會關機,又要假設裝置偶爾會關機。
電池的充電,以及微控制器和感測器的電源開關次序,通常由電源管理晶片來控制。電源管理也會在本系列文章的第 2 篇進行探討。當電源管理晶片關閉穿戴式裝置時,微控制器的主電源也會閘控關閉,但即時時脈 (RTC) 的獨立電源除外。為此,微控制器必須能夠在 CPU、RAM 以及大多數周邊裝置的外部電源停用且只剩 RTC 運行的情況下運作。
為維持正確的時間,微控制器 RTC 需要在穿戴式裝置關閉期間繼續運行,因此微控制器應有獨立的電源引腳來連接需要持續供電的 RTC。RTC 將由僅耗用奈安級電流量的低頻 32.768 kHz 振盪器來提供時脈。如果智慧型手錶在電源關閉時喪失時間功能,就無法提供滿意的使用者體驗,因此任何會停用 RTC 的低功率模式,均不適用於穿戴式裝置。
CPU 以及任何未使用的周邊裝置都可以為了省電而停用。但 RAM 的內容必須隨時保留,因此任何會停用整個 RAM 陣列的低功率模式,也不適用於穿戴式裝置。
設定微控制器
在針對穿戴式裝置進行最佳化的微控制器中,Texas Instruments 的 MSP430FR2676TPTR 16 MHz 微控制器具有鐵電隨機存取記憶體 (FRAM) (圖 1),就是其中一個良好的例子。這款微控制器是 Texas Instruments 的 MSP430FR2676 16 位元 MSP430™ CapTIvate™ 電容觸控感測微控制器成員之一,內含一個低功率周邊裝置,能穿透厚玻璃來感測觸碰動作。穿戴式裝置的玻璃螢幕必須厚實耐用,才能承受日常的嚴苛使用,因此 CapTIvate 技術在搭配觸控螢幕的穿戴式裝置上相當適合。
圖 1:Texas Instruments 的 MSP430FR2676TPTR 超低功率 16 位元 FRAM 微控制器具有多種周邊裝置,並可用最少的外部零件控制簡單的穿戴式裝置。(圖片來源:Texas Instruments)
MSP430FR2676TPTR 具有 64 KB 的 Texas Instruments FRAM 程式記憶體,相較於快閃微控制器,能在更低功率下達到更高的讀/寫效能。此產品具有 8 KB SRAM 以及全套的周邊裝置,包括連接感測器用的 I2C、SPI 及 UART。具有一個 32 x 32 硬體乘法器,可加快乘法運算的速度並降低耗電量。
MSP430FR2676TPTR 的 RTC 可設定為每隔幾微秒至幾小時就喚醒微控制器。此設定對喚醒 CPU 來執行任務非常有用,例如定期處理感測器資料,然後以無線方式傳送到行動裝置。
MSP430FR2676TPTR 的振盪器與時脈系統可降低系統成本並達到低功耗。此微控制器支援四個內部產生的時脈來源,以及兩個高精確度外部時脈來源。這些振盪器和時脈可在韌體控制下啟用與停用,取決於選取的低功率模式以及韌體設定。為了運作周邊裝置,MSP430FR2676TPTR 提供兩個時脈:一個是高速子系統主時脈 (SMCLK),其運行速度可與系統時脈頻率一樣快;一個是低速的 40 kHz 輔助時脈 (ACLK)。
除了會啟用 CPU 及所有其他元件的主動模式外,MSP430FR2676TPTR 還支援可設定且複雜的低功率模式。任何可在特定 MSP430 低功率模式下維持運作的晶片上周邊裝置,都能透過韌體關閉。因此,該產品支援自訂的低功率設定。採用 MSP430FR2676TPTR 的穿戴式裝置適用下列低功率模式 (LPMx):
- LPM0 允許除 CPU 以外的所有元件運行。當自主式周邊裝置需要在無 CPU 干預的情況下啟用且全速運行時,此模式非常有用。
- LPM3 會停用 CPU、高速振盪器以及 SMCLK。所有啟用的周邊裝置,都可用省電的 40 kHz ACLK 運行。當穿戴式裝置處於閒置且沒有按下按鈕時,此模式非常有用。I2C 和 SPI 等序列周邊裝置將可自主運行,以收集感測器資料,而直接記憶體存取 (DMA) 會將資料傳輸到 RAM。RTC 則可喚醒裝置執行任何必要的任務。
- LPM4 會關閉除 RTC 之外的所有元件。SRAM 將會斷電。在使用者關閉穿戴式裝置時,此模式非常有用。
MSP430FR2676TPTR 可以在 1.8 至 3.6 V 的電壓下工作,因此適合搭配 3.6 V 鋰電池使用。在 RTC 保持運行且周邊裝置最少的情況下,微控制器的耗電量可低於 5 µA。而在主振盪器運行的情況下,MSP430FR2676TPTR 的耗電量為 135 µA/MHz (典型值)。
為了達到更高效能的穿戴式裝置,Maxim Integrated 提供 MAX32660GWE 32 位元微控制器 (圖 2)。此元件以 Arm® Cortex®-M4 核心為基礎並含有浮點單元 (FPU)。MAX32660 具有 256 KB 的快閃記憶體和 96 KB 的 SRAM。SRAM 共分成四個區塊。每個區塊都能:為了進行讀寫而啟用;或為了省電而進入淺睡眠模式,以停用讀寫並保留內容;或完全停用,以停止對該區塊供電。
圖 2:Maxim Integrated 的 MAX32660 專為全時啟動穿戴式電子裝置而設計。為了省電,此產品將周邊裝置的數量降至最低,僅保留了需要與穿戴式裝置應用的外部感測器介接的周邊裝置。(圖片來源:Maxim Integrated)
MAX32660 的最高工作頻率為 96 MHz,而所有周邊裝置均運作時,耗電量僅有 85 µA/MHz。為了將耗電量降到最低並縮小封裝尺寸,此元件提供了最少的穿戴式裝置周邊裝置組合,包括兩個 SPI、兩個 I2C 以及兩個 UART。
MAX32660 支援兩個內部振盪器:一個是可由韌體停用的 96 MHz 高速內部振盪器;一個是無論在何種低功率模式下皆保持啟動的低功率 8 KHz 環型振盪器。還有另一個 32.768 kHz 振盪器則使用外部晶體,也用於 RTC。這三個振盪器均能用來設定 CPU 和周邊裝置的時脈。
任何周邊裝置都能透過韌體關閉。此外,韌體也能停用該周邊裝置的時脈,節省寶貴的電流量。
根據穿戴式裝置的需求,RTC 應在每種低功率模式下保持啟動,除非刻意在主動模式下透過韌體停用。RTC 和時脈位於單獨的區塊中,稱為「常開域」。常開域與微控制器的其他部分隔離,可確保在韌體故障或遭到篡改時,RTC 不會受到影響。
除了主動模式外,MAX32660 還支援三種專為穿戴式電子裝置而量身定制的低功率模式:
- 在睡眠模式下,CPU 會關閉,而任何啟用的周邊裝置均會自主運行。當穿戴式裝置處於閒置狀態,並透過 DMA 記錄和儲存感測器資料時,此模式非常有用。任何啟用的周邊裝置,都能喚醒 CPU 進入主動模式。
- 在深度睡眠模式下,除了 RTC 的 32.768 kHz 時脈以外,CPU 與周邊裝置的所有內部時脈皆會閘控關閉。韌體可將 96 MHz 內部時脈設定成,在進入深度睡眠模式時自動關閉。所有 RAM 內容都會保留,包括資料 SRAM 和所有周邊裝置暫存器。此模式對於需要軟關機模式的穿戴式裝置來說非常有用。在此模式下,穿戴式裝置將關閉電源以便省電,但一旦恢復供電時,則需要從原本關閉的位置重新啟動。
- 備援模式是最低功率的模式。除了 RTC 以外,CPU 和所有周邊裝置的時脈與電源都會閘控關閉。預設情況下,所有輸送至 SRAM 的電源皆會停用。當使用者為了省電而關閉穿戴式裝置且不保留 SRAM 內容時,此模式非常有用。不過,此模式可以選擇性地將四個 SRAM 區塊的任何一個置於淺睡眠模式,以保留記憶體內容。當穿戴式裝置需要以最少的額外耗電量來維持最輕度的運作狀態時,這會非常有用。
MAX32660 需要 1.71 至 3.63 V 的電壓,因此可使用 3.6 V 鋰電池供電。此微控制器還具有自足式電源管理單元,所以無需外部元件,引腳數量也會因此減少。此外,此微控制器還配有電池電量計,能監測外部電池並提供電池充電狀態的準確讀數,而該讀數可顯示於穿戴式裝置的使用者介面。
結論
全時啟動穿戴式電子裝置對工程師來說是獨特的挑戰。即使穿戴式裝置看似已斷電,仍會消耗一定電量。但是,如本文所述,設計人員可以在設計中增添功能和特性,並使用可設定的低功率模式來維持並延長電池續航力。

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