eigener USB HUB TUSB2046

OP #5379758
Lesenswert?

Hi, Leute
ich habe vor Kurzem eine USB-Platine erstellt. Problem sie funktioniert 
leider nicht und ich weiß auch nicht mehr weiter. Habt ihr vielleicht 
eine Idee für mich?
Hab mich am Datenblatt und ein paar Einträgen hier im Forum orientiert.
Im Anhang hab ich mein Schaltplan und das Layout verlinkt.

Viele Grüße

LL
Angehängte Dateien:
Gast #5379767
Lesenswert?

Hallo,

Der Reset ist nicht beschaltet!  Hatte faste die gleiche Beschaltung.


RST Pin: Pullup 10K gegen 3V3 und 100nF gegen GND!

Bin mir 99.999999 Sicher das ist es. er Wird nicht im OS erkannt!

Mit Taster gegen GND funktioniert nicht!
Bitte Datenblatt genau zu RST lesen!

Klaus
#5379926
Lesenswert?

Die Differentiellen Signale sind arg grenzwertig geroutet.
Einerseits gibts du dir zwar Mühe bei Dingen wie dem Längenausgleich, 
andererseits versaust du dir genau das mit diesen fiesen Stichleitungen 
zu den ESD-Dioden D2/ D3. Noch dazu mit 2 Vias im Signalpfad.

Differentielle Signale sollten stets symmetrisch geroutet sein.

Ich denke es ist besser, wenn jeder USB-Port seinen "persönlichen" 
ESD-Schutz bekommt - vereinfacht das Routing.
Gast #5380043
Lesenswert?

Die Overcurrent-Ausgänge der TPS2051 Powerswitches sind Open Collector 
und brauchen Pullups.

Die Anmerkung des Vorposters bezüglich des extrem dämlichen Routings der 
ESD-Schutzdioden unterstütze ich.

Außerdem fehlt der 1.5k Pullup an DP0 beim Uplink.

fchk
Gast #5380084
Lesenswert?

Sowas sollte man wirklich unbedingt von Hand routen!
Ich sehe auf dem Layout schon 2 Stellen mit Kurzschlüssen, sind die 
durch den DRC gekommen und so auch auf der Platine?
Außerdem ist die Spannungsversorgung überhaupt nicht ausreichend 
dimensioniert, Leiterbahnbreite beachten..
Wozu die Jumper in den Datenleitungen und die viel zu großen Abstände 
zwischen den Widerständen? Das löst das Diff. Pair auf.
OP #5380097
Lesenswert?

fchk schrieb:
> Außerdem fehlt der 1.5k Pullup an DP0 beim Uplink.

Hey! Danke für den Tipp Windows erkennt jetzt was aber er sagt mir das 
das Gerät (Hub) nicht richtig funktioniert.

Vka schrieb:
> Ich sehe auf dem Layout schon 2 Stellen mit Kurzschlüssen, sind die
> durch den DRC gekommen und so auch auf der Platine?

Wo siehst du die Kurzen?

Vka schrieb:
> Wozu die Jumper in den Datenleitungen

Zum Debuggen ^^ ich hab schon mal den Hub so aufgebaut in einer anderen 
Schaltung dort konnte ich aber nicht wirklich nach Fehlern suchen.

Vielen Dank für eure Antworten!
#5380203
Lesenswert?

Rufus Τ. F. schrieb:
> Das ist nur Full-Speed-USB (12 MBit/sec), das dürfte alles noch sehr
> entspannt sein.

Mag sein. Das Problem bei solchen Unfällen ist, dass wenn es nicht 
funktioniert eine mögliche Ursache mehr ist. Und der TO/ Windows hat 
eben gewisse Probleme mit dem Board.

Ob die legere Leitungsführung im Bereich der ESD-Dioden zielführend ist 
darf man schon anzweifeln.

By the Way: ich sehe in paar vereinsamte Vias: ist das ein Multilayer?
OP #5380213
Lesenswert?

Klaus danke dir! :) Ich hab den ResetPin mit 47k und 100n beschaltet und 
nun gehts Windows erkennt den USB Hub!

Und auch danke an fchk für die vergessenen 1,5k an DP0!


Nur leider erkennt er die am Hub angeschlossene Maus noch nicht.

Uwe N. schrieb:
> By the Way: ich sehe in paar vereinsamte Vias: ist das ein Multilayer?

