Miniatur-USB-Programmierer für AVR-Mikrocontroller. Selbstassemblierung des AVRProg-Programmierers. Systeminterne Programmierschnittstelle ISP

So wie ein Theater mit einem Kleiderbügel beginnt, so beginnt die Programmierung von Mikrocontrollern mit der Auswahl eines guten Programmierers. Da ich anfange, Mikrocontroller von ATMEL zu beherrschen, musste ich mich gründlich mit dem Angebot der Hersteller vertraut machen. Sie bieten viel Interessantes und Leckeres, allerdings zu überhöhten Preisen. Beispielsweise kostet ein Schal mit einem zwanzigbeinigen Mikrocontroller mit einem Paar Widerständen und Dioden als Kabelbaum wie ein „Flugzeug“. Daher stellte sich die Frage der Selbstorganisation des Programmierers. Nach einer langen Untersuchung der Entwicklungen erfahrener Funkamateure wurde beschlossen, einen bewährten USBASP-Programmierer zusammenzustellen, dessen Gehirn der Atmega8-Mikrocontroller ist (es gibt auch Firmware-Optionen für atmega88 und atmega48). Durch die minimale Verkabelung des Mikrocontrollers können Sie einen relativ kleinen Programmierer zusammenstellen, den Sie wie ein Flash-Laufwerk immer dabei haben können.

Der Autor dieses Programmierers ist der Deutsche Thomas Fichl, seine Entwicklungsseite mit Diagrammen, Leiterplattendateien und Treibern.
Nachdem beschlossen wurde, einen Miniaturprogrammierer zusammenzubauen, habe ich die Schaltung für den Atmega8-Mikrocontroller im TQFP32-Paket neu gezeichnet (die Pinbelegung des Mikrocontrollers unterscheidet sich von der Pinbelegung im DIP-Paket):

Jumper J1 wird verwendet, wenn ein Mikrocontroller mit einer Taktfrequenz unter 1,5 MHz geflasht werden muss. Dieser Springer kann übrigens ganz eliminiert werden, indem man das 25. Bein des MK auf den Boden legt. Dann arbeitet der Programmierer immer mit einer reduzierten Frequenz. Persönlich ist mir aufgefallen, dass das Programmieren mit reduzierter Geschwindigkeit einen Bruchteil einer Sekunde länger dauert, und deshalb ziehe ich jetzt nicht den Pullover, sondern nähe ständig damit.
Die Zenerdioden D1 und D2 werden verwendet, um die Pegel zwischen dem Programmiergerät und dem USB-Bus anzupassen; es funktioniert auch ohne sie, jedoch nicht auf allen Computern.
Die blaue LED zeigt an, dass die Schaltung zum Programmieren bereit ist; die rote LED leuchtet während der Programmierung. Die Programmierkontakte befinden sich am IDC-06-Stecker, die Pinbelegung entspricht dem ATMEL-Standard für einen 6-poligen ISP-Stecker:

Dieser Anschluss enthält Kontakte zur Stromversorgung programmierbarer Geräte; hier wird er direkt vom USB-Anschluss des Computers entnommen, daher müssen Sie vorsichtig sein und Kurzschlüsse vermeiden. Derselbe Anschluss wird auch zum Programmieren des Steuermikrocontrollers verwendet. Dazu müssen lediglich die Reset-Pins am Anschluss und am Mikrocontroller verbunden werden (siehe die rote gepunktete Linie im Diagramm). In der Schaltung des Autors geschieht dies mit einem Jumper, aber ich habe die Platine nicht überladen und entfernt. Für eine einzelne Firmware reicht eine einfache Drahtbrücke aus. Es stellte sich heraus, dass die Platte doppelseitig war und die Maße 45 x 18 mm hatte.

Der Programmieranschluss und ein Jumper zur Reduzierung der Geschwindigkeit des Programmiergeräts befinden sich am Ende des Geräts, was sehr praktisch ist

