低功耗MCU發(fā)威 智能手表電池壽命大增
延長電池使用壽命是智能手表的首要開發(fā)考量。為達成此一目標(biāo),設(shè)計人員須選用在工作/動態(tài)模式下功耗較低,且能同時維持高性能運作的微控制器(MCU),并導(dǎo)入快速喚醒功能,以便讓MCU盡可能處于休眠或閑置模式,進一步降低系統(tǒng)總體功耗。
本文引用地址:http://cafeforensic.com/article/201710/367231.htm
圖1 智能手表將是未來的潮流。
所謂的智能手表該如何定義呢?基本上,智能手表是設(shè)計成手表外型、可戴式的運算裝置,當(dāng)和智慧型手機無線連結(jié)時,可提供更多的智慧型功能。一般常見的功能包括了日歷通知、電子郵件或簡訊提示。若是同時還內(nèi)建感應(yīng)器,如加速度計或溫度感測器等,智能手表就能夠幫助記錄與監(jiān)控使用者的運動進度、表現(xiàn)和心跳率等。有些手表還能控制音樂、讀取簡訊,甚至能透過使用者手機的藍牙低功耗(Low Energy, LE)連結(jié),直接透過手表接聽電話。
那么,對智能手表的開發(fā)人員而言,什么是關(guān)鍵的設(shè)計考量?在產(chǎn)品設(shè)計過程中,很容易會不自覺地想加進更多、更強大的功能。不過性能強大的手表應(yīng)用程式,通常得搭配相對強大的處理器,而強大的處理器卻往往很耗電,導(dǎo)致具有加分效果的性能提升,就這樣被功耗抵銷掉。畢竟,就算其功能再強大,誰會愿意買一個每隔幾個小時就要充電一次的智能手表?
為了要延長電池的使用時間,最好的辦法就是在考慮系統(tǒng)的心臟,也就是中央微控制器(MCU)時,選擇在工作/動態(tài)模式下功耗較低的元件。
在系統(tǒng)設(shè)計上(圖2),必須讓智能手表的中央微控制器,能夠在大部分時間維持在睡眠模式,而當(dāng)系統(tǒng)必須被喚醒來執(zhí)行任務(wù)時,能夠不影響系統(tǒng)表現(xiàn),并在最短的時間內(nèi)被喚醒。
圖2 智能手表結(jié)構(gòu)圖
工作/動態(tài)模式下維持低功耗
當(dāng)然,設(shè)計人員希望能在不犧牲性能的前提下具有最低功耗的工作模式,然而如果只是一味降低在工作/動態(tài)模式下的功耗,也會因此降低了微控制器的運算速度,導(dǎo)致微控制器將花費更多時間處于工作模式,才能把任務(wù)執(zhí)行完成并進入功耗更低的睡眠模式,最終反而會增加系統(tǒng)的平均功耗。另外大家都知道,系統(tǒng)的操作電壓越低,越能延長電池的壽命。有些微控制器宣稱工作電壓可低至1.8伏特(V),但實際上,當(dāng)其工作電壓在1.8V時,不僅運算速度降低,同時某些周邊功能可能無法正常運作,這些都不是真的能幫助系統(tǒng)降低功耗的技術(shù)。
目前市場上已有業(yè)者推出能在低功耗的情形下維持高性能運作的微控制器。如愛特梅爾(Atmel)的SAM4L微控制器系列,就能夠在不用改變產(chǎn)品規(guī)格的情況下,保持低至1.68V的工作電壓,并且維持最高性能,且其外圍周邊操作不受影響。根據(jù)費氏(Fibonacci)基準,該系列是市面上擁有最低工作/動態(tài)模式功耗(90μA/MHz)的ARM Cortex-M4微控制器。若再加以運用功率調(diào)節(jié)(Power Scaling)技術(shù),可以進一步平衡最大時脈速度和功耗(圖3)。
圖3 SAM4L微控制器在工作模式下的功耗表現(xiàn)
除此之外,如果設(shè)計人員選用的微控制器能夠提供不同的電壓調(diào)節(jié)器選擇,可進一步降低在工作/動態(tài)模式下的系統(tǒng)功耗。例如降壓或開關(guān)穩(wěn)壓器能夠在操作電壓為 2∼3.6V時提供更高的功率,或是線性穩(wěn)壓器在1.68∼3.6V的范圍內(nèi)運作,具有較高的抗噪性,而在小于2.3V范圍內(nèi)調(diào)節(jié)器則可達到最高功率。
快速喚醒能力攸關(guān)節(jié)能效益
前面有提到,為了要讓電池維持更長的壽命,在智能手表的系統(tǒng)設(shè)計上,中央微控制器大部分時間必須維持在睡眠模式,因此如果能降低中央微控制器睡眠模式的功耗,將有助于進一步降低系統(tǒng)的總體功耗。
可是,如果總是要花很長時間從睡眠模式中喚醒系統(tǒng),這并非真正的節(jié)能。設(shè)計人員的終極目標(biāo)是要確保能快速將系統(tǒng)從睡眠模式中喚醒,并且能根據(jù)系統(tǒng)需求,有彈性地選擇不同睡眠模式,這樣一來系統(tǒng)就可以盡可能在深度睡眠模式中停留更長的時間,而不會出現(xiàn)性能上的延遲,這才是真正的節(jié)能。
如前文所提及的SAM4L微控制器系列,具有來自于picoPower技術(shù)的超低睡眠模式電流特性,可以支援四種睡眠模式:睡眠、待機、保存和備用。在所有的模式下,以第一條指令抓取的喚醒,即使在最低功耗的睡眠模式下醒來,也只需要1.5微秒(μs)的喚醒時間(圖4)。
圖4 SAM4L微控制器在睡眠模式下的功耗表現(xiàn)
該系列還具有非常靈活的喚醒配置。設(shè)計人員可使用內(nèi)部的電源管理器和備用電源管理,來開啟和關(guān)閉系統(tǒng)時脈來源,并選擇喚醒來源。時脈來源由電源管理器控制,包括on-chip RC振蕩器,以及振蕩器和超精密數(shù)位相位鎖相環(huán)(DFLL)。在睡眠、待機和保存模式下,可以選擇任何來源以喚醒系統(tǒng)。
接下來將提及的夢游(Sleep Walking)功能,也允許周邊功能在不須要系統(tǒng)定時器持續(xù)運行的情況下,以非同步方式喚醒系統(tǒng);而在備用模式下,32kHz時脈或系統(tǒng)定時器,再加上通用異步收發(fā)器(UART)、外部中斷或電壓不足偵測(BOD)警告,便能喚醒系統(tǒng)。
事件系統(tǒng)/夢游功能 進一步降低系統(tǒng)功耗
事件系統(tǒng)(Event System)允許外圍周邊直接發(fā)送訊號或事件到其他周邊,而毋須藉由中央處理器(CPU)。舉例而言,定時器溢位(Timer Overflow)或類比比較器輸出如有變化,不需要CPU即能觸動類比數(shù)位轉(zhuǎn)換器(ADC)轉(zhuǎn)換或啟動直接記憶體存?。―MA)傳輸。那么事件系統(tǒng)能解決什么問題呢?
首先,事件系統(tǒng)能讓CPU進入更長時間的睡眠或閑置狀態(tài),提升節(jié)能效果。再者,它能讓外圍周邊不須透過CPU即可互相通訊,因此CPU可以更集中執(zhí)行非CPU不可的任務(wù),進而提升CPU表現(xiàn)。事件系統(tǒng)能提供事件一個恒定且100%可預(yù)測的反應(yīng)時間--在兩個時脈周期或 40奈秒(ns)內(nèi)發(fā)生反應(yīng)。如果是先藉由軟體程序的中斷,再透過CPU來執(zhí)行相同的任務(wù),則可能需要數(shù)微秒(μs)的反應(yīng)時間。此外,該系統(tǒng)允許多達八個周邊同時平行處理,因此不須要擔(dān)心中斷擁塞的情況發(fā)生(圖5)。
圖5 在事件系統(tǒng)運作下,周邊可不透過CPU而互相通訊。
除了標(biāo)準的同步事件之外,事件系統(tǒng)亦支援非同步事件。非同步事件甚至可以在系統(tǒng)時脈未運行的情況下,在各種睡眠模式下執(zhí)行。這是透過一些先進的電源管理器功能來達成的,例如夢游功能和非同步喚醒功能。
夢游功能允許外圍周邊透過請求模組的局部時脈,而不用系統(tǒng)定時器持續(xù)地運行或非同步地喚醒元件,并且可以讓事件系統(tǒng)在各種睡眠模式下處理非同步事件。事件處理完成后,模組局部時脈的請求便會解除,讓模組回到睡眠狀態(tài)。簡而言之,夢游功能幫助系統(tǒng)進一步降低功耗,不須要妥協(xié)于反應(yīng)時間,或是為了降低系統(tǒng)功耗而免去一些跟系統(tǒng)安全性有關(guān)的監(jiān)測功能。
接著舉一個將夢游功能應(yīng)用于智慧管理外部溫度量測的實例。該應(yīng)用須要定期測量溫度,以決定它是否超過系統(tǒng)臨界溫度。如果超過,該溫度讀數(shù)會被儲存在靜態(tài)隨機存取記憶體(SRAM)中,并交由CPU處理該數(shù)據(jù);如果沒有超過,則系統(tǒng)會繼續(xù)維持在睡眠模式,CPU不會被喚醒或采取任何行動。
夢游功能讓CPU在整個事件過程中保持關(guān)閉狀態(tài)。首先,利用即時計數(shù)器(RTC)在固定的時間間隔下產(chǎn)生一個事件(測量溫度),同時利用夢游功能來喚醒ADC進行溫度測量,并比較該溫度和預(yù)設(shè)臨界值。再來,ADC確定溫度沒有超過臨界值后,便會回到睡眠狀態(tài)。接著重覆以上的程序,繼續(xù)喚醒下一個ADC,量測到溫度上升到臨界值之上,CPU才會被喚醒。最后,DMA控制器將數(shù)據(jù)傳送到SRAM以進行處理(圖6)。
圖6 夢游功能的應(yīng)用范例
相較之下,傳統(tǒng)的微控制器在執(zhí)行同樣的應(yīng)用監(jiān)測例子時,由于沒有夢游功能,所以每一次都必須喚醒CPU來指示ADC去量測溫度,以確定系統(tǒng)溫度是否超過臨界值。但大多數(shù)的情況下,測量溫度都不會超過臨界值,更不須要再執(zhí)行什么動作,如此反覆操作將耗去很多能量。即使這是一個在多數(shù)時間都處于睡眠模式的系統(tǒng),卻仍然產(chǎn)生很大的能量損失,大幅降低電池壽命。可以從圖7中很明顯地比較出來,具備夢游功能的微控制器,消耗的能量遠遠小于傳統(tǒng)的微控制器。
圖7 MCU具有夢游功能時的功耗
完美的智能手表也許不存在,畢竟不同的人有不同需求。有些人喜歡時尚精簡的手表,有的喜歡支援強大功能、帶有觸控大表面的手表,不過有些條件,例如延長電池壽命則是無論如何都不能缺少的。
如果設(shè)計人員能選用在工作和睡眠模式下功耗較低、能在最短的時間內(nèi)從睡眠中被喚醒,同時帶有獨特低功耗特性,如事件系統(tǒng)和夢游功能等的微控制器,想要設(shè)計出不須在性能上做任何妥協(xié)即可執(zhí)行強大功能的應(yīng)用軟體,并同時擁有持久電池壽命的智能手表,將不再是一個不可能的任務(wù)。
評論