Mikrocontroller: Unterschied zwischen den Versionen
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 | 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. | ||
== 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) | ||
* 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 | * 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
- 1 Bit
- MC14500B (Motorola, historisch!)
- 8 Bit
- MicroConverter® (Analog Devices)
- AVR (Atmel)
- PIC (Microchip)
- 8048 (Intel)
- 8051 (Intel, versch. Hersteller)
- H8 (Renesas, früher Hitachi)
- 68HC05 (Freescale, früher Motorola)
- 68HC08 (Freescale, früher Motorola)
- 68HC11 (Freescale, früher Motorola)
- ST62 (SGS-Thomson)
- 78K0S (NEC)
- Z8 (Zilog)
- PSoC (Cypress)
- 16 Bit