Skalierbare Mikrocontroller für mehr Designflexibilität

Von Kenton Williston

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey

Da hochentwickelte Funktionen wie Künstliche Intelligenz (KI) und komplexe, grafikreiche Mensch-Maschine-Schnittstellen (HMIs) in Anwendungen immer häufiger anzutreffen sind, suchen Entwicklungsteams nach leistungsfähigeren Mikrocontroller-Einheiten (MCUs). Die Entwicklungsteams sind jedoch auch aufgefordert, kostenoptimierte Produkte zu entwerfen, die auf diese auffälligen Merkmale verzichten. Dieser Konkurrenzdruck macht es zwingend erforderlich, eine MCU zu wählen, die sich problemlos an unterschiedliche Marktanforderungen anpassen lässt.

Das zunehmende Innovationstempo verstärkt diesen Druck noch. Anwendungsanforderungen können sich unerwartet ändern, so dass es wichtig ist, einfachen Zugang zu alternativen MCUs zu haben. Auch die Zukunftssicherheit und die 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.

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 Spektrum 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 Familie sollte MCUs mit grundlegenden Verarbeitungsfunktionen und Optionen mit erweiterten Funktionen umfassen. Viele Anwendungen erfordern Datenschutz und sichere Kommunikation. Funktionen wie hardwarebasierte 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 Downgrades 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.

STM32H7: eine Fallstudie zur Vielseitigkeit

Die Serie STM32H7 von STMicroelectronics ist ein Beispiel für eine MCU-Familie, die diese Kriterien erfüllt. Wie in Tabelle 1 dargestellt, 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.

MCU-Kern und Takt Maximaler Flash/RAM Hauptmerkmale
Value-Produktlinie 280 MHz bis 550 MHz
Arm Cortex-M7
128 KByte Flash
1 MByte RAM
Preiswert, Ethernet, QSPI, TFT
Einkernige Produktlinie 280 MHz bis 550 MHz
Arm Cortex-M7
2 MByte Flash
1,4 MByte RAM
TFT, Ethernet, Q-SPI, geringer Stromverbrauch
Zweikernige Produktlinie 480 MHz
Arm Cortex-M7 +
240 MHz
Arm Cortex-M4
2 MByte Flash
1 MByte RAM
Schaltnetzteil (SMPS), TFT-LCD, MIPI-DSI, JPEG
BootFlash-Produktlinie 600 MHz
Arm Cortex-M7
Externer Flash, 620 KByte RAM NeoChrom GPU, I3C, XiP, USB PHY

Tabelle 1: Die wichtigsten Merkmale der vier Produktlinien der Serie STM32H7. (Quelle der Tabelle: Autor, unter Verwendung von Quellenmaterial von STMicroelectronics)

