對于物聯網 (IoT)、可穿戴設備、互聯家居和樓宇自動化應用,藍牙連接和低功耗性能是大規模產品中電池供電設計的關鍵要求。在構建這些設計時,開發人員很難在緊張的功耗預算內,找到能夠提供高性能功能的低成本藍牙片上系統 (SoC) 器件。為了滿足低成本、低功耗設計解決方案的需求,開發人員常常不得不在性能方面做出妥協,甚至犧牲安全性等日益重要的功能。
為了降低所需的妥協程度,藍牙 5.2 規格包含了一些節能特性,如 LE 功率控制、周期性廣播同步傳輸 (PAST),以及先進的低功耗網狀網絡和位置跟蹤功能。現在需要的是支持這些功能的單一集成 IC,以及支持該 IC 的相關開發套件和軟件,以便允許開發人員使用藍牙 5.2 的低功耗增強功能快速高效地啟動和運行。
本文介紹了 Silicon Labs 的 EFR32BG22 藍牙低功耗 5.2 SoC 系列如何能滿足電池供電產品的各種功耗和性能要求。通過使用 EFR32BG22 SoC 系列及其關聯的開發生態系統,開發人員可以構建 IoT 設備和其他電池供電的產品,讓其能夠借助單個 CR2032 鈕扣電池持續運行超過 5 年,或者借助 CR2354 電池持續運行 10 年以上。
利用高級 BLE 功能優化功率
藍牙連接已成為大眾市場消費產品中的一項常見功能,但更高級的低功耗藍牙 (BLE) 功能的出現,有望帶來一系列更先進的物聯網產品、可穿戴設備和其他移動產品。不過,在提供這些功能的同時,開發人員也面臨著延長電池壽命和增強產品安全性的潛在期望。
在任何藍牙數據交換、網狀網絡交易或定位服務操作底層,發射器功率設置的選擇對于實現高信噪比 (SNR) 至關重要。如果發射器功率設置過低,降低的 SNR 會導致錯誤率升高。如果設置過高,發射器件不僅會浪費功率,而且其高功率信號會由于增加多節點網絡中的干擾,或使附近的接收器飽和,而導致通信故障。
功率控制:在藍牙 5.2 中引入 LE 功率控制功能后,即可解決這些問題,其中使用協議讓 BLE 器件與其接收器交互,以實現最佳的發射器功率設置。而接收器件可以使用 LE 功率控制協議來請求兼容的發射器更改發射功率水平,以改善接收器的 SNR。同樣,發射器可以根據需要使用 LE 功率控制數據,將發射功率降至仍可用于接收器的水平。其中,發射器可以利用接收器提供的接收信號強度指示器 (RSSI) 來獨立調整發射功率輸出。
在某些應用中,開發人員更關心的是確保他們的設備有足夠的發射功率來到達某個遠程主機或通信中心,而不是優化發射功率。傳統上,確保遠距離有效無線連接的需求一直與功耗和安全性背道而馳,尤其是在處于電池供電產品核心的資源受限設計中。
網狀網絡:使用 BLE 網狀網絡,將無需通過高發射功率到達遠程主機。此時,電池供電的設備使用低功耗通信方式與附近的線路供電節點進行通信。由于消息是從一個節點轉發到另一個節點,因此甚至在使用設備最大發射功率和接收器最高靈敏度都無法達到的遠距離上,低功率設備也可以進行通信。在家庭或樓宇自動化等應用中,開發人員可以進一步利用藍牙的廣播功能,讓多個設備響應單個命令進行操作,例如調整區域照明。這些網狀網絡協議使用低功耗藍牙技術后,有助于滿足擴展工作范圍和低功耗運行這對相互矛盾的需求。
定位服務:藍牙定位服務需要有效的信號處理能力,這就更難實現高效的無線電操作。藍牙中無線電測向功能的推出,讓開發人員可以實施用于資產跟蹤的實時定位系統 (RTLS),或用于在建筑物內導航的室內定位系統 (IPS)。隨著藍牙 5.1 中引入到達角 (AoA) 和出發角 (AoD) 的測向支持,RTLS 和 IPS 應用可以達到早期基于 RSSI 的方法所無法實現的定位精度。
AoA 和 AoD 方法本質上提供了互補功能。多天線接收器可使用 AoA 計算來跟蹤移動資產的位置,而該資產會廣播來自單天線的測向信號。相反,多天線發射器可使可穿戴設備等設備使用 AoD 計算來確定其位置(圖 1)。
圖 1:藍牙的 AoA 方法允許接收器使用天線陣列來精確確定發射資產的位置,而 AoD 方法允許接收設備(例如可穿戴設備)找到自身相對于天線陣列的位置。(圖片來源:Bluetooth SIG)
在每種方法中,AoA 接收器或 AoD 設備都使用正交信號處理功能,分別確定與多天線陣列接收或廣播信號相關的相移。反過來,對于使用 AoA 方法跟蹤的資產,或使用 AoD 方法確定其位置的設備,設備要求也有所不同。跟蹤的資產需要盡可能低的功耗,以確保在發射信號的同時延長電池壽命。相比之下,定位設備需要足夠的處理能力,以使用發射的同相 (I) 和正交 (Q) 分量來處理相移計算,這些分量與在移動時保持精確位置信息所需的 IQ 采樣相關聯。
附加的藍牙功能使開發人員可以降低功耗,而不會損失定位精度。例如,為了在可穿戴設備中實現 AoD,藍牙協議允許發射器和接收器同步各自的活動,以便兩者可同時喚醒以完成位置掃描。借助這種方法,設備便不必浪費能量來隨機發送或偵聽廣播數據包。無線處理器只需在低功耗模式下休眠,直到內置的定時器在需要的時間喚醒它們。在使用這種同步方法時,若大量發射器和接收器彼此鄰近工作,則也會緩解可能發生的沖突和效率損失問題。
藍牙的周期性廣播同步傳輸 (PAST) 提供了一種方法,能進一步降低配對設備(如可穿戴設備和智能手機)的功耗(圖 2)。
圖 2:可穿戴設備不需要消耗功率來維持與發射器的同步連接(左),而是可以使用藍牙的 PAST 機制,通過依靠配對的智能手機來提供所需的同步數據,實現功耗降低(右)。(圖片來源:Bluetooth SIG)
借助 PAST,可穿戴設備依賴于智能手機與發射器的周期性廣播同步。因此,功耗受限的可穿戴設備可避免與喚醒并執行與發射器的同步廣播交易相關的功率成本。如果在電池電量不足的情況下有需求,可穿戴設備還可以進一步降低與智能手機更新定位數據的速率,以犧牲定位精度為代價換取更長的運行時間。
不過,要充分利用 BLE 的高級功能,開發人員需要藍牙 SoC 能夠滿足相關的沖突要求:既要降低功耗,又要提供高性能計算能力。Silicon Labs 的 EFR32BG22 低功耗藍牙 5.2 SoC 系列經過特別設計,可在大批量的電池供電產品中支持這些要求。
滿足功耗和性能要求
Silicon Labs 的 EFR32BG22 低功耗藍牙 5.2 SoC 系列架構基于 Arm? Cortex?-M33 內核構建而成,集成了電池供電 IoT 設備、可穿戴設備和其他移動產品設計中所需的全套特性和功能(圖 3)。
圖 3:Silicon Labs 的 EFR32BG22 SoC 架構結合使用 Arm Cortex-M33 內核和一整套外設,產品功能可用于在低功耗設計中優化 BLE 通信、增強安全性并最小化功耗。(圖片來源:Silicon Labs)
除了 Arm Cortex-M33 內核和關聯內存外,基本 EFR32BG22 SoC 架構還組合了各種串行接口、GPIO 通道、時鐘和計時器。集成的 12 位模數轉換器 (ADC) 支持單端或差分輸入處理,采樣速率高達 1 兆樣本/秒 (MSPS),其新穎的架構還將逐次逼近寄存器 (SAR) 和三角積分轉換器的元素組合在一起。
在 EFR32BG22 系列中,不同系列產品可用于滿足特定的處理和藍牙運行要求。例如,對于有更多計算密集型需求的設計,開發人員可以選擇 EFR32BG22C222 SoC,它提供了更高速度的內核、更多 GPIO 和更高的發射 (TX) 功率。而對于為 RTLS 或 IPS 應用而構建的設計,開發人員可以轉向 EFR32BG22C224 SoC,它具有內置 IQ 采樣支持和增強的接收器 (RX) 靈敏度。
在 EFR32BG22 系列中,每個產品的基礎元素包括完整的無線電子系統、安全模塊和能源管理單元,這些能提供安全的低功耗藍牙通信所需的各種服務。
低功耗藍牙無線電子系統
EFR32BG22 系列無線電子系統通過獨立的 TX 和 RX 信號路徑來支持低功耗藍牙 5.2,而這些路徑由專用超低功耗 Arm Cortex-M0+ 處理器內核進行控制。該無線電子系統設計采用了專用的模塊來補充此內核的處理能力,其中包括幀控制器 (FRC)、循環冗余校驗 (CRC) 模塊,以及可管理 RAM 緩沖區的專用無線電緩沖區控制器 (BUFC)(圖 4)。
圖 4:EFR32BG22 SoC 集成了由專用 Arm Cortex-M0+ 處理器內核所控制的完整 BLE 無線電子系統。(圖片來源:Silicon Labs)
在直接轉換發射器架構的基礎之上,TX 路徑組合了片上功率放大器 (PA)、調制器 (MOD) 和頻率合成器。在執行任何所需的載波偵聽多路訪問及沖突檢測 (CSMA/CA) 或先聽后說 (LBT) 協議時,Arm Cortex-M0+ 無線電控制器會自動管理必要的幀傳輸時序。
RX 路徑使用低中頻 (IF) 接收器架構,其中集成了低噪聲放大器 (LNA)、自動增益控制 (AGC) 和 IF ADC,后者使該設備能夠數字化執行解調 (DEMOD) 并進行抽取和濾波(可配置為支持 0.1 至 2530 千赫 (kHz) 的接收器帶寬)。最后,RX 信號鏈生成用于各種服務的接收器 RSSI 值,這些服務包括功耗優化、信號質量控制和接近檢測等。
Silicon Labs 的 RFSENSE 模塊與 RX 信號路徑并行運行,可監視輸入信號,并在檢測到射頻能量超過定義的閾值時喚醒設備。為了幫助減少在電噪聲環境中工作時的假警報,RFSENSE 模塊還提供了一種選擇性模式,僅在檢測到某種能量模式而不是某些隨機射頻能量猝發時才生成喚醒信號。在這種情況下,該能量模式對應于發射數據包中的開關鍵控 (OOK) 前導碼,因此 RFSENSE 模塊檢測到的能量更有可能發出實際的通信事務信號。
構建安全系統的硬件支持
要確保電池供電互聯設備的安全,解決方案必須與早期設計中所用傳統處理器的特性和功能有所不同。傳統處理器是針對不易受攻擊的環境下運行而設計,因此缺乏一些必需的物理和功能性能力,無法保護如今的物聯網設備和可穿戴設備。例如,物聯網和可穿戴設計具有現成可用的特點,這使得黑客可以輕松通過差分功率分析 (DPA) 等邊信道方法來攻擊這些設計,從而會暴露機密數據和私鑰。使用這些密鑰,黑客可以利用各種方法來欺騙實際設備,并獲得對安全網絡和本該受保護資源的訪問權限。更容易的是,黑客們已例行性地滲透到無線網絡中,接觸到安全性較差的連接設備,以此拉開類似攻擊的序幕。
面對盡量減少 BOM 和延長電池壽命的要求,設計人員常常不得不采用基于軟件的安全方法??上У氖?,這些方法仍然像應用軟件和操作系統一樣脆弱。也許更糟的是,從用戶的角度來看,純粹以軟件實現的安全機制在通信和應用的感知響應能力方面帶來了明顯的滯后。為了在不犧牲性能的情況下增強安全性,互聯設計依賴于基于硬件的安全機制。
EFR32BG22 系列結合使用基于硬件的安全機制,有助于開發人員保護設備設計。這些機制的核心是加密加速器,該器件使用各種高級加密標準 (AES) 密鑰長度和模式來加快數據加密和解密。對于身份驗證和簽名操作,該加速器支持常用的橢圓曲線加密 (ECC) 曲線和哈希值。
在較低級別,真隨機數發生器 (TRNG) 提供了所需的非確定性數字模式,可減輕因使用已知會重復數字模式的隨機數發生器而帶來的威脅。一種更低級別的機制可以保護加速器免受前文提到的邊信道 DPA 攻擊。
對于任何互聯產品而言,使用這些機制實現系統安全性只是成功的一半。事實上,在已部署的系統中減少威脅是一項持續的艱巨任務,而在復雜的電池供電設計中,這變得更加困難。在部署一項原本安全的設計后,開發人員過去會讓設計暴露在惡意軟件注入攻擊中,或甚至通過開放式調試接口遭到滲透。EFR32BG22 系列可解決這兩個問題,它們通過專門功能設計來減少惡意固件和調試接口滲透。
這些 SoC 提供了一種安全功能,即使用信任根和安全加載程序 (RTSL) 的安全啟動。該加載程序使用二級引導程序,可確保基于 EFR32BG22 的系統只能使用經過身份驗證的固件進行啟動(圖 5)。
圖 5:Silicon Labs 的 EFR32BG22 SoC 系列支持使用 RTSL 的安全啟動,該功能會在從 ROM 啟動的受信任固件上建立信任根。(圖片來源:Silicon Labs)
從概念上講,使用 RTSL 的安全啟動解決了舊單級引導程序系統中的一個弱點,該弱點使黑客可以通過使用受損固件進行引導,來完全控制所連接的系統。使用簽名固件似乎可以解決此問題。但是,實際上,若不法分子利用偽造的證書來對固件簽名或使用由其通過欺詐獲得的合法證書,即使經過簽名的引導方法也會暴露于攻擊中。
相比之下,基于 EFR32BG22 的系統所構建的信任根,是在第一級引導程序上打造而成,該引導程序從 ROM 中提取受信任的固件。接下來,此受信任的軟件使用嚴格的身份驗證方法來驗證第二級引導程序代碼的來源和完整性,進而驗證并加載應用程序代碼。
由于能夠在信任根上構建系統解決方案,開發人員在交付產品時可確保軟件完整性高度可信,即使通過空中 (OTA) 固件更新周期,軟件也持續保持完好無損。但是,有時開發人員需要對系統調試端口級別提供的那些系統進行更深入的訪問。
當然,部署具有開放調試端口的系統解決方案將會帶來災難。有些復雜軟件系統開發人員需要能夠在不損害整個系統安全性的情況下跟蹤故障,而 EFR32BG22 系列的安全調試功能可為他們提供一種實用的解決方案。通過安全調試,開發人員可以使用安全身份驗證機制來解鎖調試端口,并能獲得故障分析所需的可見性,而不會損害已部署系統中用戶數據的機密性。
優化功耗
如果無法延長電池壽命,最有效的藍牙通信和安全機制仍會使電池供電設備處于不利地位。實際上,在 EFR32BG22 SoC 架構的基礎之上內置了能源管理和功耗優化功能。這些 SoC 充分利用了低功耗 Arm Cortex-M33 內核,在禁用所有外設的完全活動模式下以最高頻率 (76.8 MHz) 運行時,每兆赫茲下僅消耗 27 微安 (μA/MHz)。
在空閑期間,開發人員可以將 SoC 置于幾種低功耗模式之一,包括睡眠 (EM1)、深度睡眠 (EM2)、停止 (EM3) 和關閉 (EM4) 模式。隨著 SoC 轉換到低功耗模式,集成能源管理單元 (EMU) 會關閉越來越多的功能模塊,直到只有喚醒 SoC 所需的最少模塊組保持供電(同樣參見圖 3)。此外,在切換到低功耗模式時,EMU 會自動降低電壓調節級別。因此,在使用內部 DC-DC 轉換器并禁用所有外設的 3.0 V 系統中,功耗在睡眠模式下會大幅下降至 17 μA/MHz(運行頻率 76.8 MHz),在深度睡眠模式下功耗為 1.4 μA 且保留 RAM 全部數據,在停止模式下為 1.05 μA,在關閉模式下為 0.17 μA。
在早期的處理器中,由于喚醒這些處理器所需的時間較長,因此開發人員在選擇低功耗模式時面臨著艱難的決定。較長的喚醒時間不僅會迫使系統在喚醒期間保持無響應狀態,還會因執行與喚醒進程相關的“非生產性”操作而導致能源浪費。通常,開發人員不得不選擇本來不需要的較高功耗模式,以確保處理器能夠及時喚醒。相比之下,基于 EFR32BG22 的系統若從 RAM 運行,則從 EM1 睡眠模式喚醒僅需 1.42 微秒 (μs),從 EM2 深度睡眠或 EM3 停止模式喚醒也只要 5.15 μs。即使從關閉模式喚醒也僅需 8.81 毫秒 (ms),這通常低于許多電池供電可穿戴設備或物聯網設備的最小更新周期。
能否充分利用這些相對較快的喚醒時間,取決于是否存在一些機制,即使在 SoC 處于 EM3 停止功耗模式下也能夠保持一定程度的活動。除了前文介紹的 RFSENSE 等功能,其他功能塊(如 SoC 的實時時鐘 (RTC))使設備能夠在睡眠時保持真實時間,而低能耗計時器 (LETIMER) 使設備能夠產生不同的波形或為其他外設提供計數器。實際上,憑借 SoC 的外設反射系統 (PRS),片上外設可以繼續運行,該系統可在不同的片上外設之間路由信號并執行基本的邏輯操作——所有這些操作都不需要任何 CPU 介入。
高效系統開發
為了幫助加速實施基于 EFR32BG22 的解決方案,開發人員可以利用圍繞 Silicon Labs 的 Simplicity Studio 集成開發環境 (IDE) 構建的一整套開發工具和庫。在其低功耗藍牙軟件開發套件 (SDK) 中,Silicon Labs 為一些高級功能提供了支持,包括藍牙網狀網絡、AoA 和 AoD 處理,以及安全空中固件更新。除全套藍牙配置文件外,該 SDK 還包括用于實現自定義軟件的樣例應用程序和源代碼。
總結
電池供電移動產品對高級 BLE 功能的需求快速增長,這給開發人員帶來越來越大的壓力,需要解決所需性能與可用功率之間的矛盾。在過去,這些相互沖突的要求往往會導致在系統性能、規模和成本方面做出妥協。不過,使用先進的藍牙 SoC,開發人員可以構建大批量物聯網設備和其他電池供電的產品,這些產品能夠支持下一代功能(例如室內導航和網狀網絡),同時使用一粒鈕扣電池就可運行數年。
評論
查看更多