STM32 (eBook)
432 Seiten
MITP Verlags GmbH & Co. KG
978-3-7475-0454-3 (ISBN)
Ralf Jesse ist Diplom-Ingenieur der Elektrotechnik mit mehr als 30 Jahren beruflicher Praxis im Einsatz von Mikroprozessoren und -controllern. Nach ersten Erfahrungen als Entwicklungsingenieur in einem Maschinenbau-Unternehmen folgten mehr als 20 Jahre als Software-Ingenieur in einem großen japanischen Konzern.
Kapitel 1:
STM32F4xx-Mikrocontroller
Will man Software für einen Mikrocontroller entwickeln, ist es hilfreich, wenn grundlegende Kenntnisse zur Hardware vorhanden sind. Die erforderlichen Kenntnisse müssen nicht so tief gehend sein, wie dies für Hardwareentwickler erforderlich ist, man sollte aber in der Lage sein, sich mit ihnen auf einer gemeinsamen Basis verständigen zu können.
Daher beginne ich dieses Buch mit einem kurzen Überblick über die Mitglieder der STM32F4xx-Familie.
1.1 Überblick über die STM32F4xx-Familie
Wie bereits in der Einleitung erwähnt, besteht die STM32F4xx-Familie aus einer Vielzahl von Mikrocontrollern, die, abhängig von ihrer Ausstattung und ihrer Leistungsfähigkeit, in verschiedene Produktlinien eingeordnet sind:
-
Die Advanced Line umfasst die Ausführungen STM32F469, STM32F429 und STM32F427. Diese bieten die größte Funktionsvielfalt und enthalten unter anderem Ethernet-Interfaces. Bis auf den STM32F427 enthalten die Mitglieder der Advanced Line auch einen TFT-/LCD-Controller. Die genannten Mikrocontroller können mit einer Taktfrequenz von bis zu 180 MHz eingesetzt werden. Je nach Modell verfügen sie über einen Flashspeicher von bis zu 2 MByte und bis zu 384 KByte SRAM.
-
Die sogenannte Foundation Line umfasst die Typen STM32F446, STM32F407 und STM32F405. Die maximale Taktfrequenz des STM32F405 beträgt 168 MHz, die beiden anderen können – wie die Mitglieder der Advanced Line – mit einer Frequenz von bis zu 180 MHz getaktet werden.
-
Die Access Line umfasst mit den Mikrocontrollern STM32F401, STM32F410, STM32F411, STM32F412 und STM32F413 die Familienmitglieder, die am wenigsten leistungsstark sind. Dies betrifft weniger die Größe von Flashspeicher (maximal 1.536 KByte) und SRAM (bis zu 320 KByte), sondern vielmehr die Zahl serieller Schnittstellen und anderer Peripheriekomponenten. Die Taktfrequenz ist mit maximal 100 MHz aber immer niedriger verglichen mit den Mitgliedern der Advanced Line bzw. der Foundation Line.
Abbildung 1.1 zeigt die derzeit verfügbaren Mikrocontroller dieser Familie (Stand: März 2022). Der in diesem Kapitel exemplarisch beschriebene Mikrocontroller STM32F446 ist durch einen Rahmen hervorgehoben.
Abb. 1.1: Überblick über die STM32F4-Familie
Hinweis
Obwohl ich mich nachfolgend auf den STM32F446 konzentriere, lässt sich seine Beschreibung nicht nur auf die anderen Mitglieder der STM32F4-Familie übertragen, sondern auch – mit Ausnahme der Arm-spezifischen Bestandteile sowie der herstellerspezifischen Peripheriekomponenten – auf beliebige andere Mikrocontroller. Natürlich gibt es Unterschiede bei der Programmierung der integrierten Peripheriekomponenten, was sich nicht zuletzt in unterschiedlichen Benennungen und Adressen der Register wie auch in der Anschlussbelegung zeigt, das Funktionsprinzip ist aber überall sehr ähnlich. Die Portierung der Kenntnisse auf Mikrocontroller anderer Hersteller sollte recht einfach sein, da Sie hier ja die Programmierung von der Pike auf lernen.
1.2 Der STM32F446
Der STM32F446 ist in verschiedenen Ausführungsvarianten erhältlich. Im folgenden Abschnitt werden diese näher beschrieben.
1.2.1 Varianten des STM32F446
Tabelle 1.1 zeigt die Ausführungen und ihre Unterschiede:
Peripheriekomponenten | STM32F446 |
---|
MC | ME | RC | RE | VC | VE | ZC | ZE |
---|
Flash in KByte | 256 | 512 | 256 | 512 | 256 | 512 | 256 | 512 |
SRAM in KByte | System | 128 (112 + 16) |
Backup | 4 |
Controller für flexiblen Speicher (FMC) | Nein | Ja |
Timer | GP | 10 |
Advanced | 2 |
Basic | 2 |
Kommunikations-Interfaces | SPI/I²S | 4/3 (simplex) |
I²C | 4/1 davon als FMP+ (Fast mode Plus) |
UART/USART | 2/4 |
USB OTG FS | Ja, 6 Endpunkte |
USB OTG HS | Ja, 8 Endpunkte |
CAN | 2 |
SAI | 2 |
SDIO | Ja |
SPDIF-Rx | 1 |
HDMI-CEC | 1 |
Quad SPI | 1 |
Kamera-Interface | Ja |
GPIOs | 63 | 50 | 81 | 114 |
12-Bit-ADC (Anzahl/Kanäle) | 3/14 | 3/16 | 3/16 | 3/24 |
12-Bit-DAC | Ja, 2 Kanäle |
Maximale Taktfrequenz | 180 MHz |
Betriebsspannung | 1,8 bis 3,6 V |
Gehäuse und Pins | WLCSP81 | LQFP64 | LQFP100 | LQFP144U |
Wie Sie Tabelle 1.1 entnehmen können, sind allein vom STM32F446 acht Ausführungen erhältlich, die durch nachgestellte Buchstaben und Ziffern unterschieden werden. Abbildung 1.2 zeigt, wie die Bezeichnungen bei STM interpretiert werden.
Abb. 1.2: Produktbezeichnungen der STM32F4xx-Mikrocontroller
Hinweis
Möchten Sie einen anderen Mikrocontroller aus der STM32F4xx-Familie verwenden, finden Sie die entsprechenden Tabellen auf der Webseite https://www.st.com/en/microcontrollers-microprocessors/stm32f4-series.html im Menü Resources.
1.2.2 Speicherbelegung/Memory-Mapping
Der adressierbare Speicher ist in acht Blöcke mit einer Größe von jeweils 512 MByte unterteilt, es können somit maximal 232 – 1 Byte = 4.294.967.296 Byte adressiert werden. Dieser Wert stellt aber nur das theoretische Maximum dar, tatsächlich verfügt keiner der genannten Mikrocontroller über derart viel Speicher, sodass die höchste adressierbare Speicherstelle deutlich kleiner ist.
Abbildung 1.3 zeigt eine grobe Unterteilung dieser Blöcke und der hier verfügbaren Funktionen. Im rechten Teil von Abbildung 1.3 sehen Sie einige Abkürzungen, wie z.B. AHB1/2/3 und APB1/2: Was es damit auf sich hat, wird weiter unten in Abschnitt 1.2.4 erläutert.
Abb. 1.3: Speicherbereiche (Memory-Mapping), aus dem Datenblatt entnommen
Die folgenden Tabellen zeigen die verfügbaren Peripheriekomponenten, den jeweils genutzten Bus, über den sie angesprochen werden, sowie die Adressen, die den Speicherbereichen und Registern zugeordnet sind.
Wichtig
Zwei Adressbereiche möchte ich vorab besonders hervorheben: Sie sind zwar in Abbildung 1.3 angegeben, fallen dort aber nicht besonders deutlich auf: Es handelt sich um den Flashspeicher (ab Adresse 0x0800 0000) und das SRAM (ab Adresse 0x2000 0000). Die Größe des Speichers variiert bei den verschiedenen Mikrocontrollern.
Hinweis
Die Adressbereiche in den folgenden Tabellen sind nach den jeweiligen Bussen (Cortex-M4, AHB und APB) sortiert. Dies führt dazu, dass die Blockgrenzen in Abbildung 1.2 quasi »ungültig« werden. Darüber hinaus sind große Adressbereiche im Speicherraum reserviert, sodass sie nicht genutzt werden können. Reservierte Speicherbereiche wurden in den folgenden Tabellen nicht aufgeführt.
Bus | Adressgrenzbereiche | Komponente(n) |
---|
Cortex-M4-interner Bus | 0xE000 0000–0xE00F FFFF | Cortex-M4-interne Komponenten (z.B. CPU-Kern, NVIC, Floating-Point-Unit (FPU) usw.) |
Bus | Adressbereiche | Komponente(n) |
---|
AHB3 | 0xD000 0000–0xDFFF FFFF | FMC Bank 6 |
0xC000 0000–0xCFFF FFFF | FMC Bank 5 |
Erscheint lt. Verlag | 29.4.2022 |
---|---|
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik |
ISBN-10 | 3-7475-0454-X / 374750454X |
ISBN-13 | 978-3-7475-0454-3 / 9783747504543 |
Haben Sie eine Frage zum Produkt? |
Größe: 5,7 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich