AVR-Dragon

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Ein AVR-Dragon der ersten GenerationEin AVR-Dragon der ersten Generation (Rückseite)

z. B. mit Kassettenhülle als Gehäuse und aufgesetztem Dragonlair, in welches auch noch ein USB<->Seriell Wandler mit FT2232RL und ein USB-Hub passt, an dem er direkt angeschlossen ist, um eine Überstrombegrenzung zu haben, falls der PC diese nicht hat.

Allgemeines zum AVR-Dragon

Der AVR-Dragon ist ein preiswerter ISP und ICE (OCD) von Atmel, der aufgrund seines Preis/Leistungs-Verhältnisses schnell populär wurde. Atmel wurde von dieser Popularität überrascht, da der Dragon wohl ursprünglich nur als ein "Gimmick" zur Verbreitung von AVRs in Asien gedacht war.

Die großen Vorteile des Dragons sind, dass er alle Programmiermodi beherrscht, mit Ausnahme von TPI, aber inklusive PDI (XMEGAs) und High-Voltage Parallel Programming (mit Adaptern, "verfuste" AVRs retten), dass er ein natives USB-Interface hat, von AVR-Studio unterstützt wird, und sogar JTAG und debugWIRE On-Chip-Debugging (OCD) unterstützt (bei den AVRs die dies können).

Auch eine Stromversorgung bis maximal 300mA (strombegrenzend wirkt, wenn dann der USB-Hub) ist integriert, wobei der Strom über die USB-Schnittstelle bezogen wird. Es lassen sich trotzdem auch Boards mit ihrer eigenen Stromversorgung betreiben. Hierbei darf allerdings keine Verbindung zur Stromversorgung des AVR-Dragon bestehen. Ein Levelconverter passt die Spannungen für JTAG, ISP, PDU und dW an, so dass beispielsweise auch das Programmieren und Debuggen von 3,3 V Schaltungen möglich ist.

Zu den größten bekannten Nachteilen gehören, dass der Dragon völlig "nackt" kommt. Kein USB-Kabel, kein Gehäuse, nicht einmal Abstandsbolzen unter der Platine, keine Patchkabel und nicht einmal die Fassungen zum Einstecken von AVRs sind bestückt. Eine gedruckte Anleitung gibt es auch nicht. Daneben wird aufgrund des Stromverbrauchs des Dragon ein USB-Hub mit Netzteil benötigt.

Weiter ist der Dragon dafür bekannt, empfindlich auf statische Aufladungen zu reagieren. Ein Spannungsregler und ein Ausgangstreiber gehen dabei besonders gerne kaputt. Ein gerne von Anfängern gemachter Fehler ist es, den Dragon im Betrieb auf dem mitgelieferten "Schaumstoff" aus der Verpackung liegen zu lassen. Das ist jedoch kein Schaumstoff, sondern leitendes Moosgummi. Atmel verwendet hier ein ungewöhnlich niederohmiges Material, dass die Platine im Betrieb nicht darauf gelegt werden sollte. Schäden sind zwar nicht zu erwarten, Fehlfunktionen sind allerdings sehr wahrscheinlich. (Die bei einem im Juli 2010 bei Reichelt bestellten AVR Dragon beiligenden Anti-Statik-Matten weisen ca. 3-10 kOhm pro cm bei ca. 1 mm² Kontaktfläche der Messspitzen auf, die gelieferte Platine hat bereits die Befestigungsbohrungen und die Revisionsnummer A08-0396.D)

Debuggen

Durch die integrierte JTAG und debugWire-Schnittstelle ist On-Chip-Debuggen (OCD) von unterstützten Mikrocontrollern möglich.

Ursprünglich hatte Atmel die Debugmöglichkeiten künstlich auf AVRs mit bis zu 32 KB Flash-Speicher begrenzt. Mit einer mit AVR Studio 4.18 mitgelieferten Dragon-Firmware wurde diese künstliche Einschränkung fallen gelassen.

Hardware-Generationen

Es sind mindestens zwei unterschiedliche Hardware-Generationen des Dragon bekannt. Die ursprüngliche Hardware (siehe Bild am Anfang dieser Seite) und eine neuere Version. Die neuere Version tauchte erstmals Ende 2008, Anfang 2009 auf. Man kann sie daran erkennen, dass die Platine vier Befestigungslöcher (jedoch immer noch keine Abstandsbolzen) und ein anderes Layout der Stromversorgung enthält. Die geänderte Stromversorgung lässt darauf schließen, dass Atmel die immer wieder auftretenden Probleme mit den defekten Stromversorgungen der ersten Hardware-Generation bekannt sind.

Diese neue Hardware-Generation hat von Atmel keinen eigenen Namen bekommen und lässt sich auch nicht durch die Verpackung von alten Dragons unterscheiden.

