www.mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik USB Data über Transistor schalten


Autor: martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jens G. (jensig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist schlecht!
Aber Möglichkeiten muss es geben, es gibt die Teile schließlich auch zu 
kaufen. Wie würde das theoretisch funktionieren?
Danke, lg

Autor: bitte löschen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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.

Autor: Pete (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: bitte löschen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was konkret hast du denn vor?

Autor: martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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..

Autor: Der schon wieder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...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.

Autor: bitte löschen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Wumps (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Simon Budig (nomis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Michelle Konzack (Firma: electronica@tdnet) (michellekonzack) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.