Hallo, ich möchte mir gerne einen Entwickler-USB-Hub bauen. Eckdaten sehen in etwa so aus: - USB 3.1 - mind. 1A pro Port - Stromlimitierung auf bis zu mindestens 100mA (gerne auch niedriger) - Massives Gehäuse - Gruppen von USB Ports separat abschaltbar (Feierabend) - Kurzschlussfest - Ports über USB Ein- / Ausschaltbar - Display, Tasten und LEDs für Einstellen und Darstellen. Ich habe jetzt mal ein wenig Recherchiert. Mit dem 4-Port Hub TUSB8041A von TI könnte ich einen 6 Port-Hub entwerfen, bei dem noch ein Port für einen Microcontroller übrig bliebe. An einen TUSB8041A kommt der µC, 2 Port und ein weiterer TUSB8041A für weitere 4 Ports. Stromlimitierende Power Switches, habe ich so einige gefunden, auch einige, bei denen sich das Limit über I2C einstellen läßt, aber keinen der eine Auflösung bis runter auf 100mA (oder noch weiter) hätte. Der UCS2114 von Microchip währe ganz passend, aber das Limit läßt sich nur in 8 Stufen einstellen und die unterste Stufe wäre ~0,5A. Hat da jemand eine gute Lösung (für den Strom limitierenden Power-Switch)? Ich habe da den INA260 von TI gefunden, der könnte pro Port den Strom messen und im Überstromfall den Fehler and den TUSB8041A melden. Der brächte dann aber noch mal zusätzlich einen Switch, weil der nur messen kann und nicht schaltet. So ganz diskreter Aufbau mit Shunt, OP etc. käme mir jetzt unnötig kompliziert vor, oder? (Der Überstrom muss ja recht zeitnah zum Switch gemeldet werden). Für den Entwickler-USB-Hub-Der-Träume, welche features werde ich später vermissen? ;-) Galvanische Trennung? Heizplatte für's Toast? Ergibt die Bauteilauswahl (TUSB8041A) soweit Sinn? schöne Grüße, Torsten
:
Verschoben durch Moderator
Hast du dir schon die USB 3 Spezifikation durchgelesen? Das Routing von USB 3.1 ist nicht ohne. Differentielle Leitungspaare, gleiche Länge der differentiellen Leitungen und auch der Paare untereinander. Hast du ein passendes Scope, um dir das Augendiagramm bei den Datenraten anzeigen zu lassen? Wenn nicht können dich die ersten Layouts ordentlich Lehrgeld kosten. Ansonsten ist der TI schon ein ganz brauchbarer Chip.
Chris K schrieb: > Hast du dir schon die USB 3 Spezifikation durchgelesen? Das Routing von > USB 3.1 ist nicht ohne. Differentielle Leitungspaare, gleiche Länge der > differentiellen Leitungen und auch der Paare untereinander. Hast du ein > passendes Scope, um dir das Augendiagramm bei den Datenraten anzeigen zu > lassen? Wenn nicht können dich die ersten Layouts ordentlich Lehrgeld > kosten. Ne, habe ich alles nicht (Software-Entwickler halt). Ich denke aber, dass wenn ich das es als USB 2 auslegen würde, würde es wahrscheinlich nicht viel günstiger und weniger Aufwand werden. Wenn ich mit USB 3 anfange und genau diese HF Sachen nicht hin bekomme, sollte der Hub aber immer noch als USB 2 oder aber als 5V Spannungsquelle nutzbar sein.
Beitrag #6586291 wurde von einem Moderator gelöscht.
Dann kann ich dir nur raten, dich penibelst an die Design Vorgaben zu halten. Im Datenblatt vom TUSB stehen ja schon ein paar Anforderungen. 90 Ohm differentielle Paare. Nicht mehr als 5 mil Versatz. Leitungen kurz halten, ohne Vias oder andere Arten von Impedanzsprüngen. Schau dir auch die Stecker genau an. Kann man nicht von Hand löten, da man an die innere Reihe nicht dran kommt. Sperrflächen beachten und Fertiger suchen, der passend feine Strukturen kann.
Lass dich nicht verrückt machen, der Längenausgleich ist nicht sehr wichtig und Vias darf man natürlich auch setzen für den Lagenwechsel. Guck dir die Layouts von USB3 Hubs an, das sieht oft grauenhaft aus und die werden trotzdem verkauft und funktionieren. Es ist eben so, wenn du dich möglichst genau an die harten Vorgaben hältst, dann bist du weit auf der sicheren Seite. Wenn du davon abweichst und je weiter du abweicht desto näher kommst du an die Grenze an der das nicht mehr funktioniert. Als Fazit würde ich mich grob an die Regeln halten, aber auch keine Kopfstände machen. Wenn du einen Lagenwechsel brauchst, dann mach den. Warum sollte Handbestückung nicht gehen? Um welchen Baustein geht es? USB-C Buchsen kann man schön mit Heißluft löten und ICs sowieso. Edit: Wenn du möchtest kannst du Schaltplan und Layout hier herzeigen bevor du die Platinen fertigen lässt. Dann bekommst du dazu Kritik.
:
Bearbeitet durch User
Gustl B. schrieb: > Edit: > Wenn du möchtest kannst du Schaltplan und Layout hier herzeigen bevor du > die Platinen fertigen lässt. Dann bekommst du dazu Kritik. Ja, das werde ich gerne tun. Vielleicht packe ich das ganze einfach auf Github. Aufbau könnte aus drei verschiedenen Komponenten bestehen: - 5V / 15A Spannungsversorgung - Base-Plane mit einem USB-Hub, Ansteuerung von Display und Click Wheel, 1,1V und 3,3V Versorgung und 3 I2C Ports und 3 USB 3 Ports - Hub-Plane mit einem USB Eingang und 4 Ports, Strombegrenzung, Port-Abschaltung, 1 Taste pro Port, eine 3-farbige LED pro Port, Ansteuerung über I2C. Mir sind noch zwei Wünsche eingefallen, zu denen ich Tipps gebrauchen könnte. Ich wollte jedem Port eine dreifarbige LED spendieren, um Zustände anzuzeigen. Ich fänd' es super "cool", wenn die USB Buchsen einen leuchten Ring hätten. Hat dazu jemand eine Idee? Zur Bedienung wollte ich ein kleines Display spendieren und ein Click Wheel wir bei den alten iPods. Kennt jemand eine Lösung für so ein Click Wheel? Habe Gestern nur so kapazitive Bedienelemente gefunden.
Torsten R. schrieb: > Hat dazu jemand eine Idee? Dafür brauchst du einen Lichtleiter in der Frontplatte. In deinem Fall einen Ring rund um die Buchse. Ich würde die Löcher in der eigentlichen Frontplatte größer fräsen und dann mattes Plexiglas dahinter kleben. In das Plexiglas kann man dann von der Platine aus rein leuchten. Es gibt auch spezielle Platten die Licht gleichmäßig verteilen können. Das Click Wheel kannst du mit QTouch gut umsetzen, sowas habe ich in den Microchip Appnotes schon gesehen. Ich würde wahrscheinlich einen kleinen Controller für die Touch Auswertung abstellen und die Eingaben per I2C/GPIO abholen.
Torsten R. schrieb: > Ne, habe ich alles nicht (Software-Entwickler halt). Ich denke aber, > dass wenn ich das es als USB 2 auslegen würde, würde es wahrscheinlich > nicht viel günstiger und weniger Aufwand werden. Wenn ich mit USB 3 > anfange und genau diese HF Sachen nicht hin bekomme, sollte der Hub aber > immer noch als USB 2 oder aber als 5V Spannungsquelle nutzbar sein. Fange erstmal mit USB2 an und lerne daran. Nimm den USB2517, der hat 7 Ports, da brauchst Du nur einen Hub Chip, und der Chip selber ist unproblematisch. Einziger Haken, auf den ich mal reingefallen bin: Wenn Du ein EEPROM anschließt, dann kannst Du das EEPROM nicht über den Hub programmieren. D.h. das EEPROM muss vorprogrammiert eingelötet werden. Oder Du hast einen Microcontroller, der I2C Slave spielt, startet, sich initialisiert und dann per Reset den Hub-Chip startet, der sich dann seine Konfiguration holt. Nachtrag: Der USB-Hub kann nicht nur I2C Master (für ein EEPROM), sondern auch I2C/SMBUS Slave sein, was die Sache vereinfacht. Zur Strombegrenzung eignen sich auch die eFuse Chips von TI. https://www.ti.com/de-de/power-management/power-switches/efuse-hotswap-controllers/products.html Z.B. https://www.ti.com/lit/ds/symlink/tps25921l.pdf Da kannst Du alles mögliche einstellen und dir aussuchen, ob der Chip bei Überstrom den Strom begrenzen oder komplett abschalten soll, und je nach Chip beibt der Port nach Auslösung dauerhaft aus oder schaltet sich nach einer Zeit automatisch wieder an. Manche dieser Chips haben auch einen Spannungsausgang, der proportional zum durchfließenden Strom ist. fchk
:
Bearbeitet durch User
Frank K. schrieb: > Fange erstmal mit USB2 an und lerne daran. Nimm den USB2517, der hat 7 > Ports, da brauchst Du nur einen Hub Chip, und der Chip selber ist > unproblematisch. Meine Idee war ja, wenn ich das Layout von dem USB 3 Hub nicht hin bekomme, dann wird der sicher zumindest noch als USB 2 Hub funktionieren (oder Zumindest als 5V Spannungsquelle mit einstellbarer Strombegrenzung). Ich denke im Moment eher darüber nach, dass ganze in drei Komponenten (siehe Oben) zu Teilen und erst einmal mit einer Komponente anzufangen. Oder vielleicht sogar erst einmal ein kleiner Test mit der USB-Stecker Beleuchtung und dem Click Wheel. > Nachtrag: Der USB-Hub kann nicht nur I2C Master (für ein EEPROM), > sondern auch I2C/SMBUS Slave sein, was die Sache vereinfacht. Ja, dass ist beim TUSB8041A auch so. Ein µC kommt da auf jeden Fall rauf, alleine damit ich die Ports über USB zurück setzen kann (um z.B. Tests zu automatisieren). > Zur Strombegrenzung eignen sich auch die eFuse Chips von TI. > https://www.ti.com/de-de/power-management/power-switches/efuse-hotswap-controllers/products.html Da kann man die Höhe des Stroms aber auch nur wieder über einen Widerstand einstellen. Ich wollte das aber über den µC machen, sodass ich den Strom am Display relativ genau (mind. 100mA Schritte) vorgeben kann. Ich würde auch gerne die Überstrom-Zustände vom µC aus einsammeln können, damit ich z.B. auch wieder auf USB ausgeben könnte, oder z.B. die LED am entsprechenden Port blinken lassen könnte, ohne zusätzliche, komplizierte Logik.
Lustig, mit so etwas habe ich auch vor kurzem angefangen -dabei ist es bis jetzt auch leider geblieben. Bzgl. Test benötigte Oszi Bandbreite: USB2.0SS ca. 2Ghz USB3.0 ca. 13Ghz Wird aber kaum nötig sein, wie oben geschrieben einfach probieren, im schlimmsten Fall ist der Hub halt etwas langsamer. Bin gespannt wie es dir dabei geht. mfg
Du könntest dir die Strombegrenzung auch zu Fuß aufbauen: - Shunt und Strommessverstärker wie z.B. TSC101 in die 5V-Leitung einschleifen - dahinter ein Komparator, dessen zweiten Eingang du ganz schlicht mit einem Poti einstellen und damit die Schwelle festlegen kannst. - An dessen Ausgang ein Latch, das bei Überstrom abschaltet und den Ausschaltzustand speichert - braucht natürlich einen Reset-Button und praktischerweise noch eine Status-LED. - Zu guter Letzt einen Highside-Schalter (irgendwas aus dem Profet-Portfolio, z.B. BTS5200-4, zum stressfreien Abschalten). Das ist die Abschalt-Lösung. Du kannst natürlich auch eine Stromregelung aufbauen, aber das würde ja heißen, bei Überstrom die Spannung runterzuregeln. Dann kokelt deine angeschlossene Schaltung langsam vor sich hin, während die USB-Funktionalität wegen Unterspannung aussteigt. Fände ich persönlich nicht überzeugend. Ganz komfortabel kannst du statt Poti und Status-LED das natürlich auch per µC einstellbar machen.
:
Bearbeitet durch User
Max G. schrieb: > Ganz komfortabel kannst du statt Poti und Status-LED das natürlich auch > per µC einstellbar machen. Ja, das hatte ich auch vor. Deswegen Display und Scroll Wheel. Die Überstrom-Abschaltung/Erkennung/Messung zu Fuß aufbauen skaliert natürlich nicht so schön.
Das Display könnte folgendes werden: https://www.digikey.de/product-detail/en/E2266JS0C1/1452-E2266JS0C1-ND/13572401/?itemSeq=354513185 Beim Controller gucke ich mir gerade den hier an: https://ww1.microchip.com/downloads/en/DeviceDoc/SAM_D5x_E5x_Family_Data_Sheet_DS60001507G.pdf Bei der Spannungsversorgung dachte ich an ein großes 5V Netzteil: https://www.digikey.de/product-detail/en/RSP-75-5/1866-4288-ND/7706352/?itemSeq=354514487 Und dann entweder 1,1V und 3,3V zentral auf der Base-Plane, oder Base-Plane und Hub-Plane bekommen 5V und erzeugen sich die nötigen 1,1V und 3,3V selbst. Muss ich beim Entwurf der Base-Plane mal gucken, was das für ein Aufwand ist, die beiden Spannungen zu erzeugen.
A. K. schrieb: > Lustig, mit so etwas habe ich auch vor kurzem angefangen -dabei ist es > bis jetzt auch leider geblieben. Gab es irgend welche Probleme, oder hat Dich die Lust / Zeit verlassen?
Torsten R. schrieb: > Mir sind noch zwei Wünsche eingefallen, zu denen ich Tipps gebrauchen > könnte. Ich wollte jedem Port eine dreifarbige LED spendieren, um > Zustände anzuzeigen. Ich fänd' es super "cool", wenn die USB Buchsen > einen leuchten Ring hätten. Hat dazu jemand eine Idee? Andre hat dazu ja schon was geschrieben. Was für ein Gehäuse willst du denn verwenden? Am besten wird es sein, wenn du senkrechte USB-Buchen nimmst und rund um sie LEDs verteilst. Den Gehäuseausschnitt machst du dann ein bisschen größer, die Lücke zwischen Gehäuse und Buchse kannst du dann mit einem 3D-gedruckten Ring (als Streuscheibe) füllen. Es gibt transparentes PLA, damit geht das prima. Je größer der Abstand zwischen LED und Streuscheibe, desto gleichmäßiger die Lichtverteilung. Und du brauchst eine optische Barriere zwischen den Ports, damit die Beleuchtung des einen nicht in den anderen reinstrahlt - auch hier bietet sich 3D-Druck an, aber eher in Schwarz oder grau. Ein 3D-Modell des erwarteten Resultats könnte SEHR hilfreich sein. > Zur Bedienung wollte ich ein kleines Display spendieren und ein Click > Wheel wir bei den alten iPods. Kennt jemand eine Lösung für so ein Click > Wheel? Habe Gestern nur so kapazitive Bedienelemente gefunden. Zur kapazitiven Detektion hat ja Andre auch was geschrieben. Mit Vibrationsmotoren, die man sehr kurz (ich meine ca. 50ms) ansteuert, kann man wunderbar ein haptisches Feedback generieren, das sich nicht nach losgehendem Handy anfühlt.
Wenn Du auch USB-Devices entwickelst, und nicht nur Deine Entwicklungswerkzeuge mit dem Hub betreiben willst, wäre vielleicht noch Strommessung und Spannungseinstellung (im Rahmen der Spezifikation) je Port sinnvoll.
Max G. schrieb: >> könnte. Ich wollte jedem Port eine dreifarbige LED spendieren, um >> Zustände anzuzeigen. Ich fänd' es super "cool", wenn die USB Buchsen >> einen leuchten Ring hätten. Hat dazu jemand eine Idee? > > Andre hat dazu ja schon was geschrieben. Was für ein Gehäuse willst du > denn verwenden? Ich wollte da nicht mit Volumen sparen und entweder Stahl oder Aluminium verwenden. > Am besten wird es sein, wenn du senkrechte USB-Buchen nimmst und rund um > sie LEDs verteilst. Den Gehäuseausschnitt machst du dann ein bisschen > größer, die Lücke zwischen Gehäuse und Buchse kannst du dann mit einem > 3D-gedruckten Ring (als Streuscheibe) füllen. Es gibt transparentes PLA, > damit geht das prima. Auch 'ne gute Idee. Vielleicht muss ich einfach mal einen Zwischenschritt machen und mit ein paar möglichen Lösungen Herumprobieren. Ich hatte bis jetzt darüber nach gedacht, wagerechte Buchsen zu nehmen, am vorderen Rand der Platine um die Buchse herum, die Platine einzuschneiden, so dass ein Ring um die Buchse passt und den Ring dann von der Seite mit ein, oder 2 LEDs zu beleuchten. Ich habe ein wenig Angst, dass wenn es zu viele LEDs werden, der Aufwand, die runter zu dimmen dann relativ hoch wird. > Je größer der Abstand zwischen LED und Streuscheibe, desto gleichmäßiger > die Lichtverteilung. Und du brauchst eine optische Barriere zwischen den > Ports, damit die Beleuchtung des einen nicht in den anderen reinstrahlt Gute Idee, dass könnte man dann ja schon ein wenig auf der Platine mit Löchern oder Schlitzen unterstützen. > - auch hier bietet sich 3D-Druck an, aber eher in Schwarz oder grau. > Ein 3D-Modell des erwarteten Resultats könnte SEHR hilfreich sein. Da fehlt mir leider komplett das Know How. Ich würde ganz Altbacken technische Zeichnung machen. > Zur kapazitiven Detektion hat ja Andre auch was geschrieben. Mit > Vibrationsmotoren, die man sehr kurz (ich meine ca. 50ms) ansteuert, > kann man wunderbar ein haptisches Feedback generieren, das sich nicht > nach losgehendem Handy anfühlt. Klingt interessant. Ich wollte irgend einen Tongeber verwenden, um da Klick-Geräusche zu machen. Aber taktiles Feedback wäre noch Cooler. Hast Du eine Quelle / Beispiel für so ein "Ding"?
Paul schrieb: > Wenn Du auch USB-Devices entwickelst, und nicht nur Deine > Entwicklungswerkzeuge mit dem Hub betreiben willst, wäre vielleicht noch > Strommessung und Spannungseinstellung (im Rahmen der Spezifikation) je > Port sinnvoll. Das klingt interessant. Strom-Messung wäre mit dem, was mir gerade vorschwebt inklusive. Von den 5V abweichende Spannung könnte man vielleicht für 1-2 Ports vorsehen. Dann müsste man da einen irgend wie gearteten DC/DC Konverter haben. Klingt auf jeden Fall sinnvoll.
Paul schrieb: > Strommessung und Spannungseinstellung (im Rahmen der Spezifikation) je > Port sinnvoll. Finde ich ehrlich nicht, wenn man das wirklich 1-2 machen muss schließt man das Gerät einfach an ein Labornetzteil an. Ich denke nicht, dass der Aufwand dafürsteht. mfg
Bei so gut wie allen Platinen die ich beruflich mache, ist ein USB-Hub drauf. Wir verwenden Microchip-Hubs, aber bei TI würde ich mir jetzt keine bösen Überraschungen erwarten. Tipps: Portstrombegrenzer findet man besonders viele bei Micrel (jetzt Microchip) (z.B. MIC2009 und Konsorten). Wichtig wäre bei denen eine thermische Begrenzung, eine niedriger RDSon und ein möglichst genaues Stromlimit sowie ein Softstart und eine Fehlermeldung. Die Portstrombegrenzer sollten immer vom Hub bedient werden, damit das Host-Betriebssystem Kontrolle über die USB-Devices hat, und müssen daher zusammenpassen. Kurzschlüsse und Fehler werden nämlich von diesem behandelt. Die vorgescheibene Kapazität am Hub (100µF) muss mindestens vorhanden sein, ich verwende sogar meist 100µF pro Port. Und hier sollte das schon Low-ESR sein. Die 5V-Versorgung muss ausreichend kräftig und stabil sein, damit das Hot-Pluggen eines Gerätes keinen (zu großen) Einbruch verusacht, das muss auch mit den Portstrombegrenzern zusammenpassen. Sonst wirft dir dein Hub alle Geräte ab, wenn du einen USB-Stick ansteckst. Und wenn möglich würde ich bei USB-2 Highspeed bleiben, das ist etwas toleranter. Bei USB-3 wäre es schon sehr relevant, die Layoutregeln EXAKT einzuhalten, aber selbst bei USB-2 sollte man keine Traces unter den USB-Leitungen durchziehen un dergleichen und muss die differentielle Impedanz der Leitungen einhalten. Und eines sollte klar sein: Vermutlich geht das nur orentlich mit 4 Lagen und definierten Lagenaufbau. Naja, zumindest wenn man nicht seltsame Fehler suchen will. Sei dir immer klar: USB-2 und darüber heißt so gut wie immer: Keine Möglichkeit zum Debuggen. Zuletzt: Es lohnt sich für Bastelprojekte eigentlich nicht wirklich. Es ist ein Haufen Aufwand und schwieriger (Schaltregler, Highspeed-Digital), lohnt sich aber kaum, weil man Hubs billig bekommt.
Eine Sache habe ich noch vergessen: Dein µC braucht ein Signal "Hub dreht mir Power ab", sonst musst du üble Verrenkungen im Code machen. Ich würde einfach das Enable für den betreffenden Port vom Hub zu einem GPIO ziehen. Wenn vorhanden, zum USB-Komparator, bei STM32 heißen die z.B. FSVBUS.
USB-Geschädigter schrieb: > Eine Sache habe ich noch vergessen: > Dein µC braucht ein Signal "Hub dreht mir Power ab", sonst musst du üble > Verrenkungen im Code machen. Du meinst um allen Ports den Strom abzudrehen? Wofür würdest Du das haben wollen? Anbei mal ein Skizze, wie ich mir den VBUS Teil vorstelle. Der I2C Bus hängt am µC und kann damit die Strom-Grenze über den INA260 stellen und auch den Strom und die Spannung messen. Der Enable Eingang des Power Switch ergibt sich dann aus der Enable-Vorgabe des TUSB8041A (Hub) und des Ausgang der Strombegrenzung. Da frage ich mich gerade, ob diese Verknüpfung überhaupt sinnvoll ist und nicht evtl. zum Oszillieren einlädt und ich nicht einfach dem TUSB8041A das Abschalten überlassen sollte. PWRCTRL1_BATEN1/2 sind Ausgänge vom TUSB8041A und OVERCUR1/2Z sind Eingänge zum TUSB8041A.
Torsten R. schrieb: > Du meinst um allen Ports den Strom abzudrehen? Wofür würdest Du das > haben wollen? Ich meine damit dass der µC eine Information darüber braucht, dass der Hub dem µC den Port abdreht. Also einen Information, wann er denn mit der Enumerierung starten kann, und wann er vom Hub abgeworfen wurde und die USB-Statemachine auf Start zurücksetzen muss. Es geht zur Not ohne, aber mit ist einfacher. Beispiel für TUSB8041A: Das PWRCTLx-Signal des HUB wird auf FSVBUS gehängt. Zum Schaltplan: Die Logikgatter für die Enable sollten unbedingt weg. Man verbindet die Fehlersignale des Hub mit OVERCURxz. Der USB-Host macht das Handling über den Treiber des Hub. Da einzugreifen ist kontraproduktiv. Für den Fall "Host hat Schluckauf" haben die Portstrombegrenzer noch die interne Überlastabschaltung.
Torsten R. schrieb: > Ich wollte da nicht mit Volumen sparen und entweder Stahl oder Aluminium > verwenden. Und dann selber fräsen? Metall hat einen großen Vorteil: es ist relativ schwer und bleibt deswegen auf dem Tisch stehen, anstatt ständig durch die Gegend zu rutschen. > Auch 'ne gute Idee. Vielleicht muss ich einfach mal einen > Zwischenschritt machen und mit ein paar möglichen Lösungen > Herumprobieren. Ich hatte bis jetzt darüber nach gedacht, waagerechte > Buchsen zu nehmen, am vorderen Rand der Platine um die Buchse herum, die > Platine einzuschneiden, so dass ein Ring um die Buchse passt und den > Ring dann von der Seite mit ein, oder 2 LEDs zu beleuchten. Ich habe ein > wenig Angst, dass wenn es zu viele LEDs werden, der Aufwand, die runter > zu dimmen dann relativ hoch wird. Das geht natürlich auch. Das Dimmen der LEDs kannst du auslagern, da gibt es ein paar nette einschlägige ICs. Ich habe den IS31FL3209 verwendet, war aber keine so tolle Wahl für RGB: er dimmt nicht linear, sondern über die logarithmische Kurve des Helligkeitsempfindens. Für Hintergrundbeleuchtung super, für RGB nicht geeignet. Wühle dich mal hier durch: https://www.mouser.de/Semiconductors/Driver-ICs/LED-Lighting-Drivers/_/N-7zhqf > Da [3D-Modell] fehlt mir leider komplett das Know How. Ich würde ganz Altbacken > technische Zeichnung machen. KiCAD kann die Leiterplatten nach STEP exportieren (Eagle meines Wissens auch). Investiere mal einen halben Tag in Youtube-Grundlagen zu FreeCAD oder freunde dich alternativ mit Fusion 360 an. Die investierte Zeit bekommst du nachher mehrfach wieder raus, wenn alles auf Anhieb zusammenpasst. > Aber taktiles Feedback wäre noch Cooler. Hast > Du eine Quelle / Beispiel für so ein "Ding"? https://eckstein-shop.de/Pololu-Shaftless-Vibration-Motor-3V-10x34mm (oder für ein Drittel des Preises oder so direkt aus China via Bucht oder Ali).
Max G. schrieb: > Und dann selber fräsen? Metall hat einen großen Vorteil: es ist relativ > schwer und bleibt deswegen auf dem Tisch stehen, anstatt ständig durch > die Gegend zu rutschen. Ja, genau. Gerade wenn man nur wenige "Dinger" an dem Hub angeschlossen hat, dann rutscht er hin und her und zieht die angeschlossenen "Dinger" mit. Der Hub soll maßiv sein. Ich liebäugle gerade mit einem 250mm breiten und 40mm hohem Gehäuse von https://www.schaeffer-ag.de/en/. > Das geht natürlich auch. Das Dimmen der LEDs kannst du auslagern, da > gibt es ein paar nette einschlägige ICs. Ich versuche mal mein Glück mit einem LP5012 von TI. Der kann 4 RGB-LEDs ansteuern. Ich sehe mal 2 LEDs pro Port vor. Ich denke ich werde aber noch mal einen Zwischenschritt machen und eine kleine Platine nur mit dem LED-Teil entwerfen um den Plexiglas-Ring anzugucken. (siehe Anhang) Danke!
Torsten R. schrieb: > Mir sind noch zwei Wünsche eingefallen, zu denen ich Tipps gebrauchen > könnte. Ich wollte jedem Port eine dreifarbige LED spendieren, um > Zustände anzuzeigen. Was für Zustände hast Du im Sinn? Denn die LED-Logik muss diese Zustände ja irgendwie mitbekommen um sie anzeigen zu können. Powered und Overcurrent sind den entsprechenden Signalleitungen entnehmbar. Das ist also harmlos. Was ich aber eigentlich gerne hätte wäre "Device enumerated" und "Daten fließen", letzteres als Blinksignal so wie man es z.B. von Netzwerkkarten kennt. Leider hab ich noch keine Hub-ICs gefunden aus denen man diese Infos rausbekommt. Das Device enumerated haben einige wenige, der hier genannte TUSB8041A aber nicht. Datentransfer hab ich leider noch nirgends gesehen. Kennt da vielleicht jemand Hub-ICs die da mehr Infos bieten? Gerne auch per (I2C-) Bus abfragbar oder in die man eigene Firmware hochladen muss um diese Funktion umzusetzen.
Gerd E. schrieb: > Was für Zustände hast Du im Sinn? Denn die LED-Logik muss diese Zustände > ja irgendwie mitbekommen um sie anzeigen zu können. Ja, bis jetzt sind mir an Zuständen auch nur der Überstrom eingefallen (tief rot). Ich würde auch gerne USB-Ports gruppieren, damit ich z.B. die drei zusammengehörigen Eval-Boards zusammen abschalten kann. Da hilft es sicherlich bei der Zusammenstellung und Anzeige, welche Ports in eine Gruppe gehören, eine LED pro Port zu haben. Ich könnte mir auch vorstellen, die eingestellte Strombegrenzung auf Knopfdruck auf allen Ports mit einer Farbkodierung anzuzeigen (hell grün = 100mA; dunkel rot = 900mA). > Powered und Overcurrent sind den entsprechenden Signalleitungen > entnehmbar. Das ist also harmlos. Da die Anzeige auch nicht Zeitkritisch ist, kann man diese Informationen sogar über den I2C am Port-Chip abfragen. > Kennt da vielleicht jemand Hub-ICs die da mehr Infos bieten? Gerne auch > per (I2C-) Bus abfragbar oder in die man eigene Firmware hochladen muss > um diese Funktion umzusetzen. Das wäre interessant. Vielleicht möchte noch jemand ein FPGA-Projekt drauf setzen ;-)
:
Bearbeitet durch User
Torsten R. schrieb: > Vielleicht möchte noch jemand ein FPGA-Projekt > drauf setzen ;-) Das hier geht zumindest schon mal in die richtige Richtung, auch wenn Hub-Funktion momentan noch nicht im Fokus ist: https://github.com/greatscottgadgets/luna https://twitter.com/ktemkin/status/1358878687081336832
Hallo, hier mal eine erste, komplette Version der Base-Plane: - Als Eingänge, gibt es 5V Versorgung und den Upstream USB 3 Port. - Ausgänge wären dann 3 USB 3 Ports und 3 Stecker mit I2C und einer Reset-Leitung. Da werden dann später die Hub-Planes angeschlossen (mit je 4 USB-Ports). Die Stecker werden nicht an das Gehäuse geführt. - Interne Spannungsversorgung 3,3V (<200mA) und 1,1V (< 1A). - Auf der Ausgangs-Seite, gibt es einen Stecker für das Display (der Temperatur-Sensor wird auch von Display benötigt) und einen Stecker, auf den später das Touch-Wheel kommt (ups, der Motor fehlt noch). Ich freue mich auf eure Kommentare! Schöne Grüße, Torsten
Das ist ja edel. Ich hatte eine 2N7002, einen Kerko und eine Freilaufdiode spendiert. Bin aber auch geiziger Schwob 😏
Max G. schrieb: > Das ist ja edel. Ich hatte eine 2N7002, einen Kerko und eine > Freilaufdiode spendiert. Bin aber auch geiziger Schwob 😏 Schäm dich! ;-) Der Treiber ist so Strom begrenzt und über das PWM Tast-Verhältnis kann man den Motor in beide Richtungen fahren und somit schnell stoppen! :-)
:
Bearbeitet durch User
Hier wäre der Teil, mit den USB-Ports. Je 4 Stück. In der maximalen Ausbaustufe hätte der HUB dann 12 ports. Verbindung zur Base-Plane ist nur ein I2C (SMBus) und eine Reset-Leitung für den Hub. Spannungsversorgung sind 5V (5A). Die benötigten Spannungen von 3.3V und 1.1V werden auf der Platine selbst erzeugt. Sollte man die Pins des Ports noch irgend wie gegen ESD, Überspannung, Eis und Regen, etc. schützen? Schönen Danke, falls jemand drauf gucken mag...
Torsten R. schrieb: > Sollte man die Pins des Ports noch irgend wie gegen ESD, Überspannung, > Eis und Regen, etc. schützen? ESD: USB2.0-Teil: (VBUS/D-/D+): https://www.we-online.de/katalog/datasheet/8240116.pdf USB3.0-Teil: (SSTX/SSRX): https://www.ti.com/lit/ds/symlink/tpd4eusb30.pdf Eis & Regen: https://www.neutrik.de/de-de/produkt/nausb3 fchk
Frank K. schrieb: > ESD: So? Bei den TX-Paaren bin ich mir nicht sicher, auf welche Seite der Kondensatoren die Schutzdioden kommen. Wahrscheinlich ist es aber so falsch und die kommen auf die Stecker-Seite, richtig?
Torsten R. schrieb: > So? Bei den TX-Paaren bin ich mir nicht sicher, auf welche Seite der > Kondensatoren die Schutzdioden kommen. Wahrscheinlich ist es aber so > falsch und die kommen auf die Stecker-Seite, richtig? Ja, und das solltest Du auch genau so zeichnen. Die Signale müssen vom Stecker aus als allererstes durch den ESD-Schutz durch, denn nur dann kann der richtig wirken. Dass der ESD-Schutz sehr dicht an den Buchsen (so innerhalb der ersten 10 mm) sitzen soll, sollte sich auch im Schaltplan widerspiegeln. Das Layout der USB3-Bausteine ist auch extra so, dass die Signale da direkt hindurch laufen können, ohne Stichleitungen und ähnliche Schweinereien. Der hier ist layouttechnisch noch günstiger. Dann musst Du aber VBUS noch extra absichern, z.B. mittels UCLAMP0501 oder PESD.... https://www.onsemi.com/pub/Collateral/ESD8006-D.PDF fchk
Frank K. schrieb: > Ja, und das solltest Du auch genau so zeichnen. Die Signale müssen vom > Stecker aus als allererstes durch den ESD-Schutz durch, denn nur dann > kann der richtig wirken. Dass der ESD-Schutz sehr dicht an den Buchsen > (so innerhalb der ersten 10 mm) sitzen soll, sollte sich auch im > Schaltplan widerspiegeln. Ja, der abgelieferte Schaltplan war wohl equivalent zu umkommentierten Quellcode mit Funktionslängen von 4000 Zeilen ;-) > Der hier ist layouttechnisch noch günstiger. Dann musst Du aber VBUS > noch extra absichern, z.B. mittels UCLAMP0501 oder PESD.... Der Stecker (https://www.mouser.de/datasheet/2/445/692122030100-1719889.pdf) hat ein pitch von > 1mm, und das pin out des USB Hubs ist so ausgelegt, dass die USB-2 Leitungen von der anderen Seite an den Stecker geführt werden. Layout-Technisch scheint mir da evtl. drei mal SOT-3 fast am günstigsten zu sein (siehe Anhang).
Ohne Bauteilbezeichnungen ist es ziemlich schwer, herauszufinden, was nun was ist. Ich vermute mal, dass das links sitzende Bauteil mit den lustig ungleichmäßigen Lands die Schutzbeschaltung WE-8240116 ist. Die sollte nicht irgendwo in einer Ecke sitzen, sondern angeschlossen werden, wie du es auch mit einem Abblockkondensator machst. Das heißt: jedes Land wird zweimal angefahren, einmal von der Steckerseite her und einmal von der Boardseite her.
Max G. schrieb: > Ohne Bauteilbezeichnungen ist es ziemlich schwer, herauszufinden, was > nun was ist. Ich vermute mal, dass das links sitzende Bauteil mit den > lustig ungleichmäßigen Lands die Schutzbeschaltung WE-8240116 ist. Der Screenshot ist nur mal um das "Dilemma" zwischen dem pitch des Steckers und dem Pitch der Schutzschaltung aufzuzeigen. Ich bin mir noch nicht ganz schlüssig, was ich da einsetzen möchte. Vielleicht aber doch den 6 channel ESD8006, den Frank vorgeschlagen hat. Ich könnte dann das langsame Signal-Paar von hinten an den Stecker führen (wie im Bild dargestellt) und dann über den Stecker an den ESD8006. Das wäre dann zumindest eine schön kompakte Lösung.
Hätte noch einen Tipp für ESD: https://www.mouser.de/ProductDetail/Littelfuse/SP1004U-ULC-04UTG?qs=lM4gFlnEeEMVbixN4qozYA%3D%3D Da kann man mit den Superspeed-Leitungen einfach drüberfahren. D.h. das lässt sich im Layout ziemlich gut umsetzen, ohne die die differentiellen Päärchen auseinanderzureißen. Die gibts glaub ich mit 2x, 4x und 8x. Gefällt mir besser, als die ESD8006.
yakman schrieb: > lässt sich im Layout ziemlich gut umsetzen, ohne die die differentiellen > Päärchen auseinanderzureißen. Musst Du beim ESD8006 auch nicht. Der Unterschied ist da eigentlich nur die Anzahl der Pins, über die die Signale geroutet werden müssen. Bei allen ist das Problem, dass die meist ein pitch von 0.5mm haben, der Stecker aber sehr breit ist. Da muss ich die erst am ESD Schutz zusammen führen und dann kurz vor dem Stecker wieder auseinander nehmen. Ich guck mir gerade mal an, wie das mit dem ESD8006 aussehen könnte.
So in etwa (U16 ist ein ESD8006; D10 eine μClamp0501P). Das stark unterschiedliche Pitch zwischen der Schutzschaltung und dem Stecker macht es sehr schwer, die Schutzschaltung nah am Stecker zu platzieren und die Signal-Paare so zu verlegen, dass die Leitungen gleich lang sind.
Mit USB_DP und USB_DM (also die Highspeed-Leitungen) würde ich hemmungslos mit Vias unter den Superspeed-RX-Leitungen durchfahren. Der ESD-Schutz löst dir ein echtes Problem (einen potenziell gekillten Rechner). Das impedanzkontrollierte Routing ein theoretisches (Konformität zur Spec). Der Highspeed-Teil funktioniert auch so. Den Abstand zwischen Buchse und ESD-Schutz würde ich übrigens nicht unbedingt so klein wie möglich wählen. Zum einen hängt im Zweifelsfall hintendran sowieso ein Meter Leitung, der weitaus länger ist als die paar mm vor oder zurück des ESD-Schutzes. Zum anderen liefert dir jeder mm noch einen nH Induktivität, und Induktivität hilft bekanntlich gegen schnelle Spannungsanstiege, was der ESD-Diode Arbeit abnimmt. Ich bin aber zu faul, das zu quantifizieren. Vielleicht ist es auch schlicht irrelevant.
Max G. schrieb: > Den Abstand zwischen Buchse und ESD-Schutz würde ich übrigens nicht > unbedingt so klein wie möglich wählen. Zum einen hängt im Zweifelsfall > hintendran sowieso ein Meter Leitung, der weitaus länger ist als die > paar mm vor oder zurück des ESD-Schutzes. Der ESD-Event kann aber auch direkt von der Buchse am Hub kommen, ohne Kabel dazwischen. Also der Nutzer fasst die Buchse an und ein ESD-Funke springt in die Buchse. > Zum anderen liefert dir jeder mm noch einen nH Induktivität, und > Induktivität hilft bekanntlich gegen schnelle Spannungsanstiege, was der > ESD-Diode Arbeit abnimmt. Die Induktivität macht ihre Arbeit aber nicht umsonst. Sie sorgt dafür, daß der ESD-Puls als EM-Welle in die Umgebung abgestrahlt wird. Damit kann dann der ESD-Puls in andere Schaltungsteile, die gar nicht selbst mit den USB-Leitungen verbunden sind, einkoppeln und dort Störungen oder Schäden auslösen. Daher kommen ESD-Schutzmaßnahmen normalerweise so nah wie möglich an die Stelle, von der der Impuls reinkommen kann. Also hier der USB-Buchse.
Den ersten Fehler habe ich schon gefunden: Die Pullup Widerstände des Microcontrollers lassen sich nur dann aktivieren, wenn die Pins als Eingänge konfiguriert sind. Sobald mal die Pins auf ihre Peripheral Funktion (hier I2C) schaltet, sind die Pullups deaktiviert. Zum Glück hatte ich an der Stelle Pull-Ups vorgesehen, für den Fall, dass der Widerstandswert der internen Pullups nicht passt.
Ich hatte in der Zwischenzeit jetzt eine kleine Platine gemacht, mit verschiedenen Anordnungen von jeweils 2 LEDs um einen USB-Stecker herum. Zwei verschieden LED-Typen: - MSL0601RGB - KRTBAELPS1.32-V1A4-JW+B4B6-D8+S6U2-7Z Die zweite ist extrem hell, läßt sich mit dem Treiber (LP5012) aber gut dimmen. Als Lichtleiter habe ich mal 6mm milchiges Plexiglas genommen. Das verteilt das Licht schon mal nicht gut genug. Wenn da im Plexiglas noch die Aussparung für die Buchse ist, dann sieht man das Licht sicher nur noch am Rand. Nächster Versuch vielleicht mit Plexiglas, bei dem die Oberfläche angeschliffen ist...
Hallo Gordon, Gordon N. schrieb: > Wenn ich solch dilletantischen Layouts sehe. Bah ekelhaft was würdest Du den konkret ändern wollen? schöne Grüße, Torsten
Weiß nicht, ob das hier schon benannt wurde, aber wusstest Du, dass man bei den Superspeed-Paaren die Polarität beliebig drehen darf? D.h. +/- an der Buchse kann vertauscht an den Hubchip gehen, auch unterschiedlich untereinander RX/TX SS. Erleichtert manchmal das Layout. Das gilt aber nicht für die Highspeed, nur für die Superspeed. Und oben im Layout sehe ich die Highspeed zur ESD-Diode als Stub. Mach das nicht, alles schön symmetrisch und gradlinig ohne Stubs. Auch die Längen untereinander gleich lang halten. Und dann sehe ich als Entkoppelkondensatoren größere Cs, vermutlich 0603? Nehme dafür 0402, das geht schon noch zum löten. Verletze das differentielle Paar so wenig und selten wie möglich und wenn es zum Kondensator oder zum Stecker geht dann so symmetrisch wie eben möglich. Ich stimme Gustl B voll und ganz zu, ganz so heiß gegessen wie in den allgemeinen Routing-Guidelines wird dann doch nicht, aber man sollte an allen Stellen wo es möglich ist schon maximale Sorgfalt walten lassen. Mit jeder „Schwächung“ bewegt man sich immer ein kleines Stückchen Richtung Performanceverlust/Nichtfunktion und diesen Headroom möchte man ja nicht leichtfertig verspielen. Die Leiterbahnbreiten kannst Du mit den einschlägigen Rechnern wie z.B. Saturn leicht berechnen, leider haben alle Fertiger einen anderen Lagenaufbau (im Poolservice). Suche Dir VORHER einen aus und verwende dessen Prepreg-Dicken und Dielektrizitätskonstanten. Dass das Layout min. 4-lagig wird dürfte ja klar sein, oder? Bei 2-lagig würdest Du monsterbreite Leiterbahnbreiten herausbekommen. Supergünstig 4-lagig gibt es bei JLCPCB.
Harald schrieb: > aber man sollte an > allen Stellen wo es möglich ist schon maximale Sorgfalt walten lassen. > Mit jeder „Schwächung“ bewegt man sich immer ein kleines Stückchen > Richtung Performanceverlust/Nichtfunktion und diesen Headroom möchte man > ja nicht leichtfertig verspielen. Richtig. Mach die Leitungen breiter, führe sie wenn möglich symmetrisch, platziere die Cs auch symmetrisch zu den Leitungen, wähle Bauteile die das Routing erleichtern. Z. B. den TPD6E05U06. Aber so wie er das bisher gemacht hat wird es schon funktionieren. Harald schrieb: > Dass das Layout min. 4-lagig wird dürfte ja > klar sein, oder? Bei 2-lagig würdest Du monsterbreite Leiterbahnbreiten > herausbekommen. Supergünstig 4-lagig gibt es bei JLCPCB. https://www.eurocircuits.de/ bieten definierte Impedanz im Pool an zu recht günstigen Preisen. Da kann man sich auch als Hobbybastler 6 Lagen und so leisten. Die Qualität ist ebenfalls gut, ich bestelle gerne dort.
:
Bearbeitet durch User
Harald schrieb: > Weiß nicht, ob das hier schon benannt wurde, aber wusstest Du, dass man > bei den Superspeed-Paaren die Polarität beliebig drehen darf? Ja, hatte ich im Datenblatt gelesen. Kann man dann später über den I2C Bus so konfigurieren. Aber eigentlich müsste ich es hin bekommen, vom Hub-IC alle 4*2 Superspeed Leitungen, kreuzungsfrei an ihre Stecker zu routen. > Und oben im Layout sehe > ich die Highspeed zur ESD-Diode als Stub. Mach das nicht, alles schön > symmetrisch und gradlinig ohne Stubs. Die Ausgänge am Hub Chips sind scheinbar so heraus geführt, dass die beiden Superspeed Leitungen direkt parallel an den Stecker verlegbar sind, das Highspeed-Paar muss dann von der anderen Seite an den Stecker, dann passt es. Alternativ muss das Highspeed-Paar eine der Superspeed Leitungs-Paare kreuzen. Dann würden auch die Stubs wegfallen. Wäre das zu bevorzugen? > Auch die Längen untereinander > gleich lang halten. Und dann sehe ich als Entkoppelkondensatoren größere > Cs, vermutlich 0603? Nehme dafür 0402, das geht schon noch zum löten. Ok, da ich eh nicht vorhabe, dass selbst zu bestücken, sollte das kein Problem sein. > Ich stimme Gustl B voll und ganz zu, ganz so heiß gegessen wie in den > allgemeinen Routing-Guidelines wird dann doch nicht, aber man sollte an > allen Stellen wo es möglich ist schon maximale Sorgfalt walten lassen. Das war nur eine Skizze oben, um die Auswahl der Schutzdioden zu diskutieren. Ich fange mit der Port-Platine erst an, wenn ich die Base-Platine in Betrieb genommen habe (und die Menge der Fehler mich nicht total frustriert hat). In Zwischenzeit habe ich mal eine kleine Platine gemacht, um die Beleuchtung der USB-Stecker zu evaluieren. Das muss auch erst einmal fertig werden. Dann muss ich auch noch mal gucken, welche Abmaße die Port-Platinen haben dürfen / müssen. > Die Leiterbahnbreiten kannst Du mit > den einschlägigen Rechnern wie z.B. Saturn leicht berechnen, leider > haben alle Fertiger einen anderen Lagenaufbau (im Poolservice). Hast Du mal einen Link? Mir war garnicht klar, dass ich die Leiterbahndicken irgend wie berechnen muss. :-/ (oh, oh) > Suche > Dir VORHER einen aus und verwende dessen Prepreg-Dicken und > Dielektrizitätskonstanten. Dass das Layout min. 4-lagig wird dürfte ja > klar sein, oder? Bei 2-lagig würdest Du monsterbreite Leiterbahnbreiten > herausbekommen. Supergünstig 4-lagig gibt es bei JLCPCB. Die Base-Platine ist sogar 6-lagig. Vom Preis her macht das wohl keinen großen Unterschied zu 4-lagig. Die habe ich jetzt bei PCBway.com machen lassen und hoffentlich kommen die Platinen bis Ende des Monats an.
Gustl B. schrieb: > Richtig. Mach die Leitungen breiter, führe sie wenn möglich symmetrisch, > platziere die Cs auch symmetrisch zu den Leitungen, wähle Bauteile die > das Routing erleichtern. Z. B. den TPD6E05U06. Bis jetzt hatte ich den ESD8006 im Auge, dessen Layout eigentlich auch extra für solche Einsatzzwecke optimiert ist. Der TPD6E05U06 ist weder bei Mouser, noch bei Digikey verfügbar. > https://www.eurocircuits.de/ bieten definierte Impedanz im Pool an zu > recht günstigen Preisen. Da kann man sich auch als Hobbybastler 6 Lagen > und so leisten. Die Qualität ist ebenfalls gut, ich bestelle gerne dort. Wenn die Base-PCB bei PCBWay gut geklappt hat, würde ich die Port-PCBs gerne wieder da bestellen, weil die halt auch gleich bestücken. Das mit der Impedanz habe ich bis jetzt wohl komplett ignoriert. Geht es um den Wellenwiderstand der Leitungen oder um die Kapazität gegen die parallel liegende Ground Plane? Ich habe bis jetzt die Paare auf der obersten Lage verlegt, die Flächen um die Paare mit ground geflutet und die 2. Lage ist die Ground Plane. In KiCad habe ich mir die Längen beider Leitung eines Paars anzeigen lassen und so lange mit dem Verlegung herum gespielt, bis die Längen bis auf 5 mil gleich waren. Jetzt müsste ich mir noch die Dicke und Dielektrizitätskonstante des verwendeten Materials zwischen der ersten und zweiten Lage besorgen und könnte damit dann noch eine optimale Dicke der Leitungen berechnen? (Anbei ein Bild von den oberen beiden Lagen. Rot = oberste Lage, Geld = 2. Lage). Schöne Grüße, Torsten
Hier die Werte für PCBWAY, Dielektrizität ist also 4,3, Dicke 7mil (gilt für Top und Bottom) https://www.pcbway.com/blog/Engineering_Technical/Multilayer_PCB_Stackup_Planning.html Torsten R. schrieb: > Kann man dann später über den I2C Bus so konfigurieren. Braucht man bei den SS Leitungen nicht, nur die Flanken zählen. Torsten R. schrieb: > das Highspeed-Paar muss dann von der anderen Seite an den Stecker, > dann passt es. Genau. Saturn PCB Software https://saturnpcb.com/saturn-pcb-toolkit/ Registrierung erforderlich, die gehen einem aber nicht auf die Nüsse. Torsten R. schrieb: > Hast Du mal einen Link? Mir war garnicht klar, dass ich die > Leiterbahndicken irgend wie berechnen muss. :-/ (oh, oh) Jaja, besser is das. Wenn Du schon 6 Lagen hast könnten deine Leiterbahnbreiten zufällig schon ganz gut passen. Glück gehabt. Torsten R. schrieb: > Das mit der Impedanz habe ich bis jetzt wohl komplett ignoriert. Geht es > um den Wellenwiderstand der Leitungen oder um die Kapazität gegen die > parallel liegende Ground Plane? Genau. > Ich habe bis jetzt die Paare auf der > obersten Lage verlegt, die Flächen um die Paare mit ground geflutet Nicht drumzufluten, drunter eine durchgängige Fläche ist wichtiger. > die 2. Lage ist die Ground Plane. In KiCad habe ich mir die Längen > beider Leitung eines Paars anzeigen lassen und so lange mit dem > Verlegung herum gespielt, bis die Längen bis auf 5 mil gleich waren Gut.
Harald schrieb: > durchgängige Fläche ist wichtiger. Muss auch nicht unbedingt GND sein, flächig VCC geht auch.
SS RX/TX Pin Swapping: https://community.cypress.com/t5/USB-Superspeed-Peripherals/USB-differential-pair-pin-inversion/td-p/49104?start=0&tstart=0
Harald schrieb: > SS RX/TX Pin Swapping: > https://community.cypress.com/t5/USB-Superspeed-Peripherals/USB-differential-pair-pin-inversion/td-p/49104?start=0&tstart=0 Ja, Du hast recht. Ich habe noch mal im Datenblatt des Hubs nachgeguckt, was ich da gelesen hatte. Man kann bei dem TUSB8041 auch die Highspeed Leitungen vertauschen. Dass muss man dann dem Controller aber mitteilen.
Beitrag #6619764 wurde von einem Moderator gelöscht.
Erste Fotos der Base-Plane haben mich aus China erreicht. Leider hat sich die Lieferung um fast einen Monat verzögert. Die ersten Fehler sind auch schon aufgefallen: 1) USB-Stecker passt nicht 2) Ich habe beim Verrücken der Bauteilbezeichnungen auf dem Bestückungsdruck, R13 und C27 vertauscht und der Bestücken hat die Bauteile nach Bestückungsdruck bestückt. 3) Ich habe im BOM J1 und J12 vertauscht. J12 ist das einzige SMD-Teil auf der Rückseite :-/ Geht ja gut los :-)
Torsten R. schrieb: > USB-Stecker passt nicht Hattest Du die Platine auch in 3D gewandelt bzw. angeschaut? Bin seit längerer Zeit dazu übergegangen, wirklich jedes Bauteil in 3D anzulegen. Dank diverser Portale findet man so ziemlich alles fertig, die Hersteller haben auch spätestens auf Anfrage das Bauteil. Seitdem ich das mache gibt es keine solcherlei Problemchen mehr. Im CAD kann man dann auch schön mit den Gegensteckern testen ob das alles so geht.
Harald schrieb: > Seitdem ich das mache gibt es keine solcherlei Problemchen mehr. Im CAD > kann man dann auch schön mit den Gegensteckern testen ob das alles so > geht. Ne, habe ich nicht gemacht. Der Aufwand, packages zu bekommen ist mir zu hoch. An der Stelle muss das aber auch irgend ein 2D-Problem sein. Entweder falschen Stecker bestellt, vom falschen Datenblatt abgemalt, oder irgend so etwas. Die Platine ist jetzt gerade fertig geworden und ich hoffe, dass ich die nächste Woche in den Händen halte. Spannung steigt :-)
Torsten R. schrieb: > Der Aufwand, packages zu bekommen ist mir zu hoch Dachte ich anfänglich auch. Das geht aber schnell in Routine über. Es lohnt sich! Portale wie grabcad, 3dcontentcentral u.v.a.m. machen wie Sache einfach.
Harald schrieb: > Hattest Du die Platine auch in 3D gewandelt bzw. angeschaut? +1 dafür. Ich mache es zwar nicht bei jedem Kleinkram, aber für alles, was gehäuserelevant ist (Stecker, große Bauteile, Taster, LEDs). Spart gerne mal die eine oder andere Revision. Und mit KiCAD+FreeCAD geht das mit relativ überschaubarem Aufwand.
Eagle 9/Fusion funktioniert dafür auch sehr gut. Muss man bei KiCad mit FreeCad (für 3D) arbeiten oder gilt das nur für die Zusammenarbeit bei Gehäuseintegration?
Letzteres. Ich exportiere STEP aus KiCAD und importiere das dann in FreeCAD. Vermutlich geht das mit Eagle/Fusion komfortabler.
So, jetzt habe ich endlich mal die Zeit gefunden, die gelieferten Platinen mit Spannung zu versorgen: Ziehen bereits beim Einschalten 1A. Der Motor-Treiber (U5, DRV8601, DRB8 Package; Package kommt von TI) ist um 180° gedreht eingebaut. Da dieser Fehler bei beiden Mustern besteht, müsste ich jetzt erst einmal heraus bekommen, ob der Fehler in den gelieferten Daten liegt, oder ob die Platine in der Fertigung falsch bestückt wurde. Wie würde ich da vorgehen? Gibt es Tools, mit denen ich mir die Ausgaben von KiCad angucken kann. Oder kann ich annehmen, dass wenn ich Pin 1 im Layout an der richtigen Stelle sehe, dass der Bestücker dies hätte richtig mit dem Pin 1 Marker auf dem IC, hätte umsetzen müssen? Nach dem geklärt ist, wie der Fehler zustande kam und ggf. in Zukunft verhindert wird: Wie behebe ich den Fehler? Ist es üblich, die Platinen wieder zurück zum Bestücken zu schicken und die den Fehler beheben zu lassen? Runter gelötet bekäme ich die Treiber vielleicht noch selbst mit meinen Werkzeugen.
Torsten R. schrieb: > Wie würde ich da vorgehen? Gibt es Tools, mit denen ich mir die Ausgaben > von KiCad angucken kann. Oder kann ich annehmen, dass wenn ich Pin 1 im > Layout an der richtigen Stelle sehe, dass der Bestücker dies hätte > richtig mit dem Pin 1 Marker auf dem IC, hätte umsetzen müssen? Du müsstest erstmal klären, was die genau von Dir bekommen haben. Gehe nicht von deinem Kicad aus sondern von dem, was die bekommen haben. Du bekommst doch Freigabefotos, in dem Step MUSS man das klären. Wenn man etwas nicht erkennen kann um weitere Detailfotos bitten. Machen die gerne. > > Nach dem geklärt ist, wie der Fehler zustande kam und ggf. in Zukunft > verhindert wird: Wie behebe ich den Fehler? Einfache Heißluftstation. Am besten vorher üben an einem alten Board. Wenn Du einfach nur abhebst und drehst ist in der Regel nicht einmal neues Zinn oder Flussmittel erforderlich. Ist es üblich, die Platinen > wieder zurück zum Bestücken zu schicken und die den Fehler beheben zu > lassen? Das kannst Du meiner Meinung nach zolltechnisch vergessen. Sicher möglich aber teuer und aufwändig.
Sehe gerade, oben hast du doch das Freigabefoto sogar hier veröffentlicht. Da war die Markierung doch klar erkennbar.
Harald schrieb: > Sehe gerade, oben hast du doch das Freigabefoto sogar hier > veröffentlicht. Da war die Markierung doch klar erkennbar. Mir war ehrlich nicht klar, dass die erwarten, dass ich deren Arbeit anhand des Fotos prüfen soll :-(
Harald schrieb: > Einfache Heißluftstation. Am besten vorher üben an einem alten Board. > Wenn Du einfach nur abhebst und drehst ist in der Regel nicht einmal > neues Zinn oder Flussmittel erforderlich. Heißluftlöten wollte ich mich eh mal mit beschäftigen und mal gucken, ob ich die eine oder andere Platine nicht doch noch selbst bestückt bekomme. Stereo-Mikroskop habe ich mir letztens angeschaut. Dann mach' ich mal einen neuen Faden für die Werkzeugauswahl auf :-)
Torsten R. schrieb: > Mir war ehrlich nicht klar, dass die erwarten, dass ich deren Arbeit > anhand des Fotos prüfen soll :-( Bei mehreren chinesischen Bestückern hatte ich fast nie Probleme mit falsch platzierten Bauteilen. Wenn es Probleme gab war es immer ein nicht ganz eindeutiger Bestückungsdruck bzw. Bestückungsplan. Man neigt gelegentlich dazu, dem Bestücker diese Information ungewollt zu unterschlagen: im CAD Programm ist das eindeutig zu sehen, hingegen fehlt in der konkreten Gerber-Ausgabe der Polaritätshinweis. Der Bestückungsdruck auf der Platine ist ja meist nur eine Untermenge des vollständigen Bestückungsplans, da man den Silkscreen nicht auf den Pads haben will. Wo ist denn dein Hinweis, siehe Foto?
Ach ja, noch etwas. Wenn die das Foto schicken steht meist im Text, dass man kontrollieren soll und innerhalb von x Stunden antworten sollte. Reagiert man nicht machen die nach Ablauf der Zeit einfach weiter. Also Zeit nutzen und schnell alle gepolten Bauteile abchecken.
Harald schrieb: > haben will. Wo ist denn dein Hinweis, siehe Foto? Da ist keiner zu sehen. Ich habe mir auch noch mal den Silk-Screen angeguckt. Da ist nirgend wo ein Pin 1 Marker zu sehen. Da die die 2 Platinen wahrscheinlich von Hand bestückt haben, haben die dann wahrscheinlich nicht in das Pick&Place file geguckt (oder da steht es auch nicht korrekt drinnen). Wieder was gelernt! :-)
Torsten R. schrieb: > oder da steht es > auch nicht korrekt drinnen) Da steht schon eine Ausrichtung drin, allerdings muss dafür das Bauteil korrekt angelegt worden sein, d.h. die Gurtrichtung muss bei der Anlage des Teils berücksichtigt worden sein. Siehe auch: https://support.jlcpcb.com/article/99-does-the-red-dot-means-pin-1-in-the-placement-previewer
Leider bekomme ich jetzt den µC (ATSAMD51J19A) nicht an's Laufen. 3,3V sind da. An VDDCORE liegen auch die 1,2V, die laut Datenblatt anliegen müssten. /Reset liegt auf 3,3V. Wenn ich mit SWD ein Line Reset sende, dann antwortet der Controller nicht. Den externen Oszillator habe ich mir jetzt nicht mit dem Oszi angeguckt, da der µC ja mit seiner internen Clock source starten sollte. Was kann ich noch überprüfen?
Ausrichtung Pin 1 korrekt? Brücken sollten unwahrscheinlich sein? Falls Bauteil aus fremder Lib verwendet: Pin für Pin kontrollieren! Grundschaltung per Google Bildersuche suchen und vergleichen. Hast Du ein anderes Board mit dem uC, um den Debugger auszuschließen?
Harald schrieb: > Ausrichtung Pin 1 korrekt? > Brücken sollten unwahrscheinlich sein? > Falls Bauteil aus fremder Lib verwendet: Pin für Pin kontrollieren! > Grundschaltung per Google Bildersuche suchen und vergleichen. > Hast Du ein anderes Board mit dem uC, um den Debugger auszuschließen? Shit! SDWIO und SWDCLK liegen laut Datenblatt auf PA30/PA31 und nicht auf PB30/PB31 :-/ Danke für den Tipp!
Die I2C Kommunikation mit dem Temperatur-Sensor funktioniert schon mal. Der TUSB8041A zieht ca. 300m. Da ist noch irgend was mit der Konfiguration nicht in Ordnung. Ich musste den auch erst mal von I2C Bus nehmen. Dabei habe ich noch mal über die Implementierung der 1,1V und 3,3V Spannungsversorgung nachgedacht. Zum Einsatz kommt da folgender LDO: http://www.ti.com/lit/ds/symlink/tps746-q1.pdf Bei 5V Eingangsspannung, 1A und 1,1V Ausgangsspannung fallen da 3,9W an, die in Wärme umgesetzt werden. Das war mir garnicht klar, dass der LDO dort wir ein alter LM7805 Querregler funktioniert. Ich war bei 1A und dem Gehäuse davon ausgegangen, dass die Ausgangsspannung eher wie eine Art PWM hergestellt wird. Wenn ich bei Mouser nach 1A und 1,1V Switching Voltage Regulators suche, dann finde ich fast nur LDOs. In wie fern sind die den "Switching"?
:
Bearbeitet durch User
Torsten R. schrieb: > Wenn ich bei Mouser nach 1A und 1,1V Switching Voltage Regulators suche, > dann finde ich fast nur LDOs. In wie fern sind die den "Switching"? Gar nicht. Vorschlag: Mouser# 595-TLV62065TDSGRQ1 142 Stück auf Lager. fchk
Frank K. schrieb: > Torsten R. schrieb: > Vorschlag: > > Mouser# 595-TLV62065TDSGRQ1 > 142 Stück auf Lager. Ja, den hatte ich auch gesehen. Das ist dann aber auch der einzige mit den Werten (1A; 1.1V).
Wie wäre es z.B. mit dem AP3429? Dem musst du nur per Spannungsteiler dafür sorgen, dass am Feedback-Pin 0,6V anliegen. Ich hatte für eine ähnliche Anwendung mal den LM3671 eingesetzt (der aber nur 600mA kann). Der lief erst dann sauber, nachdem ich genau die vorgeschlagene Induktivität verwendet hatte.
Torsten R. schrieb: > Das ist dann aber auch der einzige mit > den Werten (1A; 1.1V). Wie meinst Du da? Du musst einen Einstellbaren nehmen, nicht einen mit genau den Werten suchen. Und dann nimmt man diesen Typ auch für alle anderen Spannungen, die man noch so braucht, z.B. 3.3V. Gleichteile!
Auch hier könnte es noch Anregungen geben: https://www.ti.com/power-management/non-isolated-dc-dc-switching-regulators/step-down-buck/buck-converter-integrated-switch/products.html#p238min=1.5;4.8&p238max=5.2;7&p634min=-3;1.1&p634max=1.1;90&p451max=1;1.5&p212max=32.72727272727273;100 (ja, auch andere Hersteller haben hübsche Bausteine, ich weiß)
Max G. schrieb: > Wie wäre es z.B. mit dem AP3429? Dem musst du nur per Spannungsteiler > dafür sorgen, dass am Feedback-Pin 0,6V anliegen. Der wäre mir mit maximaler Eingangsspannung von 5,5V fast ein bisschen zu nah an den nominalen 5V, die am Eingang geplant sind. Ich werde aber für die zweite Platine (Port-Plane) mal einen eurer Vorschläge einsetzen.
Max rating sind 6V, die 5,5 sind standard operating conditions (und das insgesamt riecht für mich gewaltig danach, dass es auf USB-Versorgung ausgelegt ist). Es gibt Teile mit höherer Spannungsfestigkeit am Eingang, aber da scheint die Auswahl dann schnell kleiner (und teurer) zu werden. Dann würde ich eher eine Zenerdiode mit 5,5V als zusätzlichen Schutz hernehmen.
Max G. schrieb: > Max rating sind 6V, die 5,5 sind standard operating conditions (und das > insgesamt riecht für mich gewaltig danach, dass es auf USB-Versorgung > ausgelegt ist). > Es gibt Teile mit höherer Spannungsfestigkeit am Eingang, aber da > scheint die Auswahl dann schnell kleiner (und teurer) zu werden. Dann > würde ich eher eine Zenerdiode mit 5,5V als zusätzlichen Schutz > hernehmen. Das hier ist das Netzteil, das ich verwenden möchte: https://en.cosel.co.jp/tool/tag/pdf/SFE_LEA.pdf (LEA75F-5; 5V 15A) Laut Datenblatt geht die Spannung bis maximal 5.3V. Das sollte also eigentlich reichen. Bleibt noch die Entwicklungssituation, bei der die Platine an meinem alten Netzteil mit Schätzeisen hängt :-) Aber da könnte dann ja die Zener-Diode den HW retten :-)
Der Hub scheint grundsätzlich zu funktionieren :-). An die drei Ports kommen dann später Port-Planes mit je 4 USB Ports. Jipi! :-)
Torsten R. schrieb: > Aber da könnte dann ja die Zener-Diode den HW retten :-) Naja, Z-Diode als Überspannungsschutz ist etwas weich im Knie.
Harald schrieb: > Torsten R. schrieb: >> Aber da könnte dann ja die Zener-Diode den HW retten :-) > > Naja, Z-Diode als Überspannungsschutz ist etwas weich im Knie. Was schlägst Du vor? Weglassen oder etwas ganz anderes?
Versuche es einfach. Die Bausteine sind nicht teuer und mit einem Heißluftgebläse notfalls in 2 Minuten getauscht. Ansonsten die Angsthasenvariante mit einem Spannungswächter, z.B. https://www.ti.com/lit/ds/symlink/tps2596.pdf (kannte ich auch noch nicht, echt hübscher Baustein). Gegen Spikes solltest du noch 10nF bis 100nF keramisch spendieren, aber das machst du sicher sowieso.
Der TPS2596 sieht gut aus, allerdings mit 89mOhm könnte der etwas warm werden, wenn alle USBs feuern müssen. Was ich machen würde? Bei Betrieb mit dem Netzteil überhaupt nicht schützen. TVS-Diode wie z.B. SMBJ5.0A hat zwar irgendwo 6,xV Clamping, im Extremfall geht die Spannung aber hoch bis 9,2V
Harald schrieb: > Was ich machen würde? Bei Betrieb mit dem Netzteil überhaupt nicht > schützen. Ich denke, dabei werde ich es auch belassen. Bei den Port-Plane werde ich zwei (1,1V und 3,3V) Schaltregler verwenden und so lange ich in der Base-Plane keine Fehler finde, die ein Redesign unausweichlich macht, werde ich es wohl erst einmal so lassen.
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.