Mikrocontroller

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

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

Mikrocontroller werden häufig zuerst an der Bit-Zahl des internen Datenbusses unterschieden: 4/8/16 oder 32 Bit. 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 8 Bit-Mikrocontroller z. B. in einem Additionsbefehl immer nur Zahlen bis 255 verarbeiten. Zur Bearbeitung von größeren Zahlen werden dann mehrere Befehle hintereinander benötigt, was natürlich länger dauert.

Taktung

Ein Mikrocontroller braucht, wie jeder andere Prozessor auch, zum Betrieb einen Takt. Dieser kann extern zugeführt werden (Taktgenerator, Quarzoszillator), mittels externem Quarz erzeugt, oder von einem internen Taktgeber (RC-Oszillator) abgeleitet werden. Die maximale Frequenz mit der ein Controller betrieben werden kann reicht von 1 MHz bei alten Controllern bis über 100 MHz bei großen 32-"Bittern". Diese Taktfrequenz sagt jedoch noch nicht viel über die tatsächliche Geschwindigkeit eines Prozessors aus. So wird z. B. bei den meisten alten 8051-Controllern die Frequenz intern durch 12 geteilt (Maschinentakt), 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 Millionen Befehle pro Sekunde übrig. Ein AVR, der ungeteilt mit 8MHz arbeitet und für viele der Befehle nur einen Zyklus braucht, schafft dagegen fast 8 Millionen Befehle pro Sekunde. Neue 8051 Typen verarbeiten ebenfalls einen Befehl in einem Taktzyklus und sind erhältlich bis 100 MHz.

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
  • niedriger Preis spielt bei den kleinen Stückzahlen keine so große Rolle
  • handliche Bauform: ein Controller mit 20 Pins ist leichter handzuhaben 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 sowie STM32 für Einsteiger

Verbreitete Mikrocontrollerfamilien

  • 8 Bit
    • MicroConverter® (Analog Devices)
    • AVR (Atmel)
    • PIC (Microchip)
    • 8048 (Intel)
    • 8051 (Intel, versch. Hersteller)
    • H8 (Renesas, früher Hitachi)
    • 68HC05 (NXP, früher Freescale, früher Motorola)
    • 68HC08 (NXP, früher Freescale, früher Motorola)
    • 68HC11 (NXP, früher Freescale, früher Motorola)
    • ST62 (SGS-Thomson)
    • 78K0S (NEC)
    • Z8 (Zilog)
    • PSoC (Cypress)
  • 16 Bit
    • C16x (Infineon)
    • M16C (Renesas, früher Mitsubishi)
    • R8C (Renesas)
    • H8 (Renesas, früher Hitachi)
    • 68HC12 (NXP, früher Freescale, früher Motorola)
    • 68HC16 (NXP, früher Freescale, früher Motorola)
    • dsPIC (Microchip)
    • PIC24 (Microchip)
    • MSP430 (Texas Instruments)
    • ZNEO (Zilog)

Links