LPC11U24 USB MSD bootloader, does it use USB_CONNECT?

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

LPC11U24 USB MSD bootloader, does it use USB_CONNECT?

823 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by frank26080115 on Thu Aug 30 09:48:27 MST 2012
I want to use the USB MSD bootloader feature of the LPC11U24FBD64

My circuit has a pull-up resistor on the USB DP signal that is controlled through a transistor and PIO0_6, which is USB_CONNECT.

Once the bootloader has been activated (see UM10462 figure 69), does the bootloader use PIO0_6 (USB_CONNECT) to activate the pull-up resistor?
Labels (1)
0 Kudos
5 Replies

641 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by drs on Thu Jan 24 15:35:38 MST 2013
What did you base your board design on? There are schematics available for this part that you can reference.

Do you have access to a protocol analyzer? This might shed some light on the quality of the bus signal.

0 Kudos

641 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by marcin_nicram on Thu Jan 17 04:31:44 MST 2013
LPC11U24 Programming - drag and drop problem.

I have some problem with first using of my LPC11U24.

Problem description:
Couple weeks ago I read that LPC11U24 have some very interesting feature - programming by drag and drop. So bought it, prepared PCB for this microcontroller and solder the parts, but when I connect it to the PC (Windows XP) the OS said "USB Device Not Recognized". In Device manager this device occurs in Universal Serial Bus controller as "Unknown Device". The board is powered from USB port. In attachment I add the layout of board.
I have no idea what was wrong.

Maybe I'm wrong (If yes please correct me) but I thught that he will be visible in my computer as a mass storage.

My questions;
The board connections are ok ?
What the other connection I can try ?
Does I make some mistakes in connection  ?
What do I wrong ?

I will be grateful for any help. BTW sorry for my English (He isn't perfect)
0 Kudos

641 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by DiligentMinds.com on Thu Aug 30 18:45:25 MST 2012
Frank,

Upon reset, I'm pretty certain that all of the GPIO pins are programmed as inputs with a pull-up on the pin.  So, if you always want to go into the USB ISP then just leaving that pin not connected is OK-- if for some reason you ever want to go into the serial-ISP, then that pin must be low.  Here's the deal though-- if you are going to design a USB device, then you *DO* want to connect P0.3 to VBUS (+5V from the USB connector)-- (and you can copy my example, and use a 10K resistor in series to limit the current, in case there is an ESD event on the USB cable that gets into the +5V line).  Yes, the voltage thresholds are the same as the other IO pins.

The reason you *DO* want to connect this, is that your code *may* want to get an interrupt (or come out of a sleep mode) when the USB cable is plugged in-- and this is done by P0.3 sensing the presence of the +5V from the USB host when the cable is plugged in.  (Of course you have to set the appropriate configuration to make this work).  Also, if you are planning on using the built-in USB drivers inside the on-chip ROM, I'm fairly certain they expect P0.3 to be connected to USB-VBUS.

Oh-- and I forgot to mention-- it is not shown on the ap-note, but you *REALLY* want to have a 47pF/NPO capacitor from each USB data-line to ground.  This would be in-between the 33-ohm series resistors shown the ap-note and the USB connector.  This is because some of the "cheap" hubs that are out on the market will get confused and "lock up" if there is any RF noise on the USB data lines.  The 47pF/NPO caps do the trick-- and this is the case for *ALL* USB devices that you design, no matter what chip you are using.  (Some have built-in series resistors, but the caps are always needed).  It also helps your device pass EMC testing-- (less RFI during USB use).

-Ken Peek
0 Kudos

641 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by frank26080115 on Thu Aug 30 12:33:04 MST 2012
Hi Ken

Thank you very much for providing your detailed test results

I am reading the static characteristics section of the datasheet but it doesn't specifically the input logic high threshold for the PIO0_3 Vbus, should I assume that the threshold is the same as an ordinary GPIO pin?

If I leave PIO0_3 floating, will it be detected as logic low or is it undefined and I should put a pull-down resistor?

Thanks again

-Frank
0 Kudos

641 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by DiligentMinds.com on Thu Aug 30 10:32:12 MST 2012
Just for you-- I just tested it.  I am using the 48-pin (Rev-B) version of your device, but otherwise they are the same.  Yes-- USB_CONNECT (P0.6) goes low if you enable the ISP by holding (P0.1) low during a reset.  Note that, to enter the USB ISP, "VBUS" must also be connected to P0.3, and it must be high when reset happens (and P0.1 is low).

On my device, if I leave the batteries out, it is powered by the USB host when I plug it in (through a 3V3 regulator of course).  In this case, when I hold P0.1 low, and plug in the USB cable, it DOES NOT enter the ISP (as I would expect)-- I have to further cause a reset-- and THEN it goes into the USB ISP.  I'm guessing that this is because the power is not ready (or something) when the (internal) reset goes high...  Another deviation from the ap-note is that I put a 10K resistor in series with VBUS to P0.3-- I know the data-sheet says that this pin is "5V tolerant", but I wanted to limit the current into the pin anyway, just to be safe...

I used the same circuit for the 1.5K pull-up through a P-channel FET as was given in the ap-notes, and it appears to work fine.  (P0.6 goes low, driving the drain of the PFET high, which pulls up the 1.5K resistor on the D+ line of the USB cable).

This is used by the ISP, and if you are programming a USB device, it allows your software to do a "soft connect"-- ie., it's like unplugging the USB cable from the host, and then re-plugging it back in to re-enumerate the USB device.  This might be done if you (for some reason) have re-configured your USB device, and you want the host to treat it in a different way.

So, you probably do need this pull-up PFET (or PNP) arrangement if you are going to use the USB port for either USB ISP or for a USB device.

I hope this helps!

--Ken Peek
0 Kudos