Hochintegrierte Arm-Cortex-MCUs

Mit Arm-Cortex-Mikrocontrollern Entwicklern das Leben erleichtern

25. Januar 2025, 16:34 Uhr | Andreas Knoll
Rolf Horn ist Applikationsingenieur bei DigiKey.
© DigiKey

Wer intelligente Produkte für komplexe Anwendungen entwickelt, freut sich über MCUs, die als SoCs mit vielen verschiedenen Schnittstellen, Peripheriekomponenten und Sicherheitsfunktionen ausgestattet sind. Bestimmte Hersteller haben solche Bausteine und die zugehörigen Entwicklungs-Tools im Angebot.

Diesen Artikel anhören

Weil intelligente Produkte für Consumer-, Industrie-, Smart-City- und Healthcare-Anwendungen immer höhere Anforderungen stellen, sind Entwicklungsteams mit zunehmenden Schwierigkeiten konfrontiert. Jede Anwendung stellt ihre eigenen Ansprüche an Performance, Sicherheit, niedrigen Stromverbrauch, drahtlose Verbindungen mit großer Reichweite und Kosten. Allzu oft müssen bei diesen Anforderungen Kompromisse eingegangen werden, weil die Anwendung und die Fähigkeiten der verfügbaren Mikrocontroller nicht zusammenpassen.

Es gibt allerdings Prozessorlösungen, die geeignete Kombinationen aus Performance, Akkulaufzeit, Sicherheit und drahtloser Vernetzung bieten, die für den Erfolg des Designs in einer Vielzahl von Anwendungen entscheidend sind. Einer der Anbieter solcher Lösungen ist STMicroelectronics.

passend zum Thema

Abbildung 1: Die Bootflash-MCUs STM32H7R/S vereinen einen leistungsstarken Arm-Cortex-M7 mit einem vollständigen Satz an Peripheriekomponenten, Funktionsblöcken und speziellen Funktionen.
Abbildung 1: Die Bootflash-MCUs STM32H7R/S vereinen einen leistungsstarken Arm-Cortex-M7 mit einem vollständigen Satz an Peripheriekomponenten, Funktionsblöcken und speziellen Funktionen, die für die Entwicklung sicherer intelligenter Produkte erforderlich sind.
© STMicroelectronics

Erfüllung strenger Sicherheitsanforderungen

Die Bootflash-Mikrocontroller STM32H7R/S von STMicroelectronics (Abbildung 1) bieten die für viele intelligente Produkte in Industrie-, Consumer-Elektronik-, Smart-City- und Healthcare-Anwendungen erforderliche hohe Performance, Grafik und Sicherheit sowie eine reduzierte BOM (Bill of Materials). Die MCUs (Microcontroller Units) beruhen auf einem Arm-Cortex-M7-Prozessor für 600 MHz und einer doppelt genauen FPU (Floating-Point Unit) und verfügen über integrierte Grafikfunktionen, Sicherheits-Subsysteme sowie eine umfassende Palette von Peripheriekomponenten und Schnittstellen.

Neben dem L1-Cache der Prozessoren, der 32 KB Instruktions-Cache und 32 KB Daten-Cache umfasst, verfügen die MCUs über 620 KB SRAM, 64 KB Embedded-Flash und mehrere Schnittstellen für den High-Speed-Zugriff auf externe Speicher. Die Kombination aus SRAM, Embedded-Flash und externem Speicherzugriff mit Execute-in-Place-Fähigkeit (XiP) ermöglicht ein hohes Maß an Flexibilität bei der Implementierung leistungsstarker und sicherer Embedded-Systeme.

Um die Sicherheit von Anwendungen zu gewährleisten, die im externen Speicher laufen, sind in die STM32H7S-MCUs drei Memory Cipher Engines (MCE) integriert, die eine sofortige Ver- und Entschlüsselung auf externen nichtflüchtigen oder flüchtigen Speichern durchführen, mit programmierter Zugriffskontrolle auf bis zu vier verschiedene Regionen für jede MCE. In Kombination mit zusätzlichen hardwarebasierten Sicherheitsfunktionen, einschließlich differenzieller Leistungsanalyse und Schutz vor Seitenkanalangriffen, sind die STM32H7S-MCUs nach SESIP und PSA Assurance Level 3 zertifiziert.

