Mikrocontroller (MCU)

Ein Mikrocontroller ist ein kompakter integrierter Schaltkreis, der zur Steuerung eines bestimmten Vorgangs in einem eingebetteten System entwickelt wurde. Ein typischer Mikrocontroller enthält einen Prozessor, Speicher und Ein-/Ausgabe-Peripheriegeräte auf einem einzigen Chip.

Gelegentlich auch als eingebetteter Controller oder Mikrocontroller-Einheit (MCU) bezeichnet, finden sich Mikrocontroller unter anderem in Fahrzeugen, Robotern, Büromaschinen, medizinischen Geräten, mobilen Funkgeräten, Verkaufsautomaten und Haushaltsgeräten. Sie sind im Wesentlichen einfache Miniatur-Personalcomputer (PCs), die zur Steuerung kleiner Funktionen einer größeren Komponente ohne ein komplexes Front-End-Betriebssystem (OS) entwickelt wurden.

Wie funktionieren Mikrocontroller?

Ein Mikrocontroller ist in ein System eingebettet, um eine einzelne Funktion in einem Gerät zu steuern. Er tut dies, indem er Daten, die er von seinen E/A-Peripheriegeräten erhält, mithilfe seines zentralen Prozessors interpretiert. Die temporären Informationen, die der Mikrocontroller empfängt, werden in seinem Datenspeicher gespeichert, auf den der Prozessor zugreift und die in seinem Programmspeicher gespeicherten Anweisungen verwendet, um die eingehenden Daten zu entschlüsseln und anzuwenden. Anschließend verwendet er seine E/A-Peripheriegeräte, um zu kommunizieren und die entsprechende Aktion auszuführen.

Mikrocontroller werden in einer Vielzahl von Systemen und Geräten eingesetzt. In Geräten kommen oft mehrere Mikrocontroller zum Einsatz, die innerhalb des Geräts zusammenarbeiten, um ihre jeweiligen Aufgaben zu erledigen.

Ein Auto kann beispielsweise viele Mikrocontroller haben, die verschiedene Einzelsysteme wie das Antiblockiersystem, die Traktionskontrolle, die Kraftstoffeinspritzung oder die Federungsregelung steuern. Alle Mikrocontroller kommunizieren miteinander, um die richtigen Aktionen zu steuern. Einige können mit einem komplexeren Zentralcomputer im Fahrzeug kommunizieren, andere wiederum nur mit anderen Mikrocontrollern. Sie senden und empfangen Daten über ihre E/A-Peripherie und verarbeiten diese Daten, um die ihnen zugedachten Aufgaben zu erfüllen.

Welche Elemente eines Mikrocontrollers?

Die Kernelemente eines Mikrocontrollers sind:

  • Der Prozessor (CPU) — Ein Prozessor kann als das Gehirn des Geräts betrachtet werden. Er verarbeitet und reagiert auf verschiedene Anweisungen, die die Funktion des Mikrocontrollers steuern. Dazu gehören grundlegende arithmetische, logische und E/A-Operationen. Er führt auch Datenübertragungsoperationen durch, die Befehle an andere Komponenten im größeren eingebetteten System übermitteln.
  • Speicher — Der Speicher eines Mikrocontrollers wird verwendet, um die Daten zu speichern, die der Prozessor empfängt und verwendet, um auf Befehle zu reagieren, für deren Ausführung er programmiert wurde. Ein Mikrocontroller hat zwei Hauptspeichertypen:
    1. Programmspeicher, der langfristige Informationen über die Anweisungen speichert, die die CPU ausführt. Der Programmspeicher ist ein nichtflüchtiger Speicher, d. h. er speichert Informationen über einen längeren Zeitraum, ohne dass eine Stromquelle benötigt wird.
    2. Datenspeicher, der für die vorübergehende Speicherung von Daten benötigt wird, während die Anweisungen ausgeführt werden. Der Datenspeicher ist flüchtig, d.h. die darin gespeicherten Daten sind nur vorübergehend und werden nur aufrechterhalten, wenn das Gerät an eine Stromquelle angeschlossen ist.
  • I/O-Peripheriegeräte — Die Ein- und Ausgabegeräte sind die Schnittstelle des Prozessors zur Außenwelt. Die Eingangsanschlüsse nehmen Informationen auf und senden sie in Form von Binärdaten an den Prozessor. Der Prozessor empfängt diese Daten und sendet die erforderlichen Anweisungen an Ausgabegeräte, die Aufgaben außerhalb des Mikrocontrollers ausführen.

