Y-cable reinvented - for USB-OTG

joerg at openmoko.org joerg at openmoko.org
Tue May 6 17:39:47 CEST 2008

Am Di  6. Mai 2008 schrieb Werner Almesberger:
> [ 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 
> > PMU<<-.
> 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. 
> (Page 8.)
> 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.
> - Werner

Yep, for the first look it's about what I've been thinking of.
The ID pin on A and B(2) could be left open completely I think.
Neo would detect +5V on ID as identical to GND for initiating logic hostmode, 
and as charger for power management. The most minimal solution for the nasty 
problem. Only there is a chance to burn other devices (ID to GND low Z) - too 
bad :-( User has to build the cable himself, so he mustn't blame me/OM ;-)

I wouldn't suppose to use any other power source than a dedicated USB-charger


More information about the hardware mailing list