Connecting USB devices in parallel

  • Thread starter Thread starter I_am_learning
  • Start date Start date
  • Tags Tags
    Parallel Usb
Click For Summary
Connecting multiple USB devices in parallel by directly wiring their power and data lines is not feasible due to the nature of USB communication. USB devices do not use tri-state logic for their data lines, meaning they constantly drive the data lines high or low. This creates a conflict when multiple devices are connected directly, as they can interfere with each other, leading to unpredictable behavior. USB hubs are designed with separate data lines and likely include buffering to manage communication between devices, allowing only one device to communicate at a time. In contrast, protocols like I2C allow for "wire-ORing" because they can release the data lines when not in use, making them more suitable for parallel connections. The discussion highlights the limitations of USB in this regard and raises questions about the broader applicability of I2C.
I_am_learning
Messages
681
Reaction score
16
Since USB are a kind of Data buses I thought you can simply connect multiple usb devices such as say a keyboard and a mouse in parallel.
I mean, strip out the USB cable of both keyboard and mouse, connect together the Power supply (V+ and V-) and also connect together datas lines (D+ and D-). Then, plug the joined (paralled) device into a single USB port.
Would this work? Why?
 
Computer science news on Phys.org
The drivers for the data lines on USB devices are not "tri-state", so they always "power" the I/O lines. If you connect two data wires directly together they will fight each other and whomever is the strongest will (probably) take precedence. The strongest may not be the device you want to talk to at the time however...

I just looked inside a USB hub and each data line is separate. The particular device has a glob of goop over the "magic-connection" site for the data lines so I'd assume that there is some kind of buffer there which arbitrates which input gets to talk to the output when.

Other serial busses, like I2C, can be "wire-ORed" together because they release the data lines when not in use. I don't know why USB isn't like that come to cogitate on it...
 
I thought the data lines were highZ most of the time and the USB devices were in Reading (waiting ) state most of the time for the Host to order them to transfer data. Seems like I am confusing it with I2C.

Thanks for your respones.

Looks like I2c is the winner? Why not use them everywhere?
 
Thread 'ChatGPT Examples, Good and Bad'
I've been experimenting with ChatGPT. Some results are good, some very very bad. I think examples can help expose the properties of this AI. Maybe you can post some of your favorite examples and tell us what they reveal about the properties of this AI. (I had problems with copy/paste of text and formatting, so I'm posting my examples as screen shots. That is a promising start. :smile: But then I provided values V=1, R1=1, R2=2, R3=3 and asked for the value of I. At first, it said...

Similar threads

  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
12
Views
2K
Replies
14
Views
6K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 21 ·
Replies
21
Views
5K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 6 ·
Replies
6
Views
4K