Um die zuverlässige Ausführung zeitkritischer Aufgaben wie Interrupt-Service-Routinen sicherzustellen, wird ein Teil des SRAM auf die TCM-Schnittstelle (Tightly-Coupled-Memory) des Mikrocontrollers abgebildet, die einen Zero-Wait-State-Speicher für kritische Anweisungen und Daten bereitstellt. Um die Systemintegrität zu gewährleisten, kombiniert der Baustein mehrere Sicherheitsfunktionen mit dem Embedded-Flash, um einen sicheren Start und eine Integritätsprüfung der Anwendung zu ermöglichen und so eine Root of Trust (RoT) für System- und Anwendungs-Software zu schaffen, die im On-Chip- oder Off-Chip-Speicher läuft. In Verbindung mit geeigneten hardwarebasierten Schutzmechanismen bietet Embedded-Flash für die Speicherung des Trusted Bootloaders erhebliche Flexibilitätsvorteile verglichen mit ROM in herkömmlichen MCUs.

Abbildung 2: Die STM32H7R/S-MCUs bieten mehrere Boot-Pfade, die die Entwicklung vereinfachen.
Abbildung 2: Die STM32H7R/S-MCUs bieten mehrere Boot-Pfade, die die Entwicklung vereinfachen.
© STMicroelectronics

Mehrere Wege zum sicheren Start

Um die für die Systemsicherheit unerlässliche RoT zu gewährleisten, stützt sich das sichere Booten auf unveränderlichen Trusted Code, der immer sofort nach dem Zurücksetzen des Systems ausgeführt wird. Dieser Code stellt sicher, dass in der nächsten Phase der Systemstartsequenz nur vertrauenswürdige Software ausgeführt wird. Mit den STM32H7R/S-MCUs stehen beim Aufbau von Trusted Systems mehrere Wege zum sicheren Booten zur Verfügung. Entwicklungsteams können vorgefertigte RoT-Firmware verwenden oder die Boot-Sequenz selbst steuern (Abbildung 2).

Nach einem System-Reset beginnen alle STM32H7R/S-MCUs mit der Boot-Sequenz, indem sie die vertrauenswürdigen Root Secure Services (RSS) ausführen, die sich im geschützten System-Flash-Speicher befinden. Die weiteren Schritte in der Boot-Sequenz hängen vom MCU-Typ und von der Wahl des Boot-Pfads ab. Bei jedem Boot-Pfad verwenden die STM32H7R/S-MCUs ihren HDPL-Mechanismus (Hide-Protection-Level), um die zeitliche Isolierung der einzelnen Boot-Ebenen zu gewährleisten. Wenn die Boot-Sequenz von einer Boot-Ebene zur nächsten übergeht, erhöht sich der HDPL-Zähler, und die mit der vorherigen Boot-Ebene verbundenen Ressourcen werden vor der aktuellen Ebene verborgen.

Aufrechterhaltung von RoT während der gesamten Boot-Sequenz

Im Boot-Pfad für STM32H7R-basierte Produktionssysteme wird RSS sofort nach dem Zurücksetzen des Systems ausgeführt. RSS führt die unveränderliche RoT-Firmware (iRoT) des OEM aus, die sich im User-Flash-Speicher befindet. Weil die HDPL auf dieser nächsten Ebene inkrementiert wird, bleibt RSS für die OEMiRoT-Firmware verborgen, die den nächsten Schritt in der Boot-Sequenz übernimmt. Wenn die Anwendung so konzipiert ist, dass sie aktualisierbare RoT-Firmware (uRoT) unterstützt, führt der OEMiRoT die OEMuRoT-Firmware aus dem externen Speicher aus. In der letzten Phase der Boot-Sequenz führt die OEMiRoT- (oder optionale OEMuRoT-) Firmware den Anwendungscode aus. Der HDPL sorgt dafür, dass RSS, der OEMiRoT und der optionale OEMuRoT für die Anwendung unsichtbar sind.

