Ich habe ein USB-Gerät mit voller Geschwindigkeit, für das ich zwei Anschlüsse bereitstellen möchte - jeweils einen an den gegenüberliegenden Enden des Gehäuses. Auf diese Weise kann das Kabel überall dort angeschlossen werden, wo es am bequemsten ist. Meine MCU (atmega32u4) verfügt nur über eine Schnittstelle, sodass die physischen Ports gemeinsam genutzt werden. Es sollte jedoch immer nur eine angeschlossen sein.
Natürlich kann man den Benutzern nicht trauen, nicht beide Seiten gleichzeitig anzuschließen. Wie kann man sich dagegen schützen?
Ideen, die ich mir ausgedacht habe:
- Verdrahten Sie sie einfach "wie sie sind" und hoffen Sie, dass der Host mit verbundenen D + / D- Pins umgehen kann
- NAND-Gatter mit separaten 5-V-Pins als Eingang, Ausgang an einen MOSFET, der Vcc trennt, wenn beide eingesteckt sind.
Klingt die zweite Option sinnvoll oder ist eine komplexere Lösung erforderlich?
protection
usb-device
monty
quelle
quelle
Antworten:
Wie bereits erwähnt, können Sie zwei Hosts nicht direkt an ein Gerät anschließen. Wenn Sie sie also nur miteinander verkabelt haben und jemand sie an beiden Enden angeschlossen hat, liegt ein Problem vor.
Sie haben jedoch auch ein Problem, wenn nur ein Ende angeschlossen ist. USB, insbesondere der Hochgeschwindigkeitsmodus (480 Mbit / s), wird über die Impedanz gesteuert. Wenn Sie die Datenleitungen beider Anschlüsse miteinander verbinden, erhalten Sie einen sogenannten Stub im Hochfrequenzdesign. Das Kabel zum nicht verwendeten Anschluss beeinträchtigt die Leistung des aktiven Anschlusses.
Um dies richtig zu machen, benötigen Sie einen Multiplexer-IC. Sie können dedizierte USB2.0-Multiplexer kaufen, die speziell für diese Art von Anwendung entwickelt wurden - so etwas wie der TS3USB30 . Auf diese Weise können Sie die Datenleitungen von beiden Ports mit den Mux-Eingängen verbinden und den Ausgang intern mit Ihrem Gerät verbinden. Der Mux trennt den nicht verwendeten Stecker, wodurch die Übertragungsleitungs-Stichleitungen getrennt werden.
Für die Stromversorgung würde ich wahrscheinlich einen Leistungsmultiplexer wie eine Dioden-ODER-Schaltung verwenden. Die VBUS-Leitung von einem der Ports (vor dem Leistungsmultiplexer) kann dann als Eingang für den Datenmultiplexer verwendet werden.
Die Erdung ist zwischen den beiden USB-Anschlüssen und Ihrem Gerät gleich (verbunden).
quelle
Der von Tom Carpenter vorgeschlagene Multiplexer ist eine gute Lösung.
Bei USB mit voller Geschwindigkeit (12 Mbit / s) sind die Stichleitungen in den Signalen jedoch nicht besonders wichtig. Wenn der Abstand zwischen den Stichleitungen unter 1/10 der Wellenlänge bleibt, dh unter ~ 2 Metern, verzerren die Reflexionen die Wellenform nicht wesentlich.
Außerdem bleiben die Spannungspegel an D + und D- Pins im akzeptablen Bereich, sodass für beide Hosts kein großes Risiko einer elektronischen Beschädigung besteht.
Das Hauptproblem bleibt, wenn Sie die + 5V-Pins von beiden Hosts miteinander verbinden, können große Ströme auftreten. Sie können eine Diode vom + 5V-Pin jedes USB-Anschlusses verwenden, um nur Strom hereinzulassen, niemals heraus.
quelle
Der träge elektronische Entwurfsweg wäre nur die Verwendung eines physischen Mehrfachverbindungsschalters, um zu wählen, welcher verwendet wird.
Beachten Sie, dass dies den zusätzlichen Vorteil hätte, dass beide angeschlossen bleiben und mit dem Schalter auswählen können, welcher Eingang verwendet werden soll.
quelle
Es gibt keine USB-kompatible Möglichkeit, dies zu tun. USB ist nicht für die gemeinsame Nutzung zwischen zwei Hosts ausgelegt. Wenn Sie dies versuchen, führt dies zu potenziell katastrophalen Situationen.
Im besten Fall können Sie einen USB-Multiplexer oder einen Switch-IC mit GPIO verwenden, um festzustellen, welcher Anschluss angeschlossen ist. Sie müssen entscheiden, welche USB-Verbindung Vorrang hat, da nicht beide gleichzeitig an Ihre USB-Schnittstelle angeschlossen werden können.
Oder schauen Sie sich Alternativen an. Lassen Sie einen Computer mit dem anderen kommunizieren. Oder verwenden Sie Bluetooth oder Wi-Fi oder einen anderen Verbindungstyp.
quelle
Ich habe ein Wacom-Tablet mit dieser Funktion. Sie behandeln das von Ihnen beschriebene Problem mithilfe einer mechanischen Verriegelung.
Es gibt einen Plastikschieber, der je nach Position den einen oder den anderen Anschluss blockiert.
quelle
Möglicherweise ist es einfacher, den USB-Anschluss an einer Seite des Gehäuses zu belassen und alle anderen benutzerbezogenen Elemente symmetrisch zu duplizieren und / oder zu verschieben. Anschließend kann das Gehäuse so gedreht werden, dass der USB-Anschluss zum Anschluss zeigt, während alle anderen Elemente weiterhin bequem zugänglich sind.
Eine andere Möglichkeit besteht darin, beide Anschlüsse auf einer Seite des Gehäuses (an den gegenüberliegenden Enden) anzuordnen und einen Gleitstummel innerhalb des Gehäuses hinzuzufügen, den der Benutzer bewegen kann, um den einen oder anderen Anschluss zu öffnen. 12-MHz-USB hat gute Chancen, mit einem zusätzlichen, nicht angeschlossenen Anschluss zu arbeiten.
quelle