Firmware des Steuermikrocontrollers
Nach dem Zusammenbau des Geräts bleibt also nur noch das Flashen des Steuermikrocontrollers. Freunde, die noch Computer mit LPT-Anschluss haben, sind für diese Zwecke gut geeignet :) Der einfachste Fünf-Draht-Programmierer für AVR
Der Mikrocontroller kann über den Programmieranschluss geflasht werden, indem die Reset-Pins des Mikrocontrollers (29 Bein) und der Stecker verbunden werden. Firmware gibt es für die Modelle Atmega48, Atmega8 und Atmega88. Es empfiehlt sich, einen der letzten beiden Steine ​​zu verwenden, da der Support für die Atmega48-Version eingestellt wurde und die neueste Firmware-Version aus dem Jahr 2009 stammt. Und Versionen für den 8. und 88. Stein werden ständig aktualisiert, und der Autor scheint zu planen, die Funktionalität um einen In-Circuit-Debugger zu erweitern. Die Firmware beziehen wir von der deutschen Seite. Um das Steuerprogramm auf den Mikrocontroller hochzuladen, habe ich das Programm PonyProg verwendet. Beim Programmieren ist es notwendig, den Quarz so einzustellen, dass er von einer externen Taktquelle mit 12 MHz arbeitet. Screenshot des Programms mit Sicherungs-Jumper-Einstellungen in PonyProg:

Nach dem Flashen der Firmware sollte die an Bein 23 des Mikrocontrollers angeschlossene LED aufleuchten. Dies ist ein sicheres Zeichen dafür, dass das Programmiergerät erfolgreich programmiert wurde und einsatzbereit ist.

Treiberinstallation
Die Installation wurde auf einer Maschine mit Windows 7 durchgeführt und es traten keine Probleme auf. Wenn Sie zum ersten Mal eine Verbindung zu Ihrem Computer herstellen, wird eine Meldung angezeigt, dass ein neues Gerät erkannt wurde, und Sie werden aufgefordert, einen Treiber zu installieren. Wählen Sie die Installation am angegebenen Speicherort aus:

Es erscheint sofort ein Fenster mit der Warnung, dass der zu installierende Treiber keine digitale Signatur für kleine Soft-Treiber hat:

Wir ignorieren die Warnung und setzen die Installation fort. Nach einer kurzen Pause erscheint ein Fenster, das uns darüber informiert, dass die Treiberinstallation erfolgreich abgeschlossen wurde

Das war's, der Programmierer ist jetzt einsatzbereit.

Khazama AVR-Programmierer
Um mit dem Programmierer zu arbeiten, habe ich mich für den Khazama AVR Programmer Flasher entschieden. Ein wunderbares Programm mit einer minimalistischen Oberfläche.

Es funktioniert mit allen gängigen AVR-Mikrocontrollern, ermöglicht das Flashen von Flash und EEPROM, das Anzeigen des Speicherinhalts, das Löschen des Chips und das Ändern der Konfiguration der Sicherungsbits. Im Allgemeinen ein völlig Standard-Set. Die Sicherungseinstellung erfolgt durch Auswahl der Taktquelle aus der Dropdown-Liste, wodurch die Wahrscheinlichkeit einer versehentlichen Blockierung des Quarzes stark reduziert wird. Sicherungen können auch durch das Platzieren von Kontrollkästchen im unteren Feld geändert werden. Sie können jedoch keine Kontrollkästchen auf eine nicht vorhandene Konfiguration setzen, was auch in Bezug auf die Sicherheit ein großes Plus darstellt.

Sicherungen werden, wie Sie sich vielleicht vorstellen können, durch Drücken der Schaltfläche „Alle schreiben“ in den MK-Speicher geschrieben. Die Schaltfläche „Speichern“ speichert die aktuelle Konfiguration und die Schaltfläche „Laden“ gibt die gespeicherte zurück. Allerdings konnte ich mir keinen praktischen Nutzen für diese Tasten vorstellen. Die Schaltfläche „Standard“ dient zum Aufzeichnen der Standard-Sicherungskonfiguration, mit der Mikrocontroller ab Werk geliefert werden (normalerweise 1 MHz vom internen RC).
Im Allgemeinen hat sich dieser Programmierer während der gesamten Zeit, in der ich ihn verwende, als der Beste in Bezug auf Stabilität und Betriebsgeschwindigkeit erwiesen. Es funktionierte sowohl auf einem alten Desktop-PC als auch auf einem neuen Laptop problemlos.

Sie können die PCB-Datei in SprintLayout herunterladen mit

Ein kleines Programm, das zum schnellen Flashen von Atmel AVR-Mikrocontrollern erstellt wurde.

