來源:Digi-Key 作者:Jacob Beningo 對于一些列消費(fèi)和工業(yè)邊緣物聯(lián)網(wǎng) (IoT) 應(yīng)用的設(shè)計(jì)者來說,從電燈開關(guān)、抄表機(jī)和智能鎖到太陽能逆變器和安全面板,都需要在高性能和低功耗之間權(quán)衡利弊,找到一個(gè)合適的平衡點(diǎn),特別是在進(jìn)行電池供電設(shè)計(jì)時(shí),同時(shí)還要確保其實(shí)施的安全性。許多情況下,這類設(shè)計(jì)基于微控制器 (MCU),所以設(shè)計(jì)者必須認(rèn)真考慮使用哪一種微控制器。 除了堅(jiān)定支持安全外,還需考慮處理器內(nèi)核性能、能效、外設(shè)和 I/O 支持、整體外形尺寸以及生態(tài)系統(tǒng)支持。雖然 MCU 可能在性能和功率方面滿足設(shè)計(jì)要求,但安全設(shè)計(jì)的實(shí)施有一個(gè)學(xué)習(xí)曲線,這可能會造成延遲或?qū)е聼o法充分地實(shí)施安全。 本文將簡要討論邊緣物聯(lián)網(wǎng)設(shè)備的安全注意事項(xiàng)。然后,介紹 Silicon Labs 的 EFM32PG23 MCU,展示如何在強(qiáng)調(diào)低功耗的同時(shí),將其應(yīng)用于安全邊緣物聯(lián)網(wǎng)設(shè)計(jì)。 物聯(lián)網(wǎng)設(shè)備的安全問題 互聯(lián)網(wǎng)連接設(shè)備受到的遠(yuǎn)程攻擊數(shù)量在持續(xù)上升。嵌入式開發(fā)人員可能會認(rèn)為,他們的物聯(lián)網(wǎng)邊緣設(shè)備不需要安全,因?yàn)檫@些設(shè)備中沒有“任何有價(jià)值的東西”。事實(shí)上,黑客能在幾乎每臺設(shè)備中發(fā)現(xiàn)有價(jià)值的東西,無論是傳感器數(shù)據(jù)、客戶數(shù)據(jù)、設(shè)備上的實(shí)際固件,還是設(shè)備作為連接網(wǎng)絡(luò)的后門提供的權(quán)限。安全是關(guān)鍵功能,必須從一開始就設(shè)計(jì)到每個(gè)物聯(lián)網(wǎng)邊緣設(shè)備中:不應(yīng)在設(shè)計(jì)周期結(jié)束時(shí)才將安全綁到系統(tǒng)上。否則,該設(shè)備將極易受到攻擊。 每個(gè)物聯(lián)網(wǎng)邊緣設(shè)備都有幾個(gè)方面需要考慮安全,如設(shè)備識別、設(shè)備配置和軟件/固件更新等。圖 1 所示為常見問題清單,以及這些問題如何轉(zhuǎn)化為設(shè)備安全要求。每個(gè)安全要求都有相關(guān)的技術(shù),通常用于滿足該要求并挫敗潛在的攻擊者。 ![]() 圖 1:邊緣物聯(lián)網(wǎng)應(yīng)用的設(shè)計(jì)者有許多需要考慮的安全問題、要求和相關(guān)技術(shù)。(圖片來源:Silicon Labs) 對于很多開發(fā)物聯(lián)網(wǎng)邊緣應(yīng)用的嵌入式團(tuán)隊(duì)來講,缺乏內(nèi)部安全專業(yè)知識是個(gè)大問題。結(jié)果是他們要么在內(nèi)部盡最大努力學(xué)習(xí)并實(shí)施安全,要么利用外部資源。無論哪種方式,其成本和時(shí)間都可能異乎尋常。 還有一種選擇:開發(fā)團(tuán)隊(duì)可以選擇在設(shè)計(jì)時(shí)就考慮了安全問題的 MCU。這種 MCU 就是現(xiàn)成的安全解決方案,只需對手頭的應(yīng)用進(jìn)行小的配置調(diào)整。 Silicon Labs PG23 系列 MCU 器件簡介 Silicon Labs EFM32PG23 系列微控制器是物聯(lián)網(wǎng)邊緣設(shè)備應(yīng)用的一個(gè)有趣選擇,原因如下。首先,PG23 MCU 可以運(yùn)行 Silicon Labs 自己的 Secure Vault 物聯(lián)網(wǎng)安全解決方案。Secure Vault 是一個(gè)保護(hù)物聯(lián)網(wǎng)設(shè)備安全和面向未來的平臺,最近成為首個(gè)獲得 PSA 認(rèn)證的 3 級物聯(lián)網(wǎng)安全解決方案。Secure Vault 為 PG23 MCU 帶來的一些功能包括安全設(shè)備身份、安全密鑰管理和存儲,以及高級篡改檢測。 Secure Vault 利用了由物理不可克隆函數(shù) (PUF) 生成的獨(dú)特?cái)?shù)字指紋。PUF 可以用來創(chuàng)建 AES 對稱密鑰,當(dāng)系統(tǒng)斷電時(shí),該密鑰會物理性地消失。當(dāng)芯片關(guān)閉時(shí),AES 對稱密鑰甚至不存在,使其不可能從設(shè)備中移除。對于許多物聯(lián)網(wǎng)邊緣應(yīng)用面臨的密鑰管理挑戰(zhàn)而言,PUF 是一種有效解決方案。事實(shí)上,PUF 可以擴(kuò)展,以支持某個(gè)應(yīng)用所需的盡可能多的密鑰。Secure Vault 還包括一個(gè)篡改檢測系統(tǒng),能夠在設(shè)備發(fā)生篡改事件后即可將其關(guān)閉,使得鑰匙無法重建。主要安全特性總結(jié)如下: · 安全認(rèn)證 · 安全密鑰管理 · 確保關(guān)鍵存儲安全 · 防篡改 PG23 MCU 非常適合物聯(lián)網(wǎng)邊緣應(yīng)用的另一個(gè)原因是其低功耗設(shè)計(jì)。PG23 的有效電流消耗為 21 微安每兆赫茲 (μA/MHz)。在 EM2 模式下,16 千字節(jié) (KB) 的 RAM 處于激活狀態(tài),電流消耗為 1.03 μA;或者在 EM4 模式下,啟用實(shí)時(shí)時(shí)鐘 (RTC) 時(shí)電流消耗為 0.7 μA。如此低的電流消耗水平有助于開發(fā)人員設(shè)計(jì)節(jié)能設(shè)備,無論是通過墻插電源還是電池供電。 本文要研究的 PG23 的最后一個(gè)特點(diǎn)是 MCU 能力。PG23 采用 Arm®Cortex®-M33 處理器,時(shí)鐘高達(dá) 80MHz。這款處理器可以在 1.71 V 至 3.8 V 的范圍內(nèi)使用單電源工作。對于從事傳感器應(yīng)用的開發(fā)者來說,可使用低功耗傳感器接口 (LESENSE)。這款 MCU 采用 5×5 mm 40 引腳 QFN 封裝或 6×6 mm 48 引腳 QFN 封裝。PG23 的方框圖見圖 2。這款 MCU 也有五個(gè)電源狀態(tài):運(yùn)行模式 EM0、睡眠模式 EM1、深度睡眠模式 EM2、停止模式 EM3 以及關(guān)斷模式 EM4。 ![]() 圖 2:PG23 MCU 具有廣泛的外設(shè)、存儲器和節(jié)能模式。(圖片來源:Silicon Labs) PG23-PK2504A 開發(fā)板入門 PG23 入門的最好方法是使用 PG23-PK2504A 開發(fā)板。該板采用 EFM32PG23B310F512 處理器,自帶 512KB 閃存和 64KB 內(nèi)存。該開發(fā)板配備了各種板載傳感器、接口和一個(gè) 4×10 段 LCD 顯示屏(圖 3)。 ![]() 圖 3:PG23-2504A 開發(fā)板上有 EFM32PG23 單片機(jī)以及 4×10 段式 LCD 顯示屏、溫度和濕度傳感器、電壓基準(zhǔn)和擴(kuò)展接口。(圖片來源:Silicon Labs) 拿到開發(fā)板后,開發(fā)者可以下載并安裝 Simplicity Studio(在入門標(biāo)簽下)。Simplicity Studio 是一個(gè)啟動平臺,可提供評估、配置 EFM32 微控制器和使用該控制器進(jìn)行開發(fā)所有的一切。軟件包括入門材料、說明文檔、兼容工具和資源。 當(dāng)打開 Simplicity Studio 并插入開發(fā)板時(shí),軟件將識別該板并提供有關(guān)示例項(xiàng)目、說明文檔和演示的建議(圖 4)。然后,開發(fā)者可以選擇最適合的途徑,開始對 PG23 的實(shí)驗(yàn)。 ![]() 圖 4:Silicon Labs Simplicity Studio 檢測到電路板,并提供定制的入門建議、文檔、示例項(xiàng)目等。(圖片來源:Silicon Labs) 值得強(qiáng)調(diào)的是,PG23-PK2504A 開發(fā)板上決定開發(fā)板供電方式的開關(guān)。有兩種選擇;AEM 或 BAT(圖 5)。在 AEM 模式下,有電流檢測電阻與 LDO 電源和 PG23 串聯(lián)。這種模式優(yōu)點(diǎn)在于,開發(fā)人員可以測量處理器的電流消耗,這有助于功率優(yōu)化。一旦應(yīng)用經(jīng)過優(yōu)化,開發(fā)人員就可以切換到 BAT 模式,通過鈕扣電池為開發(fā)板供電。 ![]() 圖 5:PG23-PK2504A 可選擇在其 AEM 模式下通過 USB-C 供電,這樣可以測量處理器電流。此外,該處理器還可通過 CR2032 鈕扣電池供電。(圖片來源:Silicon Labs) 在物聯(lián)網(wǎng)應(yīng)用中盡量降低能耗的技巧和竅門 無論采用電池供電與否,最大限度地降低功耗對于每一個(gè)物聯(lián)網(wǎng)邊緣設(shè)計(jì)都至關(guān)重要。如果開發(fā)者不小心,對設(shè)計(jì)進(jìn)行能耗優(yōu)化可能會很耗時(shí)。以下是開發(fā)人員應(yīng)牢記的幾個(gè)“技巧和竅門”,這有助于對物聯(lián)網(wǎng)應(yīng)用進(jìn)行低功耗優(yōu)化: · 使用事件驅(qū)動型軟件架構(gòu)。當(dāng)系統(tǒng)不處理事件時(shí),使其進(jìn)入低功耗狀態(tài)。 · 概括在幾個(gè)充/放電周期內(nèi)對系統(tǒng)的電池消耗情況。記錄電流消耗和工作電壓,并繪制其時(shí)間變化的曲線。 · 充分利用低功耗模式,自動禁用時(shí)鐘、外設(shè)和 CPU。 · 在簡單應(yīng)用中,探索使用 Arm Cortex-M 的“退出時(shí)睡眠”功能,以盡量減少喚醒系統(tǒng)時(shí)的中斷開銷。 · 如果使用 RTOS,要利用其“tickless”模式來防止 RTOS 意外喚醒系統(tǒng)。 · 在迭代優(yōu)化時(shí),跟蹤每個(gè)變化的節(jié)能效果。在某一點(diǎn)上,開發(fā)商發(fā)現(xiàn)了一個(gè)“拐點(diǎn)”,此時(shí)優(yōu)化所花費(fèi)的時(shí)間在節(jié)能方面的回報(bào)是很低的。是時(shí)候停止優(yōu)化并進(jìn)入下一階段了。 開發(fā)者遵循這些“技巧和竅門”,可以在開始新的安全低功耗物聯(lián)網(wǎng)設(shè)計(jì)時(shí)節(jié)省更多的時(shí)間并省去更多的麻煩。 結(jié)語 物聯(lián)網(wǎng)邊緣應(yīng)用對安全、低功耗 MCU 的需求在日益增加。除了一如既往地支持安全外,設(shè)計(jì)者還需考慮處理器內(nèi)核性能、能效、外設(shè)和 I/O 支持、整體外形尺寸以及生態(tài)系統(tǒng)支持,以滿足基于邊緣的設(shè)計(jì)需求。 如圖所示,Silicon Labs EFM32PG23 MCU 可以幫助開發(fā)者解決與低功耗設(shè)計(jì)和設(shè)備安全有關(guān)的幾個(gè)問題。其相關(guān)的開發(fā)板提供了所有必要的工具,按照“提示和技巧"可以加快低功耗設(shè)計(jì)。 |