Mikrocontroller

Ein Mikrocontroller stellt im Prinzip einen Mikrorechner mit Peripherie auf einem Chip dar. Ziel ist es, eine Steuerungs- oder Kommunikationsaufgabe mit möglichst wenig zusätzlichen Komponenten zu lösen.

Komponenten eines Mikrocontrollers

-Mikroprozessor

-Festwertspeicher

-Schreib-/Lesespeicher

-serielle & parallele Ein-/ Ausgabekanäle

-AD /DA Wandler

-Zähler (Counter) und Zeitgeber (Timer)

-Watchdog Timer

-Echtzeitkanäle

-Interrupts

-DMA (Direct Memory Accsess)

-Standby Mode

-Erweiterungsbus

Mikroprozessor

Der Mikroprozessor ist das zentrale Element jedes Mikrocontrollers. Er arbeitet das im Speicher hinterlegte Programm ab.

Festwertspeicher

Schreib-/Lesespeicher

Serielle und parallele Ein/Ausgabekanäle

Sie sind die grundlegende Schnittstelle eines Mikrocontrollers.

AD / DA Wandler

Ein AD-Wandler transformiert analoge in digitale Werte und stellt diese dem Prozessor zur Verfügung. Für Mikrocontroller ist dies die Eingaberichtung.

Ablauf einer AD-Wandlung: Die Steuerung des AD-Wandlers geschieht über die SFRs. Das AD Ergebnis liegt später in einem Daten Register. Diese Register sind die Schnittstelle des AD-Wandlers für den Prozessor. Der AD-Wandler beobachtet das SFR und arbeitet nach dessen Konfiguration. Wird im SFR eine Wandlung angefordert (Startbit) fängt der AD-Wandler an zu wandeln. Sobald der AD-Wandler fertig gewandelt hat, teilt er es über das SFR mit. Das Wandelergebnis kann nun aus dem Datenregister ausgelesen werden.

Ein DA Wandler transformiert digitale in analoge Werte und stellt sie dann der Peripherie zur Verfügung. Aus Sicht des Controllers stellt dies die Ausgaberichtung dar.

Zähler und Zeitgeber

Zähler und Zeitgeber sind eng miteinander verknüpft, da ein Zeitgeber ein Zähler ist der von einem Signal mit bekannter Frequenz in- / dekrementiert wird. Ein Zähler besteht wiederum aus einem Zählerstandregister und Steuerregister.

Das Steuerregister ermöglicht es zu wählen:

-welches Signal (internes, externes) auf den Zähler gelegt wird

-ob die Frequenz des Signals vorgeteilt werden soll (prescaling)

-ob und welche Flankenerkennung genutzt werden soll

-starten und stoppen des Zählers / Timers über den Prozessor

-starten und stoppen des Zählers / Timers über ein externes Signal

-Interrupt Freigabe bei Overflow / Underflow

Mit Zählern lassen sich folgende Aufgaben realisieren:

-Zählen von Ereignissen:

Ein externes Signal wird auf den Takteingang eines Zähler geführt, der Zählerstand ändert sich in Abhängigkeit des externen Signals

-Messen von Zeiten:

Das zu messende Signal wird an den Freigabeeingang des Zählers / Timers angeschlossen. Als Takt wird eine möglichst genaue, bekannte Frequenz benutzt. Der Zähler zählt nun solange die Perioden des Taktes wie das Signal anliegt. Somit ist die Zeitdauer = Periodendauer * Zählerstand

-Wecken

-Erzeugen von Impulsfolgen (wie z.B. PWM)

Capture und Compare Einheit

Die Capture und Compare Einheit ist eine bei Mikrocontroller weit verbreitete Variante der Zähler und Zeitgeber. Kernbestandteil ist auch hier ein Zähler. Diesem sind zwei Register zugeordnet (das Capture- und das Compare Register). Das Capture Register sichert eigenständig bei einem Ereignis (intern oder extern) den aktuellen Zählerstand. Das Capture Register ist vom Prozessor auszulesen. Das Compare Register kann mit einem Wert beschrieben werden. Der Zählerstand und der Wert des Compare Registers wird eigenständig immer miteinander verglichen. Bei Übereinstimmung der beiden Werte kann ein Interrupt ausgelöst werden.

Echtzeit Ein-/ Ausgabeeinheiten

Bei Echtzeit Ein-/ Ausgabeeinheiten wird der Zeitpunkt des Einlesen bzw. des Ausgeben von Daten nicht mehr ausschließlich in der Software festgelegt, sondern um einen Software Jitter zu vermeiden von Timern.

Bsp.:

Ein Sprachsignal soll digitalisiert werden. Dazu ist es notwendig dies mit einer bestimmten Frequenz abzutasten. Dies muss möglichst gleichmäßig geschehen um das Signal nicht zu verzerren.

Ablauf (für eine Echtzeit-Ausgabeeinheit):

-Schreiben der Ausgabedaten in ein Ausgaberegister

-Abhängig von einem Zeitgeber werden die Daten in ein Pufferregister geladen. Dieses enthält die Daten der Ausgänge.

SoC (System on Chip)

SoCs stellen die konsequente Weiterführung der Mikrocontroller Idee da. Im Gegensatz zu Mikrocontrollern, die nur standardisierte Bausteine besitzen, wird bei SoCs alle benötigten Systemkomponenten auf einem Chip realisiert.

2 Kommentare

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert