Forum: Mikrocontroller und Digitale Elektronik AT90USB AVR via ISP kaputtprogrammiert?


von Philipp M. (spannungsabfall)


Lesenswert?

Hallo,

ich arbeite mich grade in die Welt der USB-AVRs ein und habe ein paar 
Schwierigkeiten.

Ich habe eine eigene Platine auf der ein AT90USB646 sitzt. Als ich diese 
anfangs an meinen PC anschloss (via USB) erkannte der PC das auch. Nur 
fand er keine Treiber. Interessehalber habe ich jetzt mal versucht den 
µC mit einem AVR Dragon auszulesen. Ich wollte sehen ob der Hexcode, den 
man ausliest, dem Bootloaderhexcode den man bei Atmel runter laden kann 
entspricht.
Ich habe allerdings aus versehen in dem Konfigurationsdialog nicht 
AT90USB646 sondern noch ATmega32 ausgewählt weil ich vorher mit so einem 
experimentiert habe.
Ich habe keine Ahnung ob es daran liegt, aber Fakt ist, der Programmer 
hat den Flash gelesen (oder zumindest hat er eine Datei mit Hexzeichen 
gefüllt)und seit dem geht mit dem µC gar nichts mehr. Der Avr-Dragon 
kann ihn nicht mehr über ISP erreichen und auch der Gerätemanager im PC 
zeigt keine Regung wenn ich die Platine via USB verbinde. Während des 
auslesens war die Platine übrigens auch zwecks Stromversorgung mit dem 
PC via USB verbunden.

Hat jemand eine Ahung was da passiert sein könnte? Ich habe wirklich nur 
gelesen und nicht geschrieben oder bewusst Fuses geändert. Sollte ich es 
versuchen das Gerät über die High-Voltage-Programmer Schnittstelle mit 
dem Dragon zu verbinden?

Ich weiß, die Frage wurde hier schon öfter gestellt. Aber welche 
Programme und Treiber etc. brauche ich um unter Windows eben einen 
USB-AVR via USB-Bootloader zu proggrammieren und auch USB-Kommunikation 
zu machen bzw. Firm-und Software dafür zu schrieben?

von MirkoB (Gast)


Lesenswert?

...klingt als hättest Du Dir die Fuse für den Takt wegprogrammiert.
Evtl externen Takt an den Takteingang legen und die ISP-Frequenz auf 
einen passenden Wert reduzieren (ich glaube es waren max. 1/8 des 
Taktes).
Dann sollte er sich wieder ansprechen lassen.

Evtl hast Du Dir auch den Reset-Pin wegprogrammiert. Ich bin mir aber 
nicht sicher ob es beim AT90USB646 geht.

von MirkoB (Gast)


Lesenswert?

Edit: Ich sehe gerade, dass der AT90USB646 auch einen JTAG hat. 
Vielleicht einmal da drüber versuchen und nicht über ISP.

von Philipp M. (spannungsabfall)


Lesenswert?

Vielen Dank, das mit dem JTAG werde ich jetzt erstmal probieren bevor 
ich das mit dem Takt versuche. Gibt es eine Möglichkeit die Vermutung 
was den Takt angeht zu prüfen bevor ich die Platine auseinanderlöte? 
Also kann ich die Schwingung an dem Quarz messen? Und wie muss die dann 
aussehen?

von MirkoB (Gast)


Lesenswert?

Mit einem hochohmigen(1:10 oder höher) Tastkopf sollte bei aktiviertem 
Quarztakt dieser zu sehen sein. Bei deaktiviertem Quarz ist der interne 
Oszilator "anders beschalten": Er muss ja auch keinen Quarz zum 
schwingen bringen.

Aber wenn Du eh einen Mega32 rumliegen hast, programmiere ihn doch so, 
dass er mit "Full-Speed" ein Portpin toggelt. Damit hast Du deinen Takt.
GND und das Taktpin an den AT90 (XTAL1/GND) und dann probieren.

Ich bin mir aber nicht sicher, ob er bei JTAG einen Takt braucht...womit 
wir dann bei dem obrigen Problem wären...

von Philipp M. (spannungsabfall)


Lesenswert?

Die Idee den Mega32 als Taktquelle zu nutzen hatte ich auch schon, aber 
zum Glück ist das doch nicht nötig.

Ich habe das Teil jetzt via JTAG angeschlossen und der Programmer läuft 
tatsächlich. Finde ich ganz besonders gut, weil es für mich das 1. mal 
war, dass ich eine JTAG-Schnittstelle verwendet habe. Ich hoffe ich 
krieg das jetzt alles wieder hin.

Vielen Dank nochmal Mirko, du hast mir den Tag gerettet.

EDIT: Der war wirklich auf "Ext.Clock" gefused. Das habe ich jetzt 
wieder auf "Ext. Crystal Osc." umgestellt. Ich habe ja die Peripherie 
mit dem Quarz und den 2 Kondensatoren.

Leider meldet er sich immernoch nicht als USB-Gerät an. gibts sonst noch 
irgendwelche Fuses die man beachten muss, bzw. ist es möglich, dass der 
jetzt keine gescheite Firmware (Bootloader) mehr hat?

von Philipp M. (spannungsabfall)


Lesenswert?

Nachtrag: Ich habe jetzt den Bootloader den man bei Atmel runterladen 
kann reingespielt. Nun scheint es zu funktionieren. Zumindest konnte 
Flip eine Verbindung zu dem Gerät aufbauen.

Link zum Bootloader für AT90USB646: 
http://www.atmel.com/dyn/products/product_card.asp?PN=AT90USB64

Link zu Flip: 
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886

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
Noch kein Account? Hier anmelden.