Spis treści:
AVR-Mikrocontroller erfreuen sich großer Beliebtheit. Außerdem wird ein Programmierer benötigt, um den Betrieb einzustellen.
Was ist ein Programmierer?
Der Begriff “Programmierer” bezieht sich auf alle Geräte, deren Aufgabe es ist, elektronische Schaltungen zu programmieren. Es handelt sich dabei um einen Vorgang, der durch das Hochladen von Codes in den Speicher eines Mikrocontrollers erfolgt – je nach gewählter Hardware kann dies zum Beispiel ein Flash-Speicher, EPROM oder EEPROM sein. Der Eingangscode wird meist mit einem PC erstellt, oft auch mit speziellen Entwicklungsumgebungen, die den gesamten Prozess erleichtern. Der USB-Standard wird derzeit am häufigsten als Schnittstelle für die Datenübertragung verwendet, was vor allem auf seine Vielseitigkeit und Beliebtheit zurückzuführen ist. Manchmal gibt es auch alternative, meist ältere Lösungen, wie z. B. RS-232 und serielle Schnittstellen.
Wie funktioniert der Programmierer?
Die Hauptaufgabe des Programmierers besteht darin, den Code in Textform in Anweisungen umzuwandeln, die der Mikrocontroller verstehen kann. Doch wie genau läuft dieser Prozess ab? Die Hauptrolle spielt dabei der Programmieralgorithmus, der je nach Typ und Architektur des Zielprozessors variieren kann. Aus diesem Grund sind verschiedene Varianten von Programmiergeräten auf dem Markt erhältlich – darunter Geräte, die für die Verwendung mit AVR-, ATmega- oder JTAG-Chips konzipiert sind. Einige Modelle sind universell einsetzbar und ermöglichen die Programmierung verschiedener Prozessoren. Doch zurück zu den Programmieralgorithmen – ihre Ausführung basiert auf der Umwandlung von Daten in hexadezimale Werte. Auf diese Weise vorbereitete Informationen können direkt in den Speicher des Mikrocontrollers geladen und dann vom Prozessor gelesen und ausgeführt werden.
AVR-Mikrocontroller
Bevor wir uns mit Informationen über AVR-Programmiergeräte befassen, lohnt es sich, einen Blick auf die Mikrocontroller dieser Familie selbst zu werfen. Es handelt sich dabei um Schaltungen, die sich durch ihre eher bescheidenen Fähigkeiten und ihr einfaches Design auszeichnen, aber einen festen Platz in der Welt der Elektronik einnehmen. Ihre Beliebtheit ist unter anderem auf ihre niedrigen Preise zurückzuführen, die sie zu einer großartigen Lösung für Berufseinsteiger machen. Sie eignen sich auch sehr gut für die Prüfung kleiner Projekte. AVR-Chips wurden zunächst von Atmel und später von Microchip entwickelt, die auch PIC- und dsPIC-Mikrocontroller herstellen. Der Datenbus der AVR-Mikrocontroller ist 8-Bit, was ihre Möglichkeiten etwas einschränkt – für einfache Anwendungen ist diese Konfiguration jedoch völlig ausreichend.
Obwohl die AVR-Mikrocontroller allmählich an Popularität zugunsten fortschrittlicherer Lösungen verlieren, werden sie auch von anderen Plattformen verwendet. Das bekannteste Beispiel ist Arduino – die Chips dieser Serie verwenden u. a. die Mikrocontroller tinyAVR und megaAVR. Es ist jedoch nicht notwendig, ein Programmiergerät zu verwenden, um Anweisungen in den Speicher des Arduino zu laden. Die Plattform verfügt über einen eingebauten Lader, mit dem das Programm direkt vom Computer über einen USB-Anschluss hochgeladen werden kann. Aufgrund der begrenzten Speicherkapazität wird eine solche Lösung jedoch nicht in kleineren Mikrocontrollern verwendet. Das Ladeprogramm selbst nimmt in der Regel etwa 2 Kilobyte in Anspruch, was bei sehr begrenztem Speicherplatz ein ziemliches Hindernis sein kann.
Wie funktioniert der AVR-Programmierer?
Wir haben bereits das allgemeine Prinzip eines AVR-Programmiergeräts behandelt – es lohnt sich, die Funktionsweise eines solchen Geräts etwas genauer zu betrachten. Das Hauptproblem sind hier die SPI-Leitungen, die serielle Schnittstelle, die von AVR-Mikrocontrollern verwendet wird. Es gibt vier Leitungen, die jeweils für eine andere Aufgabe zuständig sind:
- SCK – synchronisiert die Datenübertragung über ein Taktsignal;
- MOSI – überträgt Daten vom Programmiergerät an den Mikrocontroller;
- MISO – überträgt Daten in umgekehrter Richtung: vom Mikrocontroller zum Programmiergerät;
- RESET – Leitung, mit der der Mikrocontroller in den Programmiermodus versetzt wird.
Sowohl MOSI als auch MISO arbeiten nach dem von der SCK-Leitung vorgegebenen Takt. Die Programmierung hingegen ist nur möglich, wenn sich die RESET-Leitung im Low-Zustand befindet. Je nach Mikrocontrollermodell können sich die Anschlüsse für die angegebenen Leitungen an unterschiedlichen Stellen befinden. Aus diesem Grund sollten die Spezifikationen des betreffenden Produkts vor dem Anschluss des Programmiergeräts sorgfältig geprüft werden. Der Anschluss des Programmiergeräts an den Mikrocontroller kann u.a. über KANDA-Stecker erfolgen, die es in zwei Varianten gibt – mit 6 oder 10 Pins. Eine andere Möglichkeit besteht darin, einfach eine Standardkontaktplatte und entsprechend verlegte Leitungen anzuschließen. Um diese Aufgabe zu erleichtern, kann ein so genannter ZIF-Sockel verwendet werden – eine zusätzliche Komponente, um den Mikrocontroller bequemer anzuschließen.
Wie benutzt man den AVR Programmer?
Neben der reinen Verbindung und dem Datentransfer zwischen dem AVR Programmer und dem Mikrocontroller muss auch auf die Verwendung der entsprechenden Software geachtet werden. Vor allem muss der Computer, an den das Programmiergerät angeschlossen ist, über Treiber verfügen, die die Hardware unterstützen. Derzeit sind sie häufig in Geräten enthalten oder in Mikrocontroller-Entwicklungsumgebungen integriert. Wenn Sie jedoch keinen Zugang zu einem Controller haben, müssen Sie im Internet nach einer geeigneten Datei suchen, wobei Sie sicherstellen müssen, dass Sie die richtige Lösung für Ihr spezifisches Mikrocontroller-Modell wählen. Auch ein Programm zur Änderung des Codes und zur Straffung des Verfahrens zur Einreichung des Codes ist nützlich – einige der beliebtesten Optionen sind. AVRdude, embedXcode, BitBurner und AVR8 Burn-O-Mat.
Merkmale und Schlüsselelemente der AVR-Programmer-Spezifikationen
Ein Standard-AVR-Programmiergerät ermöglicht das Schreiben von Daten in EEPROM- oder Flash-Speicher – achten Sie bei der Auswahl eines bestimmten Produkts auf den vom Mikrocontroller verwendeten Speichertyp. In den meisten Fällen können wir auch auf die Funktion des Speicherauslesens zurückgreifen. Die verschiedenen Lösungen können sich unter anderem in der Datenübertragungsgeschwindigkeit unterscheiden – die vom AVR unterstützte maximale serielle Übertragungsrate beträgt 5 kB/s. Die Unterstützung verschiedener Betriebssysteme ist ebenfalls wichtig: Viele der verfügbaren Produkte arbeiten nahtlos mit Windows sowie Linux und macOS zusammen, einige sind jedoch plattformspezifisch. Der letzte Faktor bei der Auswahl, der oft am wichtigsten ist, ist die Kompatibilität mit dem betreffenden Mikrocontroller-Modell.
Wie hilfreich war dieser Beitrag?
Klicke auf die Sterne um zu bewerten!
Durchschnittliche Bewertung 3.3 / 5. Stimmenzahl: 3
Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.