Microcontroller

Unter Microcontrollern versteht man programmierbare integrierte Schaltungen, die einen oder mehrere Prozessoren enthalten. Ihr Einsatzgebiet erstreckt sich auf verschiedene Anwendungen. Sie sind in verschiedenen Größen erhältlich und heutzutage so billig, dass sie in den verschiedensten Geräten zum Einsatz kommen. Gesteuert wird der Funktionsablauf einer Schaltung durch eine Software.

Der Aufbau von Microcontrollern

Der Microcontroller wird auch als Ein-Chip-Computersystem bezeichnet. Zusätzlich zu den Schaltungen und dem Prozessor befinden sich auf modernen Microcontrollern häufig auch komplexe Peripheriefunktionen wie zum Beispiel USB-, Ethernet- oder CAN-Schnittstellen. Des Weiteren verfügt er über programmierbare Funktionsblöcke, die entweder digital oder analog sein können.

Verwendung von Microcontrollern

Microcontroller können in allen elektrischen Geräten auftreten. Somit treten sie im Alltag innerhalb von eingebetteten Systemen oft unbemerkt in Geräten des täglichen Bedarfs auf. So finden sie zum Beispiel Anwendung in der Unterhaltungselektronik mit CD-Spielern, Radios, Fernsehgeräten und DVD-Player, in Mobiltelefonen, Armbanduhren, Computern und Waschmaschinen. Auch innerhalb von Kraftfahrzeugen trifft man die kleinen Prozessoren an. So zum Beispiel in Airbags, im Motor oder beim ABS. Je nach Verwendungszweck können die Microcontroller in der Leistung und Ausstattung angepasst werden, sodass sie im Gegensatz zu Computern einen deutlichen Vorteil bei den Kosten und der Leistungsaufnahme aufweisen.

Bekannte Microcontroller

Da Microcontroller in vielen verschiedensten Geräten Anwendung finden, haben zahlreiche Hersteller ganze Serien von Microcontrollern produziert. Zu den Beliebtesten gehören

  • AVR
  • ARM
  • 8051
  • PIC

Je nach der Anwendung sind bestimmte Serien verbreiteter als andere. So sind zum Beispiel für kleine Roboter die AVR-Microcontroller am meisten in Verwendung.

Unterscheidung zu Mikroprozessoren

Der entscheidende Unterschied zwischen Microcontrollern und –prozessoren ist, dass der Prozessor zusätzliche Funktionen aufweist. Diese sind auf dem gleichen Chip integriert. Dennoch ist der Übergang von dem einem zum anderen mehr oder weniger fließend. Dies zeigt sich auch darin, dass oft neue Mikroprozessorarchitekturen entwickelt wurden kurz nachdem neue Microcontroller produziert worden sind.

Multi Chip Module

Sollen verschiedene Halbleiterprozesse kombiniert werden, so werden einzelne Microcontroller als Bestandteil eines Multi Chip Moduls verwendet. Dies ist zum Beispiel notwendig, wenn mit Hochfrequenzschaltungen für Funkverbindungen oder Leistungselektronik gearbeitet wird. Des Weiteren wird diese Variante auch genutzt, wenn ein Neuentwurf eines Chips zu aufwendig ist, sodass stattdessen bereits vorhandene Chips miteinander kombiniert werden. Das ist zum Beispiel bei der Kombination von Netzwerkcontrollern zu finden.

Der Single-Chip-Betrieb

Die klassische Architektur von Microcontroller ist die einfache Verwendung des Chips ohne externe Speicherbausteine. Diese zielen primär auf Steuerungsaufgaben ab. Um das zu realisieren zu können, bietet der Befehlssatz der CPU meist spezialisierte Befehle zur Steuerung einzelner Signalleitungen an. Dabei ist eine kurze Interrupt-Latenzzeit des Controllers notwendig. Das ist die Zeitspanne, die benötigt wird, um auf eine Unterbrechungsanforderung der Signalquelle reagieren zu können.

Architekturen von Microcontrollern

Microcontroller lassen sich tagtäglich in den verschiedensten Geräten finden. Die Anzahl der verbauten Controller übersteigt weit die Anzahl der verwendeten Mikroprozessoren. Die meisten Controller basieren auf einem 8-Bit-Prozessor. Jedoch gibt es auch 4-, 16- und 32-Bit-Microcontroller. Vor allem die 4-Bit-Controller finden ebenso häufig Verwendung, da ihre Herstellungskosten sehr gering sind und sie für einfache Aufgaben wie zum Beispiel Uhren vollkommen ausreichend sind. Die 8- und 16-bit-Microcontroller werden zunehmende von den 32-Bit-Controllern verdrängt, da zwischen ihnen kein großartiger Unterschied im Aufwand der Fertigung besteht. Jedoch ist Leistung der 32-Bit-Controller erheblich größer als die der kleineren Varianten.

Programmierung von Microcontrollern

Ein Großteil der neu entwickelten Microcontroller eignet sich für eine Programmierung. Verwendete Sprachen sind dabei unter anderem Assembler, C, C++, BASIC und Pascal. Abhängig von der verwendeten Architektur, dem Anwendungsziel und den –anforderungen können für den entsprechenden Fall nur bestimmte Programmiersprachen verwendet werden. So wird für die 4-Bit-Architektur ausschließlich Assembler genutzt. Das liegt daran, dass nur die wenigsten Compiler in der Lage dazu sind, die knappen Ressourcen dieser Controller effektiv nutzen zu können. Auch bei 8-Bit-Architekturen wird hauptsächlich Assembler genutzt. Lediglich bei Projekten, die weniger Ressourcen in Anspruch nehmen oder in kleineren Stückzahlen produziert werden, werden Hochsprachen wie C, C++ und Pascal genutzt. Das trifft bei 16- und 32-Bit-Architekturen zu.

Die Verwendung von Hochsprachen

C ist die am häufigsten genutzte Hochsprache für die Programmierung von Microcontrollern. Das liegt daran, da mit dieser Sprache eine hardwarenahe Programmierung möglich ist. Andere Hochsprachen haben in der allgemeinen Systemprogrammierung der Microcontroller relativ wenig Bedeutung. Einzig die Sprache Ada wird primär für militärische Anwendungen genutzt. Des Weiteren findet sie Verwendung in anderen sicherheitskritischen Bereichen, in denen eine hohe Anforderung an das Laufzeitverhalten und die Sicherheit der Software gestellt wird.

Die Besonderheit der Hochspracheninterpreter

Einige Microcontroller besitzen einen Hochspracheninterpreter in ihrem Chip. Ein Beispiel für solch einen Baustein ist der Derivat 8052. Der Vorteil dieser Konstruktion ist, dass somit ein beliebiger Rechner mit einer seriellen Schnittstelle genügt, auf dem ein Terminalprogramm für die Programmierung vorhanden ist. Somit können Kosten gespart werden und die Arbeit wird vereinfacht, da kein separater Hochsprachencompiler von Nöten ist.