Einen guten Tag wünsche ich Euch allen, ich habe ein Problem im Zusammenhang mit einem USB-Multiplexer und hoffe, dass Ihr mir weiterhelfen könnt. Zurzeit arbeite ich an einem USB-Umschalter mit dem Maxim IC MAX4999 ( http://www.maxim-ic.com/datasheet/index.mvp/id/5838 ) und habe Probleme, dass ungefähr die Hälfte der Ports nicht funktionstüchtig ist, angeschlossene Geräte (USB-Sticks) werden nicht erkannt (die Enumeration schlägt fehl). Aktuell vermute ich, dass ein Problem mit den Datenleitungen besteht. Zusätzlich zu dem Multiplexer sind SMD-Ferrite in den Datenleitungen und ein ESD-Schutz eingebaut. Da dies meine erste Platine mit USB (und dann auch noch 2.0) ist fehlt mir ein wenig der Ansatz wie ich nun überprüfen kann, woran es liegen könnte, dass die Ports nicht fehlerfrei funktionieren. Könnt Ihr mir vielleicht weiterhelfen?
Also ich habe herausgefunden, dass die Ports mit einem Stick funktionieren, mit anderen USB-Geräten (Ipod oder andere Sticks) habe ich Probleme. Brauche ich jetzt so ein Oszi mit USB-Eye-Diagramm Analyse oder gibt es kostengünstigere Möglichkeiten herauszufinden warum die USB-Multiplexer nicht/nicht richtig funkitonieren? ESD-Schutz ist ein TVS Dioden Array Semtech RClamp0502n. SMD-Ferrit Wuerth 744230900.
Hallo Dominik, Schaltungsfehler ausgeschlossen ? Wenn möglich, das Schematic hier posten. Layoutfehler ausgeschlossen ? - beim routen auf Symetrie geachtet ? (USB Signale sind differentiell...) - Signalpärchen (in etwa) gleichlang ? Gruss Uwe
Nabend! Ich bin mir bewusst, dass der Thread schon ein paar Monate alt ist, aber ich wurde von jemandem gebeten Tipps zum Max4999 zu schicken. Daher dachte ich es sei das Beste hier einfach meine Erfahrungen zu veröffentlichen, sodass jeder etwas davon hat und nicht nur einer! ;-) Also ich weiß nicht wie viel Erfahrung Ihr mit USB und/oder Platinendesign Erfahrung habt, aber ich kann schon mal sagen, dass das ganze leider nicht so einfach ist wie eine UART-Schnittstelle und man sich genau überlegen sollte wie man das ganze designt. Der Mux war Teil einer Abschlussarbeit, bei der zwei MAX4999 eingesetzt wurden um auf eine 16:1 Konfiguration zu kommen. In dieser Konfiguration lag auch wohl das Hauptproblem, dass nur manche Ports oder Sticks funktionierten: Die beiden ICs müssten in diesem Fall möglichst nah beieinander platziert werden! Das habe ich übersehen/nicht beachtet und habe beide ICs im Abstand von ca. 14 cm platziert. Folge waren Reflexionen, Signalstörung/Signalauslöschung. Schön wäre für solche Fälle ein Oszilloskop mit USB Compliance Testequipment, aber das ist schei** teuer (leider)!!! Die Verbindung zwischen beiden ICs habe ich übrigens asymmetrisch ausgeführt, d.h. die Leitungen wurden anstatt in einer T-Anordnung mehr in L-Form verlegt. Testweise habe ich dann die Leitungsführung unterbrochen und mit Kupferlackdraht versucht die Verbindung möglichst mittig wieder herzustellen, was mir auch recht gut gelungen ist. Die Platine funktioniert und die USB-Sticks werden erkannt! So konnte ein Redesign erst mal entfallen. Ansonsten ist zu beachten, dass keine Pull-ups oder sonstigen Bauelemente benötigt werden (außer die im Datenblatt angesprochenen Kondensatoren). Die Kondensatoren möglichst nahe platzieren! Allgemein noch ein paar Hinweise zum Design: - USB 2.0 ist nicht gleich 2.0 (Unterschiede zwischen Full/Highspeed beachten, falls nur Fullspeed benötigt wird ist die Sache etwas unkritischer) - Achtung bei der 16:1 Konfiguration aus dem Datenblatt, dort müssen die Datenleitungen der Peripheriegeräte vertauscht werden! - Möglichst gleich lange Leitungen für D+ / D- pro Port verwenden - Möglichst kurze Leitungsführung der Datenleitungen auf dem Board einhalten - Möglichst nur USB-Leitungen auf einem Layer führen - Möglichst wenige Durchkontaktierungen/Layerwechsel der Datenleitungen vornehmen - Abstand zwischen D+ und D- beachten und einhalten - Layeraufbau, Leitungsabstand und Leiterbreite bestimmen/verändern die Impedanzen der Datenleitungen, dafür sofern möglich ein Layouttool mit Impedanzkontrolle einsetzen (ich habe Eagle genutzt und habe mir einen Layer-Stack mit dem SaturnPCB-Toolkit erstellt) - Analoge/Digitale Schaltungsteile separieren - Abwägung treffen ob ESD und/oder EMV-Schutz benötigt wird (kann Signal verschlechtern und bei Privatgebrauch vernachlässigt werden) - Datenblatt LESEN und VERSTEHEN (bei Ungereimtheiten mal mit Kollegen/Forum über das Projekt sprechen)! :) - Schaltung/Layout vor dem Fertigen MEHRMALS kontrollieren! Gruß Dominik
@Dominik: Danke für Tipps und die Erläuterungen. Da ich nur einen 8er Switch mit Fullspeed benötige, sollte die Angelegenheit für mich hoffentlich nicht ganz so kompliziert werden. War nur verwundert, dass im Datenblatt nichts über Schutzelemente (Terminierung, Dioden, Kapazitäten) zu finden war. Hatte allerdings in meinem einfachen Testaufbau auch keine Probleme feststellen können.
Hallo Tobias, ja bei nur einem Switch denke ich sollte das ganze problemlos(er) sein. Jedoch musst du beachten, dass der Switch selber keinen Schutz gegen ESD, EMV, Überstrom o.ä. besitzt. Bei meiner Recherche bin ich auch auf Switchs/Multiplexer von anderen Herstellern (TI, Intersil, Fairchild ...) gestoßen die einen ESD-Schutz eingebaut haben! Von Maxim gibts auch welche, allerdings ist der MAX4999 der einzige 8:1 Multiplexer auf dem Markt! MAX4899E/MAX4899AE wären 3:1 oder 4:1 Muxe mit ESD-Schutz: http://www.maxim-ic.com/datasheet/index.mvp/id/5233 Gruß Dominik
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.