Hallo!
Ich würde mir gerne eine Schaltung basteln, mit der ich zwischen 2 USB
Ports wechseln kann. Mein Frage dazu: ist das mit Transistoren möglich
oder brauche ich Relais (möchte ich unbedingt vermeiden)? Ich hätte mir
gedacht ich lege zwischen Spannungsquelle (+5V) und den Transistoren
(für jeden Pin einen und in Serie) einen Kippschalter und die
Transistoren schalten Data+ und Data- vom USB.
Wenn es tatsächlich möglich ist, könnt ihr mir bitte helfen bei der
Berechnung vom Transistor-Vorwiderstand? Ich habe keinen Plan wie groß
die Spannung und der Strom der beiden USB-Daten-Ports sind. Auch google
hat mir nicht weiter geholfen..
Danke für die Hilfe!
lg
Das kannste vergessen, daß Du da sinnvoll was mit Transistoren schalten
kannst. Erst recht nicht mit normalen Relais. Denn das sollte schon
relativ HF-gerecht werden, denn das heute übliche USB2 braucht schonmal
ein paar 100MHz Bandbreite.
@Jens G:
Ich dachte bisher immer, die für Transistoren angegebene Grenzfrequenz
würde sich auf die Geschwindigkeit beziehen, mit der der Transistor
selbst gesteuert werden kann, also wie schnell sich eine
Spannungsänderung am Gate auf den Widerstand zwischen Source und Drain
auswirkt. Dass davon das durch den Transistor (von Source nach Drain)
gehende Signal betroffen ist, hätte ich jetzt nicht gedacht. Man lernt
nie aus. Unterscheiden sich diese beiden Frequenzen? Unter welcher
Bezeichnung finde ich diese andere Frequenz in den Datenblättern? Beim
BSS123 z.B. finde ich "Turn-on delay time", "Rise time", "Turn-off delay
time" und "Fall time". Ich habe diese Werte wohl immer falsch
interpretiert. Je mehr ich in diesem Forum lese, desto mehr merke ich,
wie wenig ich eigentlich weiß. Weiß jemand, wo ich Infos zu dem Thema
finde? In den Artikeln, in Wikipedia und im Elektronik-Kompendium habe
ich noch nichts darüber gefunden.
Hi,
das wird nicht funktionieren.
Wie schon geschrieben, es ist eine HF geschichte.
Das erste Problem ist, dass USB ein differentielles Signal ist.
Das zweite, dass die Transistoren garantiert irgend eine Kapazität
haben, welche sich dann übel auf das Signal auswirkt.
Wenn Du einfach zwischen zwei Geräten schalten willst und noch das Glück
hast, dass die keine eigene Spannungsversorgung haben... schalt denen
einfach den Strom ab. Das geht mit Deinen Transistorn.
An einem einfachen USB-Kabel messe ich Kapazitäten im 2-Stelligen
pF-Bereich zwischen verschiedenen Kabeln.
Welche Kapazität im Transistor würde sich denn hier negativ bemerkbar
machen? Und wie?
Danke erstmal für die Antworten, ist immerhin schon eine kleine
Diskussion draus geworden :)
Es gibt doch USB-Switches (ich meine keine Hubs, sondern 2 PCs und nur
ein USB-Port) zu kaufen, wie werden diese geschalten? Über Transistoren
ist es (möglicherweise) nicht möglich, aber wie dann?
lg
Ich würde gerne einen USB-Port zwischen 2 PCs wechseln, also so als
würde ich einen USB-Stick an einen PC und dann an den anderen
anschließen.
Gleichzeitig wäre es super, das gleiche mit LAN zu machen. Aber ich
denke das ist ein anderes, komplizierteres Thema..
Und wie bringst du deinen Schaltern die Reaktion der An- und Abmeldung
am OS des jeweiligen PC´s bei?
Da reicht nicht einfach mal An- und Abschalten der Datenleitungen, das
OS muß da schon mit einbezogen werden, und das wird dann wohl etwas
schwieriger.
Wobei ja noch vom OS und der jeweiligen Schnittstelle erkannt wird wie
hoch der max. zulässige Strom erkannt und freigegeben wird.
Ein Studium der USB-Schnittstellendefintion wird dir da wohl etwas den
Plan versauen!
...nicht unbedingt, wichtig ist nur kollisionen zu vermeiden
http://www.mercateo.com/kw/hf(2d)relais/hf_relais.html
sollte der stick eine virtuelles Laufwerk beinhalten so ist es
sinnvoller ein echtes Netzwerk aufzubauen und den Stick im
ständiglaufenden Server zu betreiben und dort für das netwerk
freizugeben.
OK, nehmen wir mal an, wir können das z.B. mit so etwas wie einem
schnellen (74HC)4053 (3 x 2 Kanal Multiplexer)(1) ohne Phasendifferenzen
im 2-stelligen ns Bereich schalten.
(Das Datenblatt von dem Teil zeigt übrigens, wie so etwas prinzipiell
mit MOSFETs geschaltet wird. Vielleicht könnte man den Teil diskret mit
HF-MOSFETs aufbauen. - Den Dekodierer braucht man dann ja nicht.)
Dann müssen wir irgendwie das abziehen und einstecken eines Gerätes
emulieren.
Der Stecker ist mechanisch so konstruiert, dass beim Einstecken erst die
Versorgungsspannung und dann D+/D- verbunden werden. Bei Herausziehen
umgekehrt. Dazu kommt die Zeit, die der PC braucht, das Herausziehen zu
erkennen. Dass lässt sich sicher leicht mit ein paar Monoflops und
Flipflops regeln, aber es wird wahrscheinlich noch leichter sein, einen
ATtiny (o.Ä.) entsprechend zu programmieren.
Edit (wg. Kreuzposting):
Ein paar HF-Relais gehen da natürlich auch.
Du must nur allpolig (alle 4 leitungen) mit HF Relais umschalten fertig
Theoretisch können die Graund gemeinsam bleiben praktisch würde ich das
unterlassen.
Bin dann mal fort.
bei Bedarf mail/PN
MfG Winne
Was mich mal interessieren würde:
Gibt es in der USB-Spezifikation eine Möglichkeit, auf Initiative des
USB-Gerätes eine Abmeldung vom Host zu erreichen? Oder muss das immer
vom Host aus erfolgen?
Ich konnte per Google nichts dazu finden,
Was die Frage des TO betrifft, habe ich überlegt, ob man nicht indirekt
eine Abmeldung erreichen könnte in dem man z.B. absichtlich mehr als
500mA verbraucht oder irgendeine andere Ausnahmesituation erzeugt, die
den Host dazu bringt von dem USB-Gerät nichts mehr wissen zu wollen. Das
Problem der Anmeldung des neuen Gerätes bleibt damit natürlich
unerledigt, ist klar.
Wumps schrieb:> Was mich mal interessieren würde:> Gibt es in der USB-Spezifikation eine Möglichkeit, auf Initiative des> USB-Gerätes eine Abmeldung vom Host zu erreichen? Oder muss das immer> vom Host aus erfolgen?
Die Cypress EZ-USB-Controller machen sowas. Die kommen z.B. ohne
Firmware hoch, können dann vom Host mit einer Firmware bespielt werden
und melden sich dann via Firmware neu bei dem Host an ("ReNumeration").
Hier mal ein kleiner Auszug aus dem Datenblatt ("DISCON"-Bit im EEprom
Configuration-Byte):
"A USB hub or host detects attachment of a full speed device by sensing
a high level on the D+ wire. A USB device provides this high level using
a 1500-ohm resistor between D+ and 3.3V (the D+ line is normally low,
pulled down by a 15 kOhm resistor in the hub or host). The 1500 Ohm
resistor is internal to the EZ-USB.
The EZ-USB accomplishes ReNumeration by selectively driving or floating
the 3.3V supply to its internal 1500Ohm resistor. When the supply is
floated, the host no longer ‘sees’ the EZ-USB; it appears to have been
disconnected from the USB. When the supply is then driven, the EZ-USB
appears to have been newly connected to the USB. From the host’s point
of view, the EZ-USB can be disconnected and reconnected to the USB,
without ever physically disconnecting."
Sollte also eigentlich gehen.
Viele Grüße,
Simon
martin schrieb:> Hallo!>> Ich würde mir gerne eine Schaltung basteln, mit der ich zwischen 2 USB> Ports wechseln kann. Mein Frage dazu: ist das mit Transistoren möglich> oder brauche ich Relais (möchte ich unbedingt vermeiden)?
Das kannste vergessen.
Was Du verwenden willst, sind USB-Switches, welche es von
z.B. http://www.maxim-ic.com/products/switches/usb/ gibt.
Grüße
Michelle