Mikrocontroller

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[Bearbeiten]

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?[Bearbeiten]

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

Welchen Mikrocontroller soll ich verwenden?[Bearbeiten]

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[Bearbeiten]

  • 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[Bearbeiten]