STM32H7S-basierte Produktionssysteme sind so konfigurierbar, dass sie einem Boot-Pfad folgen, der dem von STM32H7R-Systemen ähnelt, wobei die vollständige Kontrolle über den Boot-Prozess dem Entwicklungsteam überlassen wird. Bei STM32H7S-MCUs lässt sich auch ein hochsicherer Pfad wählen, der die vorgefertigte iRoT-Firmware von STMicroelectronics (STiRoT) im geschützten System-Flash-Speicher aufruft.

Abbildung 3: STM32H7S-MCUs ermöglichen sicheres Update und sicheres Booten durch einen mehrstufigen Prozess, der die Integrität und Authentizität des Codes in jedem Schritt des Prozesses gewährleistet.
Abbildung 3: STM32H7S-MCUs ermöglichen sicheres Update und sicheres Booten durch einen mehrstufigen Prozess, der die Integrität und Authentizität des Codes in jedem Schritt des Prozesses gewährleistet.
© STMicroelectronics

Im STiRoT-aktivierten Boot-Pfad lädt eine Routine (iLoader), die sich im geschützten Embedded-Flash befindet, den Code für die nächste Bootebene in das interne SRAM. STiRoT prüft dann die Integrität und Authentizität dieses Codes, bevor er zur Ausführung freigegeben wird. Bei einstufigen Boot-Pfaden lädt der iLoader den Anwendungscode in das SRAM. Bei zweistufigen Boot-Pfaden lädt iLoader OEMuRoT aus dem externen Flash in das SRAM.

Sobald sich der Anwendungscode (oder die OEMuRoT-Firmware) im internen SRAM befindet, wird er/sie auf Integrität und Authentizität geprüft, ohne dass die Gefahr eines Angriffs bei der Überprüfung von Code im externen Speicher besteht. Nach der Validierung führt der OEMuRoT die Integritäts- und Authentizitätsprüfung des Anwendungscodes durch, bevor die Anwendung ausgeführt wird. Dieser zweistufige Boot-Pfad lässt sich leicht erweitern, um Updates des Anwendungscodes oder sogar der OEMuRoT-Firmware zu validieren (Abbildung 3).

Abbildung 4: STM32H7R/S-MCUs arbeiten in einem von vier PRODUCT_STATEs, die den gesamten Produktlebenszyklus unterstützen.
Abbildung 4: STM32H7R/S-MCUs arbeiten in einem von vier PRODUCT_STATEs, die den gesamten Produktlebenszyklus unterstützen.
© STMicroelectronics

Während des normalen Betriebs in Produktionssystemen befindet sich der Embedded-Flash von STM32H7R/S-MCUs in einem geschlossenen Zustand, in dem die RoT-Firmware bereitgestellt und ein gültiger Booteintrag erzwungen wird. Die MCUs bieten zusätzlich insgesamt vier PRODUCT_STATEs, die den gesamten Produktlebenszyklus unterstützen (Abbildung 4).

Der PRODUCT_STATE lässt sich auf drei Arten steuern:

• NVSTATE - Versetzt den Flash-Speicher in einen offenen oder geschlossenen Zustand.

• OEM_PROVD - Definiert die Stabilität des sicheren Hide-Protection-Bereichs (HDP), der sicherstellt, dass der in diesem Bereich ausgeführte Code nach dem Booten verborgen bleibt.

• DBG_AUTH - Definiert die Methode zum Öffnen des Geräte-Debugmodus.

Mit diesen vier Zuständen unterstützen die STM32H7R/S-MCUs die Sicherheitsanforderungen jeder kritischen Phase des Produktlebenszyklus: Produktentwicklung, Produktherstellung und Feldeinsatz (Abbildung 5).

Abbildung 5: Wenn ein Produkt von der Entwicklung und Fertigung in die Praxis übergeht, können STM32H7R/S-MCUs sensiblen Code und Daten im Embedded-Flash schützen und bei Bedarf authentifizierten Debug-Zugriff bieten.
Abbildung 5: Wenn ein Produkt von der Entwicklung und Fertigung in die Praxis übergeht, können STM32H7R/S-MCUs sensiblen Code und Daten im Embedded-Flash schützen und bei Bedarf authentifizierten Debug-Zugriff bieten.
© STMicroelectronics