Während der Prozessor, der Speicher und die E/A-Peripheriegeräte die bestimmenden Elemente des Mikroprozessors sind, gibt es noch andere Elemente, die häufig einbezogen werden. Der Begriff E/A-Peripherie selbst bezieht sich einfach auf unterstützende Komponenten, die mit dem Speicher und dem Prozessor verbunden sind. Es gibt viele unterstützende Komponenten, die als Peripheriegeräte klassifiziert werden können. Eine gewisse Ausprägung von E/A-Peripherie ist für einen Mikroprozessor elementar, da sie der Mechanismus sind, durch den der Prozessor eingesetzt wird.

Weitere unterstützende Elemente eines Mikrocontrollers sind:

  • Analog-Digital-Wandler (ADC) — Ein ADC ist ein Schaltkreis, der analoge Signale in digitale Signale umwandelt. Er ermöglicht es dem Prozessor im Zentrum des Mikrocontrollers, mit externen analogen Geräten, wie z.B. Sensoren, zu kommunizieren.
  • Digital-Analog-Wandler (DAC) — Ein DAC erfüllt die umgekehrte Funktion eines ADC und ermöglicht es dem Prozessor im Zentrum des Mikrocontrollers, seine ausgehenden Signale an externe analoge Komponenten weiterzugeben.
  • Systembus — Der Systembus ist die Verbindungsleitung, die alle Komponenten des Mikrocontrollers miteinander verbindet.
  • Serieller Anschluss — Der serielle Anschluss ist ein Beispiel für einen E/A-Anschluss, über den der Mikrocontroller mit externen Komponenten verbunden werden kann. Er hat eine ähnliche Funktion wie ein USB- oder Parallelport, unterscheidet sich aber in der Art und Weise, wie er Bits austauscht.

Mikrocontroller-Funktionen

Der Prozessor eines Mikrocontrollers variiert je nach Anwendung. Die Möglichkeiten reichen von einfachen 4-Bit-, 8-Bit- oder 16-Bit-Prozessoren bis hin zu komplexeren 32-Bit- oder 64-Bit-Prozessoren. Mikrocontroller können flüchtige Speichertypen wie RAM (Random Access Memory) und nichtflüchtige Speichertypen verwenden – dazu gehören Flash-Speicher, EPROM (erasable programmable read-only memory) und EEPROM (electrically erasable programmable read-only memory).

Im Allgemeinen sind Mikrocontroller so konzipiert, dass sie ohne zusätzliche Rechenkomponenten verwendet werden können, da sie über ausreichend Speicher und Pins für allgemeine E/A-Operationen verfügen, so dass sie direkt mit Sensoren und anderen Komponenten verbunden werden können.

Die Architektur von Mikrocontrollern kann auf der Harvard-Architektur oder der von-Neumann-Architektur basieren, die beide unterschiedliche Methoden des Datenaustauschs zwischen Prozessor und Speicher bieten. Bei der Harvard-Architektur sind der Datenbus und der Befehlsbus getrennt, so dass gleichzeitige Übertragungen möglich sind. Bei einer Von-Neumann-Architektur wird ein Bus sowohl für Daten als auch für Befehle verwendet.

Mikrocontroller-Prozessoren können auf Complex Instruction Set Computing (CISC) oder Reduced Instruction Set Computing (RISC) basieren. CISC hat im Allgemeinen etwa 80 Befehle, während RISC etwa 30 hat, sowie mehr Adressierungsmodi, 12-24 im Vergleich zu 3-5 bei RISC. Während CISC einfacher zu implementieren ist und den Speicher effizienter nutzt, kann es aufgrund der höheren Anzahl von Taktzyklen, die zur Ausführung von Befehlen erforderlich sind, zu Leistungseinbußen kommen. RISC-Prozessoren, bei denen der Schwerpunkt auf der Software liegt, bieten oft eine bessere Leistung als CISC-Prozessoren, bei denen der Schwerpunkt auf der Hardware liegt, und zwar aufgrund des vereinfachten Befehlssatzes und des damit verbundenen einfacheren Designs. Welcher ISC verwendet wird, hängt von der jeweiligen Anwendung ab.

Als die ersten Mikrocontroller auf den Markt kamen, verwendeten sie ausschließlich Assembler. Heute ist die Programmiersprache C eine beliebte Option. Weitere gängige Mikroprozessor-Sprachen sind Python und JavaScript.

MCUs verfügen über Ein- und Ausgangspins zur Implementierung von Peripheriefunktionen. Zu diesen Funktionen gehören Analog-Digital-Wandler, Flüssigkristallanzeige-Controller (LCD), Echtzeituhr (RTC), universeller synchroner/asynchroner Empfängertransmitter (USART), Timer, universeller asynchroner Empfängertransmitter (UART) und Universal Serial Bus (USB). Sensoren, die unter anderem Daten über Luftfeuchtigkeit und Temperatur erfassen, sind ebenfalls häufig mit Mikrocontrollern verbunden.

