3
\$\begingroup\$

This is a total hardware noob question, but I really need an answer to this one:

I have 2 devices, A & B that are both self-powered. I would like to disable the +5VDC cord inside USB port, but still send data between devices through Data+ & Data- cables. Can this be done?

\$\endgroup\$
  • \$\begingroup\$ Google for USB data link. The ones I know have proprietary protocols when used on Windows, and offer a regular TCP/IP link on Linux. \$\endgroup\$ – jippie Jul 1 '15 at 18:30
  • 4
    \$\begingroup\$ Oh the short answer is: without special hardware in the cable: No. \$\endgroup\$ – jippie Jul 1 '15 at 18:32
  • 1
    \$\begingroup\$ I don't get it. Are devices A and B both hosts, or are the USB devices, or what? If one is a host and one is a device, there is no reason you can't hook them together. But if they are both the same type, then I don't think it will work. You could read up on USB OTG if you are interested. Also not clear on what you mean by diabling +5VDC cord. Why would you do that? \$\endgroup\$ – mkeith Jul 1 '15 at 19:07
  • \$\begingroup\$ We have a HDMI connection on the B (slave) device that switches off the HDMI feed as soon as it detects voltage on USB port. If the +5VDC cord is cut (physically), the HDMI feed continues to run. As we cannot modify hardware on slave device, we're wondering if modification on master or cable is possible. \$\endgroup\$ – Gal Jakič Jul 1 '15 at 20:01
4
\$\begingroup\$

With standard spec-compliant USB, no. The device must detect the 5V from the host before it's allowed to connect its pull-up resistor to the data lines. If you're building a custom device you can probably keep the resistor on all the time, which will fail USB certification but should still work on Windows.

If you want to connect two devices together, again the answer is no. One side of the connection has to be a host (master), and the other side has to be a device (slave). The host has to enumerate the device by requesting its hardware descriptors and selecting an operating configuration. The host starts all data transfers, so two devices will never spontaneously talk to each other. If you're building custom devices with custom firmware, you can have one device act as a host, if your USB controller hardware supports it.

USB is intended for connecting plug-and-play peripherals to PCs. Another protocol would probably be more useful for whatever you have in mind. Your options will depend on the desired data rate and any special needs you might have.

\$\endgroup\$
0
\$\begingroup\$

It appears from your comment that there's more to this problem than what you're sharing, but here's a direct answer to the question as stated currently:


If you want to stay compliant with the USB standard without transferring power, then you can use a USB Isolator, either as a chip that must be included on your PCB for about $7 plus a few passives or as a prefab unit for about $40. (U.S. dollars)

Then you can power the resistors on each side from their own supplies, which satisfies the requirement to go away when the power quits, and disallows any power transfer between them. You also have the side-effects of complete isolation up to 1kVDC and the elimination of a ground loop that may have used that path.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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