Mikrocontroller: Unterschied zwischen den Versionen

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche
KKeine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
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.
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 [[Digitaltechnik|Bit]] (= 1 [[Digitaltechnik|Byte]]) darstellbare Zahl ist die 255, somit kann ein 8bit-Mikrocontroller z.B. in einem [[Addition]]sbefehl 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.
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 [[Digitaltechnik|Bit]] (= 1 [[Digitaltechnik|Byte]]) darstellbare Zahl ist die 255, somit kann ein 8 Bit-Mikrocontroller z.B. in einem [[Addition]]sbefehl 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, wie jeder andere Prozessor auch, zum Betrieb im Allgemeinen 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 32-"Bittern". 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 viele Befehle nur einen Zyklus braucht, schafft dagegen fast 8 Mio. Befehle pro Sekunde.
Ein Mikrocontroller braucht, wie jeder andere Prozessor auch, zum Betrieb im Allgemeinen 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 32-"Bittern". 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 viele Befehle nur einen Zyklus braucht, schafft dagegen fast 8 Mio. Befehle pro Sekunde.
(Trotzdem erreichen moderne 8051-Derivate teilweise 50 MIPS und auch mehr! -  Siehe Dallas 80C420)


== Wozu ist ein Mikrocontroller gut? ==
== Wozu ist ein Mikrocontroller gut? ==
Zeile 15: Zeile 14:
* Motorsteuerungen (z.B. [[Schrittmotor-Controller (Stepper)]])
* Motorsteuerungen (z.B. [[Schrittmotor-Controller (Stepper)]])
* Roboter
* Roboter
* Me�?werterfassung (z.B. Drehzahlmessung im Auto)
* Meßwerterfassung (z.B. Drehzahlmessung im Auto)
* Temperaturregelung
* Temperaturregelung
* [[MP3]]- und DVD-Player
* [[MP3]]- und DVD-Player
Zeile 26: Zeile 25:


* gute Beschaffbarkeit
* gute Beschaffbarkeit
* niedriger Preis spielt bei den kleinen Stückzahlen keine so gro�?e Rolle
* 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
* 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
* [[Flash-ROM]]: der Controller sollte mindestens 1000 mal neu programmiert werden können

Version vom 26. November 2006, 14:14 Uhr

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 8 Bit-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, wie jeder andere Prozessor auch, zum Betrieb im Allgemeinen 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 32-"Bittern". 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 viele Befehle nur einen Zyklus braucht, schafft dagegen fast 8 Mio. Befehle pro Sekunde.

Wozu ist ein Mikrocontroller gut?

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

  • Ladegeräte
  • Motorsteuerungen (z.B. Schrittmotor-Controller (Stepper))
  • Roboter
  • Meßwerterfassung (z.B. Drehzahlmessung im Auto)
  • Temperaturregelung
  • MP3- und DVD-Player
  • Schaltuhren
  • ...

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.

verbreitete Mikrocontrollerfamilien

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