Mikrocontroller

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Was ist ein Mikrocontroller?

Ein Mikrocontroller ist ein Prozessor. Der Unterschied zu PC-Prozessoren besteht darin, dass bei einem Mikrocontroller Speicher, Digital- und Analog- Ein- und Ausgänge usw. meist auf einem einzigen Chip integriert sind, so dass eine Mikrocontroller-Anwendung oft mit ein paar wenigen Bauteilen auskommt.

Mikrocontroller werden als erstes an der Bit-Zahl des internen Datenbusses unterschieden: 4bit, 8bit, 16bit und 32bit. Diese Bit-Zahl kann man als die Länge der Daten interpretieren, die der Controller in einem Befehl verarbeiten kann. Die größte in 8 Bit (=1 Byte) darstellbare Zahl ist die 255, somit kann ein 8bit-Mikrocontroller z.B. in einem Additionsbefehl immer nur Zahlen kleiner als 256 verarbeiten. Zur Bearbeitung von größeren Zahlen werden dann mehrere Befehle hintereinander benötigt, was natürlich länger dauert.

Ein Mikrocontroller braucht zum Betrieb, wie jeder andere Prozessor auch, eine extern eingespeiste Taktfrequenz. Die maximale Frequenz mit der ein Controller betrieben werden kann, reicht von 1 MHz bei alten Controllern bis hin zu über 100 MHz bei teuren 32bittern. Diese Taktfrequenz sagt jedoch noch nichts über die tatsächliche Geschwindigkeit eines Prozessors aus. So wird z.B. bei den meisten 8051-Controllern die Frequenz intern durch 12 geteilt, ein mit 24 MHz getakteter 8051 arbeitet also eigentlich nur mit 2 MHz. Benötigt dieser dann für einen Befehl durchschnittlich 2 Taktzyklen, so bleiben "nur" noch 1 Mio. Befehle pro Sekunde übrig - ein AVR, der ungeteilt mit 8MHz arbeitet und für die meisten Befehle nur einen Zyklus braucht, schafft dagegen fast 8 Mio. Befehle pro Sekunde. (Moderne 8051-Derivate erreichen teilweise 50MIPS und mehr... Siehe Dallas 80C420)

Wozu ist ein Mikrocontroller gut?

Hier ein paar Beispiele, für welche Aufgaben Mikrocontroller verwendet werden (können):

Welchen Mikrocontroller soll ich verwenden?

Ein Mikrocontroller für Hobbyanwender sollte idealerweise folgende Voraussetzungen erfüllen:

  • gute Beschaffbarkeit und niedriger Preis
  • handliche Bauform: ein Controller mit 20 Pins ist leichter zu handhaben als einer mit 128
  • Flash-ROM: der Controller sollte mindestens 1000 mal neu programmiert werden können
  • In-System-Programmierbarkeit (ISP): man benötigt kein teures Programmiergerät und muss den Controller zur Programmierung nicht aus der Schaltung entfernen
  • kostenlose Software verfügbar: Assembler bekommt man praktisch immer kostenlos vom Hersteller des Controllers, C-Compiler seltener

Eine ausführliche Beschreibung der Entscheidungskriterien gibt es auf der Seite Entscheidung Mikrocontroller.

verbreitete Mikrocontrollerfamilien

  • 16 Bit
    • C16x (Infineon)
    • M16C (Renesas, früher Mitsubishi)
    • H8 (Renesas, früher Hitachi)
    • 68HC12 (Freescale, früher Motorola)
    • 68HC16 (Freescale, früher Motorola)
    • dsPIC (Microchip)
    • MSP430 (Texas Instruments)