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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren