Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Mikrocontroller

Ein Mikrocontroller ist damit ein „Ein-Chip-Computersystem“ und bringt alle notwendigen Bausteine für einen kleinen Computer mit sich. Eine MCU unterscheidet …

Inhalt6 Abschnitte
  1. 1. Grundidee und Bedeutung
  2. 2. Typische Anwendungen
  3. 3. Unterschied zu Mikroprozessoren
  4. 4. Schnittstellen und Prozessorbreiten
  5. 5. Programmspeicher
  6. 6. Programmierung

Grundidee und Bedeutung

Ein Mikrocontroller (µC, uC, MCU oder Einchipmikrorechner) ist ein Halbleiterchip, der einen Prozessor und Peripheriefunktionen enthält. Arbeits- und Programmspeicher liegen häufig teilweise oder vollständig auf derselben integrierten Schaltung (IC). Damit ist er ein „Ein-Chip-Computersystem“: Er bringt die nötigen Bausteine für einen kleinen Computer mit.

Ein spezieller Mikrocontroller, der weitere IC-Bausteine auf einem System vereint, wird auch System-on-a-Chip (SoC) genannt. Mikrocontroller sind auf eine konkrete Aufgabe zugeschnitten und deshalb oft kostengünstiger und stromsparender als normale Computer. Kleine Modelle kosten bei hohen Stückzahlen nur wenige Cent.

Typische Anwendungen

Mikrocontroller arbeiten meist als eingebettete Systeme, also als in ein Gerät integrierte Steuerung. Sie sind unter anderem in Waschmaschinen, Chipkarten, Videorekordern, CD-/DVD-Spielern, Radios, Fernsehgeräten, Fernbedienungen, Büroelektronik, Mobiltelefonen sowie Uhren und Armbanduhren zu finden.

In Kraftfahrzeugen steuern sie beispielsweise ABS, Airbag, Motor, Kombiinstrument und ESP. Auch praktisch alle Computer-Peripheriegeräte wie Tastaturen, Mäuse, Drucker, Monitore und Scanner enthalten Mikrocontroller.

Unterschied zu Mikroprozessoren

Die Grenze zwischen Mikrocontroller und Mikroprozessor ist seit etwa den 2000er Jahren teilweise fließend. Bei einem klassischen Mikroprozessor sind Komponenten wie Takt- und Reset-Erzeugung, Interruptcontroller, Zeitgeber, Schnittstellen und teilweise Speichercontroller oft außerhalb des Prozessors angeordnet. Werden sie in den Chip integriert, genügt für ein funktionsfähiges System häufig nur noch ein Quarz für den Takt sowie Speicherbausteine. Beispiele dafür sind Intel 80186, XScale und ColdFire.

Klassische Mikrocontrollerarchitekturen sind dagegen von Anfang an für Steuerungsaufgaben ausgelegt. Sie können im Single-Chip-Betrieb ohne externe Speicherbausteine arbeiten. Ihr Befehlssatz enthält oft Bitmanipulationen zum Steuern einzelner Signalleitungen. Wichtig ist außerdem eine kurze Interrupt-Latenzzeit: die Zeit, bis der Controller auf eine Unterbrechungsanforderung etwa eines Zeitgebers oder Peripheriebausteins reagiert. Beispiele sind Intel 8051, Siemens C166 und Infineon TriCore. Watchdog-Schaltungen überwachen üblicherweise die Funktion einer Mikrocontrollersteuerung; sie können bereits integriert sein.

Mikrocontroller können als Schnittstelle zwischen Hardware und einem zentralen Mikroprozessor wirken. Über Busse wie K-Bus, CAN-Bus, LIN und FlexRay kann der zentrale Prozessor Nachrichten auswerten, während ein zuständiger Controller die zugehörige Hardware oder einen untergeordneten Bus kennt und ansteuert. Heutige Controller sind jedoch oft leistungsfähig genug, um alle Aufgaben ohne übergeordneten Mikroprozessor zu übernehmen.

Schnittstellen und Prozessorbreiten

