如何使用 Silicon Labs PG23 MCU 設計安全的低功率邊緣 IoT 裝置
資料提供者:DigiKey 北美編輯群
2022-10-19
負責設計電燈開關、抄表器、智慧鎖、太陽能逆變器、保全面板等各式消費性與工業邊緣物聯網 (IoT) 應用的設計人員,需要在高效能和低功率之間取得適當平衡 (尤其在電池供電式設計上),同時還必須確保這些實作安全無虞。在許多情況下,此類設計的基礎是微控制器 (MCU),因此設計人員必須審慎思考要使用哪一款微控制器。
除了能否可靠地支援安全性,要考慮的因素還包括處理器核心效能、效率、周邊裝置及 I/O 支援、整體尺寸、生態系統支援。雖然 MCU 可能在效能、功率方面符合設計要求,但安全設計的實作仍有其學習曲線,這可能會造成時程延誤或導致安全性未得到充分實作。
本文將簡短探討邊緣 IoT 裝置的安全注意事項。接著,我們會介紹 Silicon Labs EFM32PG23 MCU,示範如何將其運用於安全的邊緣 IoT 設計,並特別著重在低功率的特性。
IoT 裝置的安全問題
針對連網裝置的遠端攻擊數量有增無減。嵌入式應用的開發人員可能會認為他們的 IoT 邊緣裝置不需要顧及安全性,因為當中並沒有「任何重要資產」。事實上,幾乎每台裝置都包含駭客可能認為有價值的內容,像是感測器數據、客戶資料、裝置上實際使用的韌體,或是裝置提供的存取權,可以此當作後門通往相連網路。安全性是至關重要的功能,必須從一開始就設計到每台 IoT 邊緣裝置中,而不是在設計週期尾聲才安插到系統上。否則,裝置就極易受到攻擊。
每台 IoT 邊緣裝置都有幾個需要考量的安全性範疇,例如裝置識別、裝置配置、軟體/韌體更新。圖 1 列出了常見的隱憂,以及這些隱憂如何轉化為裝置的安全需求。每項安全需求都有一種常用的相關技術,可滿足該需求並阻止潛在的攻擊者。
|
圖 1:邊緣 IoT 應用的設計人員必須考慮的安全隱憂、需求、相關技術不在少數。(圖片來源:Silicon Labs)
許多開發 IoT 邊緣應用的嵌入式團隊面臨的一大問題在於,團隊內部沒有安全性的專業知識。因此,必須請內部人員盡最大努力學習、實作安全性,或是藉助外部資源。無論採取哪種方式,成本和時間都可能相當可觀。
幸好還有另一種選擇:開發團隊可以選用有將安全性納入設計考量的 MCU,只需對手邊的應用進行少許配置調整,就能實現即用型安全解決方案。
Silicon Labs PG23 系列 MCU 元件介紹
Silicon Labs EFM32PG23 系列微控制器對 IoT 邊緣裝置應用來說是蠻有意思的選擇,原因有以下幾點。首先,PG23 MCU 可以執行 Silicon Labs 自家的 Secure Vault IoT 安全解決方案。Secure Vault 是具前瞻性的 IoT 裝置保護平台,近期已成為第一個獲得 PSA 第 3 級認證的 IoT 安全解決方案。Secure Vault 可為 PG23 MCU 帶來諸多功能,其中包括安全裝置識別、安全金鑰管理與儲存、進階竄改偵測。
Secure Vault 運用由物理不可複製函數 (PUF) 產生的獨特數位指紋。PUF 可用於建立 AES 對稱金鑰,此金鑰在系統電源關閉時會不著痕跡地消失。當晶片關閉時,AES 對稱金鑰甚至根本不存在,因此無法從裝置中移除。PUF 對許多 IoT 邊緣應用來說是有效的解決方案,能夠因應這些應用所面臨的金鑰管理挑戰。事實上,為了支援應用,PUF 可依需求擴充以支援更多金鑰。Secure Vault 亦包含竄改偵測系統,一旦裝置在竄改事件後關機,就無法重建金鑰。主要的安全功能大致如下:
- 安全證明
- 安全金鑰管理
- 安全金鑰儲存
- 防竄改
PG23 MCU 非常適合 IoT 邊緣應用的另一個原因在於,專為低功率應用而設計。PG23 的有功電流消耗為 21 µA/MHz。在 EM2 模式下啟用 16 KB RAM 時,電流消耗為 1.03 µA,而在 EM4 模式下啟用即時時脈 (RTC) 時,電流消耗為 0.7 µA。如此低的電流消耗能協助開發人員設計節能裝置,無論是以牆上插座還是電池供電皆可。
本文要探討的 PG23 最後一個特性是 MCU 的功能。PG23 具有時脈高達 80 MHz 的 Arm® Cortex®-M33 處理器。此處理器可以使用單一電源供應器,在 1.71 V 至 3.8 V 範圍內運作。負責感測器應用的開發人員可以利用它的低能耗感測器介面 (LESENSE)。此 MCU 採用尺寸為 5 mm × 5 mm 的 40 引腳 QFN 封裝,或尺寸為 6 mm × 6 mm 的 48 引腳 QFN 封裝。PG23 的方塊圖如圖 2 所示。MCU 也有五種電源狀態:EM0 運作模式、EM1 睡眠模式、EM2 深度睡眠模式、EM3 停止模式、EM4 關閉模式。
圖 2:PG23 MCU 具有多種周邊裝置、記憶體、節能模式。(圖片來源:Silicon Labs)
透過 PG23-PK2504A 開發板快速上手
快速熟悉 PG23 的最佳方式是使用 PG23-PK2504A 開發板。此板搭載 EFM32PG23B310F512 處理器,還具有自己的 512 KB 快閃記憶體和 64 KB RAM。開發板包含各種板載感測器、介面和 4×10 段 LCD (圖 3)。
圖 3:PG23-2504A 開發板配備 EFM32PG23 MCU、4×10 段 LCD、溫濕度感測器、參考電壓、擴充介面。(圖片來源:Silicon Labs)
取得開發板後,開發人員可以下載並安裝 Simplicity Studio (在「Getting Started」分頁下方)。使用 Simplicity Studio,您可以獲得 EFM32 微控制器在評估、設定、開發方面所需的一切。這套軟體包含入門材料、文件、相容工具和資源。
當開發人員開啟 Simplicity Studio 並插入開發板後,軟體就可辨識開發板,並提供範例專案、文件、示範等建議 (圖 4)。接著,開發人員便能選擇最適合自己的途徑,開始實驗 PG23 的各項功能。
圖 4:Silicon Labs Simplicity Studio 可偵測開發板,並提供入門指南、文件、範例專案等客製化建議。(圖片來源:Silicon Labs)
PG23-PK2504A 開發板上值得一提的一大特點,就是能夠決定開發板供電方式的開關。供電方式共有兩種選擇:AEM 或 BAT (圖 5)。在 AEM 模式下,電流感測電阻會與 LDO 電源供應器和 PG23 串聯。這種模式的優點在於開發人員可以測量處理器的電流消耗,協助進行功耗最佳化。應用達到最佳化後,開發人員可以切換到 BAT 模式,使用鈕扣型電池供電給開發板。
圖 5:PG23-PK2504A 可選擇在 AEM 模式下透過 USB-C 供電給電路板,如此即可測量處理器的電流。或者,處理器也可透過 CR2032 鈕扣型電池供電。(圖片來源:Silicon Labs)
降低 IoT 應用用電量的提示與訣竅
無論是否由電池供電,降低能源消耗對每一個 IoT 邊緣設計來說都舉足輕重。如果開發人員不夠謹慎,要改善設計的用電量可能會非常耗時。以下為幾項開發人員需謹記的「提示與訣竅」,如此便能協助您快速進行最佳化、實現低功率 IoT 應用:
- 使用事件導向的軟體架構。在系統並未處理事件時,讓其進入低功率狀態。
- 分析系統在數個充電/放電循環內的電池消耗情形。記錄電流消耗和工作電壓,並繪製出長時間的變化。
- 利用低功率模式自動停用時脈、周邊裝置、CPU。
- 在簡單的應用中,嘗試使用 Arm Cortex-M「退出時休眠」(sleep on exit) 功能,盡可能降低喚醒系統時的中斷性額外負荷。
- 如有使用 RTOS,請利用其「Tickless」模式來防止 RTOS 不慎喚醒系統。
- 進行迭代最佳化時,請追蹤每次變更後的節能效果。到了某種程度,開發人員會碰上一個「轉折點」,耗費大把時間進行最佳化在節能方面的投資報酬率開始變低。這時候該停止最佳化並進入下一階段了。
開發人員若遵循這些「提示與訣竅」,便可從一開始省下很多時間與麻煩,順利開發出下一款安全、低功率的 IoT 設計。
結論
IoT 邊緣應用對安全、低功率 MCU 的需求正在增加。除了能否可靠地支援安全性,為了滿足邊緣式設計的需求,設計人員要考慮的因素還包括處理器核心效能、效率、周邊裝置及 I/O 支援、整體尺寸、生態系統支援。
如本文所述,Silicon Labs EFM32PG23 MCU 可以協助開發人員解決與低功率設計、裝置安全性相關的諸多問題。配套的開發板則提供快速上手所需的所有工具,接著只要遵循幾項重要的「提示與訣竅」,就能快速實作低功率設計。

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