Programmierung von ATMega16L über ISP-Schnittstelle

Tut mir leid, wenn die Frage dumm erscheint, aber ich brauche wirklich eine fachkundige Anleitung. Meine Frage lautet wie folgt: Was sind die notwendigen Pins, um einen ATMega16-Chip über die ISP-Schnittstelle zu programmieren? Ich habe ein lokal hergestelltes ATMega16L-Zielboard gekauft. Ich beabsichtige, einen Standard-USBASP-AVR-Programmierer (Fischl-Design) zu verwenden. Leider sind die ISP-Header auf beiden Geräten unterschiedlich. Ich bin wirklich verwirrt, welche Pins angeschlossen werden sollen und welche nicht. Mein AVR-Programmierer hat keinen Vcc-Ausgang, während der ISP-Header der Zielplatine einen mit Vcc gekennzeichneten Pin hat. Muss ich meine Zielplatine mit meinem Programmiergerät mit Strom versorgen, während ich auf den Chip schreibe, oder würde die Gleichstromversorgung meiner Zielplatine ausreichen?

Der ISP-Header meines Zielboards hat folgende Pins: 1. Vcc (+5 V) 2. Gnd 3. MOSI 4. RxD 5. MISO 6. TxD 7. SCK 8. Keine Verbindung 9. SS 10. RST

AVR Programmer ISP Header: 1. MOSI 2. N/C 3. RST 4. SCK 5. MISO 6. N/C 7. N/C 8. N/C 9. Gnd 10. Gnd

Wenn nur MOSI-, MISO-, RST-, SCK- und Gnd-Pins des AVR-Programmierers verwendet werden, wo verbinde ich die Vcc-, TxD-, RxD- und SS-Pins des Ziel-ISP-Headers? Ich bin bereit, einige Crossover-Verbindungen zwischen ISP-Headern des Programmierers und der Zielplatine herzustellen. Bitte helfen Sie!

Antworten (2)

Für die ISP-Programmierung benötigen Sie nur MISO, MOSI, SCK, RESET und GND.
Der Vcc-Anschluss ist optional. Wenn der Programmierer Vcc liefern kann, können Sie die Platine über den Programmierer mit Strom versorgen.
Beachten Sie, dass die beiden Vcc niemals verbunden werden sollten, wenn sie beide aktiv sind, da Sie sonst einen Kurzschluss erzeugen. Wenn Sie die Platine über den Programmierer mit Strom versorgen, achten Sie darauf, die Netzversorgung der Platine zu trennen.

Wo verbinde ich die TxD-, RxD- und SS-Pins des Ziel-ISP-Headers?

Diese werden im ISP-Modus nicht benötigt und sind normalerweise nicht Bestandteil des ISP-Steckers

Geben Sie hier die Bildbeschreibung ein

Beachten Sie, dass einige Programmierer


Ich füge das Verbindungsschema hinzu, das für die ISP-Leitungen befolgt werden sollte.

Die beteiligten Stifte sind:

  • MISO: Master In Slave Out
  • MOSI: Master-Out, Slave-In
  • SCK: Uhr
  • RST: Zurücksetzen
  • GND: Masse
  • VCC: Stromversorgung (optional, falls verwendet, sollte die Stromversorgung der Platine getrennt werden. Stellen Sie außerdem sicher, dass die Spannungspegel übereinstimmen, 5 V oder 3,3 V)

Geben Sie hier die Bildbeschreibung ein

MISO/MOSI-Leitungen sollten nicht querverbunden werden. MISO ist ein Eingang für den Master und ein Ausgang für den Slave, und MOSI ist ein Ausgang für den Master und ein Eingang für Slave, sodass MISO mit MISO und MOSI mit MOSI verbunden ist.

Ich glaube (kann jemand anderes bestätigen), dass einige ISPs die VCC-Verbindung benötigen , um 5 V gegenüber 3,3 V zu erkennen. Meins ist der "Pololu USB AVR Programmer v2.1", und die richtige LED fing nicht an zu blinken, bis ich VCC anschloss (avrdude schlug auch fehl, als ich versuchte, auf Flash zu schreiben). Der AVR selbst wird ständig über zwei 1,5-V-Batterien mit Strom versorgt (während der Programmierung und während des Betriebs).

Erforderliche Pins zum Programmieren eines AVR sind:

Programmer Target
MOSI-------MISO
MISO-------MOSI
SCK--------SCK
RESET------RESET
GND--------GND

Bei dieser Verkabelung müssen Sie das Zielgerät über eine eigene Stromversorgung mit Strom versorgen. Überprüfen Sie, ob der Programmierer und das Zielgerät mit 5 V versorgt werden. Wenn das Zielgerät mit einer anderen Spannung betrieben wird, benötigen Sie wahrscheinlich einige zusätzliche Pegelwandler.

Für die serielle In-Circuit-Programmierung sind keine weiteren Verbindungen erforderlich.

  • MOSI = Master Out Slave In
  • MISO = Master-In, Slave-Out

MOSI verbindet sich also mit MISO, es ist kein zusätzliches Kreuz erforderlich.

Danke für die Antwort! Aber hier ist eine kleine Sorge. Muss ich die MISO- und MOSI-Pins von Target und Programmierer über Kreuz verbinden? In vielen Online-Tutorials habe ich gesehen, dass sie direkt miteinander verbunden sind! Das von meinem avr-Programmierer bereitgestellte Schema zeigt auch gerade Verbindungen.
Meine Antwort aktualisiert.
Das macht Sinn, aber schauen Sie sich bitte noch einmal dies an - avrfreaks.net/…
Tauschen Sie die beiden aus, wenn es nicht funktioniert, um es zu überprüfen. Was sagt das Handbuch, das mit dem Programmierer geliefert wurde?
MISO ist Maser In Slave Out und MOSI ist Master Out Slave In. Es gibt keinen Grund, MISO und MOSI miteinander zu verbinden, da MISO ein Eingang für den Master und ein Ausgang für den Slave ist und MOSI ein Ausgang für den Master und ein Eingang für den Slave ist. MISO verbindet sich mit MISO und MOSI mit MOSI.
Das Schema des Programmierhandbuchs sagt: MISO - MISO und MOSI - MOSI. Ich werde beide Konfigurationen ausprobieren und mich bald bei Ihnen melden! Ändert sich die Rolle der Zielkarte als Master oder Slave während des Schreibvorgangs? Oder verhält es sich immer wie ein Sklave? Entschuldigung, ich bin ganz neu in der AVR-Arena! :)
@VinitShadilya Programmierer ist der Master und AVR der Slave. Die Verbindung nicht kreuzen, sondern wie im Datenblatt gezeigt anschließen.