Y-cable reinvented - for USB-OTG
werner at openmoko.org
Tue May 6 17:20:59 CEST 2008
[ Cc:s trimmed ]
joerg at openmoko.org wrote:
> Now if we detect there's not 0volt but instead there's 5volt on the ID-pin
> while we're applying 0volt to internal R, we got a new info about what's
> plugged to our USB-receptacle, and we might ->>route this 5volt to our
So the proposal is to make a Y-cable that connects ID to VBUS. The cable
would not be permanently attached to any devices (i.e., a fixed charger
cable). The connectors would be A-A/B(1)-B(2), where A goes to a host
providing power or our charger, A/B(1) goes to the Neo, and B(2) goes to
a device that may in turn be OTG-capable. Correct so far ?
Micro-USB_1_01.pdf, page 10, below table 4-2 says:
| The ID pin on a Micro-A plug shall be connected to the GND pin.
So the ID = VBUS arrangement would violate this.
Of course, a Y-cable would violate Micro-USB 1.01 as well :-)
| No other types of cables are allowed by either the USB specification,
| or by the OTG supplement.
The Micro-USB is silent about the use of ID in receptacles, particularly
on the A-side. If we make a worst-case assumption that ID is just
connected to GND, we could possibly damage the device.
In order to avoid this sort of problem, ID on the A-side would have to
be unconnected, and the connection between ID and VBUS would have to be
made further down the cable, i.e., inside the A/B(1) connector.
| The ID pin on a Micro-B plug is not connected or is connected to ground
| by a resistance of greater than Rb_PLUG_ID (100kOhm MIN).
So actually having 5V on ID on A/B(1) or even B(2) shouldn't damage a
compliant device. (I.e., if the cable is used with some device that's
not a Neo.)
For compatibility with OTG, B(2).ID would have to be connected to GND.
So the overall connections would be roughly as follows:
A A/B(1) B(2)
VBUS -----+----- VBUS ----------- VBUS
ID -- \---- ID -- /----- ID
GND ----------- GND -----+----- GND
Is this what you had in mind ? Since the Neo side receptacle would have
to be AB, what would the plug be - A or B ?
BTW, regarding doing measurements through GPIO+R instead of rail+R,
I think this is in general good practice giving one flexibility for
usually little cost.
More information about the hardware