Switch Hardware and Software

cancel
Showing results for 
Search instead for 
Did you mean: 

USB switch

OK, granted I might be in the wrong place for this question, but here goes anyway.....

I'm currently looking into ways to automate some testing equipment. The problem is that, although USB-based, the driver does NOT support multiple devices connected simultaneously. This means that in order to automate testing for more than one device, I need some way to switch between the different USB devices per hardware. I was thinking of a relay-based system which switches the data and power lines of each USB port (4 lines each?) depending on an incoming I/O signal (8-bit port for 8 USB devices). I know that for this I need to be able to force a disconnect and reconnect for the USB devices, but this must be do-able right?

I know there are devices for the opposite of what I want to do (one USB port on several PCs), but does anyone know of a possibility of doing what I want (or something similar or better)?

The relay thing is just a kludge in my opinion. There must be a better way to do this.....

Shane
Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)
0 Kudos
Message 1 of 3
(7,524 Views)
Hello Shane,

Is it possible to get a driver update to support multiple devices? You're probably right that a relay system is going to be an expensive kludge. However, here are a couple of considerations if you want to switch USB signals around.

I'd leave the GND pin connected to all devices. There doesn't seem to be a reason to switch them, and the less impedance you put on those lines, the better your overall signal and power integrity.

You could probably switch VBUS on a general purpose relay. I imagine most of the common-mode coupling from the data line pair references GND and the cable shield. There's no need to waste channels on an RF switch to handle power.

Depending on whether your device is high speed USB 2.0 or full speed, the signal integrity requirements on D+ and D- may limit your switching options. If you use a single-ended RF switch, like the NI PXI-2590 or 2593, you'll have to split the pair into two 50 Ohm coax cables. This causes an impedance mismatch from USB's nominal 90 Ohms differential impedance to a 100 Ohm differential impedance through the cables and switch. While you can probably tolerate this, it does eat into the device's signal integrity operating margin. The cables and switching paths should be selected so that the propagation skew between D+ and D- is within USB spec tolerances. Refer to http://www.usb.org/developers/docs/ for the latest specification.

If you choose to layout your own board, keep D+ and D- traces matched length (and short) and controlled impedance.

It should certainly be possible to switch USB lines between multiple devices, but a driver fix would seem the better solution in this case.

Hope this is useful,

Charles
Message 2 of 3
(7,517 Views)
Thanks charles,

OK it sounds like begging for a different driver might be the best option. The only problem with that is that the instrument switch must be a seperate function to all others, otherwise it'll break existing software. An instrument selector for each DLL call simply won't work. But it should be do-able.

I'm woefully lacking on any basic electronics or data communications (hardware) knowledge, but I understand from your mail that this will not be an elegant solution. Especially keeping the impedance similar is something which would kind of put me off this.

There might be the possibility of disabling specific USB ports in the OS to "hide" instruments from the driver. This would be more suitable I think.

I'll check in another board. Thanks for your answer.

Shane.
Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)
0 Kudos
Message 3 of 3
(7,510 Views)