Die Khazama AVR Programmer-Anwendung verfügt über eine einfache und praktische minimalistische Fensteroberfläche. Dieser Programmierer ist eine grafische Shell für das Avrdude-Programm und eignet sich perfekt für Anfängerentwickler. Derzeit unterstützt Khazama AVR Programmer etwa achtzig Modelle von AVR-Mikrocontrollern der Familien ATmega, ATxmega, ATtiny und AT90. Der Programmierer verfügt über einen minimalen Funktionsumfang, zeichnet sich aber durch seine Schnelligkeit und Stabilität aus. Mit der Software können Sie: gespeicherte Hex-Dateien der Firmware für EEPROM und FLASH-Speicher in den Puffer laden, Hex-Dateien in EEPROM und FLASH-Speicher des Mikrocontrollers schreiben, den Inhalt von EEPROM und FLASH-Speicher des Chips anzeigen, den Controller-Speicher löschen, Ändern Sie die Konfiguration der FUSE- und LOCK-Bits und führen Sie eine Überprüfung des EEPROM- und FLASH-Speichers durch. Alle Vorgänge können entweder über das Menü oder über Schaltflächen in der Symbolleiste ausgeführt werden, deren Aussehen von ähnlichen Schaltflächen in der Software übernommen wird.

Unter anderen Funktionen des Khazama AVR Programmer-Programms ist es erwähnenswert: das Vorhandensein von Kontexthinweisen und Tastenkombinationen, die Möglichkeit, diese Anwendung über allen anderen Fenstern zu installieren, das Vorhandensein eines Viewers für EEPROM- und FLASH-Hex-Dateien (ohne Bearbeitung), Visualisierung und Dekodierung der Werte von Mikrocontroller-Konfigurationsbits. Die anpassbare Schaltfläche „AutoProgramm“ startet eine Reihe von Vorgängen, die im Fenster „Programmoptionen“ festgelegt sind (standardmäßig wird der Chip gelöscht und in den FLASH-Speicher geschrieben). Der Khazama AVR-Programmierer funktioniert mit , TPI-Programmierung wird unterstützt. Die Programmiertaktfrequenz über die ISP-Schnittstelle ist im Bereich von 500 Hz bis 1,5 MHz eingestellt.

Das Verfahren zum Programmieren von FUSE-Bits erfordert kein Hantieren mit Hexadezimalwerten und besteht aus der Auswahl der erforderlichen Parameter aus Dropdown-Listen, wodurch die Wahrscheinlichkeit einer versehentlichen Sperrung von Mikrocontrollern verringert wird. FUSE-Bits können auch durch Ankreuzen der Kästchen im unteren Feld geändert werden. Gleichzeitig können Sie keine Kontrollkästchen für nicht vorhandene Konfigurationen aktivieren, was ebenfalls ein Plus an Sicherheit ist. Im FUSE-Bits-Programmierfenster gibt es Funktionen: Sicherungen in den Speicher des Controllers schreiben, die aktuelle Konfiguration in einem Puffer speichern, eine gespeicherte Konfiguration aus einem Puffer aufrufen, die Standard-FUSE-Bits-Konfiguration wiederherstellen, also die, mit der der Mikrocontroller geliefert wurde ab Werk. Die Khazama AVR Programmer-Anwendung funktioniert mit *.hex-Speicherauszugsdateien.

Der Antrag wurde von einem arabischen Programmierer namens Behzad Khazama (Iran, Provinz Razavi Khorasan, Stadt Sebzevar) geschrieben. Die neueste Version dieses Programmierers wurde Mitte 2011 veröffentlicht.

Das Programm wird nur auf Englisch präsentiert und verfügt nicht über eine russische Übersetzung.

Die Khazama AVR Programmer-Software wird von Betriebssystemen der Microsoft Windows-Familie unterstützt – XP, Vista, 7, 8 (32- und 64-Bit).

Programmverteilung: frei

USBASP-Programmierer – Gerät, Pinbelegung, Verbindung, Firmware

Heute schauen wir uns an, wie man jeden AVR-Mikrocontroller, der den seriellen Programmiermodus (ISP-Schnittstelle) unterstützt, kostengünstig und schnell über den USB-Anschluss eines Computers programmieren kann. Als Programmierer werden wir einen sehr einfachen und beliebten Programmierer verwenden USBASP, und als Programm - AVRdude_Prog V3.3, das zur Programmierung des AVR MK gedacht ist.

USBASP-Programmierer

Um einen Mikrocontroller zu programmieren, benötigen Sie zwei Dinge:
— Programmierer
— geeignete Software zur Datenaufzeichnung im MK
Einer der einfachsten, beliebtesten und kleinsten Programmierer für AVR ist USBASP-Programmierer, erstellt vom Deutschen Thomas Fischl.
Es gibt viele verschiedene Schaltungslösungen für diesen Programmierer; Sie können den Programmierer selbst zusammenbauen oder kaufen (kostet 2-3 Dollar). Bedenken Sie beim Selbstzusammenbau, dass der zusammengebaute Programmierer mit einem Programmierer eines Drittanbieters geflasht werden muss.

