Mikrocontroller Skalierbare Mikrocontroller für mehr Designflexibilität

Von Rolf Horn* 6 min Lesedauer

Anbieter zum Thema

Immer mehr Mikrocontroller integrieren werksseitig Funktionen der künstlichen Intelligenz und komplexe, grafikreiche Mensch-Maschine-Schnittstellen, was sie teuer macht. Doch nicht jeder Entwickler benötigt diese hochentwickelten Funktionen und sucht nach preiswerteren Alternativen.

Nucleo-Entwicklungsboard: es ist ein einfacher, aber flexibler Ausgangspunkt für verschiedenste Experimente.(Bild:  STMicroelectronics)
Nucleo-Entwicklungsboard: es ist ein einfacher, aber flexibler Ausgangspunkt für verschiedenste Experimente.
(Bild: STMicroelectronics)

Der Konkurrenzdruck macht es für Unternehmen zwingend erforderlich, eine MCU zu wählen, die sich problemlos an unterschiedliche Marktanforderungen anpassen lässt. Denn Anwendungsanforderungen können sich unerwartet ändern, so dass es wichtig ist, einfachen Zugang zu alternativen MCUs zu haben. Auch Zukunftssicherheit und Wiederverwendung müssen berücksichtigt werden. Erhebliche Zeit- und Kosteneinsparungen können erzielt werden, wenn Designelemente für andere Projekte wiederverwendet werden können.

Eine Möglichkeit, diesen Herausforderungen zu begegnen, ist die Wahl einer MCU-Familie mit einer breiten Palette von Optionen. Der STM32H7 von STMicroelectronics ist ein gutes Beispiel dafür. Die Palette reicht von preisoptimierten 32-Bit-MCUs der Einstiegsklasse bis zu Dual-Core-MCUs mit umfangreichen Funktionen. Dieser Artikel beleuchtet am Beispiel der STM32H7-Familie Kriterien, die bei der Auswahl einer MCU-Familie zu beachten sind. Außerdem werden die für die MCUs STM32H7 verfügbaren Entwicklungsboards und -tools vorgestellt und es wird erklärt, wie man mit dieser Infrastruktur Projekte in Angriff nimmt.

Bildergalerie

Faktoren, die eine MCU-Familie flexibel und skalierbar machen

Bei der Suche nach einer flexiblen MCU-Familie müssen viele Faktoren berücksichtigt werden. Es ist besonders wichtig, dass es eine breite Palette von Performance- und Energieoptionen gibt. Die bevorzugte MCU-Familie sollte Optionen mit einem breiten Spek-trum an Taktfrequenzen und Kernen umfassen, die für verschiedene Ziele optimiert sind. Beispiele sind der Arm-Cortex-M4 für geringen Stromverbrauch und der Arm-Cortex-M7 für hohe Performance.

Die MCU-Familie sollte MCUs mit grundlegenden Verarbeitungsfunktionen und Optionen mit erweiterten Funktionen umfassen. Viele Anwendungen erfordern Datenschutz und sichere Kommunikation. Funktionen wie hardwarebasierende Verschlüsselung, sicheres Booten und kryptografische Beschleuniger sind für diese Anwendungsfälle unerlässlich. In ähnlicher Weise sind ein digitaler Signalprozessor (DSP) und Gleitkomma-Anweisungen für datenintensive Anwendungen von entscheidender Bedeutung.

Die MCU-Familie sollte auch eine breite Palette von RAM- und Flash-Speichergrößen bieten, um alles abdecken zu können, von einfachen Anwendungen bis hin zu solchen, die umfangreiche Software-Frameworks oder Datenspeicherung erfordern. Die MCUs sollten über externe Speicherschnittstellen für Anwendungen verfügen, die die internen Speicherkapazitäten übersteigen, um die notwendige Skalierbarkeit zu gewährleisten.

Schließlich können MCU-Familien mit mehr Peripherieoptionen eine breitere Palette von Anwendungen abdecken. Es ist wichtig sicherzustellen, dass die MCU-Familie Optionen mit erweiterten I/O-Optionen wie USB, Ethernet, Bluetooth und Wi-Fi umfasst, da es schwierig sein kann, diese Schnittstellen als Upgrades in späteren Designs hinzuzufügen. Im Idealfall bietet die ausgewählte Produktfamilie Pin-Kompatibilität über die gesamte Produktpalette hinweg, um Hardware-Upgrades oder Down-grades ohne größere Umgestaltungen der Leiterplatten zu ermöglichen.

