USB0_VBUS connection for bus-powered USB device

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

USB0_VBUS connection for bus-powered USB device

2,012 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by zgora on Thu May 01 07:37:30 MST 2014
What is the best way to connect USB0_VBUS signal on bus-powered USB device (without OTG support)?

After looking through the datasheet, user manual and several kit schematics I'm quite confused. All 4 kit schematics I saw have USB0_VBUS directly connected to USB VBUS. Which is VERY BAD! There are posts on this forum there people confirm the MCU can latch up if 5V VBUS is already applied while VDDIO is not yet above 2.2V.

The user manual says: "For self-powered USB products that only use USB0 and that do not run in OTG mode, USB0_VBUS can be left disconnected as long as the VC bit in the OTGSC register is set". However, will it be possible to boot from USB0 if USB0_VBUS is left disconnected? Does ROM bootloader firmware set VC bit? Also the user manual says that it should be at least 1.8V on USB0_VBUS to enable pull-ups on USB0_DP and USB0_DM pins. Without this pull-ups USB host will not be able to detect the connected USB device.

So my question is maybe the best way is to connect USB0_VBUS to 3.3V VDDIO?

My concern is that I found a Vth (threshold voltage for VBUS valid) parameter in the datasheet, it is 4.4 V minimum. But I haven't found any information is this parameter related to OTG mode or for device only mode. What is the minimum USB0_VBUS signal value for USB0 to operate properly in device only mode (without OTG support) and to support USB0 boot?

Thank you,
Sergey.

Labels (1)
0 Kudos
Reply
8 Replies

1,553 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by mubes on Mon Jan 25 02:44:34 MST 2016
OK, finally to put a cap on this.  The reason the voltage is being pulled down is because USBD_API->hw->Init is setting the OTGSC VD bit (bit0), thus switching the 1K3 on the USB0_VBUS pin.  Simply resetting this bit immediately after calling the ROM Init routine makes the problem go away, then the voltage divider approach appears to work fine. There doesn't seem to be any OTG features in the ROM API so I'm not quite sure why this bit is set, unless it's just to remove noise or something.

DAVE
0 Kudos
Reply

1,553 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by mubes on Sun Jan 24 15:37:18 MST 2016
So, to answer myself 'cos it's the weekend and I'm guessing folks aren't around. From Section 25.5.1 of UM10503;


Quote:
For self-powered USB products that only use USB0 and that do not run in OTG mode,
USB0_VBUS can be left disconnected as long as the VC bit in the OTGSC register is set.
When this bit is set a voltage is applied to the USB0_VBUS pin internally which is the
equivalent of connecting the pin to a 5 V VBUS supply. Keeping the USB0_VBUS
disconnected, ensures that OTG VBUS line pulsing does not go towards the cable.



....So I guess I can just remove the voltage divider completely, set the VC bit and party on.  I'll try it tomorrow :-)

DAVE
0 Kudos
Reply

1,553 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by mubes on Fri Jan 22 18:06:37 MST 2016
Sorry to re-open such an old thread, but did this ever get resolved? I don't see any real update in Rev 4.5 of the datasheet (Nov 2015).  I've got a LPC4330 where I need to leave USB connected when power to the circuit is potentially off.  If I use the voltage divider from AN11392 with 22K & 39K resistors I get about 0.27V presented to the pin when power is on to the CPU. When power is off to the CPU I get around 2.16V.  The CPU seems to be presenting an impedence of about 1K3 to Gnd when powered up, and is in line with the datasheet (~64K Ohms) when powered down....this is a bit difficult to deal with and I'm going to end up having to re-lay this board with a regulator or something on it if I've not missed something.

Regards

DAVE
0 Kudos
Reply

1,553 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by drs on Fri May 09 16:31:18 MST 2014
You can connect USB0_VBUS directly to the VBUS pin from the USB connector or to the 3.3V output of the regulator.

For OTG applications you will need to connect USB0_VBUS to a source that is higher than 4.4v.
0 Kudos
Reply

1,553 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by zgora on Sun May 04 17:55:30 MST 2014

Quote: drs
... For bus powered applications we are suggesting that you use a regulator. ...


Just to clarify if I understand the above sentence correctly: you mean to connect USB0_VBUS to 3.3V VDDIO for bus powered devices, right?
0 Kudos
Reply

1,553 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by drs on Fri May 02 16:27:57 MST 2014
We are in the process of updating our users manuals to include examples of how best to connect VBUS to this family of microcontrollers. For bus powered applications we are suggesting that you use a regulator.
For self-powered applications where OTG is not being used we suggest a voltage divider circuit using two resistors such that the pin receives 3.3v
For self-powered applications where OTG is being used we suggest you use an active circuit that connects VBUS based on 3.3v on VDD

We will also update the remark in both the users manual and the data sheet where we state that the VBUS pads are only 5v tolerant when VDD is present by explaining that the condition where VBUS is receiving 5v when VDD is 0v will not cause immediate damage to the pad like blowing a fuse but that this condition will cause a very slight and gradual degradation of the pad over a very long amount of time. In other words, applying 5v to the pad during the time it takes for a regulator to power up VDD will cause no damage to the part at all.

To answer your question about booting up over USB0, no, the bootloader will not set the VC bit, so you will not be able to boot over USB0 if VBUS is not present.
0 Kudos
Reply

1,553 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by zgora on Thu May 01 13:56:19 MST 2014
No, voltage divider is a bad idea. LPC43xx USB0_VBUS has an internal pull-down resistor of 48 -- 80 kOhm. Quite a big variance, it would be too hard to select a proper external resistor value to be a pair to this internal resistor.

The AN11392 application note is for full-speed devices only and is not applicable for LPC18xx and LPC43xx.

Also connecting 3V3 VDDIO to USB0_VBUS is more simple than adding two (or one) resistors.
0 Kudos
Reply

1,553 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by R2D2 on Thu May 01 08:19:32 MST 2014

Quote: zgora
What is the best way to connect USB0_VBUS signal on self-powered USB device (without OTG support)?



Voltage divider  ;-)

See: http://www.nxp.com/documents/application_note/AN11392.pdf
0 Kudos
Reply