Wir werden uns die ausgefeilteste Version des Programmierers ansehen:


Eigenschaften des Programmierers:
- funktioniert mit verschiedenen Betriebssystemen - Linux, Mac OS, Windows (damit das Windows-Betriebssystem funktioniert, müssen Sie Treiber installieren, damit der Programmierer funktioniert - Archiv am Ende des Artikels)
— Programmiergeschwindigkeit bis zu (Sie können die Programmiergeschwindigkeit selbst festlegen, zum Beispiel in AVRDUDE_PROG) 375 (5) kb/s
- verfügt über eine 10-Pin-ISP-Schnittstelle (entspricht dem ICSP-Standard mit 10-Pin-Pinbelegung)
- unterstützt zwei Programmiergerät-Stromversorgungsspannungen – 5 V und 3,3 V (nicht alle PC-USB-Anschlüsse funktionieren mit 5 Volt).
— Stromversorgung über den USB-Anschluss des Computers, verfügt über einen integrierten Stromschutz (selbstrücksetzende 500-mA-Sicherung)

Zweck der Jumper:
JP1-Anschluss— zum Flashen des Mikrocontrollers des Programmiergeräts bestimmt (zum Flashen müssen Sie die Kontakte schließen)
JP2-Anschluss- Versorgungsspannung des Programmiergeräts – 5 Volt oder 3,3 Volt (Standard – 5 Volt, wie auf dem Foto). Ein programmierbarer Mikrocontroller bzw. die Struktur, in die er eingebaut ist, mit einer Stromaufnahme von 300-400 mA kann zu diesem Zweck vom Programmiergerät mit Strom versorgt werden, der Anschluss verfügt über einen +5V-Ausgang (VCC).
JP3-Anschluss- bestimmt die Taktfrequenz der SCK-Daten: offen – hohe Frequenz (375 kHz), geschlossen – niedrige Frequenz (8 kHz)
Mehr zum JP3-Anschluss
Jumper JP3 soll die Geschwindigkeit des Datenschreibens auf den Mikrocontroller reduzieren. Wenn die Taktfrequenz des Mikrocontrollers auf mehr als 1,5 MHz eingestellt ist, kann der Jumper geöffnet sein und die Programmiergeschwindigkeit ist hoch. Wenn die Taktfrequenz weniger als 1,5 MHz beträgt, müssen die Jumper-Pins kurzgeschlossen werden – reduzieren Sie die Programmiergeschwindigkeit, sonst ist eine Programmierung des Mikrocontrollers nicht möglich. Wenn wir beispielsweise den ATmega8-Mikrocontroller programmieren (im Prinzip sind fast alle AVR-Mikrocontroller für eine Standardtaktfrequenz von 1 MHz konfiguriert), der eine Standardtaktfrequenz von 1 MHz hat, müssen die Jumper-Pins geschlossen werden (wie Im Foto). Es ist wahrscheinlich besser, diesen Jumper dauerhaft geschlossen zu lassen, damit Sie seine Existenz vergessen und sich nicht mit der Frage quälen, warum der Mikrocontroller nicht blinkt.

Wenn Sie den auf der Website angegebenen verwenden, können Sie den Pullover vergessen

Der Programmierer wird von folgender Software unterstützt:
—AVRkumpel
— AVRdude_Prog
- Bascom-AVR
— Khazama AVR Prog
- eXtreme Burner AVR

Die Arbeit mit einem solchen Programmierer ist sehr einfach – entsprechende Pins des Programmierers mit dem Mikrocontroller verbinden, an den USB-Port des Computers anschließen – schon ist der Programmierer einsatzbereit.
Pinbelegung des 10-poligen USBASP-Programmierkabels :


1 – MOSI – Datenausgang für serielle Programmierung
2 – VCC – Ausgang +5 (+3,3) Volt zur Stromversorgung eines programmierbaren Mikrocontrollers oder einer programmierbaren Platine über den USB-Anschluss des Computers (maximaler Strom 200 mA – um den USB-Anschluss nicht zu beschädigen).
3 – NC – nicht verwendet
4 – GND – gemeinsamer Draht (minus Strom)
5 – RST – verbindet sich mit dem RESET-Pin des Mikrocontrollers
6 - Masse
7 – SCK – Datentaktausgang
8 - Masse
9 – MISO – Dateneingang für serielle Programmierung
10 - Masse

