Atmel AVR 8-Bit RISC Mikroprozessor

Hauptseite
Beruf
Spiele
Geschichten
Zitate
HP48
ct-Bot
(ct-)Hardware
Allgemeines
ct COM auf LAN
ct Netzschalter
AVR RISC-Prozessor
MP3-Wetterstation
LED-Tafel
LED-Licht
Nixie-Uhr
Nanoleaf Lichtpanel
Diverses
Rechenmaschine AE13
Grundgesetz
Jargon Lexikon
Holgi on Tour
Bilder
Rückmeldung?
Impressum
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.

[MKII] 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).
[STK500] 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".
[STK200] 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. AVR 8-Bit RISC Mikroprozessor Allgemeines ct COM auf LAN


©2020 Holger Thiele
generiert aus "avr.template" vom 06 04 2007
Valid HTML 4.01!