In der Praxis bietet die Debug-Authentifizierung eine leistungsstarke Sicherheitsfunktion, die für die praktischen Herausforderungen des Produktlebenszyklus-Supports entwickelt ist. Für Produktionssysteme, die im geschlossenen Zustand betrieben werden, lässt sich ein Authentifizierungsprotokoll verwenden, das es einem sicheren Debugger ermöglicht, den Zugriff wieder zu öffnen, ohne die RoT in einer eingeschränkten Debug-Sitzung zu gefährden. Beim vollständigen Regressions-Debugging ist die Code- und Datensicherheit nicht gewährleistet.

Erfüllung des Bedarfs an verbesserten Benutzerschnittstellen für intelligente Produkte

Obwohl die Sicherheit nach wie vor an erster Stelle steht, sind intelligente Produkte auf immer ausgefeiltere grafische Benutzeroberflächen (GUI) angewiesen. STM32H7R/S-MCUs kommen dem durch integrierte Grafikbeschleuniger entgegen. Dazu gehören der Chrom-ART-Beschleuniger (Adaptive Real-Time) in STM32H7R3/S3-MCUs und die NeoChrom-GPU (Graphics Processing Unit) in STM32H7R7/S7-MCUs. Während der 2D-Chrom-ART-Beschleuniger und die 2,5D-NeoChrom-GPU mehrere Formate mit Zeichen- und Blitting-Operationen unterstützen, unterstützt die NeoChrom-GPU die für das Texture-Mapping erforderlichen Operationen (Abbildung 6).

Abbildung 6: Der Chrom-ART-Grafikbeschleuniger in den STM32H7R3/S3-MCUs und die NeoChrom-GPU in den STM32H7R7/S7-MCUs bieten die Grafikleistung und -funktionalität, die in GUIs für intelligente Produkte erforderlich sind.
Abbildung 6: Der Chrom-ART-Grafikbeschleuniger in den STM32H7R3/S3-MCUs und die NeoChrom-GPU in den STM32H7R7/S7-MCUs bieten die Grafikleistung und -funktionalität, die in GUIs für intelligente Produkte erforderlich sind.
© STMicroelectronics

Für die Evaluierung und Entwicklung bietet STMicroelectronics sein STM32-Nucleo-144-Entwicklungsboard NUCLEO-H7S3L8 für den STM32H7R3 und das Discovery-Kit STM32H7S78-DK für den STM32H7S7 an.

Das Nucleo-144-Board wurde für die schnelle Entwicklung von Prototypen entwickelt und verfügt über einen integrierten ST-LINK-Debugger/Programmierer sowie LEDs, Drucktasten und mehrere Anschlussmöglichkeiten. Das Discovery-Kit STM32H7S78-DK bietet WLAN, mehrere LEDs und Drucktasten, einen integrierten STLINK-V3EC-Debugger/Programmer und mehrere Anschlüsse auf der Platine, darunter zwei für USB-Typ-C und einen RJ45-Anschluss für Ethernet.

Für die Softwareentwicklung bietet STMicroelectronics sein MCU-Package STM32Cube als Teil des STM32Cube-Ecosystems an. Neben HAL-Modulen (Hardware Abstraction Layer), BSPs (Board Support Packages) und APIs (Application Programming Interfaces) auf niedriger Registerebene bietet das MCU-Package STM32Cube Middleware-Komponenten, Netzwerk-Stacks und Beispielcode. Für die grafische Entwicklung bietet das Unternehmen das Grafikframework X-CUBE-TOUCHGFX an, das Folgendes umfasst:

• das Entwicklungstool TouchGFX für die Entwicklung und Simulation von Grafikanwendungen,

• die hardwarebeschleunigte Grafikbibliothek TouchGFX Engine,

• den TouchGFX Generator, ein STM32CubeMX-Plugin, mit dem die TouchGFX-Abstraktionsschicht konfiguriert und generiert werden kann, die von der TouchGFX-Engine für den Zugriff auf die zugrunde liegende Hardware und das Betriebssystem verwendet wird.

Gewährleistung einer längeren Lebensdauer der Batterien

Minimaler Stromverbrauch und maximale Batterielebensdauer sind in vielen Anwendungsbereichen nach wie vor wichtige Faktoren für die Entwicklung. Die MCUs der Serie STM32U0 von STMicroelectronics wurden entwickelt, um Energieeinsparungen und eine längere Batterielebensdauer zu ermöglichen, die in vielen grundlegenden industriellen, medizinischen, Smart-Meter- und Consumer-Anwendungen erforderlich sind. Die MCU-Serie STM32U0 beruht auf einem stromsparenden 56-MHz-Arm-Cortex-M0+-Prozessor und umfasst drei verschiedene Familien, die es ermöglichen, die optimale Konfiguration von SRAM, Flash und Peripheriekomponenten für jedes Design zu wählen.

Abbildung 7: Die drei Familien der MCU-Serie STM32U0 bauen auf einer wachsenden Anzahl von Funktionen der Familie STM32U031 auf.
Abbildung 7: Die drei Familien der MCU-Serie STM32U0 bauen auf einer wachsenden Anzahl von Funktionen der Familie STM32U031 auf.
© STMicroelectronics

Die Familie STM32U031 bietet die kompakteste Konfiguration mit 12 KB SRAM, bis zu 64 KB Flash-Speicher, mehreren Timern, analoger Peripherie und Vernetzungsoptionen (Abbildung 7). Die Familie STM32U073 erweitert die Funktionen der Familie STM32U031 um einen integrierten LCD-Controller, zusätzliche Verbindungskanäle und analoge Peripheriekomponenten und bietet zugleich 40 KB SRAM und bis zu 256 KB Flash-Speicher. Die Familie STM32U083 baut auf diesen Eigenschaften auf, indem sie einen Hardware-Beschleuniger mit AES (Advanced Encryption Standard) hinzufügt.

Neben der hohen Integration erreichen alle MCUs der STM32U0-Serie einen extrem niedrigen Stromverbrauch. Im Betriebsmodus verbrauchen sie nur 52 μA/MHz, während sie mit einem internen Low-Dropout-Regler (LDO) arbeiten.

Um den Stromverbrauch in batteriebetriebenen Anwendungen zu minimieren, kann aus mehreren Stromsparmodi gewählt werden, darunter drei Stoppmodi. Im Stoppmodus mit dem niedrigsten Stromverbrauch verbrauchen die STM32U031-MCUs beispielsweise nur 630 nA mit Real-Time Clock (RTC) oder 515 nA ohne RTC. Im gleichen Stoppmodus benötigen die MCUs STM32U073 und STM32U083 nur 825 nA mit RTC bzw. 695 nA ohne RTC. Nichtsdestotrotz können alle drei Familien der STM32U0-Serie, die mit einem 24-MHz-Wake-up-Takt laufen, aus diesem Betriebsmodus mit dem niedrigsten Stromverbrauch in nur 12,0 µs im Flash und 7,67 µs im SRAM den Betriebsmodus erreichen.

Trotz ihres Ultra-Low-Power-Betriebs und dank ihres integrierten adaptiven Echtzeit-Speicherbeschleunigers (ART) erreichen die MCUs eine Performance, die einer Zero-Wait-State-Ausführung aus dem Flash bei einer Prozessorfrequenz von 56 MHz entspricht.

Zur Entwicklungsunterstützung bietet STMicroelectronics das STM32U031-basierte Evaluierungsboard NUCLEO-U031R8, das STM32U083-basierte Evaluierungsboard NUCLEO-U083RC und das STM32U083-basierte Discovery-Kit STM32U083C-DK an. Wie bei anderen MCUs der STM32-Familie bietet das MCU-Paket STM32Cube für das STM32Cube-Ecosystem des Unternehmens HAL-Module, BSPs, Low-Layer-APIs, Middleware, Netzwerk-Stacks und Beispielcode.

Drahtlose Vernetzung mit großer Reichweite

Effiziente Designs mit drahtlosen Verbindungen großer Reichweite im Sub-Gigahertz-Bereich (GHz) sind für IoT-Anwendungen in Smart Cities, in der Landwirtschaft, bei der Fernmessung, bei der Fernerkundung und bei industriellen Systemen unerlässlich. Viele dieser Anwendungen müssen trotz Störungen aus der Umgebung, etwa durch das Stromnetz oder Maschinen, eine zuverlässige Kommunikation aufrechterhalten. Dies legt den Einsatz störungsresistenter LoRaWAN-Verbindungen nahe.