Treiber für den USBASP-Programmierer installieren

Die Installation des Treibers für den USBASB-Programmierer ist sehr einfach:
- Schließen Sie das Programmiergerät an den USB-Anschluss des Computers an. Im Gerätemanager wird ein neues „USBasp“-Gerät mit einem gelben Dreieck und einem Ausrufezeichen angezeigt. Dies bedeutet, dass keine Treiber installiert sind
- Laden Sie die Datei „USBasp-win-driver-x86-x64-ia64-v3.0.7“ herunter und entpacken Sie sie.
- Führen Sie die Datei „InstallDriver“ aus – Treiber für den Programmierer werden automatisch installiert
- Überprüfen Sie den Gerätemanager – das gelbe Dreieck sollte verschwinden (falls nicht, klicken Sie mit der rechten Maustaste auf das „USBasp“-Gerät und wählen Sie „Aktualisieren“
— Das Programmiergerät ist betriebsbereit

FUSE-Bits beim Programmieren von USBASP AVR:

Das Archiv „usbasp.2011-05-28“ enthält folgende Ordner:
= BIN:
- Win-Treiber - Treiber für den Programmierer
— Firmware — Firmware für Mikrocontroller Mega8, Mega88, Mega48
= Schaltung – Schaltplan eines einfachen Programmierers in PDF und Cadsoft Eagle

Beim Flashen eines chinesischen Programmierers empfehle ich die Installation des FUSE-Bits CKOPT. CKOPT bezieht sich auf die maximale Taktrate. Standardmäßig ist CKOPT zurückgesetzt und ein stabiler Betrieb des Programmier-Mikrocontrollers ist bei Verwendung eines Quarzresonators nur bis zu einer Frequenz von 8 MHz möglich (und der Programmier-Mikrocontroller arbeitet mit einer Frequenz von 12 MHz). Durch Setzen des CKOPT FUSE-Bits wird die maximale Frequenz auf 16 MHz erhöht. Die Chinesen berühren dieses FUSE-Bit nicht, was häufig zum Ausfall des Programmierers führt (normalerweise erkennt das System den Programmierer nicht).

Archiv „USBasp-win-driver-x86-x64-ia64-v3.0.7“ ist für die Installation von Treibern gedacht, wie im Artikel angegeben

(518,9 KiB, 13.188 Treffer)

(10,9 MiB, 24.942 Treffer)

Den im Artikel beschriebenen USBASP-Programmierer, geflasht mit der neuesten Version des Programms, im Betrieb getestet, mit installierten Jumpern und Jumpern, können Sie im Online-Shop MirMK-SHOP erwerben

Das Programm wurde auf die Version aktualisiert 08.06.2010.
Autor UniProf arbeitet unermüdlich daran, sein Programm zu verbessern und es noch besser zu machen. Programmversion von 08.06.2010 näht Mikrocontroller viel besser. Die in der Vorgängerversion häufig beobachteten Fehler beim Programmieren ohne die Checkbox „Bremse“ gehören der Vergangenheit an. Alles andere, was wir an UniProf lieben, bleibt bestehen.

Um ehrlich zu sein, habe ich mich zunächst dafür entschieden, das Programm AVRDUDE („Pipe“) zum Flashen von Mikrocontrollern zu verwenden. AVRDUDE ist ein leistungsstarkes Programm, das Respekt verdient – ​​es kann mit einer großen Anzahl von Programmierern mit einer Reihe von Einstellungen arbeiten und wird häufig für AVR-Mikrocontroller verwendet. Das Programm verfügt nicht über eine eigene „GUI“ (funktioniert über die Befehlszeile) und ich wollte Batch-Dateien für jede Firmware schreiben, um den Controller mit einem Klick zu flashen. Aber nach kurzem Nachdenken kam ich zu dem Schluss:
- Das Programm sollte einfach und zugänglich sein, damit es auch jemand verstehen kann, der noch nie mit Mikrocontrollern gearbeitet hat (naja, ich bin so ein Idealist :));
– war klein, tragbar, verfügte über eine eigene GUI, stellte alle Phasen der Programmierung visuell dar und unterstützte die im Blog verwendeten Mikrocontroller.
Leider erfüllt AVRDUDE diese Anforderungen nicht.
Aber ein anderes Programm ist geeignet - UniProf-universeller Programmierer für AVR. Das Programm hat gewisse Nachteile, die jedoch durch seine Einfachheit und Zugänglichkeit ausgeglichen werden. Darüber hinaus kann UniProf mit unseren LPT- und COM-Programmierern zusammenarbeiten. Aus diesem Grund habe ich beschlossen, eine allgemeine Nachbewertung des UniProf-Programms vorzunehmen und später die Programmierung über den LPT- und COM-Port separat zu beschreiben. Also …