Moderne Mikrocontroller besitzen häufig integrierte Schnittstellen und Funktionsblöcke, etwa CAN, LIN, USB, I²C, SPI, serielle oder Ethernet-Schnittstellen, PDM-Ausgänge, LCD-Controller und -Treiber sowie Analog-Digital-Umsetzer (ADU). Manche verfügen zusätzlich über programmierbare digitale, analoge oder hybride Funktionsblöcke.

Es werden weit mehr Mikrocontroller als Mikroprozessoren verbaut. Die meisten basieren auf 8-Bit-Prozessoren; daneben gibt es 4-, 16- und 32-Bit-Mikrocontroller. 4-Bit-Modelle sind wegen ihres einfachen Aufbaus günstig und für einfache Aufgaben wie Uhren ausreichend. 8- und 16-Bit-Mikrocontroller verlieren Marktanteile an 32-Bit-Modelle, weil deren Fertigung nicht wesentlich aufwendiger ist und ihr Speichermanagement sowie ihre Programmierung einfacher sind. 8- und 16-Bit-Modelle benötigen jedoch weniger Transistoren und sind bei modernen Stromsparmechanismen meist sparsamer.

Es gibt Mikrocontrollerkerne, die früher als Mikroprozessoren eingesetzt wurden, sowie speziell entwickelte Kerne wie Atmel AVR, PIC, Silicon Labs EFM8 und EFM32, TI MSP430, Infineon TriCore, XMC4000, XMC1000, XE166, XC800 und Aurix.

Programmspeicher

Die Speichertechnik hängt von Architektur, Anwendung und Kosten ab. Frühe Mikrocontroller und viele 4-Bit-Architekturen verwendeten ROM. Bei maskenprogrammierten Mikrocontrollern liefert der Hersteller die fertige Software bereits während des Fertigungsprozesses ein. Das ist bei großen Stückzahlen günstig, aber unflexibel: Änderungen können mehrere Wochen oder Monate dauern, und Hersteller sehen meist Mindestbestellmengen von 20.000 Chips vor.

Ab der zweiten Hälfte der 1970er Jahre erleichterte EPROM die Entwicklung. Der Programmspeicher wird mit einem Programmiergerät beschrieben und durch UV-Licht gelöscht. Dies erlaubt praxisnahe Tests und kleinere Stückzahlen, erfordert wegen des Quarzfensters im Keramikgehäuse aber teurere Chips. OTP-Mikrocontroller in Kunststoffgehäusen sind nach dem Programmieren nicht löschbar, liegen preislich jedoch nahe bei ROM-Versionen und vermeiden deren Startkosten für neue Softwareversionen.

Bei neuen Mikrocontrollern sowie kleinen Stückzahlen und in der Entwicklung dominiert Flash-Speicher. Er ist elektrisch löschbar und wiederbeschreibbar. Bei sehr großen Stückzahlen bleibt ROM kostengünstiger. ROM kann bei extremen Temperaturanforderungen der einzige ausreichend stabile Speicher sein; EPROM hat dabei noch Vorteile gegenüber Flash.

Typische heutige Größen liegen bei 1 kByte bis 2 MB Programmspeicher und 32 Bytes bis 48 kByte Datenspeicher. Das erwähnte RAM ist intern; für ROM kommen interne und externe Lösungen vor. Viele Modelle können deutlich größeren externen Speicher ansprechen.

Programmierung

Mikrocontroller werden meist mit Assembler, C oder C++ programmiert; auch BASIC, Pascal, Forth und Ada werden eingesetzt. Neuere Angebote lassen sich beispielsweise mit Lua, etwa NodeMCU, oder MicroPython programmieren. Die Wahl der Sprache richtet sich nach Architektur, Ziel und Anforderungen.

