Warnung: Das Projekt ist hoffnungslos veraltet! Bitte investiere stattdessen in einen preiswerten USB-Isolator. Es ist eines meiner frühen Bastelprojekte und nur aus dokumentatorischen Gründen hier. Zudem können Potentialdifferenzen tödlich sein, insbesondere wenn man mit Netzspannung arbeitet. Also: Vorsicht!
Als Besitzer eines AVR Dragon störte mich an diesem relativ preiswerten Programmiergerät vor allem, dass die Pegelwandler durch keine Elektronik vor der Zerstörung durch falsches Anschließen oder elektrostatische Entladungen geschützt sind. Außerdem ist es nervig, wenn die Zielgeräte, an denen man mit dem Programmier-/Debuggerät bastelt, zwangsläufig durch dieses geerdet werden.
Also entschloss ich mich, mehrere Entwürfe zu kombinieren und eine Platine für die galvanische Isolation des Dragon zu entwickeln, mit der man ISP, JTAG und debugWire benutzen kann. Leider ist die Isolation von PDI wohl nicht ohne deutlich mehr Aufwand möglich, da man die Treiber für diese bidirektionale Kommunikation umschalten muss. Der für debugWire gewählte Weg ist bestimmt zu langsam und nur bei Offener-Kollektor-Logik möglich. Leider funktioniert das galvanisch getrennte debugWire bei mir nicht in jedem Fall. Warum, weiß ich noch nicht. ISP geht aber problemlos.
Lustigerweise funktioniert die JTAG-Verbindung zum ATxmega128a1 auf dem AVR Xplain-Board mit dem Isolator, aber nicht ohne ihn.
Schaltung
Leider sieht die Platine im obersten linken Bild noch nicht richtig schön aus, weil die Optokoppler etwas verstreut liegen. Dies ist in der aktuellen Version behoben.
Man sieht auch noch 5 Suppressordioden (rechts oben, unter der Steckerleiste), deren Kapazitäten allerdings zu groß sind, als dass die Schaltung damit funktioniert. Sie sind also nur zu bestücken, wenn kapazitätsarme Varianten zur Verfügung stehen (z.B. die 300-V-Dioden?). Stattdessen werden nur die viel kleineren Doppel-Schottky-Dioden auf der Rückseite verwendet. Sie begrenzen auch Überspannungen, können aber kaum Energie aufnehmen.
Das Dragon-Modul ist über Stiftleisten mit dem Gehäuse verbunden. Dort befindet sich dann ein Nullkraftsockel und eine Kopie der restlichen Stiftleisten des Dragon.
Dateien |
---|
iso-dragon-r503.tar.bz2 |
Quellen
- Ein Teil, Optokoppler-Sektion, wurde von MadWizards AVR-JTAG-Adapter abgeleitet.
- Die Impedanzanpassung stammt von KKPs Dragonhide.
- Die debugWire-Schaltung kommt aus AVR077: Opto-isolated emulation for the DebugWIRE.
Vielen Dank an die Autoren der Schaltungen!