|
Die Firma
Atmel
hat unter der Bezeichnung AVR eine ganze
Reihe
von 8-Bit
RISC-Mikroprozessoren herausgebracht. Diese sind relativ preisweit und
recht leistungsstark, so daß sie auch gerne für "private Basteleien"
genutzt werden. Bei den hier genannten ct-Hardwareprojekten kommen
ebenfalls AVRs zum Einsatz.
Natürlich stellen auch andere Firmen preiswerte und leistungsfähige
Mikroprozessoren her, beispielsweise die Firma
Microchip
mit der PICmicro-Familie.
Ein derartiger Mikroprozessor beinhaltet normalerweise eine Menge an
integrierter Komponenten:
- Hauptspeicher (RAM)
- (nichtflüchtiger) Programmspeicher (Flash, s.u.)
- Nichtflüchtiger Speicher für Daten (EEPROM)
- Ein- und Ausgabeports
- Analog/Digitalkonverter
- Serielle Schnittstellen
- PWN-Generatoren (Pulsweitenmodulation, z.B. zur Motoranstuerung)
- weitere Peripherie
AVRs verwenden die Harvard-Architektur, bei der insbesondere Befehlsspeicher
vom Datenspeicher getrennt ist. Dies hat den Vorteil, daß Befehlsfolgen und
Daten gleichzeitig geladen werden können. Dies bedeutet aber auch, daß man
diese Bereiche nicht mischen kann, um ganz besonders "pfiffige"
Programmvarianten zu schreiben.
Ein RISC-Prozessor besitzt einen relativ eingeschränkten Befehlssatz, den er
aber mit hoher Geschwindigkeit ausführen kann. Brauchen
Nicht-RISC-Prozessoren für das Ausführen diverser Befehle möglicherweise
mehrere Takte, kann ein RISC-Prozessor zumindest die meisten seiner
Befehle in einem Takt ausführen.
AVRs können mit dem "AVR Studio" in Assembler programmiert werden. Aber
auch im Bereich der Mikroprozessoren hat C inzwischen Einzug erhalten,
zumal für diese Hochsprache Optimierungen im Chipdesign durchgeführt
wurden. Der
gcc
kann AVR-Code erzeugen (sofern mit de rentsprechenden Option
übersetzt). Unter Windows
kann man sich das
WinAVR-Paket
installieren, in dem Compiler, Tools und Bibliotheken enthalten sind.
Unter Linux kann man diese Bibliotheken unter
downloaden.
AVRs sind mit einem ISP (in system programmer) im eingebauten Zustand
programmierbar. Es gibt dazu eine ganze Reihe von unterschiedlich teuren
Programmieradaptern, z.B. den Selbstbauadapter "BlueMP3-ISP" aus dem
Klangcomputer-Projekt
der ct für ein paar Euro bis hin zum deutlich teureren
an USB anzuschließenden AVRISPMKII von Atmel selbst (siehe Bild rechts).
Um tiefer in die Prozessorprogammierung einzusteigen, bieten sich
(allerdings nicht ganz preiswerte) "evaluation kits" wie das STK500
an. Dieses Board bietet Sockel für fast alle AVR-Typen. Die einzelnen
Ports sind zu Steckplätzen herausgeführt, um dort ggf. Peripherie
anzuschließen. Für Basistests sind bereits 8 LEDs und 8 Taster
auf dem Board integriert. Das STK500 bietet natürlich auch einen
eingebauten "programmer".
Hier mal ein Blick auf das inzwischen veraltete Board STK200. Obwohl vom
Grundprinzip ähnlich, kann man ihm doch ansehen, daß es etliche Jahre
auf dem Buckel hat.
Wer etwas Handfesteres als Einstieg nutzen will, kann sich einmal die
"RN-Control"-Boards, wie sie unter
beschrieben sind, anschauen. Dabei handelt es sich um eine Art
Produktfamilie, d.h es gibt nicht nur Prozessorboards, sondern auch
anschließbare Borads mit Tastatur, LCD, Motortreiber und ähnlichem. Zudem
haben bereits die Prozessorboards ein klein wenig mehr eingebaute Peripherie
(z.B. einen Motortreiber) als das STK500 (aber es passen natürlich auch nur
2 oder 3 Prozessortypen darauf). Interessant für eigene Experimente
sind hier eben die Kombinationsmöglichkeiten durch verschiedene
Boardtypen. Zudem findet man im Forum des Roboternetzes auch immer Leute,
die einem bei (vernünftigen) Fragen weiterhelfen können.
©2020 Holger Thiele
generiert aus "avr.template" vom 06 04 2007
|