Funktionsweise eines Mikrocontrollers:
Ein Mikrocontroller ist im Wesentlichen ein vollständiges Computersystem auf einem Chip und besteht aus folgenden Hauptelementen:
Zentrale Verarbeitungseinheit (CPU): Dies ist das Herzstück des Mikrocontrollers, das die Rechenleistung bereitstellt. Die CPU führt die Anweisungen aus, die in einem Programm gespeichert sind.
Speicher:
Eingabegeräte und Ausgabegeräte (I/O): Mikrocontroller haben oft eine Vielzahl von Ein- und Ausgabepins, die zur Steuerung von externen Geräten verwendet werden können, z. B. Sensoren, LEDs, Motoren usw.
Taktgeber (Clock): Ein Taktgeber steuert die Geschwindigkeit, mit der der Mikrocontroller Anweisungen ausführt. Dies geschieht über einen Oszillator (oft ein Quarz oder ein Keramikresonator), der den Mikrocontroller mit einem regelmäßigen Taktsignal versorgt.
Timer und Zähler: Mikrocontroller enthalten häufig Timer, die zeitabhängige Aufgaben ausführen können, und Zähler, die externe Ereignisse zählen.
Periphere Schnittstellen: Zu den eingebauten Peripheriegeräten eines Mikrocontrollers gehören:
Die Funktionsweise eines Mikrocontrollers beruht auf dem Fetch-Decode-Execute-Zyklus (Abrufen-Dekodieren-Ausführen-Zyklus), ähnlich wie bei einer CPU:
Befehl abrufen (Fetch): Die CPU des Mikrocontrollers holt den nächsten Befehl aus dem Programmspeicher (ROM oder Flash-Speicher).
Befehl dekodieren (Decode): Der Mikrocontroller interpretiert den abgerufenen Befehl. Dies kann eine Rechenoperation, ein Datenzugriff, eine Speicheroperation oder die Kommunikation mit einem externen Gerät sein.
Befehl ausführen (Execute): Der Mikrocontroller führt die Operation aus. Abhängig vom Befehl kann dies das Lesen eines Sensors, das Schreiben an ein Display oder das Steuern eines Motors sein. Das Ergebnis der Operation wird entweder im RAM gespeichert oder an ein Peripheriegerät gesendet.
Ein Mikrocontroller arbeitet nach einem Programm, das ihm von einem Benutzer gegeben wurde. Dieses Programm wird typischerweise in einer Hochsprache (z. B. C/C++) geschrieben und dann in Maschinencode kompiliert, der in den Flash-Speicher des Mikrocontrollers geladen wird. Der Mikrocontroller arbeitet das Programm Schritt für Schritt ab, um eine bestimmte Aufgabe zu erfüllen.
Mikrocontroller werden oft in Echtzeitsystemen eingesetzt, wo schnelle Reaktionen auf externe Ereignisse erforderlich sind. Timer, Interrupts und andere Mechanismen helfen dem Mikrocontroller, auf Änderungen in seiner Umgebung zu reagieren (z. B. eine Taste wird gedrückt oder ein Sensor meldet eine bestimmte Messung).
Mikrocontroller sind in der Regel darauf ausgelegt, energieeffizient zu sein. Sie können in verschiedenen Stromsparmodi betrieben werden, die den Energieverbrauch reduzieren, wenn bestimmte Teile des Systems nicht aktiv sind.
Angenommen, ein Mikrocontroller steuert die Beleuchtung eines Smart-Home-Systems:
Quelle: Conrad - Ratgeber
1 : USB-Buchse
An diese Buchse wird ein USB-Kabel angeschlossen, um das individuelle Steuerprogramm auf den Arduino zu übertragen.
2 : Reset-Taster
Mit diesem Taster kann der Arduino manuell zurückgesetzt werden, falls er aufgrund einer Störung nicht mehr selbsttätig läuft.
3 : ICSP-Schnittstelle (USB-Interface)
Mit einer ICSP-Schnittstelle (In Circuit Serial Programming) lässt sich eine logische Schaltung direkt im Einsatzsystem programmieren.
4 : I²C-Bus
Bei einem I²C-Bus werden Daten über die Leitungen SCL (Serial Clock) und SDA (Serial Data) vom Master zu den angeschlossenen Slaves übertragen.
5 : Eingebaute LED
Die LED „L“ ist intern mit dem PIN 13 verbunden und dient zu Testzwecken.
6 : Digitale Ein-/Ausgänge
Diese I/O Pins können als digitale Ein- oder Ausgänge konfiguriert werden. Sechs davon arbeiten bei Bedarf als pulsweitenmodulierte PWM-Ausgänge.
7 : Anzeige LEDs
Die LEDs „RX“ und „TX“ zeigen die Datenübertragung vom PC zum Arduino UNO optisch an.
8 : Betriebsspannungs-LED
Die LED „ON“ signalisiert die Spannungsversorgung des Mikrocontroller Boards. Sie leuchtet, wenn das Board mit Spannung versorgt wird.
9 : Oszillatorquarz (Controller)
Der Quarz sorgt dafür, dass der Oszillator im Controller stabil und mit der immer gleichbleibenden Frequenz schwingt.
10 : ICSP-Schnittstelle (Controller)
Über diese Schnittstelle könnte bei Bedarf der Controller programmiert werden. Da dies aber bereits ab Werk erfolgte, ist das in der Regel nicht erforderlich.
11 : Mikrocontroller
Ein Mikrocontroller ist ein Halbleiterchip, in dem Prozessor, Peripherie und Speicher vereint sind. Teilweise werden sie auch als SoC (System-on-a-Chip) bezeichnet.
12 : Analoge Eingänge
Wenn als Eingangswerte analoge Spannungen von z.B. Sensoren zur Verfügung stehen, müssen diese sechs Eingänge genutzt werden.
13 : Power-Pins
An diesen Pins können dem Mikrocontroller-Board Spannungen zugeführt werden oder auch Spannungen wie 3,3 V oder 5 V abgegriffen werden.
14 : Gleichrichterdiode
Damit an der Netzteilbuchse sowohl Gleichspannung als auch Wechselspannung angelegt werden kann, ist eine Gleichrichterdiode vorhanden.
15 : Ladekondensatoren
Die Ladekondensatoren glätten die Versorgungsspannung. Ein Kondensator ist vor dem 5 V Spannungsstabilisator geschaltet und ein Kondensator danach.
16 : Netzteilanschluss
Damit das Mikrocontroller-Board nach der Programmierung auch ohne USB-Anschluss lauffähig ist, muss es über ein externes Netzteil zu versorgt werden.
17 : Spannungsstabilisator
Der Spannungsstabilisator erzeugt aus der Netzteilspannung, die zwischen 7 und 12 V (AC oder DC) liegen sollte, eine stabile Spannung von 5 V.
18 : Oszillatorquarz (USB-Controller)
Der Quarz sorgt dafür, dass der Oszillator im USB-Controller stabil und mit der immer gleichbleibenden Frequenz schwingt.
19 : USB-Interface
Das USB-Interface wandelt die Signale, die über die USB-Schnittstelle eingespeist werden, in ein für den Controller passendes Format um.