Die Entwicklungstools sollten die gesamte MCU-Familie aus Software-Sicht unterstützen. Um die Entwicklung zu beschleunigen, sollte es eine einheitliche Software-Programmierschnittstelle (API) und einen robusten Satz von Bibliotheken, Middleware und ein Echtzeitbetriebssystem (RTOS) geben.

MCU-Serie STM32H7: eine Fallstudie zur Vielseitigkeit

Die Serie STM32H7 von STMicroelectronics ist ein Beispiel für eine MCU-Familie, die diese Kriterien erfüllt. Die MCU-Serie STM32H7 ist sie hochgradig skalierbar, mit einer Palette, die auf dem Arm-Cortex-M7 basiert und sowohl einfache als auch komplexere MCUs umfasst. Die Serie besteht aus vier Produktlinien, die jeweils für unterschiedliche Anwendungen optimiert sind.

Die Value-Produktlinie ist mit Geschwindigkeiten von 280 bis 550 Megahertz erhältlich und verfügt über 128 Kilobyte integrierten Flash-Speicher und 1 Megabyte RAM. Sie unterstützt eine Vielzahl von Kommunikationsschnittstellen und externen Speichererweiterungen und ist damit eine kostengünstige Lösung für leistungsorientierte Systeme. Der STM32H750VBT6 ist eine solche MCU, die in einem 14 mm x 14 mm großen 100-LQFP untergebracht ist.

Die Produktlinie mit einem Kern läuft ebenfalls mit Geschwindigkeiten von 280 bis 550 MHz. Sie bietet bis zu 2-MByte-Flash-Speicher und bis zu 1 MByte RAM und eignet sich für Anwendungen, die umfangreiche Benutzeroberflächen und Echtzeitsteuerung erfordern. Ein Beispiel ist der STM32H743IIK6, der in einem 10 mm x 10 mm großen 201-UFBGA-Gehäuse untergebracht ist.

Die zweikernige Produktlinie bietet einen zweiten Arm-Cortex-M4-Kern, der auf Effizienz optimiert ist. Ein eingebettetes Schaltnetzteil (SMPS) verbessert die Leistungseffizienz. Weitere moderne Peripheriekomponenten sind TFT-LCD, MIPI-DSI und ein Hardware-JPEG-Codec. Ein typisches Beispiel ist der STM32H747AII6, der in einem 7 x 7 mm großen 169-UFBGA-Gehäuse geliefert wird.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Die BootFlash-Produktlinie zeichnet sich durch ihre hohe Performance aus und erreicht Geschwindigkeiten von bis zu 600 MHz. Sie wurde entwickelt, um Echtzeit-Execute-in-Place-Anwendungen (XiP) zu ermöglichen und ist mit 64-KByte-Boot-Flash und 620-KByte-RAM ausgestattet. Darüber hinaus verfügen einige Modelle dieser Reihe über einen optionalen NeoChrom-Grafikprozessor für verbesserte Grafikbeschleunigung. Typisch für diese Produktlinie ist der STM32H7R3Z8J6 mit seinem 10 mm x 10 mm großen 144-UFBGA-Gehäuse.

Die Vorteile der Kompatibilität mit den Familien STM32F4 und STM32F7

Der STM32H7 gehört zu einer umfangreicheren MCU-Serie von STMicroelectronics und ist in den gängigsten Gehäusen Pin-kompatibel mit seinen Geschwistern STM32F4 und STM32F7. Diese MCUs basieren alle auf Arm-Cortex-M-Kernen und haben ähnliche Peripheriekomponenten und GPIO-Pin-Layouts. Die Gemeinsamkeiten erleichtern die Migration zwischen den MCUs ohne wesentliche Änderungen an ihrer Hardware. Diese Kompatibilität kann die Entwicklungszeit und -kosten bei der Aufrüstung eines Produkts oder der Entwicklung neuer Produkte auf der Grundlage der unterschiedlichen Fähigkeiten der einzelnen Produktfamilien reduzieren.

Darüber hinaus werden alle MCUs von demselben Software-Entwicklungssystem unterstützt, einschließlich des STM32CubeMX für die Konfiguration und Initialisierungscode-Generierung und des STM32CubeIDE für Entwicklung und Debugging. Diese Kompatibilität stellt sicher, dass Softwarekomponenten, Middleware und Anwendungscode in Projekten, die auf eine der beiden Familien ausgerichtet sind, wiederverwendet werden können, was die Entwicklungszyklen weiter beschleunigt.

Erste Schritte mit Mikrocontroller der Serie STM32H7

Der Einstieg in die Arbeit mit STM32H7-MCUs erfordert einige wichtige Maßnahmen und den Einsatz von Entwicklungsboards und Tools. Die folgende Schritt-für-Schritt-Anleitung zeigt, wie Nutzer mit der Entwicklung dieser leistungsstarken Mikrocontroller beginnen können.

