Electronic – Does the LPC1343 MCU need an external clock for USB operation

armcrystalmicrocontrollernxpusb

I am trying to design a board using the LPC1343: http://www.nxp.com/documents/data_sheet/LPC1311_13_42_43.pdf

I would like to be able to use its on-board USB bootloader to program it. My question is whether or not my board requires an external 12 MHz oscillator. I am confused because in the user manual (http://www.nxp.com/documents/user_manual/UM10462.pdf) it seems that there is an internal 12 MHz:

"12 MHz Internal high-frequency RC oscillator (IRC) that can optionally be used as
a system clock" (page 7)

Does my design need an external clock to work with the USB programming? Ideally I'd like to use it as a USB mass storage device to drag-and-drop .bin files to program it. Thanks.

Best Answer

In general, the IRC oscillator is not precise enough to use for USB. This is why the LPC13xx series has a separate PLL for USB. Quoting document AN11392: Guidelines for full-speed USB on NXP's LPC microcontrollers:

When using a full-speed USB peripheral, it is important to use an external crystal, or a tight frequency tolerance ceramic resonator, for the timing element. The internal 12 MHz ±1 % RC oscillator, while very accurate, does not have the accuracy required for USB. The USB peripheral operates at a clock frequency of 48 MHz, so the crystal must be chosen such that a multiple of its frequency is equal to 48 MHz. A parallel resonant 12 MHz crystal with a data signaling tolerance of 0.25 %, or ±2500 ppm is required.