藉由進階藍牙 5.2 SoC,打造安全的低功耗 IoT 裝置
資料提供者:DigiKey 北美編輯群
2020-04-09
在物聯網 (IoT)、穿戴式裝置、連網家庭和大樓自動化應用中,大批量產品的電池供電式設計對藍牙連線與低功耗效能的要求非常嚴苛。在構建這些設計時,開發人員很難在吃緊的功率預算下,找到兼具低成本和高效能的藍牙系統單晶片 (SoC) 元件。為了滿足低成本、低功耗設計解決方案的需求,開發人員常常不得不在某個效能環節上妥協,甚至犧牲一些越來越重要的能力 (如安全性)。
為了降低必要的妥協程度,藍牙 5.2 規格納入一些省電特點,例如 LE 電源控制、定期廣告同步傳輸 (PAST),以及先進的低功耗網狀網路和位置追蹤功能。而這需要能支援這些功能的單一整合式 IC,且此 IC 也需具備相關開發套件與軟體的支援,以便開發人員透過藍牙 5.2 的低功耗強化功能,快速有效率地著手開發工作。
本文將說明 Silicon Labs 的 EFR32BG22 低功耗藍牙 5.2 SoC 系列,如何達到電池供電產品的諸多功率與效能要求。開發人員可以使用 EFR32BG22 SoC 系列以及相關的開發生態系統,打造 IoT 裝置與其他電池供電式產品,使其能夠藉由單顆 CR2032 鈕扣型電池持續運作超過五年,或是藉由 CR2354 電池持續運作十年以上。
利用進階 BLE 功能進行功率最佳化
藍牙連線已成為大眾市場消費性產品的常見功能,但更進階的低功耗藍牙 (BLE) 能力,可望帶來一系列更先進的 IoT、穿戴式裝置與其他行動產品。不過,在提供這些功能時,開發人員還要面對產品電池續航力延長,以及安全性增強的潛在期望。
在任何藍牙資料交換、網狀網路交易或定位服務作業下,發射器功率設定的選擇,是達到高訊噪比 (SNR) 的關鍵所在。如果發射器功率設定過低,較低的訊噪比會導致錯誤率增加。如果設定過高,發射元件不只浪費功率,其高功率訊號也會在多節點網路中增加干擾,或讓附近的接收器達到飽和,而導致通訊失敗。
功率控制:藍牙 5.2 引進 LE 功率控制功能,可解決這些問題,其使用的協定能讓 BLE 裝置與接收器互動,以達到最佳的發射器功率設定。而接收裝置可以利用 LE 功率控制協定,請求相容的發射器變更發射功率位準,以改善接收器的訊噪比。同樣地,發射器在必要時可以使用 LE 功率控制資料來降低發射器的功率 (低至接收器仍可運作的位準)。此時,發射器可以使用接收器提供的接收訊號強度指標 (RSSI),對發射器功率輸出進行獨立調諧。
在某些應用中,開發人員較不關心發射器功率的最佳化,而更重視確保裝置擁有足夠的發射器功率,以抵達某些遙遠的主機或通訊中樞。在傳統上,要確保在遠距離下有效進行無線連線,總是無法兼顧功率和安全性,特別是在電池供電式產品中扮演核心角色但資源受限的設計。
網狀網路:使用 BLE 網狀網路,就不必透過高發射器功率抵達遠處的主機。此時,電池供電裝置使用較低功率通訊方式,和附近的線路供電式節點進行通訊。由於訊息是從一個節點轉送至另一個節點,低功率裝置的通訊距離,能遠至裝置在最大發射器功率和接收器靈敏度下都無法達到的距離。在家庭或大樓自動化等應用中,開發人員可以進一步利用藍牙的廣播功能,讓多個裝置對單一命令做出回應,例如變更區域照明等。這些網狀網路協定使用低功耗藍牙技術後,有助於滿足原本無法兼顧的需求,即擴大作業範圍並且降低功耗。
定位服務:藍牙定位服務需要有效的訊號處理能力,這就更難達成高效的無線電運作。在藍牙中添加無線電測向功能,能讓開發人員實作即時定位系統 (RTLS) 以用於資產追蹤,或實作室內定位系統 (IPS) 以在大樓內進行導航。隨著藍牙 5.1 支援到達角 (AoA) 和出發角 (AoD) 的測向能力,RTLS 和 IPS 應用可達到的定位準確度,已超越先前以 RSSI 為基礎的方法。
AoA 和 AoD 方法基本上提供了互補功能。多天線接收器可使用 AoA 計算來追蹤移動資產的位置,而該資產會從單一天線廣播測向訊號。反之,多天線發射器能讓穿戴式裝置等元件,使用 AoD 計算來判定其位置 (圖 1)。
圖 1:藍牙的 AoA 方法能讓接收器使用天線陣列,精準定位發射資產,而 AoD 方法可讓穿戴式裝置等接收元件,找到自身相對於天線陣列的位置。(圖片來源:藍牙技術聯盟)
在每一種方法中,AoA 接收器或 AoD 裝置都使用正交訊號處理功能,判定多天線陣列所接收或廣播之訊號的相關移相。而以 AoA 方法追蹤的資產,或是以 AoD 方法判定位置的裝置,各有不同的要求。追蹤的資產需要盡可能達到最低的功耗,以確保發射時具有更長的電池續航力。相比之下,定位裝置需要足夠的處理能力,以利用傳輸的同相 (I) 和正交 (Q) 分量來處理移相計算;這些分量和 IQ 採樣有關,而 IQ 採樣是在位置移動時,維持準確位置資訊的必要動作。
額外的藍牙功能可讓開發人員降低功耗,又不會損失定位精準度。例如,若要在穿戴式裝置中實作 AoD,藍牙協定必須讓發射器和接收器的活動同步,以便兩者同時喚醒,以完成定位掃描。藉由這個方法,裝置就不需浪費能源來隨機傳送或聽取廣告封包。無線處理器可在低功率模式下保持睡眠,直到內建的計時器在必要的時候將其喚醒。若大量發射器和接收器近距離運作,使用此同步做法亦可緩解發生抵觸與效率低落的機率。
透過藍牙的定期廣告同步傳輸 (PAST) 功能,可讓穿戴式裝置與智慧型手機等配對裝置進一步減少功耗 (圖 2)。
圖 2:穿戴式裝置不需消耗功率以保持和發射器的同步連線 (左),而是使用藍牙的 PAST 機制來減少功耗,而這仰賴配對的智慧型手機來提供所需的同步資料 (右)。(圖片來源:藍牙技術聯盟)
在 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 整合了完整的 BLE 無線電子系統,並且由專屬 Arm Cortex-M0+ 處理器核心進行控制。(圖片來源: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 訊號路徑並行運作,可監測輸入訊號,並在偵測到 RF 能量高於定義臨界值時喚醒裝置。為了在電氣雜訊環境中運作時減少假警報的發生,RFSENSE 模組還提供一種選擇性模式,只會在偵測到能量型式時,才會產生喚醒訊號,而不是在偵測到某種隨機 RF 能量突波時。在此情況下,能量型式會對應發射封包內的開關鍵控 (OOK) 前置訊號,因此 RFSENSE 模組所偵測到的能量,更有可能產生實際的通訊交易訊號。
打造安全系統時的硬體支援
若要保護電池供電式連線裝置,解決方案必須和早期設計中傳統處理器的功能與能力有所不同。傳統處理器是針對在比較不易受影響的條件中運作而打造,因此缺乏一些必需的實體和功能性能力,無法保護現今的 IoT 裝置和穿戴式裝置。舉例來說,IoT 與穿戴式裝置設計具有方便取得的特點,駭客可輕易透過差動功率分析等旁路攻擊方法來攻擊這些設計,進而暴露機密資料與私鑰。藉由這些金鑰,駭客就能用各種方法欺騙實際裝置,並可存取安全網路以及本應受到保護的資源。甚至還有更簡單的做法,就是駭客早已定期滲入無線網路,觸及保護不周全的連線裝置,為此類攻擊拉開序幕。
面對最少 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 核心,在全主動模式 (EM0) 下以最大頻率 76.8 MHz 運作且停用所有周邊裝置時,只耗用 27 μA/MHz。
在閒置期間,開發人員能讓 SoC 進入幾種低功率模式之一,包括睡眠 (EM1)、深度睡眠 (EM2)、停止 (EM3) 與關斷 (EM4) 模式。隨著 SoC 轉換為較低功率模式,整合式電源管理單元 (EMU) 會關閉越來越多的功能區塊,直到只供電給喚醒 SoC 所需使用的最小區塊數量為止 (再次參見圖 3)。此外,在切換到較低的功率模式時,EMU 會自動降低電壓調整位準。因此,當一個 3.0 V 系統使用內部 DC-DC 轉換器且停用所有周邊裝置時,功耗在睡眠模式下會大幅降低至 17 μA/MHz (以 76.8 MHz 頻率運作),深度睡眠模式 (RAM 完全休眠) 時降至 1.4 μA,停止模式時降至 1.05 μA,關斷模式時降至 0.17 μA。
在較早期的處理器中,開發人員在選擇低功率模式時會面臨困難的抉擇,因為喚醒這些處理器需要花很長的時間。如果喚醒時間延長,不只會迫使系統在喚醒期間保持無反應,也會浪費能源來執行和喚醒程序有關的「非生產性」作業。通常,開發人員不得不選擇原本不需要的較高功率模式,以確保處理器能及時喚醒。相較之下,EFR32BG22 架構系統能從 RAM 運行,只需最短 1.42 μs 便能從 EM1 睡眠模式中喚醒,從 EM2 深度睡眠或 EM3 停止模式中,則只需要 5.15 μs。就連從關斷模式中喚醒,也只需要 8.81 ms,這對於許多電池供電穿戴式裝置或 IoT 裝置來說,還比最短更新時間還快速。
能否完全善用這些較快速的喚醒時間,取決於是否有機制,即使在 SoC 處於 EM3 停止功率模式時,也能維持某種程度的活動。除了前面提過的 RFSENSE 等功能,其他如 SoC 的即時時脈 (RTC) 等功能區塊,能讓裝置在睡眠期間保有現實世界的時間,而低功耗計時器 (LETIMER) 則能讓裝置產生不同的波形,或為其他周邊裝置提供計數器。事實上,晶片上周邊裝置能持續運作,要歸功於 SoC 的周邊裝置反射系統,此系統能在不同的晶片上周邊裝置之間分配訊號路線,同時執行基本的邏輯運算,而且全都不需要 CPU 的任何介入。
高效率系統開發
要加速實作 EFR32BG22 架構解決方案,開發人員可利用以 Silicon Labs Simplicity Studio 整合式開發環境 (IDE) 為基礎所建構的全套工具與資料庫。Silicon Labs 在其低功耗藍牙軟體開發套件 (SDK) 中提供進階功能的支援,包括藍牙網狀網路、AoA 與 AoD 處理,以及安全的空中韌體更新。除了一整套藍牙設定檔,此 SDK 還包含範例應用程式及原始程式碼,可用來實作客製化軟體。
結論
電池供電式行動產品對進階 BLE 功能的需求快速升高,導致開發人員逐漸面臨壓力,必須在效能需求和可用功率之間化解衝突。在過去,礙於這些彼此衝突的需求,常常必須在系統能力、尺寸與成本上進行妥協。不過,藉助先進的藍牙 SoC,開發人員能打造出大批量 IoT 裝置與其他電池供電式產品,能支援眾多新一代功能,例如室內導航與網狀網路,而且靠一顆鈕扣型電池就能運作數年。
EFR32BG22 系列的其他產品包括:

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