1. Wahl eines Entwicklungsboards: Die Discovery-Kits sind ideal für die erste Erkundung und verfügen über einen integrierten Debugger/Programmierer und in der Regel über verschiedene integrierte Benutzer-LEDs, Tasten, Sensoren und Anschlussmöglichkeiten. Nucleo-Boards, wie z. B. das NUCLEO-F767ZI (Bild 1), bieten ein gutes Gleichgewicht zwischen Flexibilität und Erschwinglichkeit. Sie sind Arduino-Uno-kompatibel und verfügen über eine STLINK-Schnittstelle für die Verwendung mit Debuggern/Programmierern.

Evaluierungsboards bieten die umfangreichste Auswahl an Peripheriekomponenten und Anschlussmöglichkeiten für die Erkundung aller Funktionen. Discovery-Kits wie das STM32H745I-DISCO und das STM32H750B-DK ermöglichen beispielsweise die schnelle Evaluierung verschiedener Schnittstellen mit Funktionen wie 4,3 Zoll (in.) RGB-LCD mit Touchpanel, Ethernet IEEE-802.3-2002, Power-over-Ethernet (PoE), USB-OTG-FS, SAI-Audio-Codec, digitales ST-MEMS- Mikrofon, Kompatibilität mit Arduino-Shields und etliches mehr.

2. Software-Einrichtung: STMicroelectronics bietet eine integrierte Entwicklungsumgebung (IDE) für seine MCUs mit Compiler, Debugger und einen Konfigurator für die Erzeugung von Initialisierungscode und die Einrichtung von Peripheriegeräten.

3. Lernen und experimentieren: Ein guter Ausgangspunkt ist das Benutzerhandbuch für das Entwicklungs-board und das entsprechende STM32H7-Referenzhandbuch. Diese Dokumente enthalten wichtige Informationen über MCU-Architekturen, Peripheriekonfiguration, Pin-Mux und Hardware-Eigenschaften.

Das Experimentieren mit Beispielprojekten ist ein effektiver Weg, die Tools zu erlernen. STMicroelectronics bietet eine Reihe von Beispielprojekten für verschiedene STM32-MCUs an. Diese Beispiele sind ein guter Ausgangspunkt, um zu verstehen, wie die verschiedenen MCU-Funktionen genutzt werden können.

Und schließlich kann die Entwicklergemeinschaft zusätzliche Unterstützung bieten. Die Nutzung von Ressourcen wie der ST-Community, Tutorials und Videos kann Lösungen für häufige Probleme und Anregungen für mögliche Projekte liefern.

4. Entwicklung und Fehlersuche: Die IDE bietet alles Erforderliche zum Schreiben, Kompilieren und Debuggen von Code. Der Konfigurator innerhalb der IDE kann für die Initialisierung der Peripheriekomponenten und die Einrichtung der Middleware genutzt werden. Die integrierte STLINK-Debugger/Programmierschnittstelle des Entwicklungsboards ermöglicht das Debugging in Echtzeit. Probleme können mit Hilfe von Haltepunkten, der Beobachtung von Variablen und dem schrittweisen Durchlaufen von Code identifiziert werden.

5. Erweiterung eines Projekts: Erweiterungsplatinen können Discovery- und Nucleo-Platinen um Funktionen wie Vernetzung oder Sensoren ergänzen. Sobald die gewünschte Funktionalität mit Hilfe von Entwicklungsplatinen festgelegt wurde, kann ein maßgeschneidertes Board entworfen werden, wobei die Schaltpläne der Entwicklungsplatine als Referenz dienen. Ein Beispiel für ein maßgeschneidertes Board ist die Kameraplattform OpenMV4 CAM H7 (Bild 2) von Seeed Technology. Sie verwendet die Single-Core-MCU STM32H743. Ein weiteres Beispiel ist das Nicla Vision ABX00051 (Bild 3) von Arduino, das die Dual-Core-MCU STM32H747 verwendet.

STM32H7-Serie: eine flexible Lösung für künftige Anwendungen

Die richtige Auswahl der MCU für ein Produktdesign ist von entscheidender Bedeutung. Die STM32H7-Serie von STMicroelectronics ist ein überzeugendes Beispiel dafür, wie die Wahl der passenden MCU-Familie eine skalierbare, flexible Lösung bieten kann, die aktuellen und zukünftigen Anforderungen gerecht wird. (mk)

* Rolf Horn ist Applikationsingenieur bei DigiKey.

(ID:50177080)