【導讀】優(yōu)化BLE應用以實現(xiàn)最小能耗運行是一項挑戰(zhàn)。了解BLE協(xié)議和底層的系統(tǒng)級芯片(SoC)架構對于延長電池壽命至關重要。其中對BLE工作模式(例如廣播和睡眠)的見解尤其重要。通過向堆棧提供正確的輸入以及利用BLE SoC的硬件功能,我們可以采用多種不同的方法來最小化整個系統(tǒng)的功耗。
優(yōu)化BLE應用以實現(xiàn)最小能耗運行是一項挑戰(zhàn)。了解BLE協(xié)議和底層的系統(tǒng)級芯片(SoC)架構對于延長電池壽命至關重要。其中對BLE工作模式(例如廣播和睡眠)的見解尤其重要。通過向堆棧提供正確的輸入以及利用BLE SoC的硬件功能,我們可以采用多種不同的方法來最小化整個系統(tǒng)的功耗。
在藍牙通信中,BLE已保護了大量的連接設備插座(socket)。而在無線設計中選擇BLE的最關鍵原因之一在于它的普及性,這要歸功于它在智能手機中的廣泛部署以及能夠延長電池使用壽命的能力。由于大多數(shù)物聯(lián)網(IoT)終端節(jié)點都由電池供電,因此較長的電池壽命就顯得極為珍貴。
盡管是眾所周知的事情,但還是要強調選擇BLE器件時首先要評估其文檔。雖然最初的數(shù)據(jù)挖掘過程看起來微不足道,但是很快你就會發(fā)現(xiàn)半導體器件數(shù)據(jù)手冊的比較過程將是一項相當復雜的任務。
例如,考慮無線SoC的接收或發(fā)送模式中的工作電流。許多BLE SoC文檔顯示的電流消耗為幾毫安。例如,Silicon Labs的EFR32BG22 SoC在0 dBm時的射頻接收電流為2.6 mA,發(fā)射電流為3.5 mA。請注意,這些數(shù)字僅與SoC RF收發(fā)器有關。而在SoC級別,這些電流都會稍高一些,分別為3.6 mA和4.1 mA。一個常見的錯誤是僅依靠SoC電流消耗(current drain)的射頻數(shù)字(radio numbers)來做判斷。器件文檔首頁的數(shù)據(jù)通常要通過對數(shù)據(jù)手冊進行全面分析才能得以驗證。
另一個例子是數(shù)據(jù)手冊中顯示的以微安/兆赫(μA/MHz)為單位的CPU功耗。在密集計算應用中,該數(shù)值會成為決定性的選擇標準。當然,這一數(shù)值通常指的是CPU在最高頻率時的最佳情況。換句話說,當SoC CPU的工作頻率與制造商數(shù)據(jù)手冊中指定的頻率不同時,數(shù)據(jù)手冊中顯示的數(shù)值可能會被證明是非常不準確的。
第三個例子是深度睡眠電流,這對于電池供電的終端產品至關重要。該數(shù)值通常在數(shù)百納安至幾微安之間。非常重要的是,須確保深度睡眠電流的數(shù)值與保留的RAM大小相關,并且包含實時時鐘(RTC)電流消耗。RTC與精確的睡眠時鐘源結合在一起是為了維持BLE正常工作所需的時序。對于EFR32BG22 SoC,其數(shù)據(jù)手冊的首頁提到了在EM2模式中深度睡眠電流為1.40 µA,保留的RAM為32 KB,同時RTC從LXCO(低頻晶體振蕩器)產生。更多信息可以參考該數(shù)據(jù)手冊的電流消耗部分。
因此,數(shù)據(jù)手冊中的功耗數(shù)值缺乏標準化可能會造成錯誤的比較,最終可能導致選擇錯誤的器件。
了解應用需求
評估BLE SoC時考慮應用需求很重要。大多數(shù)供應商都試圖以負責任的態(tài)度來展示他們器件的數(shù)值,但是對于一個可能要支持多種不同應用的器件而言,所提供的數(shù)值顯然不可能適合所有應用案例。在這種情況下,終端應用的知識就變得至關重要。
選擇BLE SoC時,工作電流和睡眠電流是關鍵指標。必須將這些電流數(shù)值置入與應用環(huán)境緊密匹配的模型中,以產生對平均功耗的合理評估。此類模型通常包括開/關占空比,我們知道低占空比更適合使用具有最低深度睡眠電流的SoC,而高占空比則更適合具有最低工作電流的SoC。
另一個重要參數(shù)可能是終端產品的環(huán)境溫度。BLE SoC在25℃時的漏電流與85℃或更高溫度時的漏電流明顯不同。高溫下的漏電流是工業(yè)應用中的關鍵選擇標準,例如子計量表(sub-metering),因為其需要在高溫下確保電池壽命。
圖1:EFR32BG22 BLE SoC的電流圖。在25℃時,BLE SoC的漏電流與85℃或更高溫度時的漏電流有顯著差異。從圖中還可以明顯看出,電流在很大程度上取決于SoC時鐘頻率。上圖對應EM0工作模式,下圖對應EM1睡眠模式。兩張圖均描述了內部直流-直流(DC- DC)轉換器在3V供電時的芯片電流。
應用的另一個重要元素在于所使用的電池技術類型(在電池供電的終端產品中)。電池要為集成在最新BLE SoC中的片上DC-DC轉換器供電。使用DC-DC轉換器將顯著降低整個SoC的工作電流消耗。一些復雜的SoC可能會為射頻和CPU集成獨立的DC-DC轉換器。這種做法提供了一種優(yōu)化的解決方案,但趨勢顯然是只使用一個轉換器,從而最小化SoC的成本。
圖2:EFR32BG22是集成了一個片上DC-DC轉換器的BLE SoC的例子。使用dc-dc轉換器將顯著降低整個SoC的工作電流消耗。一些復雜的SoC可能會為射頻和CPU集成獨立的dc-dc轉換器。這種做法提供了一種優(yōu)化的解決方案,但趨勢顯然是只使用一個轉換器,從而最小化SoC的成本。
最后,了解如何使用片內或片外存儲器也很重要。BLE終端節(jié)點的一個常見需求是執(zhí)行軟件的無線(OTA)更新。根據(jù)傳輸?shù)墓碳诚竦拇笮?,使用外接閃存可能成本更低。但事實證明,其增加的功耗和潛在的安全問題可能比使用片上閃存要高得多。對OTA更新進行詳細分析將有助于確定最合適的內存物料清單。
近年來,BLE SoC大幅降低了總工作電流消耗,同時保持了更低的深度睡眠電流。原因是硅技術從較大的尺寸(0.18 µm,90 nm和65 nm)遷移到了更優(yōu)化的工藝節(jié)點(55 nm和40 nm)。采用40 nm節(jié)點,再加上集成片上dc-dc轉換器,極大地降低了EFR32BG22 SoC的總體電流消耗。
例如,當禁用片上dc-dc轉換器而從片上閃存運行Coremark時,Arm Cortex-M33 CPU需要54 µA/MHz的功耗。當激活同一個dc-dc轉換器時,相同的操作僅需要37 µA/MHz的功耗。
在深度睡眠模式下,保留的RAM至關重要,因為它是大部分功耗預算的來源,而且當BLE SoC必須返回到工作模式時,保留的RAM可以加快啟動速度。從設計角度看,低漏電流SRAM的使用能讓芯片設計人員將深度睡眠電流保持在1µA范圍內。選擇BLE SoC的另一個關鍵考量因素是每個SRAM的大小可能有所不同。選擇保留RAM大小的能力將有助于最小化深度睡眠模式的功耗。EFR32BG22 SoC在32 KB片上RAM中集成了可獨立選擇的SRAM。
最后,時鐘門控和電源門控技術的結合使BLE SoC可以根據(jù)其工作模式完全關閉設備的某些功能。這些功能的激活是自動的,應用開發(fā)人員基本上不需要去了解詳細的信息。
軟件支持
最小化BLE應用的功耗需要對射頻操作進行高度優(yōu)化的調度,并且在保持協(xié)議所需的精確時序的同時,最大限度地處于盡可能低的能耗模式下。為了精確控制發(fā)射功率,BLE堆棧集成了dc-dc轉換器的配置。堆棧來自于軟件開發(fā)套件(SDK),該套件與集成開發(fā)環(huán)境(IDE)完美整合在一起。IDE包括一個網絡分析器,可直接從SoC射頻獲取數(shù)據(jù);一個先進的能量監(jiān)控器,可將功耗與代碼位置相關聯(lián);以及一個可視的通用屬性配置文件(Generic Attribute profile,GATT)配置器,可實現(xiàn)標準藍牙SIG配置文件或自定義服務。這些工具支持BLE應用的開發(fā)與硬件設計完全整合,從而使開發(fā)人員可以專注于影響功耗的高級設計選擇。此外,SDK還集成了安全的引導加載程序,支持通過OTA和串行接口進行固件更新。
先進硬件和強大軟件的結合支持應用開發(fā)人員在多個設備上執(zhí)行自己的基準測試。這是推薦在選擇BLE SoC之前所應采取的方法。雖然最初耗時較多,但這種方法已被證明是非常有價值的,有助于發(fā)現(xiàn)因硬件功能短缺或軟件功能不佳所導致的潛藏挑戰(zhàn)。
開發(fā)一種標準化的基準測試策略還可以幫助開發(fā)人員對各個供應商的器件進行對比。嵌入式微處理器基準聯(lián)盟(EEMBC)開發(fā)的IoTMark-BLE基準配置文件提供了一種有用的功耗評估工具。IoTMark-BLE基準配置文件構建了一個真實的IoT邊緣節(jié)點模型,其由I2C傳感器與涵蓋睡眠、廣告和連接模式操作的BLE射頻所組成。
盡管IoTMark-BLE基準測試可能并不適合所有應用案例,但它可以作為基礎來支持為任何特定的應用探索適合的場景。
簡而言之,對供應商數(shù)據(jù)手冊的并行比較可能會導致代價高昂的誤解和錯誤陳述。當比較SoC中的板載和外部DC-DC轉換器模塊時,必須在系統(tǒng)層級上對BLE SoC進行分析。第三方基準測試通??梢詭椭_定比較分析的真實情況。
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請電話或者郵箱聯(lián)系小編進行侵刪。