Hallo zusammen,
ich möchte die Kommunikation eines USB Devices hardwareseitig
blockieren/abschalten und durch einen GPIO auf Wunsch aktivieren (die
meiste Zeit soll der Bus blockiert bleiben). Dazu will ich die beiden
Datenleitungen D+/- sperren. Die Versorgungsspannung/GND soll erhalten
bleiben.
Ich bin noch recht neu (ich hoffe ich mache mich net zum Hampel) und ich
bin nicht ganz sicher wie ich das bewerkstelligen möchte, so dass das
ganze auch zuverlässig funktioniert.
Meine erste Idee wäre einen pull-up auf die Datenleitungen zu und
abzuschalten. Nun bin ich mir nicht sicher, ob das angeschlossene Gerät
bei einem + auf der Leitung nicht schon aktiviert wird (genau das will
ich verhindern). Hat da jemand zufällig Erfahrung?
Eine andere Idee wäre natürlich einfach einen Transistor nehmen und
damit die Spannung eines einstellbaren GPIOs zu schalten. Ich würde
jedoch nur ungern in den Signalpfad eingreifen und dadurch riskieren,
dass USB nicht mehr funktioniert.
Bitte löschen wenn die Frage zu dumm ist.
Lg
Normalerweise hast Du ja einen 1k5 Pullup, mit dem der Host feststellt,
dass ein Device (1) da ist und (2) Full/High Speed oder Low Speed ist
(je nachdem, ob der Pullup an D+ oder D- ist). Es reicht, die Versorgung
dieses Pullups zu schalten (zB per Portpin). Wenn der Pullup mangels
Spannung nicht mehr pullt, wird das Device nicht mehr enumeriert und ist
dann auch nicht mehr da.
fchk
Dandel schrieb:> Eine andere Idee wäre natürlich einfach einen Transistor nehmen und> damit die Spannung eines einstellbaren GPIOs zu schalten.
Lol. Dass USB differentiell ist ist dir bekannt? Dass man mit
Transistoren auch nicht ohne weiteres ein paarhundert MHz schaltet auch?
Schonmal was von Augendiagramm gehört?
Aus meiner begrenzten Sicht des Bastlers würde ich, wenn's mein Problem
wäre, einfach einen Analogswitch* nehmen. Kostet praktisch nix und
sollte funktionieren. Oder gibt's dagegen Einwände?
*Damit meine ich natürlich das CMOS-Bauteil und keinen Schiebeschalter.
LG, N0R
Norbert M. schrieb:> Aus meiner begrenzten Sicht des Bastlers würde ich, wenn's mein> Problem> wäre, einfach einen Analogswitch* nehmen. Kostet praktisch nix und> sollte funktionieren. Oder gibt's dagegen Einwände?
Falls du die 4066, 4067, 4051, 4052, 4053 o.ä. meinst: Zu hochohmig, zu
große parasitäre Kapazitäten. Die Dinger sind eher für den Audio-Bereich
bis zu 20kHz gedacht, nicht für schnelle digitale Kommunikation mit
500MHz.
Nehme einen 270 Ohm Widerstand von D+ gegen Masse und schalte den mit
einem Schalter. Das sollte die Enumeration beim Einstecken verhindern.
Ob das bereits enumerierte Gerät dann aus geht weiß ich nicht.
c-hater schrieb:> Falls du die 4066, 4067, 4051, 4052, 4053 o.ä. meinst: Zu hochohmig, zu> große parasitäre Kapazitäten.
In der Tat, sowas in der Art habe ich gemeint.
> Die Dinger sind eher für den Audio-Bereich bis zu 20kHz gedacht,> nicht für schnelle digitale Kommunikation mit 500MHz.
Im Datenblatt vom MC74VHC1G66 steht was von Bandwith 175 MHz, in dem vom
SN74LVC1G3157 etwas von 300 MHz "Frequency response". Was das genau
bedeutet weiß ich natürlich nicht, weil dieses "Hochfrequenzzeugs" für
mich wohl immer ein Buch mit sieben Siegeln bleiben wird. Das mit den
parasitären Kapazitäten verstehe ich jedoch, das ist natürlich blöd.
Anyway, ich hab' noch mal kurz nach "USB analogue switch" gesucht, und
da findet sich schon einiges:
NLAS7222A von On-Semi, S1F77310 von Epson, 14535 von Maxim, etc.
Erwartungsgemäß natürlich nicht im Bastlergehäuse DIP, sondern DFN-artig
Schlußendlich sollte glaube ich, mit dem ADG3242 im SOT-23-8 etwas
passendes für den OP gefunden haben, das eventuell passen könnte, auch
wenn das natürlich ein sehr kleines Gehäuse ist (was sich in diesen
Geschwindigkeitsklassen wohl wegen der von Dir angesprochenen
Kapazitäten wohl kaum vermeiden lässt). Hier gibt's noch mehr Auswahl:
www.analog.com/library/analogdialogue/archives/40-01/usb_switch.html
Wenn man mit 12 Mbps auskommt, dann gibt's dort sogar ein bastler-
freundliches SOIC (ADG774, ist allerdings kein Switch sondern ein MUX).
LG, N0R
Die erste Frage wäre mal was das soll.
Die zweite wäre dann was für Geräte damit geschaltet werden sollen und
ob überhaupt geklärt ist, ob die sich das so gefallen lassen.
Leider wird viel am USB ohne Sachkenntnis gebastelt. Es gibt Grenzen was
man mit dem USB machen kann und dabei im betriebssicheren Bereich zu
bleiben.
kopfkratz
Also wenn muß schon D+/D- physisch getrennt werden, das mit den
Widerständen wird nicht funktionieren.
Also am einfachsten einen USB2USB Adapter selber aufbauen mit Relais,
SolidStateRelais oder Triac.
USB1.1, USB2 oder USB3, was soll geschaltet werden ?
Und wie schon erwähnt verträgt das USB-Gerät das oder hängt es sich auf
?
Thomas R. schrieb:> nimm TS3USB30 oder ISL54200
TS3USB30E
günstig, leicht zu bekommen, im VSSOP10 Gehäuse leicht zu verarbeiten
(wer schmerzen will kann ihn auch im DFN Gehäuse bekommen.