Connecting USB devices in parallel

  • Thread starter Thread starter I_am_learning
  • Start date Start date
  • Tags Tags
    Parallel Usb
Click For Summary
SUMMARY

Connecting USB devices in parallel by directly joining their data lines (D+ and D-) is not feasible due to the non-tri-state nature of USB drivers, which causes conflicting signals between devices. USB hubs utilize separate data lines with built-in arbitration mechanisms to manage communication, preventing data line conflicts. In contrast, protocols like I2C allow for "wire-ORing" due to their ability to release data lines when not in use, making them more suitable for parallel connections. This fundamental difference in design explains why USB cannot be used in the same manner as I2C.

PREREQUISITES
  • Understanding of USB architecture and data transmission protocols
  • Knowledge of I2C communication and its operational principles
  • Familiarity with electronic circuit design and signal integrity
  • Basic concepts of data bus arbitration mechanisms
NEXT STEPS
  • Research USB 3.0 specifications and data line management
  • Explore I2C protocol advantages and applications in embedded systems
  • Learn about USB hub architecture and its role in device communication
  • Investigate signal integrity issues in parallel data connections
USEFUL FOR

Electronics engineers, embedded systems developers, and anyone interested in understanding data bus communication protocols and their limitations.

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?
 

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
6K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 6 ·
Replies
6
Views
4K