Vorteile

  • Programmierung und Debugging von Tiny, Mega, XMEGA und AVR32 MCUs
  • USB-Anschluss, den alle neueren PCs/Laptops haben
  • gute Transportierbarkeit, da kein Netzteil benötigt wird (was dadurch aufgehoben wird, dass man einen Dragon nur an einem USB-Hub mit eigenem Netzteil (self-powered, mindestens 500 mA), nie direkt am PC oder an einem USB-Hub ohne eigenes Netzteil (bus-powered) betreiben sollte[1], da zumindest die Dragons der ersten Generation einen Spannungswandler besitzen, der sehr empfindlich gegenüber Unterspannung sein soll).
  • vergleichsweise geringer Preis
  • viele Schnittstellen, dadurch viele AVRs programmierbar und debugbar
  • Unterstützung durch AVR-Studio in Windows
  • Unterstützung durch avrdude unter Linux
  • Firmware-Updates lassen sich mittels einer proprietären Atmel-Software unter Windows einspielen, die als Teil von AVR Studio geliefert wird. Des Weiteren bietet das AVR32 Studio die Möglichkeit Updates für den Dragon einzuspielen. Somit ist ein Update auch unter Linux möglich.

Nachteile

  • Der Dragon wird ohne Gehäuse und Kabel geliefert. Zum Teil sind Header nicht bestückt. Ebenso sind die IC-Fassungen nicht bestückt.
    • Hardware der ersten Generation hatte nicht einmal Montagelöcher, so dass die Befestigung in einem eigenen Gehäuse ein Abenteuer war.
    • Die fehlenden Kabel stören Anfänger. Das fehlende USB-Kabel hat man vielleicht noch in der Kramkiste. Die fehlenden ISP- und JTAG-Anschlusskabel lassen sich noch selber aus Flachbandkabel und IDC-Buchsen quetschen. Wobei die 6-poligen IDC-Buchsen für ISP schon nicht in jedem Elektronikladen erhältlich sind (Bezugsquelle zum Beispiel Reichelt Pfostenbuchse PFL 6). Die fehlenden Jumper-Kabel sind jedoch wirklich ärgerlich, da sie käuflich sehr schwer erhältlich sind. Für die Herstellung eignen sich die gedrehten Kontakte aus Präzisions-Buchsenleisten sehr gut. Dazu benötigt man noch möglichst verschiedenfarbige Litzen und Schrumpfschläuche. Insgesamt sollte man 8 einpolige und 8 zweipolige Kabel anfertigen, um auch die parallele Hochspannungsprogrammierung nutzen zu können (zum Beispiel bei verfusten Controllern).
    • Der Header zur HV-Programmierung und der Header zum Patchen der Anschlussbelegung der ebenfalls nicht bestückten IC-Fassungen, sind nicht bestückt.
    • Die sogenannte Prototypen-Area spottet ihrer Bezeichnung: Hier handelt es sich nur um einen Platz für zwei IC-Fassungen, deren Anschlüsse auf eine 2x20polige Stiftleiste geführt sind. Durch Jumperkabel lassen sich hier verschiedene Anschlussbelegungen zu den Headern patchen, um verschiedene Controller programmieren zu können. Als IC-Fassung sollte man einen ZIF Testsockel wie den IC-TESTSOCKEL PRÄZISION 40POLIG von Conrad verwenden, denn dieser kann sowohl DIP40, als auch kleine DIP8-Gehäuse aufnehmen. Der Testsockel TEX 40 von Reichelt kann dies augenscheinlich nicht, da sein Mittelsteg zu breit ist.
  • Empfindliche Hardware
    • Der Dragon hat den Ruf empfindlich gegenüber elektrostatische Entladungen zu sein (Abhilfe mittels Aufbau des Dragonlair, wobei man sich überlegen muss, ob es sich bei den Kosten für einen Dragon lohnt den zusätzlichen Aufwand zu betreiben)
    • Besonders die Hardware der ersten Generation hat den Ruf, dass der Spannungswandler sowohl durch einfaches Berühren im Betrieb kaputt gehen kann, als auch schon durch zu geringe Spannung am USB-Port bei Bus-powered Hubs oder schlechten(dünnen) USB-Kabeln.
Das letztere Problem scheint in der zweiten Generation behoben zu sein: Ab etwa 1.05V Eingangsspannung greift der Undervoltage-Lockout des Boost-up Converters (TPS61020DRC; R1=200k, R2=180k, siehe Datenblatt). Bei I_out=250mA und V_in=1,05V entsteht laut des Datenblattes eine Verlustleistung von etwa 1,9W, maximal 2,05W sind zulässig (T_amb < 25°C). Bei größeren Ausgangsströmen kann es zu Problemen kommen, obwohl der intergrierte Temperatursensor vor Überhitzung schützen sollte (was er aber in der ersten Generation nicht tat).
Atmel hat es nie für nötig befunden, zu den Problemen Stellung zu nehmen. Angeblich soll Atmel eine Zeit lang defekte Dragons umgetauscht haben. Offiziell gab es dazu von Atmel nie Informationen und man musste oder muss wohl Beziehungen zu Atmel haben, die Hobbyisten im Normalfall nicht haben.
  • Ursprünglich künstliche Beschränkung der Debugging-Fähigkeiten, die sich durch ein Firmware-Update mit AVR-Studio 4.18 oder neuer beseitigen lässt.
  • Vermutlich um potentielle Interessenten zum Kauf des mit ca. 300€ wesentlich teureren JTAG ICE mkII Debug-Interfaces zu verleiten, stellt Atmel die aktuelle Dokumentation und Beschreibung des Dragon (um 50€) nur als Teil der Online-Hilfe der AVR-Studio Software unter Windows zur Verfügung. Die Version auf [2] ist normalerweise veraltet.

Links