Ja Top und Bot sind GND Flächen allerdings hab ich auch ein paar GND 
Leitungen von Hand geroutet deshalb sieht manches bisl komisch aus Kurze 
sind da nicht. Ich kann nochmal ein neues Bild hochladen.
Angehängte Dateien:
(Firma: Schweigstill IT) Persönliche Seite #5380348
Lesenswert?

Locker L. schrieb:
> Sry ich meinte damit: es sind nur 2 Layer. Die GND Flächen sind mit den
> Vias nur verbunden.

Ach Du Scheiße. Du zerschneidest Dir also mit den senkrechten blauen 
Leiterbahnen munter die Massefläche, insbesondere auch dort, wo die 
differentiellen Signale entlanglaufen. Und hast Du bei den (nicht 
dargestellten) Masseflächen auch einigermaßen brauchbare Abstände zu den 
Signalen eingestellt oder einfach nur den meist viel zu kleinen 
Defaultwert genommen?

Welche Formeln bzw. welches Programm hast Du denn zur Berechnung der 
impedanzkontrollierten Leitungen verwendet? Mir erscheinen die 
Leiterbahnbreiten für eine normale 1,5mm-Platine ohne Innenlagen doch 
reichlich schmal. Oder verwendest Du ein äußerst exotisches Material mit 
einem besonders hohen Epsilon_r?

Vermutlich hast Du Dir aber einfach nur so gar keine Gedanken über das 
Layout gemacht und es einfach nur hingerotzt.
Gast #5380349
Lesenswert?

Was sagt der PC`im "USB Device tree viewer"?
Failed to enumerate oder kommt gar nix?

Ein paar Dinge, die du nachkucken könntest:
Bist du dir sicher, dass die Serienwiderstände in den Datenleitungen 
nötig sind? Kuck dazu ins Datenblatt. Das hängt vom Tranceivier ab. 
SMSC-Hubs brauchen das beispielsweise nicht.

Der Reset hängt in der Luft. Bist du dir sicher, dass das Hub einen 
internen Pullup am Reseteingang hat? Prüf das mal nach. Miss mal die 
Spannung am REset, ist sie 3V3?

Außerdem kommen mir die 22p in den Datenleitungen arg hoch vor. Bist du 
dir sicher, dass das nötig ist?

Brauchst du vielleicht einen Pullup in DM0? Kuck ins Datenblatt!

Dann prüf mal, ob dein Quarzoszillator funktioniert. Kommt der Clock 
raus, stimmt die Frequenz?

Passt die Versorgung, stimmt die Spannung und ist sie sauber?

Gibt es Strappingpins, und hast du sie richtig gezogen? Sprich, die Pins 
welche die Config bestimmen.

Nochmal die Verlötung durchpiepseln schadet auch nicht.

Ja, das Routing ist gruselig, da beißt die Maus keinen Faden ab. Aber 
ich denke nicht, dass da das Problem liegt. USB Fullspeed ist sogar 
Breadboard-tauglich.
(Firma: Schweigstill IT) Persönliche Seite #5381544
Lesenswert?

Georg A. schrieb:
> Bei USB1.1?

Es handelt sich doch überhaupt nicht um einen USB-1.1-Hub, sondern um 
einen USB-2.0-Hub, allerdings nur mit maximal 12 MBit/s. Die 
Leitungsimpedanzen wurden aber auch schon gleich zu Beginn von USB 
definiert. Mit der High-Speed-Betriebsart (ab USB 2.0) sind sogar 
unterschiedliche Impedanzen für High Speed und Full/Low Speed 
spezifiziert.
Gast #5381638
Lesenswert?

nun ein USB2 HUB der nur fullspeed kann ist halt nur ein usb 1.1 Hub
Die Hispeed Impedanzen spielen dann keine Rolle da der HUB nie in den Hi 
Speed mode kommt.
Es ist übrigens eine beliebte Methode Fullspeed devices als USB2 Geräte 
zu bezeichnen sieht einfach besser aus und ist sachlich ja auch korrekt 
da die USB2 Spec auch die USB 1.1 Spec enthält.
Jedes Device wird erst mal im Fullspeed enumeriert und erst hinterher 
wird auf Hispeed umgeschaltet wenn die entsprechenden Decriptoren 
vorhanden sind.
Es ist deshalb auch üblich im Device Descriptor USB2 anzugeben auch wenn 
das Gerät lediglich Fullspeed kann und deshalb 1.1 ausreichen würde.

Hispeed verwendet andere Transceiver als Full / Lowspeed deshalb sind 
unterschiedliche Impedanzen in in der Spec.

Thomas
Gast #5381666
Lesenswert?

Georg A. schrieb:
> Andreas S. schrieb:
>> Welche Formeln bzw. welches Programm hast Du denn zur Berechnung der
>> impedanzkontrollierten Leitungen verwendet?
>
> Bei USB1.1? Jetzt übertreibs mal nicht ;)

Das kommt darauf an.

Impedanzkontrollierte Kabel sollte man schon verwenden. Über 2m ohne 
Impedanzkontrolle geht das mit Fullspeed nicht oder nicht ordentlich.

Aber stimmt schon, für die kurzen Strecken auf der Platine gehe ich 
nicht davon aus, dass das Problem dort liegt.

Wenn sich das Hub gar nicht meldet (d.h. am PC auch kein Sound ertönt, 
wenn man es ansteckt), dann schaltet das Hub keinen Pullup.

Und das liegt entweder daran, dass es keinen hat, oder das das Hub 
keinen Strom oder Takt hat oder falsch beschaltet ist.

Also Butter bei die Fische:
Meldet sich das Hub am PC? Was sagt diese Software:
https://www.uwe-sieber.de/usbtreeview_e.html
(Firma: Schweigstill IT) Persönliche Seite #5381822
Lesenswert?

Thomas schrieb:
> nun ein USB2 HUB der nur fullspeed kann ist halt nur ein usb 1.1 Hub

Nein. Ein Gerät, das sich im Device Descriptor mit als USB 2.0 meldet, 
ist kein USB-1.1-Gerät.

> Es ist deshalb auch üblich im Device Descriptor USB2 anzugeben auch wenn
> das Gerät lediglich Fullspeed kann und deshalb 1.1 ausreichen würde.

Ein USB-1.1-Gerät, in dessen bcdUSB-Feld 2.0 stünde, wäre eben nicht 
spezifikationskonform.

Neben der unterschiedlichen Versionskennung gibt es auch ein paar kleine 
subtile Unterschiede im Timing, um die Kompatibilität verschiedener 
Geräte zu verbessern.
Gast #5381826
Lesenswert?

Bernd K. schrieb:
> Thomas schrieb:
>> Hispeed verwendet andere Transceiver als Full / Lowspeed deshalb sind
>> unterschiedliche Impedanzen in in der Spec.
>
> Und die Kabel tauschen sich dann auch automatisch aus wenn der Speed
> umgeschaltet wird und die Leiterbahnen legen sich um, oder was? Oder wie
> haben die sich das gedacht?

Die Impedanzen sind tatsächlich unterschiedelich, aber so, dass es 
abwärtskompatibel ist:
- Lowspeed : Gar keine Impedanzkontrolle
- Fullspeed : 90E differentiell
- Highspeed : 90E differentiell, aber für einen größeren Frequenzbereich

Das Device und der Host wissen das von den Pullups auf den Leitungen, 
das Kabel können sie aber nicht identifizieren.

Superpseed ist gar kein "echtes" USB, das hat eigene Leitungen für USB2 
und USB3. Drum brauchts eigene Stecker, aber drum gehen USB3 Geräte auch 
mit USB2- Kabeln, weil sie beides haben.

Aber:
Die Tranceiver sind fundamental unterschiedlich, wie auch die 
Signalpegel und die Datenübertragung.
Gast #5381919
Lesenswert?

Bernd K. schrieb:
> Thomas schrieb:
>> Hispeed verwendet andere Transceiver als Full / Lowspeed deshalb sind
>> unterschiedliche Impedanzen in in der Spec.
>
> Und die Kabel tauschen sich dann auch automatisch aus wenn der Speed
> umgeschaltet wird und die Leiterbahnen legen sich um, oder was? Oder wie
> haben die sich das gedacht?

warum Kabel tauschen? bei Hispeed wird einfach ein anderer Satz 
Transiver im Frontend benutzt, D+ D+ bleiben die gleichen. Jedes Gerät 
wird erst mal als Fullspeed angesprochen. Der Host entscheidet dann wenn 
die Hispeed Desc vorhanden sind ob umgeschaltet wird.
Die Unterscheidung ob Full oder Low Speed wird über den 1.5k an D+ bzw 
D-
gemacht.
Bei USB3 superspeed ist noch mal ein eigener Satz Transeiver nötig da 
dort die Datenübertragung unidirektional erfolgt.

Thomas

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