Forum: Mikrocontroller und Digitale Elektronik Probleme mit dem ATMEGA32U4 am USB


von Johnny S. (sgt_johnny)


Lesenswert?

Hallo zusammen,


Ich habe ein eigenes Design aufgebaut. Es wird ein Atmega32u4 
eingesetzt, der aber am USB nicht läuft

Er erscheint im Device-Manager von Windows als "Unknown (Device 
Descriptor Request Failed).

Laut Google ist das ziemlich die unterste Ebene, somit kann es nicht an 
Treibern liegen (das System weiss ja noch garnicht was das für ein Gerät 
sein soll).

Fehlen Treiber steht ja dort schon eine Geräte information z.b. "Usb 
Serial Device" mit Warnsignal.


Ich verwendede den Arduino Bootloader "Sparkfun FioV3" (3.3V, 8MHZ).
Das brennen vom Bootloader via SPI klappt problemlos, auch lässt sich 
Code über SPI hochladen, und funktioniert.

Dies spricht dafür das Quarz und der Rest in Ordnung sind.

Für VCAP (USB Kondensator Port am Atmega33u4) wurde wie bei Sparkfun's 
Fio V3 1uF verbaut.


Probiert habe ich bereits die USB-Pins zu überkreuzen, um einen Fehler 
im Design auszuschliessen. Bringt auch nichts

Versuche wurden mit nur USB-Speisung und mit Doppelspeisung (3.3V,VBus) 
probiert. Hilft leider auch nichts.


Hat vieleicht jemand mal ein ähnliches Problem gehabt? Weiss jemand eine 
Lösung?

Danke.

von Rene K. (xdraconix)


Lesenswert?

Schaltplan bitte! :-) Mit solchen Prosa-Schaltplänen ist nicht viel 
anzufangen. Auch ein Bild der Platine wäre sehr schön.

von Johnny S. (sgt_johnny)


Angehängte Dateien:

Lesenswert?

Anbei ein Teil vom Schaltplan (MCU und USB) sowie ein Board-Ausschnitt. 
Habe extra nur sowenig eingeblendet das man die Linien besser erkennt

: Bearbeitet durch User
von Philipp K. (philipp_k59)


Lesenswert?

Die Buchse sieht komisch aus, als wären 3 der vier USB-Port Pins 
gebrückt.. Ich denke mal das liegt an der auflösung?

Am aktuellen Kabel alle Pins auf hochomigkeit gegeneinander gemessen?

von Johnny S. (sgt_johnny)


Lesenswert?

Philipp K. schrieb:
> Die Buchse sieht komisch aus, als wären 3 der vier USB-Port Pins
> gebrückt.. Ich denke mal das liegt an der auflösung?

Ja, sorry. Sind natürlich nicht gebrückt :)

Hm..kann das Kabel nicht messen, aber habe diverse Kabel probiert, 
welche auch an anderen Orten funktionieren.

von Jim M. (turboj)


Lesenswert?

Das BRD möchtest Du mal mit einer passenden Auflösung hochladen. So 
sieht es wie ein Kurzschkuss auf der USB Buchse aus.

Schau auch mal nach ob D+ und D- an der USB Buchse richtig herum sind, 
D- liegt neben +5V und D+ neben GND.

von Felix U. (ubfx)


Lesenswert?

Hi,

ich meine ich hatte mal das gleiche Problem als ich mit USB unter XMega 
gearbeitet habe. Allerdings kann das natürlich viele verschiedene 
Ursachen haben: Der Grund ist dass die USB Hardware zwar aktiviert wird 
und der Host dann ein Device erkennt, aber dann keine Enumeration 
stattfindet weil die Hardware resettet wird oder irgendwo hängen bleibt.

Ich empfehle dir Microsoft Message Analyzer um das schnell abzuklären, 
wo er hängen bleibt, kann nämlich auch sein dass die Enumeration 
mittendrin irgendwo failt. (Ich hatte so viele Probleme mit ASF USB, ich 
weiß leider nicht mehr exakt, was die Ursache war).

Außerdem würde ich mal versuchen ein USB CDC Example Projekt aus dem ASF 
zu kompilieren und aufzuspielen um zu testen ob der Hardware Part 
funktioniert, wovon ich mal ausgehe.

von Johnny S. (sgt_johnny)


Angehängte Dateien:

Lesenswert?

Jim M. schrieb:
> Das BRD möchtest Du mal mit einer passenden Auflösung hochladen. So
> sieht es wie ein Kurzschkuss auf der USB Buchse aus.
>
> Schau auch mal nach ob D+ und D- an der USB Buchse richtig herum sind,
> D- liegt neben +5V und D+ neben GND.

Anbei das Bild


Felix U. schrieb:

> Ich empfehle dir Microsoft Message Analyzer um das schnell abzuklären,
> wo er hängen bleibt, kann nämlich auch sein dass die Enumeration
> mittendrin irgendwo failt.


Danke werde ich probieren! :)

von Rene K. (xdraconix)


Lesenswert?

Ich stelle da mal eine ganz klare Vermutung auf... die zwei Buchsen 
brückst du mit Kabeln?! Zum µC sind die zwei geschwungenen Linien auf 
der Rechten Seite?!

von Johnny S. (sgt_johnny)


Lesenswert?

Auf dem Bild gesehen ist beim Footprint USB1

Von Links: USB_N, USB_P, VBUS,GND

Die Verbindung der beiden Footprings USB1,USB2 ist ein 2.54mm 90 Grad 
Header, so das die untere Platine senkrecht auf der anderen steht 
(Gehäuseauschnitt)

von Philipp K. (philipp_k59)


Lesenswert?

Johnny S. schrieb:
> Hm..kann das Kabel nicht messen, aber habe diverse Kabel probiert,
> welche auch an anderen Orten funktionieren.

Darum gehts ja garnicht, manchmal kann ein kleiner 
Lötpunkt/Flussmitelreste  unter der buchse 2Pins überbrücken.. dann ist 
das z.B. auch dein Problem.

von Johnny S. (sgt_johnny)


Lesenswert?

Gut ich werde morgen mal die Steckerleiste abtrennen und direkt ein 
usb-Kabel-Ende auf die Pads löten.

von Philipp K. (philipp_k59)


Lesenswert?

Johnny S. schrieb:
> Gut ich werde morgen mal die Steckerleiste abtrennen und direkt ein
> usb-Kabel-Ende auf die Pads löten.

Jo wollte ich gerade noch als Tip nacheditieren.. war zu spät ;)

von Marc H. (marchorby)


Lesenswert?

Nur allgemeine Frage:

Hast du auch VCC und nicht nur VBus?

Clock div 8 disabled?

Lade mal das Boardfile und die Schematic hoch!

: Bearbeitet durch User
von Johnny S. (sgt_johnny)


Angehängte Dateien:

Lesenswert?

Marc H. schrieb:
> Nur allgemeine Frage:
>
> Hast du auch VCC und nicht nur VBus?
>
> Clock div 8 disabled?
>
> Lade mal das Boardfile und die Schematic hoch!

Ich habe beides, ja.

Anders würde es ja vermutlich nicht funktionieren, da 3.3V nicht das 
USB-Level ist.

Sparkfun verkauft den Fio V3 sowie den Micro Pro, die haben auch den 
Atmega32u4 drauf und werden von einer Batterie gespiesen.

Ob das mit der Clock disabled ist weiss ich nicht, da ich den Bootloader 
ja nur gedownloaded hab

von DraconiX (Gast)


Lesenswert?

Ahh... Die Fuses hast du quasi noch nicht eingestellt??

von Johnny S. (sgt_johnny)


Lesenswert?

Update! Geht

Schaut mir danach aus, als ist der Stecker böse!

Ich habe soeben ein USB Kabel direkt an die 90 Grad header gelötet, und 
siehe da, rennt!

von Jim M. (turboj)


Lesenswert?

Johnny S. schrieb:
> Update! Geht
>
> Schaut mir danach aus, als ist der Stecker böse!

Oder es sind D+ und D- vertauscht, dann erkennt der Host das Gerät 
falsch als Low Speed Device. Dann kann nix tun.

Dein Layout sieht so aus als könnte man D+ und D- einfach mal mit 'ner 
Drahtbrücke tauschen.

von Johnny S. (sgt_johnny)


Lesenswert?

Jim M. schrieb:
> Johnny S. schrieb:
>> Update! Geht
>>
>> Schaut mir danach aus, als ist der Stecker böse!
>
> Oder es sind D+ und D- vertauscht, dann erkennt der Host das Gerät
> falsch als Low Speed Device. Dann kann nix tun.
>
> Dein Layout sieht so aus als könnte man D+ und D- einfach mal mit 'ner
> Drahtbrücke tauschen.

Das habe ich schon ganz am Anfang probiert, habe die Header in der mitte 
geschitten... Vieleicht ist ja wirklich der Stecker schrott oder hald 
die Lötung...

Johnny S. schrieb:
> Probiert habe ich bereits die USB-Pins zu überkreuzen, um einen Fehler
> im Design auszuschliessen. Bringt auch nichts
>

von Johnny S. (sgt_johnny)


Lesenswert?

Fehler gefunden...

Ich hatte die USB-Buchse nochmal abgelöted und darunter ein feines 
Kupferdrähtchen endekt, was D- mit VCC verbunden hat.

Muss wohl beim PCB-Reinigen dorthingekommen sein.

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.