高度整合的 ARM® Cortex® MCU 能更有效率滿足應用需求
資料提供者:DigiKey 北美編輯群
2024-06-04
消費性、工業、智慧城市和醫療保健等應用領域,對智慧型產品的要求不斷提升,導致開發人員面臨許多挑戰。每種應用對效能、安全性、超低功耗、長距離無線連線和成本,都有其獨特的要求。由於市面上的微控制器單元 (MCU) 解決方案,未具備良好匹配相關應用所需的上述功能,因此開發人員往往被迫做出妥協。
本文將介紹 STMicroelectronics 的一組處理器解決方案,它們能提供適當的效能組合、電池續航力、安全性和無線連線能力,這些要素對於成功設計各種應用非常重要。
滿足嚴格安全性的要求
STMicroelectronics 的 STM32H7R/S bootflash MCU (圖 1) 為眾多領域的智慧型產品提供所需的高效能、圖形處理能力、安全性,以及精簡的物料清單 (BOM),如工業設備、消費性電子產品、智慧城市和醫療保健等應用。這些 MCU 採用 600 MHz Arm® Cortex®-M7 處理器與雙精密度浮點單元 (FPU),並整合圖形處理功能、安全性子系統以及一系列全面的周邊裝置和連線介面。
圖 1:STM32H7R/S bootflash MCU 整合高效能 Arm Cortex- M7 以及一系列全面的周邊裝置、功能區塊和專業功能,可滿足安全智慧型產品的需求。(圖片來源:STMicroelectronics)
除了處理器的 L1 快取 (包含 32 KB 指令快取和 32 KB 資料快取) 之外,這些 MCU 還配有 620 KB 靜態隨機存取記憶體 (SRAM)、64 KB 嵌入式快閃記憶體以及多個用於高速存取外部記憶體的介面。SRAM、嵌入式快閃記憶體和外部記憶體存取功能,與就地執行 (XiP) 功能相結合,為開發人員實作高效能且安全的嵌入式系統提供高度靈活性。
為了確保在外部記憶體中執行之應用程式的安全性,STM32H7S MCU 還整合三個記憶體加密引擎 (MCE),可對外部非揮發性記憶體或揮發性記憶體執行即時加密和解密,並為每個 MCE 提供多達四個不同區域的編程存取控制。STM32H7S MCU 還結合其他硬體式安全功能 (包括差動能量分析和旁路攻擊防禦),已通過 SESIP 和 PSA 3 級安全保障認證。
為了確保可靠執行時間關鍵性任務 (如中斷服務常式),有些 SRAM 被映射到 MCU 的緊密耦合記憶體 (TCM) 介面,為關鍵指令和資料提供零等待狀態記憶體。同時,為了確保系統完整性,這款 MCU 將多個安全功能與其嵌入式快閃記憶體相結合,能方便進行安全啟動和應用程式完整性檢查,為晶片上或晶片外記憶體中執行的系統和應用軟體提供信任根 (RoT)。與適當的硬體式保護機制相結合時,這種使用嵌入式快閃記憶體來儲存受信任啟動程式的方式,相較於傳統 MCU 所使用的唯讀記憶體 (ROM),具有顯著的靈活性。
多個安全啟動路徑
為了提供系統安全性所需的 RoT,安全啟動依賴於每次在系統重置後立即執行的不可竄改受信任程式碼。此程式碼可驗證在系統下一階段的啟動序列中只會執行受信任軟體。在使用 STM32H7R/S MCU 建構受信任系統時,開發人員可以選擇多種路徑執行安全啟動。既可以使用預先建構的 RoT 韌體,也可以自行控制啟動序列 (圖 2)。
圖 2:STM32H7R/S MCU 可提供多個啟動路徑以簡化開發作業。(圖片來源:STMicroelectronics)
在系統重置後,所有 STM32H7R/S MCU 都會執行儲存在受保護系統快閃記憶體中的受信任根安全服務 (RSS),開始其啟動序列。後續的啟動序列步驟則取決於 MCU 類型和開發人員所選的啟動路徑。在每一個啟動路徑中,STM32H7R/S MCU 都會利用 MCU 的隱藏保護級別 (HDPL) 機制來確保每個啟動級別有短暫的隔離。當啟動序列從一個啟動級別過渡到下一個級別時,HDPL 計數器會遞增,同時與上一個啟動級別相關的資源,會對目前級別保持隱藏狀態。
在整個啟動序列中維持 RoT
在基於 STM32H7R 的生產系統的啟動路徑中,系統重置後會立即執行 RSS。RSS 會執行使用者快閃記憶體中的原始設備製造商 (OEM) 不可變 RoT (iRoT) 韌體。由於 HDPL 會在這一級別遞增,因此 RSS 會對負責下一啟動序列步驟的 OEMiRoT 韌體保持隱藏狀態。如果應用程式被設計為支援可更新的 RoT (uRoT) 韌體,則 OEMiRoT 將從外部記憶體執行 OEMuRoT 韌體。在最後階段的啟動序列中,OEMiRoT (或選配的 OEMuRoT) 韌體將執行應用程式碼。HDPL 機制確保了 RSS、OEMiRoT 和選配的 OEMuRoT 對應用程式保持隱藏狀態。
基於 STM32H7S 的生產系統可配置為遵循類似於 STM32H7R 系統的啟動路徑,讓開發人員完全控制啟動過程。使用 STM32H7S MCU,開發人員還可以選擇一個高度安全的路徑,調用在受保護系統快閃記憶體中預先建構的 STMicroelectronics iRoT (STiRoT) 韌體。
在啟用 STiRoT 的啟動路徑中,位於受保護嵌入式快閃記憶體中的常式 (iLoader) 會將下一個啟動級別的程式碼載入內部 SRAM 中。然後,STiRoT 會檢查程式碼的完整性和真實性,再確認是否允許執行程式碼。對於單級啟動路徑,iLoader 會將應用程式碼載入 SRAM 中。對於兩級啟動路徑,iLoader 會將 OEMuRoT 從外部快閃記憶體載入 SRAM 中。
一旦載入內部 SRAM,STiRoT 即會檢查應用程式碼 (或 OEMuRoT 韌體) 的完整性和真實性,這樣做可以避免在驗證外部記憶體中的程式碼期間遭受攻擊的風險。完成驗證後,OEMuRoT 會在執行應用程式前,再次對應用程式碼執行完整性和真實性檢查。開發人員可以輕鬆地延伸這個兩級啟動路徑,對應用程式碼的更新,甚至是 OEMuRoT 韌體的更新進行驗證 (圖 3)。
圖 3:STM32H7S MCU 透過多步驟流程達成安全更新和安全啟動,旨在確保程式碼在流程中每個步驟的完整性和真實性。(圖片來源:STMicroelectronics)
在生產系統的正常操作期間,STM32H7R/S MCU 中的嵌入式快閃記憶體將處於關閉狀態,在此狀態下佈建 RoT 韌體並執行有效的啟動項。此外,這些 MCU 還提供總共四個 PRODUCT_STATE (產品狀態),旨在支援整個產品生命週期 (圖 4)。
|
圖 4:STM32H7R/S MCU 處於四種產品狀態之一,這些狀態旨在支援整個產品生命週期。(圖片來源:STMicroelectronics)
開發人員可透過以下三種方式控制產品狀態 (PRODUCT_STATE):
- 非揮發性狀態 (NVSTATE):將快閃記憶體設定為開啟或關閉狀態
- OEM 佈建 (OEM_PROVD):定義安全隱藏保護 (HDP) 區域的穩定性,確保在該區域執行的程式碼在啟動後仍保持隱藏
- 偵錯驗證方法 (DBG_AUTH):定義開啟元件偵錯所用的方法
透過這四種狀態,STM32H7R/S MCU 可滿足產品生命週期中每個關鍵階段 (即產品開發、產品製造和現場部署) 的安全要求 (圖 5)。
圖 5:隨著產品從開發和製造階段過渡到現場使用階段,STM32H7R/S MCU 能夠保護嵌入式快閃記憶體中儲存的敏感程式碼和資料,同時在必要時提供經認證過的偵錯存取。(圖片來源:STMicroelectronics)
在實務中,偵錯認證提供一項強大的安全功能,旨在應對產品生命週期支援時所面臨的實際挑戰。對於在關閉狀態下執行的生產系統,開發人員可以藉助驗證協定,允許安全偵錯器在受限的偵錯工作階段中重新開啟存取,而不會影響到 RoT。但在完全的迴歸偵錯中,無法保證程式碼和資料的安全性。
滿足智慧型產品對強化使用者介面的需求
儘管安全性依然最為重要,但智慧型產品越來越依賴於複雜的圖形使用者介面 (GUI)。STM32H7R/S MCU 透過整合式圖形加速器滿足這項要求。這些加速器包括 STM32H7R3/S3 MCU 中的 Chrom-ART 加速器和 STM32H7R7/S7 MCU 中的 NeoChrom 圖形處理單元 (GPU)。雖然 2D Chrom-ART 加速器和 2.5D NeoChrom GPU 均支援多種繪圖和位塊傳輸操作格式,但 NeoChrom GPU 還支援紋理映射操作 (圖 6)。
|
圖 6:STM32H7R3/S3 MCU 中的 Chrom-ART 圖形加速器和 STM32H7R7/S7 MCU 中的 NeoChrom GPU 都針對智慧型產品的 GUI 提供所需的圖形效能和功能。(圖片來源:STMicroelectronics)
針對評估與開發作業,STMicroelectronics 提供用於 STM32H7R3 的 NUCLEO-H7S3L8 STM32 Nucleo-144 開發板,以及用於 STM32H7S7 的 STM32H7S78-DK 探索套件。
Nucleo-144 板專為快速進行原型開發而設計,整合有 ST-LINK 除錯器/編程器,並提供 LED、按鈕和多個板連接器選項。STM32H7S78-DK 探索套件則提供有 Wi-Fi、多個 LED 及按鈕、一個板載 STLINK-V3EC 偵錯器/編程器,和多個板連接器 (包括兩個 USB Type-C® 和一個乙太網路 RJ45 連接器)。
針對軟體開發作業,STMicroelectronics 為其 STM32Cube 生態系統增添 STM32Cube MCU 套件。除了硬體抽象層 (HAL) 模組、電路板支援套件 (BSP) 和低階暫存器級應用程式開發介面 (API) 外,STM32Cube MCU 套件還提供中介軟體組件、連接性堆疊和範例程式碼。針對圖形功能開發作業,該公司則提供 X-CUBE-TOUCHGFX 圖形架構,其中包括:
- TouchGFX Designer 工具,用於圖形應用程式開發和模擬
- TouchGFX Engine 硬體加速型圖形庫
- TouchGFX Generator,即 STM32CubeMX 外掛,允許開發人員設定並產生 TouchGFX Engine 用來存取底層硬體和作業系統的 TouchGFX 抽象層
確保延長電池續航力
在許多應用領域中,降低功耗和延長電池續航力依然是主要設計要件。STMicroelectronics 推出的 STM32U0 系列 MCU,專為滿足眾多基礎工業、醫療、智慧儀表和消費性應用對節能和更長電池續航力的需求而設計。STM32U0 MCU 系列以超低功耗的 56 MHz Arm Cortex-M0+ 處理器為基礎,並分為三種不同的子系列,可讓開發人員根據設計需求選擇最佳的 SRAM、快閃記憶體和周邊裝置配置。
STM32U031 系列提供最精簡的設定,配有 12 KB 的 SRAM,高達 64 KB 的快閃記憶體以及多個計時器、類比周邊裝置和連接性選項 (圖 7)。
圖 7:STM32U0 MCU 系列的三個子系列是在 STM32U031 MCU 子系列的基礎上不斷增添功能。(圖片來源:STMicroelectronics)
STM32U073 子系列擴展 STM32U031 子系列的功能,增加一個整合式 LCD 控制器、多個連接性通道以及類比周邊裝置,同時還提供 40 KB 的 SRAM 及多達 256 KB 的快閃記憶體。STM32U083 子系列則是在這些功能的基礎之上增加先進加密標準 (AES) 硬體加速器。
憑藉高度整合,所有 STM32U0 系列 MCU 都可達超低功率效能。在執行模式下,這些 MCU 在搭載其內部低壓降 (LDO) 穩壓器時,僅會消耗 52 μA/MHz 的電流。
開發人員可從多種低功率模式 (包括三種停止模式) 中進行選擇,最大程度降低電池供電應用的功耗。例如,在功耗最低的停止模式下,STM32U031 MCU 在使用即時時脈 (RTC) 時僅消耗 630 nA;在不使用即時時脈的情況下僅消耗 515 nA。在同一停止模式下,STM32U073 和 STM32U083 MCU 僅需要 825 nA (有 RTC) 或 695 nA (無 RTC)。不過,在 STM32U0 系列的所有三個子系列中,使用 24 MHz 喚醒時脈從此最低功耗模式進入執行模式,在快閃記憶體中只需 12.0 µs,在 SRAM 中只需 7.67 µs。
儘管這些 MCU 設計為在超低功率水平下工作,但受益於其整合式自適應即時 (ART) 記憶體加速器,即使在處理器頻率為 56 MHz 下,也可以在零等待狀態下直接從快閃記憶體執行。
為了支援開發作業,STMicroelectronics 提供基於 STM32U031 的 NUCLEO-U031R8評估板、基於 STM32U083 的 NUCLEO-U083RC 評估板以及基於 STM32U083 的 STM32U083C-DK 探索套件。與 STM32 系列中的其他元件一樣,該公司 STM32Cube 生態系統中的 STM32Cube MCU 套件也可提供 HAL 模組、BSP、低層 API、中介軟體、連接性堆疊和範例程式碼。
提供長距離無線連線
高效率的設計和 Sub-GHz 長距離無線連線,對於智慧型城市、農業、遙控量測、遠端感測和工業系統的物聯網 (IoT) 應用非常重要。其中有許多應用都必須維持可靠的通訊,即使是受到環境來源 (如電網或機械) 的干擾。這表示須建立抗干擾的長距離廣域網路 (LoRaWAN) 連線。
STMicroelectronics 的 STM32WL5MOCH6TR 模組提供一款能夠在歐洲、亞洲、美洲運作的 LoRaWAN 認證解決方案。這種多地區運作能力仰賴於該無線電模組滿足 868 MHz 歐洲標準以及支援更高功率輸出的 915 MHz 北美標準。此外,該模組還支援多種調變機制,其線性頻率範圍從 150 至 960 MHz,能夠滿足全球各種標準,以及 Sigfox、W-MBUS 和 mioty 等自行研發的通訊協定。
STM32WL5MOC 模組採用整合 Arm Cortex-M0+ 和 Arm Cortex-M4 的雙核心架構,將其靈活的無線電收發器、高達 64 KB 的 SRAM 和高達 256 KB 的快閃記憶體,與全套安全子系統、計時器、類比周邊裝置、連接介面、控制功能以及用於其嵌入式切換式電源供應器 (SMPS) 的被動元件相結合。此外,STM32WL5MOCH6STR 版本還整合 STMicroelectronics 的 STSAFE-A100 安全元件 (圖 8)。
圖 8:STM32WL5MOC 模組將其雙核心架構與靈活的無線電、安全性的功能、多個功能區塊和被動元件相結合,為 Sub-GHz 連線提供立即可用的解決方案。(圖片來源:STMicroelectronics)
STM32WL5MOC 模組具有廣泛的整合式功能並已通過 LoRaWAN 認證,可為設計人員提供立即可用的最佳化硬體解決方案,協助完成長距離無線應用。此外,STMicroelectronics 還推出一整套資源來進一步加快開發速度,如 B-WL5M-SUBG1 擴充板。該板整合 STM32WL5MOC 模組、4 Mb 快閃記憶體、256 Kb EEPROM、STMicroelectronics 微機電系統 (MEMS) 感測器以及多個板連接器、LED 和按鈕。作為 STM32Cube 生態系統的一部分,STM32CubeWL MCU 套件可支援 STM32WL 系列電路板進行軟體開發。
結論
消費性、工業、醫療保健和其他應用領域的智慧型產品,往往需要兼顧多方面的需求,如安全性、功耗、連接性和設計複雜性等,而這些需求通常很難由單一的微控制器滿足。STM32 系列 MCU 為設計人員提供廣泛的處理功能選項,可根據不同的設計要求提供最匹配的解決方案。其電路板和軟體可為處理器提供相關支援並簡化開發作業。

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