Für 4-Bit-Architekturen wird fast ausschließlich Assembler verwendet, weil Compiler die knappen Ressourcen meist nicht effektiv nutzen können. Bei 8-Bit-Architekturen dient Assembler oft hoher Effizienz und Code-Dichte. Wenn nur wenige µC-Ressourcen benötigt werden oder kleine Stückzahlen entstehen, verringern Hochsprachen den Entwicklungsaufwand. 16- und 32-Bit-Architekturen werden überwiegend in Hochsprachen programmiert.

C ist die am häufigsten verwendete Hochsprache, weil sie hardwarenahes Programmieren ermöglicht. Ada wird vor allem in militärischen und anderen sicherheitskritischen Bereichen eingesetzt, etwa in der Avionik. Grafische Entwicklungswerkzeuge können ausführbaren Code erzeugen: LabVIEW unterstützt einige Controller; PSoCexpress soll einfache Steuerungsanwendungen mit PSoC-Mikrocontrollern ohne Programmierkenntnisse ermöglichen.

Einige Mikrocontroller enthalten einen Hochspracheninterpreter. Der 8052AH-BASIC besitzt einen BASIC-Interpreter in einem 8 kByte großen ROM; Rockwell R65F11/R65F12 enthält einen Forth-Interpreter im internen ROM. Zur Programmierung genügt dann ein Rechner mit serieller Schnittstelle und Terminalprogramm. Module, die in Basic oder Forth programmierbar sind, werden besonders bei Hobbyisten sowie bei kleinen Stückzahlen, etwa im Prüfmittelbau und für Labortests, wegen ihrer einfachen Handhabung genutzt.

Lernvideos zu Mikrocontroller

Weiterlesen

Integrierter Schaltkreis Integrierter Schaltkreis. auf dünnen, meist wenige Millimeter großen Plättchen aus Halbleiter-Material aufgebrachte elektronische Schaltung. Artikel … Prozessor Aufbau und Funktionale Einheiten · Hauptprozessor (CPU) und Mehrprozessorkerne · Steuer- bzw. Leitwerk · Rechenwerk und Register · Datenleitungen · Caches und MMU. Peripherie Geographie. Bearbeiten. In der Geographie wird der Ausdruck Peripherie ... Häufig wird er verwendet, um räumliche Disparitäten aufzuzeigen oder zu erklären. Arbeitsspeicher Zugriffe auf den Arbeitsspeicher durch den Hauptprozessor werden zumeist über ein oder mehrere Pufferspeicher oder Cache-RAMs (kurz „Cache“) optimiert. Im Cache … Die (Halbleitertechnik) ... Halbleiter- und Mikrosystemtechnik die Bezeichnung eines einzelnen, ungehäusten Stücks eines Halbleiter-Wafers. Ein solches Die wird üblicherweise durch … Computer Ein Computer (englisch; deutsche Aussprache [kɔmˈpjuːtɐ]) oder Rechner ist ein Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Mikroprozessor Ein Mikroprozessor (µP oder uP) ist ein als integrierter Schaltkreis (IC) ausgeführter Computerprozessor. Typische Beispiele von Mikroprozessoren sind die … Peripheriegerät Peripheriegeräte dienen der Ein- und Ausgabe von Daten oder Befehlen in die Zentraleinheit. Sie erbringen eine „Dienstleistung“ für den Benutzer, diese kann … ARM-Architektur Der wesentliche Unterschied des ARM9 gegenüber dem ARM7 ist je ein getrennter Bus für Instruktionen und Daten (Harvard-Architektur). Meist werden diese an … Ethernet Derzeit sind Übertragungsraten von 1, 10, 100 Megabit/s (Fast-Ethernet), 1000 Megabit/s (Gigabit-Ethernet), 2,5, 5, 10, 25, 40, 50, 100, 200 und 400 Gigabit/s … PICmicro Bei PICmicro handelt es sich um eine Mikrocontrollerfamilie, die von der Firma Microchip Technology Inc. hergestellt wird. Ein 16-bit-Mikrocontroller … Festwertspeicher Ein Festwertspeicher oder Nur-Lese-Speicher (englisch read-only memory, ROM) ist ein Datenspeicher, auf den im normalen Betrieb nur lesend zugegriffen …