Tell me more ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I have a product (or concept of) based on a microcontroller acting as a USB host to control a given device. The device also needs to be controlled by another device (host). Assume that my device has say on which host is connected to the device. It knows when the other host is finished with the device and can relinquish control.

Given that...

  • Any potential issues with multiplexing the Vusb, D+ and D- signals to the device and switching between the two hosts?
  • Assuming the answer to the above is 'no', any recommendations or considerations on the actual IC that performs the switching? This would be a full speed implementation (12 Mbps).

EDIT:

Basically I have two existing devices (other host and other device). These things talk together quite well but other host doesn't make use of some of other device's features. Without modifying other host, I'd like to create my device. Both other host and other device plug into my host. My host will control other device until notified by the user that it would like to make use of the features provided by other host. When this happens, my host will throw a switch (multiplexer) which physically connects other host to other device. So, I am simply simulating the user removing the USB cable from my host and plugging it into the other host.

I know it would be ideal if my host could just implement everything that other host does and eliminate other host but there are reasons for doing it this way.

High Level Connections

share|improve this question
1  
If you will have 2 usb ports, any reason you can't just have 2 usb controllers? – Kellenjb Mar 19 '12 at 10:21
1  
To avoid reinventing the wheel, you might be interested in exploring the use of an I2C bus instead: en.wikipedia.org/wiki/I%C2%B2C – shimofuri Mar 19 '12 at 15:50
@shimofuri That would be fine but you see the device that I am interfacing to as well as the other host have defined interfaces... USB. These are existing products. I can not change this. – Jason Mar 19 '12 at 23:28
Check out Cypress USB products, they had something like this for serial port. What you ask cannot be easily done, unless you implement several class drivers or severely limit the use cases. – Ktc Mar 20 '12 at 0:27

2 Answers

I think USB over Ethernet is the closest you're going to get. You attach the device to one system and from the command prompt you can route it to another IP-address. http://usbip.sourceforge.net/ Both host and concept must be attached to the network.

share|improve this answer
That project is very interesting! I am going to have to look into that a bit more. However, that is not the solution for the problem above (or rather not a desirable solution). It would mean adding ethernet... – Jason Mar 19 '12 at 23:56
up vote 0 down vote accepted

Not sure if this is the proper thing to do but I have found the answer I am looking for in another question. It was answered to my satisfaction by @tcrosley here Designing A Simple Automatic USB Switch

This is precisely the part I need.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.