USB Device not recognized, LPC1347

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

USB Device not recognized, LPC1347

1,343 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by jab on Thu Sep 13 09:05:00 MST 2012
Hi,

We have designed a custom board around the LPC1347. One of the features of this board is that if plugged in over USB and set into program mode the device pops up as a USB mass storage device so you can drag and drop your programming file.

Our board enumerates okay if the board is plugged into a USB hub but not directly into the computer. The User manual and data sheet recommended a 33 ohm resistor in series with each of the USB Data lines but this causes the device not to enumerate at all. With those resistors replaced with 0 ohm resistors it enumerates but only when plugged into a USB hub (powered or unpowered).

Has anyone else experienced this?

Julian
Labels (1)
0 Kudos
10 Replies

1,058 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by caohua0902@126.com on Mon Jun 03 20:03:45 MST 2013

hi,kirubi:


<span class="Apple-tab-span" style="white-space: pre;"> </span>Excuse me , what's the meaning of "crystal orientation"? Thanks.


Best wishes!

0 Kudos

1,058 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by kirubi on Fri Dec 14 09:53:37 MST 2012
The problem was because of crystal orientation.

We fixed it.I forgot to update.

best
Venkat
0 Kudos

1,058 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by kirubi on Mon Nov 05 11:39:12 MST 2012
Yes thanks I understand that VBUS has to be driven by P.C.I am now trying to de-bug my pcb with various options and see which one makes my pc detect LPC as a USB mass storage device.In that ..comming to /usb connect and D+ . for a self powered device what should I do? Would a dmesg on linux out-put this a LPC as mass-storage device?

Venkat
0 Kudos

1,058 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by jab on Fri Nov 02 10:47:44 MST 2012
No VBUS is driven by the PC and should not be pulled to any value. The PC will drive this at approx. 5V and it should be left as such.

I will post a longer reply later, I will need to draw something to give you an idea of the connections.
0 Kudos

1,058 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by kirubi on Thu Nov 01 18:33:13 MST 2012
Thanks a lot julian for especially clearing 1] and 2].

Regarding 3]I have D+ pulled to 3.3 V with 1.5K to recognize this as a full speed device.But should we also pull up the VBUS to 3.3?

The message that I get [on ubuntu 12.10] is this.

[   66.731169] usb 2-1.2: new full-speed USB device number 7 using ehci_hcd
[   67.138608] usb 2-1.2: device not accepting address 7, error -32
[   67.138770] hub 2-1:1.0: unable to enumerate USB device on port 2

Few more questions.I use a LDO-LD1117/DD to generate 3.3V to power up the LPC.The 5V is supplied by the USB host[My P.C here].Could quiscent of the LDO which is in the order of milli amperes be an issue here? I use 10uf for decoupling at the input stage.

http://www.beyondlogic.org/usbnutshell/usb2.shtml#PowerVbus [Refer to this. I find that the usb spec say that suspend current cannot be more than 500 uA]

I am configuring this as a bus powered device by pulling the usb-connect to external 3.3V and I use a USB B connector.

The usb_connect follows http://voltsandbytes.com/lpc1343-breakout-board/

best
Venkat

0 Kudos

1,058 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by jab on Thu Nov 01 12:58:58 MST 2012
Hi,

1) Yes if you expect to use the USB Bootloader  to program it. The PLL comes up in a mode to generate a 48MHz clock if you use the USB bootloader. It does this from the 12MHz crystal.

If you don't want to use the USB bootloader then you can make your code set the PLL to get 48MHz for the USB from whatever you clock is.

2) I used caps of 31pf (or there-abouts). The quick and dirty formula for crystals is: Cx1 = Cx2 = (XTAL Load Capacitance in pf * 2) - 5. The 5pf takes into account a rough estimate of the capacitance of your PCB traces. For an 18pf crystal you get a value of 31pf for C1/C2. I used a 33pf capacitor without problems.

3) USB uses 3.3V signalling. I pull up the D+ line to +3.3V to signal that I am a full speed device. You should not pull the devices up to more than this. This was the issue I had!.

Hope this helps,

Julian Bailey
0 Kudos

1,058 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by kirubi on Thu Nov 01 10:50:54 MST 2012
Hello,

I am facing a similar problem.We use LPC1347FBD48 and we are not able toenumerate the USB device.

I have few questions.

1] Is it absoultely necessary to have an exeternal 12 Mhz oscillator for the processor to enumerate as USB devcie?

2] If we have an external 12Mhz oscillator with load capacitance of 18Pf what should the value of Cx1 and CX2?

3] What should be the ideal value of USB_VBUS though the pad is 5V tolerant?The data sheet mentions that it should not exceed 3.3 V.[page no 41 note number 2]

best
Venkat
0 Kudos

1,058 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by DiligentMinds.com on Fri Sep 21 11:29:27 MST 2012
Oh yeah, I forgot to mention that.  Oops.  I should not "assume" things.

Wow!  3.8V !  That's a bit over maximum ratings for the MPU.  I assume (there I go again), that the MPU was not damaged?  Tough little chips, these...

I would still add the caps though-- I have had problems with this in the past-- some hubs work, some don't.  It's a nightmare.  If you are sceptical, at least put the two foot-prints for the caps on the board- you can always leave them out of the BOM later.  You should Google this-- it's "out there".

Anyway-- glad you fixed your problem!

-Ken
0 Kudos

1,058 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by jab on Thu Sep 20 15:13:51 MST 2012
Hi,

I did fix the problem. A suggestion was to check the pullup voltage on the D+ line on the board. This was 3.8V because my configurable voltage reg was misaligned so was putting out 4v instead of 3.3v (the chips are 5V tolerant so I didnt originally realise this was an issue.)

The D+ line was pulled up to 3.8V which is out of spec for the USB standard. It just happened that the USB hubs (powered or unpowered, cheap or not) were more tolerant of this than the motherboard USB port. I fixed the voltage reg. and the issue was resolved.
0 Kudos

1,058 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by DiligentMinds.com on Thu Sep 20 12:00:41 MST 2012
Hi Julian,

The D+ and D- lines are a differential pair, and should be routed carefully together (as much as possible).  The ideal is to create the traces in a manner such that they are a 90-ohm differential pair.  You can ask your PC-board manufacturer for the right trace-width and spacing to make this happen.  For USB "full-speed" (12M-bits/S), you do not need a "controlled impedance" board.  But-- you should at least *try* to get the impedance right-- and the trace width and spacing will depend on the number of board layers, the materials used, the stack-up, etc.  So, contact your PC-board manufacturer for help on some "nominal" values, and don't let them "up-sell" you to "controlled impedance" boards (which are more expensive).

The USB D+ and D- lines do have some RF noise on them.  This is the case with any PHI from any manufacturer.  This noise can confuse the PHI on the other end (either the hub or the host), and these problems usually occur with low-cost hubs.

The fix is to put your 33-ohm resistors back in.  (Some PHI's from some manufacturers have these built in, but NXP LPC chips do not, and I prefer it that way).  The second thing you need to do is place (2) 47pF/NPO capacitors from each data-line (D+ and D-) to ground.  These are connected at the point between the 33-ohm resistor and the USB connector.  Note that the value is not *that* critical-- if your design uses a crystal oscillator, and you have (2) 39pF/NPO capacitors in the crystal circuit, then you can use this same value on the USB data lines (to keep BOM costs down).

This should fix your problem.  Give it a try, and tell us how it worked out for you.
0 Kudos