Ich möchte das Dragonlair (*) nachbauen, um die Schnittstellen des AVR Dragon zu schützen. Der entsprechende Schaltplan ist in der ersten hochgeladenen Datei. Das Lair puffert die Ein- und Ausgänge (ISP & JTAG) über einen 74HC244 und schützt so die empfindlichen I/Os des Drachen. Die einzige Ausnahme bildet hier die Reset-Leitung, die für Debug-Wire-Funktionalität (bidirektional) ungepuffert, aber dennoch geschützt, an der neuen ISP-Schnittstelle liegen soll. Diese Reset-Leitung dient gleichzeitig als Enable-Eingang für den Puffer, der die ISP ansteuert, da ohnehin nur programmiert wird, wenn die Leitung low ist. Ich habe diese Schaltung so übernommen und ein paar Änderungen eingebaut (zweites Attachment). Da ich aber noch nicht mal das Original 100%ig verstanden habe, bleiben ein paar Fragen. 1. P4 wurde durch einen toggle-Schalter ersetzt, um bei Bedarf das Zielsystem vom Drachen speisen zu lassen. Die Schaltungsvorlage (...200dpi.png) macht aber irgendwie nur Sinn, wenn die 5V-Leitung ("wire orange") und d_Vtg nicht auf dem AVR Dragon verbunden sind, oder? Aber ist das nicht ziemlich abwegig? Ich bin daher davon ausgegangen, dass sie sehrwohl verbunden sind. Also überbrückt mein Schalter "D_POWERS_TARGET" nur den 15R-Widerstand (R9, ganz rechts oben) zwischen den beiden VCC-Leitungen. Aber irgendwie macht das nur bedingt Sinn, oder? Gerade wenn das Target mit weniger Spannung versorgt wird (z.B. 1.8V) fließen da möglicherweise fiese Ströme aus dem Programmer - und das selbst schon bei offenem Schalter. Aber wie kann der 74HC244 in der Originalschaltung versorgt werden, wenn die Spannung nicht aus d_Vtg kommt? Über 15 Ohm aus dem Target? Aber warum ist d_Vtg dann angeschlossen? 2. Es gibt ein Problem, wenn debugWire benutzt wird, während das laufende Programm die ISP verwendet. Dann sollten die MISO, MOSI und SCK vom Drachen getrennt werden, weil sonst die Kommunikationsflanken an RESET auf dem SPI mitsenden (RESET ist ja auch am Enable des Buffers). Im Original gibt's da einfach einen weiteren Ausgang (P3), wo nur RESET nach draußen geführt wird. Um das mit einem weiteren Schalter zu lösen, biete ich die Möglichkeit, mittels "ISP_ACTIVE" den Eingang des einen Buffers dauerhaft HI zu setzen (auch wenn dW über die RESET-Leitung kommuniziert). Dadurch ist bis auf MSIO und eben RESET alles von der ISP getrennt. Damit die JTAG-Schnittstelle unabhängig von dieser Schalterstellung immer funktioniert, musste ich einen zusätzlichen Bufferweg verwenden und habe mich für 2x Hexal Buffer entschieden (74HC367). Spricht was gegen diese Bauteile? 3. Zur LED schreibt der Autor > I also added a LED to show ISP-activity. When you connect your target- > board, this LED lights up. When you power the target, and this LED stays > on, you connected the ISP-plug the wrong way around. ehrlich gesagt habe ich nicht ganz verstanden, warum sich die LED so verhalten sollte. Vermutlich wird mir das klarer, wenn 1. geklärt ist. Müsste dazu der Puffereingang der /PGM-Leitung nicht auf HI liegen? Bis dato habe ich diesen Schaltungsteil einfach kopiert. In die fertige Lösung kommen wohl noch ein paar mehr LEDs... 4. was macht die Diode (D5 im Original, D1 bei mir)? 5. ich habe den Strombegrenzerwiderstand der Reset-Leitung von 68R auf 100R erhöht. Dürfte kein Problem darstellen, oder? Nur warum hatte ihn der Autor ursprünglich zu 68R gewählt? (*) http://www.aplomb.nl/TechStuff/Dragon/Dragon.html
(: dürfte ich mit meinem Fred nochmal auf die erste Seite? :) Ist auch mein letzter Versuch - im nächsten Schritt würde ich einfach mit dem rohen Drachenei herumexperimentieren.
Wie passend, ich plane gerade etwas ähnliches... Aber irgendwie verwirrt mich folgendes an der DragonLair-Schaltung: In diesem Dokument (http://wiki.trimension.de/wiki/AVR-Dragon) steht folgendes: Die Programmier-Anschlüsse sind Level-converted, für die Konvertierung wird die Vtg-Leitung von der zu programmierenden Schaltung verwendet. An der Vtg-Leitung hängt (sofern nicht mit 5V "überbügelt") aber auch die Versorgung des 74HC244. Die zulässige Versorgungsspannung ist mit 2,0 bis 6,0V angegeben, ein bisschen knapp wenn wirklich ein Target mit 1,8V programmiert werden sollte... Weiterhin ist die USB-Spannung bis maximal 5,25V definiert, ist da eine 5,1V Z-Diode nicht ein wenig "optimistisch"? 5,6V liegen ja schon wieder über der Safe Operating Area der Atmels (aber immerhin noch unterhalb der Absolute Maximum Ratings von 6,0V)... @rava: In dem von mir verlinkten Dokument steht, dass der Vtg-Anschluss der JTAG-Buchse im AVR Dragon keine Betriebsspannung für das Target liefert. Er dient lediglich dazu, die Betriebsspannung vom Target für den Level-Converter im Dragon zu erhalten. Das Target muss extern versorgt werden. Außer natürlich, man verbindet den 5V-Ausgang des Dragon wie im DragonLair mit Vtg. Dann muss aber sichergestellt sein, dass das Target bei 5V keinen Schaden nimmt... Zu Punkt 3: Pin3 des ISP sollte auf dem Target normalerweise nicht verbunden sein. So ganz habe ich die Schaltung auch nicht verstanden, aber ich vermute einfach mal drauf los: Wenn kein Target angeschlossen ist, hängt die Kathoder der LED in der Luft. Der Buffer-IC hat keine Betriebsspannung, und Anschluss /1G floatet vermutlich. Dadurch wird der Buffer-Ausgang auf High-Z sein. Wenn jetzt das Target (mit ausgeschalteter Spannung) angesteckt wird, dann wird /1G durch die Reset-Leitung vom Target auf Low gezogen (Reset hat zwar normalerweise einen Pullup auf Vcc, aber ohne Spannung ist es dann wohl trotzdem Gnd-Potential). Der Buffer-IC hat zwar immer noch keine Betriebsspannung, aber vielleicht kann trotzdem der Buffer-Ausgang auf Low gezogen werden, wodurch der Stromkreis für die LED geschlossen wird und sie leuchtet. Schaltet man jetzt die Spannung vom Target ein, wird der Buffer mit Spannung versorgt, Reset wird vom Target auf High gezogen und schaltet dadurch den Buffer auf High-Z. Dadurch geht die LED wieder aus. Wenn der ISP-Stecker verkehrt herum eingesteckt wurde, liegt Pin3 des ISP-Ausgangs ständig auf Masse, die LED leuchtet also immer, egal was der Buffer macht... MfG
Komisch, was manche Leute für einen Aufwand treiben. Ich habe einfach 220 Ohm Widerstände in Reihe zu MISO, MOSI, SCK und RESET geschaltet. Sofern man das bei der restlichen Beschaltung des AVR berücksichtigt, reicht das doch. Und bei fertig-Geräten, wo das nicht geht, brauche ich auch keine Schutzschaltung, denn die sind ja schon erprobt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.