Das Modul STM32WL5MOCH6TR von STMicroelectronics bietet eine LoRaWAN-zertifizierte Lösung für den Betrieb in Europa, Asien und Amerika. Diese multiregionale Betriebsfähigkeit liegt in der Unterstützung des Funkmoduls für die europäischen 868-MHz-Standards und die nordamerikanischen 915-MHz-Standards mit höherer Ausgangsleistung. Die Unterstützung mehrerer Modulationsverfahren und der lineare Frequenzbereich von 150 bis 960 MHz ermöglichen den weltweiten Einsatz des Moduls mit verschiedenen standardisierten und proprietären Kommunikationsprotokollen wie Sigfox, W-MBUS und Mioty.

Basierend auf einer Dual-Core-Architektur, die einen Arm-Cortex-M0+ und einen Arm-Cortex-M4 kombiniert, verbindet das STM32WL5MOC-Modul seinen flexiblen Funk-Transceiver, bis zu 64 KB SRAM und bis zu 256 KB Flash-Speicher mit einem umfassenden Sicherheits-Subsystem, Timern, analoger Peripherie, Verbindungsschnittstellen, Steuerungsfunktionen und passiven Komponenten für sein integriertes Schaltnetzteil (SMPS, Switch Mode Power Supply). Darüber hinaus ist das sichere Element STSAFE-A100 von STMicroelectronics in der Variante STM32WL5MOCH6STR enthalten (Abbildung 8).

Abbildung 8: Das Modul STM32WL5MOC bietet eine Drop-in-Lösung für Sub-GHz-Vernetzung und kombiniert seine Dual-Core-Architektur mit einem flexiblen Funkgerät, Sicherheitsfunktionen, mehreren Funktionsblöcken und passiven Komponenten.
Abbildung 8: Das Modul STM32WL5MOC bietet eine Drop-in-Lösung für Sub-GHz-Vernetzung und kombiniert seine Dual-Core-Architektur mit einem flexiblen Funkgerät, Sicherheitsfunktionen, mehreren Funktionsblöcken und passiven Komponenten.
© STMicroelectronics

Die umfangreichen integrierten Funktionen des Moduls STM32WL5MOC und die LoRaWAN-Zertifizierung bieten eine optimierte Drop-in-Hardwarelösung für drahtlose Anwendungen mit großer Reichweite. STMicroelectronics beschleunigt die Entwicklung mit einem umfassenden Satz von Ressourcen, darunter die Erweiterungsplatine B-WL5M-SUBG1, die ein STM32WL5MOC-Modul, einen 4-MB-Flash-Speicher, einen 256-kB-EEPROM, STMicroelectronics-Sensoren für MEMS, mehrere Platinenanschlüsse, LEDs und Drucktasten kombiniert. Für die Softwareentwicklung bietet STMicroelectronics sein MCU-Package STM32Cube als Teil des STM32Cube-Ecosystems an.

Fazit

Intelligente Produkte für Verbraucher, Industrie, Gesundheitswesen und andere Anwendungen haben ein Maß an Sicherheit, Stromverbrauch, Vernetzung und Designkomplexität, das nur selten den Fähigkeiten eines einzelnen Mikrocontrollers entspricht. Die MCUs der STM32-Serie bieten Entwicklern eine große Auswahl an Processing-Optionen, die eine Anpassung an unterschiedliche Designanforderungen ermöglichen. Boards und Software unterstützen die Prozessoren und vereinfachen die Entwicklung.

Der Autor: Rolf Horn ist Applikationsingenieur bei DigiKey.

DigiKey auf der Messe embedded world 2025: Halle 4A, Stand 633


Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Digi-Key Corporation

Weitere Artikel zu Mikrocontroller

Weitere Artikel zu Embedded

Weitere Artikel zu Mikrocontroller-Module

Weitere Artikel zu SBCs / CPU-Boards / CoM / SoM

Weitere Artikel zu Industrie-Computer / Embedded PC