I want to remove the Vcc pin from a USB cable and connect my computer to a device. My goal is to allow the device to communicate with the computer while not charging the device.
Does some section of the USB spec permit this? Is my plan flawed in some way?
The spec allows a device to expect to have 100mA available.
In the end you may just want to try it out and see if your device specifically has a problem. What is the device that you need to disconnect power for? If you have a device that has a primary function of charging a battery they probably designed the device around your power as a charger does not need to function if there is no power.
Also, you will still have ground as a reference, and the differential signal uses differential signaling with an occasional common mode signal but it should work with a ground reference, unless they designed their circuit as I noted above.
You can prevent charging by splicing a Schottky diode in series with the battery. Current goes out, it doesn't go in.
Yes, communication should fail - the reason is, devices are not allowed to feed any current into D+ or D- (which is how they communicate) until they observe Vbus (the 5V) high. This is actually guaranteed by the cable in many cases, because the device will 1) only have power from Vbus, and 2) not be connected to D+/D- until after Vbus and Gnd. Obviously 1 does not apply to self-powered devices.
That's assuming the device operates to the USB spec, and many devices do not. Another part of the spec they tend to ignore is that they may only draw 100mA until more has been negotiated. Requests for more are typically rejected only when connected to bus-powered hubs, as they don't have more power to grant. That's also why they tend to have four ports, as the hub registers to draw 500mA, needs a bit of power itself, and then must provide those 100mA on each downstream port.
In all, you'll probably have to modify the device or its battery connection rather than the USB cable to prevent charging. The specifics will depend on your device.
It really depends on the implementation. A common set up is to power the interface device off the VBUS. If that is used the device will of course fail without it. But even if the interface is self-powered, VBUS is sometimes used to hold an active low RESET pin high, so the interface chip is held reset if VBUS is not present. (Cable unplugged is what they are intending to check for).
There is a
USB split cable to mini B + data only mini B