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