Typen von Mikrocontrollern

Zu den gängigen MCUs gehören der Intel MCS-51, der oft als 8051-Mikrocontroller bezeichnet wird und erstmals 1985 entwickelt wurde, der AVR-Mikrocontroller, der 1996 von Atmel entwickelt wurde, der Programmable Interface Controller (PIC) von Microchip Technology und verschiedene lizenzierte Advanced RISC Machines (ARM)-Mikrocontroller.

Eine Reihe von Unternehmen produzieren und verkaufen Mikrocontroller, darunter NXP Semiconductors, Renesas Electronics, Silicon Labs und Texas Instruments.

Mikrocontroller-Anwendungen

Mikrocontroller werden in zahlreichen Branchen und Anwendungen eingesetzt, unter anderem im Haushalt und in Unternehmen, in der Gebäudeautomatisierung, in der Fertigung, in der Robotik, im Automobilbau, in der Beleuchtung, in der intelligenten Energieversorgung, in der Industrieautomatisierung, in der Kommunikation und im Internet der Dinge (IoT).

Eine sehr spezifische Anwendung eines Mikrocontrollers ist sein Einsatz als digitaler Signalprozessor. Häufig sind die eingehenden analogen Signale mit einem gewissen Rauschen behaftet. Rauschen bedeutet in diesem Zusammenhang mehrdeutige Werte, die nicht ohne weiteres in digitale Standardwerte übersetzt werden können. Ein Mikrocontroller kann mit Hilfe seines ADC und DAC das eingehende verrauschte Analogsignal in ein gleichmäßiges digitales Signal umwandeln.

Die einfachsten Mikrocontroller erleichtern den Betrieb elektromechanischer Systeme, wie sie in alltäglichen Gebrauchsgegenständen zu finden sind, z. B. in Öfen, Kühlschränken, Toastern, mobilen Geräten, Schlüsselanhängern, Videospielsystemen, Fernsehern und Rasenbewässerungssystemen. Sie sind auch in Büromaschinen wie Fotokopierern, Scannern, Faxgeräten und Druckern sowie in intelligenten Zählern, Geldautomaten und Sicherheitssystemen zu finden.

Mehr ausgefeilte Mikrocontroller erfüllen wichtige Funktionen in Flugzeugen, Raumschiffen, Hochseeschiffen, Fahrzeugen, medizinischen und lebenserhaltenden Systemen sowie in Robotern. In medizinischen Szenarien können Mikrocontroller die Funktionen eines künstlichen Herzens, einer Niere oder anderer Organe steuern. Sie können auch zum Funktionieren von Prothesen beitragen.

Mikrocontroller vs. Mikroprozessoren

Die Unterscheidung zwischen Mikrocontrollern und Mikroprozessoren ist nicht mehr ganz so klar, da die Chipdichte und -komplexität in der Herstellung relativ billig geworden ist und Mikrocontroller daher mehr „allgemeine Computer“-Funktionen integriert haben. Im Großen und Ganzen kann man jedoch sagen, dass Mikrocontroller eigenständig funktionieren, mit einer direkten Verbindung zu Sensoren und Aktoren, während Mikroprozessoren darauf ausgelegt sind, die Rechenleistung auf dem Chip zu maximieren, mit internen Busverbindungen (statt direkter E/A) zu unterstützender Hardware wie RAM und seriellen Schnittstellen. Einfach ausgedrückt: Kaffeemaschinen verwenden Mikrocontroller; Desktop-Computer verwenden Mikroprozessoren.

Der Microchip Technology ATtiny817 Mikrocontroller.

Mikrocontroller sind billiger und verbrauchen weniger Strom als Mikroprozessoren. Mikroprozessoren haben keinen eingebauten Arbeitsspeicher (RAM), Festwertspeicher (ROM) oder andere Peripheriegeräte auf dem Chip, sondern sind über ihre Pins mit diesen verbunden. Ein Mikroprozessor kann als das Herzstück eines Computersystems betrachtet werden, während ein Mikrocontroller das Herzstück eines eingebetteten Systems ist.

Auswahl des richtigen Mikrocontrollers

Bei der Auswahl eines Mikrocontrollers für ein Projekt sind eine Reihe von technischen und geschäftlichen Erwägungen zu berücksichtigen.

Neben den Kosten ist es wichtig, die maximale Geschwindigkeit, die Menge an RAM oder ROM, die Anzahl oder die Arten der E/A-Pins auf einer MCU sowie den Stromverbrauch und die Einschränkungen und die Entwicklungsunterstützung zu berücksichtigen. Stellen Sie unbedingt Fragen wie: