Atmega8 USB-Bootloader - Fehler beim Anfordern einer Gerätebeschreibung

OP #5340975
Lesenswert?
• ▲
▼
Ich versuche im Moment den VUSB-Bootloader auf einen Atmega8 zu ziehen.
Dazu habe ich folgende Schaltung aufgebaut:
http://www.fischl.de/avrusbboot/
wobei an D+ und D- noch zusätzliche Zener-Dioden mit 3,6V hängen.
Dann habe ich die neuste Version hier heruntergeladen und bin der 
Anleitung gefolgt:
https://www.obdev.at/products/vusb/bootloadhid.html

Das kompilieren und Flashen hat Problemlos funktioniert und der Quarz 
arbeitet auch richtig. (getestet mit einer blinkenden LED)

Das problem ist, dass Windows folgenden Fehler meldet, nachdem das 
USB-Kabel eingesteckt wird: Fehlercode 43 - Fehler beim Anfordern einer 
Gerätebeschreibung. Dabei wird dann angezeigt: VID:0x0000 und PID:0x0002

Nach einem Blick auf die Übertragung mit dem Oszilloskop (Anhang), kann 
man eine Aufladekurve bei der D- Leitung erkennen. Dieser Fehler sorgt 
wohl dafür, dass der Mikrocontroller nicht vernünftig antworten kann. 
Allerdings weiß ich nicht, wo dieser Fehler her kommt. Da müssten ja 
prinzipiell Host und Controller gegeneinander arbeiten.

Ich habe die Schaltung einige male komplett überprüft und es ist alles 
Richtig angeschlossen. Die Bootloader-condition scheint auch zu 
funktionieren, da der Mikrocontroller ansonsten gar nicht versucht zu 
antworten. (Trotzdem Fehler 43) Außerdem habe ich es an mehreren PC's 
ausprobiert, wobei das Oszi-Bild mit dem Laptop entstanden ist.

Ich hoffe ihr könnt mir weiter helfen.

P.S.: Die oberen beiden Grafen sind direkt am µ-Controller (D- ist rot) 
und die unteren sind an den USB-Leitungen.

Gruß Alex
Angehängte Dateien:
Gast #5341174
Lesenswert?
• ▲
▼
Welche Farbe stellt welches Signal dar?
Zeige deinen Schaltplan und zeichne dort die Messpunkte ein.

> Ich hoffe ihr könnt mir weiter helfen.

Ja schon, aber wie soll das ohne Schaltplan gehen?

> Ich habe die Schaltung einige male komplett überprüft und es ist
> alles Richtig angeschlossen.

Dann müsste sie ja funktionieren. Löse dich von ungesicherten 
Vermutungen, die verhindern nur, dass die die Fehlerursache erkennst!
#5341280
Lesenswert?
• ▲
▼
Fuses richtig gesetzt? Clockdiv8 würde das Timing versauen.
Edit: Oszi-Bild sagt: Clock stimmt.

Da fehlen noch die 100nF Abblock-Kondensatoren. Die könnten die Funktion 
deutlich verbessern.

Alex C. schrieb:
> Dabei wird dann angezeigt: VID:0x0000 und PID:0x0002

Ich sehe grade: rot ist nicht korrekt verbunden oder der Pin am µC 
kaputt. Man sieht nur den 1k5 Widerstand wenn das Signal auf High gehen 
soll, daduch ist die Rise-Time viel zu hoch.

Interessanterweise schtimmen die Pegel wenn Rot auf 0V gehen soll, das 
würde für einen defekten Transistor im µC sprechen. Hast Du noch einen 
Atmega8 zum Testen irgendwo rumfliegen?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.