www.mikrocontroller.net

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


Autor: Philipp M. (spannungsabfall)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: MirkoB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: MirkoB (Gast)
Datum:

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

Autor: Philipp M. (spannungsabfall)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: MirkoB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Philipp M. (spannungsabfall)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Philipp M. (spannungsabfall)
Datum:

Bewertung
0 lesenswert
nicht 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...

Link zu Flip: 
http://www.atmel.com/dyn/products/tools_card.asp?t...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.