Beinahe in jedem Gerät befindet sich heute ein Mikrocontroller (der Einfachheitshalber schreibe ich jetzt nur noch µC). In diesem Modul wollen wir uns mal anschauen, was ein µC eigentlich ist und wie er “arbeitet”. Das Wort “arbeitet” habe ich bewusst in Anführungszeichen gesetzt, denn eigentlich arbeitet der µC nicht, sondern er rechnet.
Von einem µC spricht man, wenn sich auf einem Halbleiterbauteil neben der Recheneinheit auch Peripherie befindet.
Ein Halbleiter ist ein Material, welches unter bestimmten Bedingungen leitend wird. Man kann sich das wie ein Taster vorstellen, der gedrückt wird, damit der Strom z. Bsp. durch eine Lampe fließen kann (→ also bei dem eine Bedingung erfüllt ist). Lässt man den Taster los, geht die Lampe wieder aus.
Bei Halbleitern übernimmt eine Spannung die Funktion des Taster drückens.
Eine Recheneinheit, auch CPU genannt, bildet das Herz des µC. Wie der Name schon sagt, ist die Programmausführung, also das Verarbeiten von Befehlen, nichts anderes wie Berechnungen, die eine CPU ausführt. Damit eine CPU Berechnungen machen kann, benötigt sie Speicher, in dem sie Zwischenergebnisse oder Informationen speichern kann. Hierbei sprechen wir vom RAM (engl. Random Access Memory → zufällig zugreifbarer Speicher). Was das genau ist, erkläre ich später.
Wir haben nun also eine Recheneinheit und Speicher, in den die CPU die Daten schreiben kann. Was fehlt ist aber noch das Programm - also das, was die CPU machen soll. Dieses befindet sich im sogenannten ROM oder FLASH-Speicher.
ROM (engl. Read Only Memory → nur-lese Speicher) ist ein Speicherbereich, der auch nach dem Ausschalten des µC die Daten behält.
Früher hat man diese Daten in sogenannten EPROMs (engl. erasable programmable read-only memory → löschbarer programmierbarer nur-lese Speicher) gespeichert. Die Löschung dieser Bausteine konnte aber nur mit speziellen Geräten (UV-Licht oder hohe Spannungen) erfolgen und war verhältnismäßig schwierig.
Im Laufe der Zeit wurden sogenannte FLASH-Speicher entwickelt, die es erlaubten, die Programm-Daten auf sehr einfache Weise dauerhaft auf diese Bausteine zu schreiben. FLASH-Speicher sind wie EPROMs nicht flüchtig, d.h. die Daten bleiben auch gespeichert, wenn keine Spannung an dem Baustein anliegt. Der Nachteil des FLASH-Speichers ist, dass er langsamer ist, wie EPROMs.
Bei kleinen µC sind die ausgeführten Programme meist recht klein. Der technische Aufwand zum beschreiben und löschen von EPROMs steht dabei in keinem Verhältnis zu der Ausführungsgeschwindigkeit des Programms. Daher findet man heute meist FLASH-Speicher in diesen µCs.
Im Gegensatz zu ROM-Bausteinen (EPROM, FLASH) sind die Daten im RAM nicht dauerhaft gespeichert. RAM Bausteine können die Daten nur so lange speichern, wie eine Betriebsspannung an dem Baustein anliegt.
Was jetzt noch fehlt, ist die Möglichkeit mit der Außenwelt zu kommunizieren. Dazu verwenden moderne µC sogenannte GPIO (General Purpose Input/Output → programmierbare Ein-/Ausgänge). Hierbei unterscheidet man zwischen digitalen Ports, also Ein-/Ausgängen zur Verarbeitung von digitalen Signalen und andere Ein-/Ausgänge. Neben den digitalen Signalen lassen sich z. Bsp. auch analoge Signale verarbeiten oder Hardware über spezielle Bussysteme anschließen.
Im weiteren werden wir ein solches Bussystem kennen lernen.
Zusammengefasst kann man sagen, dass ein µC aus folgenden Teilen besteht:
CPU - Central Processing Unit - Zentrale Recheneinheit
RAM - Random Access Memory - Speicher mit Direktzugriff
ROM - Read Only Memory - Speicher auf den nur Zugegriffen werden kann
GPIO - Ein-Ausgabe Ports zur Kommunikation mit der Außenwelt
Blockschaubild eines Mikrocontrollers: