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
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
Danke für die Nachricht! Hab es gerade ausprobiert... hat leider nicht geklappt. Wird nicht vom OS erkannt.
:
Bearbeitet durch User
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.
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
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.
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!
:
Bearbeitet durch User
Locker L. schrieb: > Wo siehst du die Kurzen? Rechte Seite vom Hub Chip und bei der TVS Diode rechts oben
Uwe N. schrieb: > Die Differentiellen Signale sind arg grenzwertig geroutet. Das ist nur Full-Speed-USB (12 MBit/sec), das dürfte alles noch sehr entspannt sein.
Klaus schrieb: > Soory . > > Hier meine Beschaltung die geht. > >> 200 St im Umlauf > > Klaus Hey danke für die Schaltung. Wo geht der Jumper bei dir hin bzw. was steuert den Pin bei dir?
Der Jumper ist Zeit offen. war geplant den USB Hub im Strörfall zu per Microcontroller Pin reseten. War aber nie nötig.
Schau bei TI auf der Seite nach. Da gibts ein Schaltplan von deren Demoboard. Klaus
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?
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.
:
Bearbeitet durch User
Locker L. schrieb: > Ja Top und Bot sind GND Flächen... Die hätt ich aber jetzt eher in den Innenlagen vermutet. Was ist denn auf den Innenlagen? VCC? Auf beiden?
Sry ich meinte damit: es sind nur 2 Layer. Die GND Flächen sind mit den Vias nur verbunden.
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.
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.
Andreas S. schrieb: > Welche Formeln bzw. welches Programm hast Du denn zur Berechnung der > impedanzkontrollierten Leitungen verwendet? Bei USB1.1? Jetzt übertreibs mal nicht ;)
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.
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
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
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?
:
Bearbeitet durch User
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.
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.
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
Ump schrieb: > - Lowspeed : Gar keine Impedanzkontrolle > - Fullspeed : 90E differentiell > - Highspeed : 90E differentiell Ich kann keinen Unterschied erkennen zwischen 90 Ohm und 90 Ohm. Du hast doch irgendwas von einer anderen Impedanz erzählt. Und übrigens die Einheit für Widerstand ist Ohm, nicht Ehm.
Thomas schrieb: > warum Kabel tauschen? Weil Du behauptet hast bei Highspeed bräuchte es eine andere Impedanz. Aber das ist natürlich Unfug, hätte mich auch schwer gewundert, es sind immer 90 Ohm.
Diese Schaltung mit dem TUSB2036 (3 Ports) funktioniert bei mir ohne Probleme. fchk
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.