Die Value-Produktlinie ist mit Geschwindigkeiten von 280 bis 550 Megahertz (MHz) erhältlich und verfügt über 128 Kilobyte (KByte) integrierten Flash-Speicher und 1 Megabyte (MByte) 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 x 14 Millimeter (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,4 MByte RAM und eignet sich für Anwendungen, die umfangreiche Benutzeroberflächen und Echtzeitsteuerung erfordern. Ein Beispiel ist der STM32H743IIK6, der in einem 10 x 10 mm großen 201-UFBGA-Gehäuse untergebracht ist.

Die zweikernige Produktlinie verfügt über 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.

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 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 MCUs der Serie STM32H7

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

1. Wählen Sie ein Entwicklungsboard

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 (Abbildung 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.

Bild des Entwicklungsboards NUCLEO-F767ZI von STMicroelectronicsAbbildung 1: Das Entwicklungsboard NUCLEO-F767ZI ist ein einfacher, aber flexibler Ausgangspunkt für Experimente. (Bildquelle: STMicroelectronics)

Evaluierungsboards bieten die umfangreichste Auswahl an Peripheriekomponenten und Anschlussmöglichkeiten für die Erkundung aller Funktionen. Discovery-Kits wie das STM32H745I-DISCO (Abbildung 2) und das STM32H750B-DK ermöglichen beispielsweise die schnelle Evaluierung verschiedener Schnittstellen mit Funktionen wie:

  • 4,3 Zoll (in.) RGB-LCD mit Touchpanel
  • Ethernet-Konformität mit IEEE-802.3-2002
  • Power-over-Ethernet (PoE)
  • USB-OTG-FS
  • SAI-Audio-Codec
  • Ein digitales ST-MEMS-Mikrofon
  • 2 × 512 Mbit Quad-SPI-NOR-Flash-Speicher
  • 128 Mbit SDRAM
  • 4 Gigabyte (GByte) integrierter eMMC-Speicher
  • 2 × CAN-FDs
  • Kompatibel mit Arduino-Shields
  • Integrierter Debugger/Programmer STLINK-V3E mit USB-Re-Enumeration-Fähigkeit: Massenspeicher, virtueller COM-Port und Debug-Port

Bild des Evaluierungsboards STM32H745I-DISCO von STMicroelectronicsAbbildung 2: Das Evaluierungsboard STM32H745I-DISCO bietet eine Vielzahl von Hardware-Ressourcen. (Bildquelle: STMicroelectronics)

2. Software-Einrichtung

STMicroelectronics bietet eine integrierte Entwicklungsumgebung (IDE) für seine MCUs (Abbildung 3). Es enthält einen Compiler, einen Debugger und einen Konfigurator für die Erzeugung von Initialisierungscode und die Einrichtung von Peripheriegeräten.

Bild der STM32H7-IDE von STMicroelectronicsAbbildung 3: Die Abbildung zeigt einen Screenshot der STM32H7-IDE. (Bildquelle: STMicroelectronics)

3. Lernen und experimentieren

Als Nächstes ist es ratsam, die Dokumentation zu lesen. Ein guter Ausgangspunkt ist das Benutzerhandbuch für das Entwicklungsboard 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, was Sie zum Schreiben, Kompilieren und Debuggen von Code benötigen. 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 (Abbildung 4) von Seeed Technology Co, Ltd. Sie verwendet die Single-Core-MCU STM32H743.

Bild: Das OpenMV4 CAM H7 von Seeed Technology ist für Bildverarbeitungssysteme bestimmtAbbildung 4: Das OpenMV4 CAM H7 ist für Bildverarbeitungssysteme vorgesehen. (Bildquelle: Seeed Technology Co., Ltd.)

Ein weiteres Beispiel ist das Nicla Vision ABX00051 (Abbildung 5) von Arduino, das die Dual-Core-MCU STM32H747 verwendet.

Bild: Nicla Vision ABX00051 von ArduinoAbbildung 5: Das Nicla Vision ABX00051 hilft bei der Evaluierung verschiedener Bildsensoren. (Bildquelle: Arduino)

Fazit

Die Auswahl der MCU für ein Produktdesign ist angesichts der konkurrierenden Anforderungen an fortschrittliche Funktionen und Kostenoptimierung von entscheidender Bedeutung. Die STM32H7-Serie von STMicroelectronics ist ein überzeugendes Beispiel dafür, wie die Wahl der richtigen MCU-Familie eine skalierbare, flexible Lösung bieten kann, die aktuellen und zukünftigen Anforderungen gerecht wird.

DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Image of Kenton Williston

Kenton Williston

Kenton Williston schloss sein Studium der Elektrotechnik im Jahr 2000 mit einem B.S. ab und begann seine Karriere als Benchmark-Analyst für Prozessoren. Seitdem arbeitete er als Redakteur bei der EE Times Group und half bei der Einführung und Leitung mehrerer Publikationen und Konferenzen für die Elektronikindustrie.

Über den Verlag

Nordamerikanische Fachredakteure von DigiKey