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
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!
Ich hatte ja den Link zur Schaltung gepostet. Naja, ich hab Sie mal aufgezeichnet (nicht schön). Die Farben der Messungen stehen an den Verbindungen.
Achso, PD3 mit Masse verbunden ist die Bootloader-condition
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?
:
Bearbeitet durch User
Ich hab noch einen Atmega8A, mit dem ich das ausprobieren kann.
Tatsächlich funktioniert es mit dem Atmega8a, dann ist wohl wirklich der Pin kaputt, damit hätte ich nicht gerechnet, weil der komplett neu war. Vielen Dank für die hilfe. Gruß Alex
Rüste trotzdem die beiden Abblock-Kondensatoren nach, sonst lautet dein nächster Beitrag bald "AVR spinnt sporadisch".
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.