Der Autor des Programms ist Mikhail Nikolaev. Das Programm hat eine ziemlich lange Geschichte, kann sich jedoch nicht mit häufigen Updates rühmen. Gleichzeitig ist das Programm so einfach und komfortabel, dass es auch vor dem Hintergrund fortgeschrittenerer Programme nicht an Relevanz verliert.

Beginnen wir mit dem Kennenlernen.
enthält alle Funktionen des Programms. Sie müssen nicht durch das Menü navigieren – alles ist mit einem Klick erledigt. Das Programm verfügt über eine eigene Hilfe (F1 drücken), in der alles ausführlich beschrieben ist. Die Benutzeroberfläche von UniProf ist intuitiv, aber lassen Sie uns die Fensterelemente durchgehen.
Das Hauptelement ist das PROGRAM-Fenster. Es zeigt (in den Tabellenzellen) die gelesenen oder geschriebenen Werte der Speicherzellen des Controllers an. Wenn Sie das Kontrollkästchen PROGRAMM deaktivieren, verschwindet das Fenster. Es gibt auch ein Kontrollkästchen für EEPROM, um das EEPROM-Fenster des Controller-Speichers anzuzeigen oder auszublenden (in den meisten Fällen benötigen wir kein EEPROM – deaktivieren Sie es).

Obere Tastenreihe (von links nach rechts)

Schreiben Sie den Inhalt der Fenster (Firmware) auf den Controller. Zuerst müssen Sie die Firmware aus der Datei in das Windows laden. (Wenn die Checkbox EEPROM aktiviert ist, wird auch der EEPROM-Bereich beschrieben).

Überprüfung (Verifizierung) des Controller-Speichers mit Werten in den Kästchen. Unterschiede sind durch Sternchen gekennzeichnet. (Nach der Aufnahme erfolgt die Verifizierung automatisch – es ist also keine Überprüfung erforderlich.)

Überprüfen Sie die Steuerung auf Sauberkeit. Bei einem „sauberen“ Controller enthalten alle Speicherzellen 0xFF, was überprüft wird.

FUSE-Bits setzen. Aktivieren Sie sorgfältig die Kästchen wie im Bild, das jeder Firmware beigefügt ist.
Wichtig! Bevor Sie die FUSE-Bits blinken lassen, aktivieren Sie unbedingt das Kontrollkästchen „Bremse“. Dadurch wird das Risiko einer fehlerhaften Aufzeichnung verringert.

Low-Level-Team. Fass es lieber nicht an.

Löschen Sie den Controller. Reinigen Sie den Kristall vor jeder Programmierung.

Die ersten drei Öffnen Sie die Firmware-Datei des entsprechenden Typs (ich werde HEX-Firmware posten) und die Fenster mit Werten aus der geöffneten Datei füllen. Die nächsten drei speichern unter Wählen Sie den ausgewählten Werttyp aus den Feldern aus.

„oscal“— Lesen der Controller-Kalibrierungsbytes. Brauchen wir nicht.

F1-Hilfe– Rufen Sie die integrierte Hilfe auf.

Die nächsten beiden Schaltflächen Debuggen im Controller- brauchen wir nicht.

LPT-Pins– eine sehr nützliche Sache für diejenigen, die bereits einige LPT-Portleitungen installiert haben oder einen Programmierer eines anderen Designs verwenden. Ermöglicht Ihnen, beliebige Portleitungen zuzuweisen, um durchgebrannte zu ersetzen.

Kontrollkästchen unter Schaltflächen.

Wir haben es wie auf dem Bild platziert. Das erste zeigt die gelesenen oder zum Schreiben in den Controller bereiten Bytes an. Die zweite dient zum erzwungenen Schreiben von 0xFF in eine leere Zelle. Der dritte Schritt besteht darin, die COM-Port-Leitungen umzukehren (bei Verwendung eines Pufferchips im Programmierer). Der Name des verbundenen Controllers leuchtet blau. Als nächstes schalten Sie das EEPROM-Fenster ein/aus. Die Systemfrequenz wird rot angezeigt.
Wichtig! Wenn Sie auf das rote Symbol klicken, synchronisiert sich das Programm erneut mit der Steuerung. Drücken Sie für alle Fälle, bevor die Programmierung beginnt.

Andere Fensterelemente.

Diese Kontrollkästchen entfernen unnötige Schaltflächen (um Verwirrung zu vermeiden). Wir haben es wie auf dem Bild platziert.

Sehr wichtig! Erforderliches Kontrollkästchen. In der alten Version des Programms gab es gewisse Probleme mit der Zuverlässigkeit der Programmierung ohne dieses Kontrollkästchen. Dieses Problem ist in der neuen Version des Programms behoben! Sollten aber beim Schreiben oder Lesen Fehler passieren, gibt das Programm dies sofort ehrlich zu. Wenn Sie es haben, aktivieren Sie das Kontrollkästchen „Bremse“ und alles wird problemlos aufgezeichnet! Machen Sie einfach langsamer. Beim Aufzeichnen von Sicherungen ist eine „Bremse“ erforderlich! Kein Grund, Risiken einzugehen.

Sie können angeben, welcher Bereich gebrannt werden soll – stellen Sie „Alle“ ein.

Auswahl des Ports, mit dem wir arbeiten werden. Wenn wir nicht wissen, wo der Programmierer steckt, gehen wir alles nacheinander durch, bis Ihr Controller blau hervorgehoben ist.

Es gibt auch „Hotkeys“.

F2 Einstellen der Aufnahmeverzögerung, normal = 6. Wenn Fehler auftreten, versuchen Sie, sie zu erhöhen (es wird kein Effekt beobachtet).

F3 Zeigt eine Liste der unterstützten Controller an.

Grau -,+ Verringern oder vergrößern Sie die Schriftart der Zahlen in den Flash- und EEPROM-Fenstern – dies kann bei der Größenänderung des Fensters nützlich sein.

Esc– Brechen Sie die aktuelle Aktion ab.

Es gibt noch mehr, die aber nicht unbedingt notwendig sind – lesen Sie die integrierte Hilfe.

UniProf kann hier heruntergeladen werden:
- Programmierer für AVR. Wir schauen uns avr.nikolaew.org an

P.S. Wie auch immer, mit der Zeit werden wir AVRDUDE verwenden – eine leistungsstarke Sache!

(48.833 Mal besucht, heute 11 Besuche)

Der Programmierer basiert auf einem Treiber von Objective Development und ist in den Befehlen vollständig mit dem Original AVR910 Programmierer von ATMEL kompatibel. Beschreibung des Geräts. Die Sicherung schützt die Stromleitungen des USB-Anschlusses vor unbeabsichtigten Kurzschlüssen in den Stromversorgungskreisen des Programmiergeräts. Bei den Dioden VD1 und VD2 handelt es sich um Gleichrichter-Siliziumdioden, die die Stromversorgung des Mikrocontrollers auf 3,6 V reduzieren sollen. Laut Dokumentation kann der Controller mit dieser Versorgungsspannung bis zu einer Frequenz von knapp über 14 MHz betrieben werden. LEDs VL1 (" R.D."), VL2 (" WR") signalisieren die aktuellen Aktionen des Programmierers und zeigen Lese- und Schreibmodi an. LED VL3 (" PWR„) zeigt an, dass das Gerät mit Strom versorgt wird.

Jumper J1 - ( Ändern) dient der Erstprogrammierung des Steuerungs-MK-Programmierers. Im geschlossenen Zustand wird ein externer Programmierer an den ISP-Anschluss angeschlossen und das Steuerprogramm in den MK geladen. Nach der Programmierung des Steuerungs-MK-Programmierers muss dieser Jumper geöffnet und der Jumper J2 - NORMal geschlossen werden.

Jumper J3 NIEDRIGE SCK Senkt die Taktfrequenz des SPI-Ports des MK-Programmierers auf ~20 kHz. Bei geöffnetem Jumper ist die SPI-Frequenz normal, bei geschlossenem Jumper ist sie reduziert. Sie können den Jumper im laufenden Betrieb umschalten, da das Steuerprogramm des MK-Programmierers bei jedem Zugriff auf den SPI-Port den Zustand der PB0-Leitung prüft. Es wird nicht empfohlen, den Jumper während des Schreib-/Lesevorgangs eines programmierbaren Mikrocontrollers umzuschalten, da dies höchstwahrscheinlich zu einer Verzerrung der geschriebenen/gelesenen Daten führt. Jumper J3 wird eingeführt, um die Programmierung von AVR-Mikrocontrollern zu ermöglichen, die von einem internen 128-kHz-Oszillator getaktet werden.

Die Widerstände R10–R14 sind so konzipiert, dass sie den Signalpegeln des Programmier-Mikrocontrollers und externer Schaltkreise (programmierbarer Mikrocontroller oder anderer Programmierer) entsprechen. Die Taktfrequenz des SPI-Ports des MK-Programmierers beträgt bei geöffnetem Jumper J3 187,5 kHz. Dadurch können Controller mit Taktraten von etwa 570 kHz für den ATtiny/ATmega, 750 kHz für den 90S und 7,5 MHz für den 89S programmiert werden. Controller werden für 10 bis 30 Sekunden programmiert (mit dem Dienstprogramm AVRProg v.1.4 aus dem AVR Studio-Paket) und werden je nach Größe des FLASH-Speichers und Taktfrequenz überprüft.

Eine Rechteckwelle mit einer Frequenz von 1 MHz wird an den LED-Ausgang des ISP-Anschlusses ausgegeben, um MKs „wiederzubeleben“, die fälschlicherweise für die Taktung verantwortliche Sicherungsbits programmiert hatten. Das Signal wird ständig generiert und ist unabhängig von der Betriebsart des Programmiergeräts. Der Programmierer wurde mit den Programmen AVRProg v.1.4 (im AVRStudio-Paket enthalten), ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP (ATMEL AVR Open Source Programmer) getestet. Für den normalen Betrieb des Controllers im Stromkreis ist es erforderlich, dass die Bits programmiert (auf „0“ gesetzt) ​​werden. SPIEN, CKOPT, SUT0 Und BODEN. Typischerweise kommen Mikrocontroller ab Werk, z.B. neu, habe schon Bit programmiert SPIEN. Die restlichen Bits müssen unprogrammiert (auf „1“ gesetzt) ​​sein.

Installations- und Bedienungsanleitung. Flashen Sie den Controller. Verbinden Sie den frisch gebackenen Programmierer per USB mit dem Computer. Das Betriebssystem findet ein neues Gerät – AVR910 USB Programmer. Wenn Sie dazu aufgefordert werden, wird es automatisch nach dem Treiber suchen, ablehnen und den Pfad zur INF-Datei angeben, je nachdem, welches Betriebssystem auf Ihrem Computer installiert ist.

Das Forum enthält alle Dateien sowie die Leiterplatte für unseren AVR-Programmierer. Hier zeige ich Ihnen die Technologie zum Zusammenbau des AVR USB-Programmierers und zum Verpacken in einem Gehäuse. Laden Sie zunächst das Archiv herunter und erstellen Sie eine Leiterplatte.

Dann löten wir alle Details darauf. Ich konnte keinen kleinen Quarz finden, also habe ich einen großen gelötet, allerdings auf langen Beinen, damit ich ihn später biegen konnte, damit er den Einbau der Platine in das Gehäuse nicht störte. Als nächstes wählen wir einen passenden Koffer aus; ich hatte einen fertig.

Wir passen die Platine an das Gehäuse an, nehmen alle Maße vor, bohren Löcher und schon haben Sie ein fertiges Gerät, mit einer Universalplatine.

Wenn keine speziellen Messgeräte vorhanden sind, können Sie dies mithilfe einer LED überprüfen. Die LED wird mit der Anode an den LED-Pin und die Kathode an einen beliebigen GND-Pin des ISP-Steckers angeschlossen. Wenn Strom angelegt wird, sollte die LED mit voller Intensität leuchten. Wenn Sie die Beine des Quarzoszillators mit einer Pinzette schließen, sollte die LED entweder bei „voller Hitze“ leuchten oder nicht leuchten.

Ohne Fehler muss der zusammengebaute Programmierer mit einem korrekt programmierten Mikrocontroller nicht konfiguriert werden. Wenn aber der RESET-Eingang eines programmierbaren MK über einen Widerstand mit der Versorgungsspannung verbunden ist, dann sollte der Widerstandswert nicht kleiner als 10 kOhm sein – dies liegt an der reduzierten Versorgungsspannung des Steuerreglers im Programmierkreis und der Einführung Begrenzungswiderstände am ISP-Anschlussbus.

Besprechen Sie den Artikel AVR USB PROGRAMMER



Aktie