NXP Advantages
NXP's microcontroller portfolio features the latest USB technologies, including full- and high-speed USB 2.0 device, host, and On-The-Go (OTG) functions. NXP supports all four transfer types: control, interrupt, bulk, and, in particular, isochronous, which is required for streaming audio. NXP MCUs provide designers a range of special USB features that improve overall performance and speed time-to-market:
- Fully-Certified USB Products
- On-Chip ROM Drivers
- Integrated Hi-Speed and/or Full-Speed PHY
- Free USB Host and Device Software
- Additional USB Features
Fully-Certified USB Products
NXP is a leading member of the USB-IF, the organization that maintains the USB specifications and verifies USB compliance. NXP's USB-equipped ARM MCUs are submitted for certification, so designers can be certain that their systems will deliver the best in reliability and plug-and-play operation. As of the end of 2008, most of our USB 2.0-based processors with host and device functions have been certified; the OTG function is in-process. A complete list of compliant products appears on the USB-IF web site,
www.usb.org.
On-Chip USB ROM Drivers
NXP's on-board USB ROM drivers pack the entire USB stack, USB classes, and low-level drivers right into the microcontroller's ROM, eliminating the need to develop and debug this complex software yourself. Placing the USB drivers in the ROM frees up valuable memory space that you can then use for your application. These drivers have been thoroughly tested by NXP and outside test houses and are used to gain USB logo certification after passing the rigorous testing requirements at USB-IF.
Integrated Hi-Speed and/or Full-Speed PHY
A full-speed or high-speed PHY is integrated into NXP's USB microcontrollers and provides the bridge between the digital and modulated parts of the interface. The integration of the PHY on the MCU saves component cost and simplifies system design. For example, the LPC1800 and LPC4300 microcontrollers support two channels of High-Speed USB 2.0 Host/Device/OTG and have an on-chip High-Speed PHY.
Free USB Host and Device Software
USB development doesn't have to be expensive or difficult. To help you save time and money, NXP provides complete ready-to-go USB example applications for host and device modes that work out of the box on multiple tool chains — all at no charge. In addition to NXP's own complimentary USB packages, NXP partners with leading software companies to provide state-of-the-art USB firmware. For a complete list of USB software options, please see the
Support section of this page.
Additional USB Features
NXP's additional USB features include the following:
- Host controllers are OHCI-/EHCI-compliant.
- Dedicated DMA lets the USB interface operate with minimal CPU intervention.
- SoftConnect™ uses software to determine when a USB device will connect to the bus.
- GoodLink™ uses an LED to indicate that a USB device has been enumerated and configured on the bus. (To save power, the LED is turned off during suspend.)
- Double-buffering maximizes throughput on bulk and isochronous endpoints.
- Multiple USB ports let devices be configured as hosts, devices, or both.
- USB data buffer provides flexible configuration of endpoint FIFO sizes.
Products
NXP offers more than 80 USB MCU options for Cortex-M0, Cortex-M3, Cortex-M4, ARM9, and ARM7 microcontrollers (see the comparison table and products below). NXP MCUs special USB features include:
Comparison Table
Core
Product
On-Chip Controller
No. of Cntrls
No. of Ports
On-chip PHY
Certified
Device
Host
OTG
ARM7TDMI-S
LPC2141
FS
-
-
1
1
Device
FS
LPC2142
FS
-
-
1
1
Device
FS
LPC2144
FS
-
-
1
1
Device
-
LPC2146
FS
-
-
1
1
Device
-
LPC2148
FS
-
-
1
1
Device
FS
LPC2158
FS
-
-
1
1
Device
-
LPC2361
FS
FS
FS
1
1
Device, Host
FS
LPC2362
FS
FS
FS
1
1
Device, Host
FS
LPC2364
FS
-
-
1
1
Device
FS
LPC2366
FS
-
-
1
1
Device
FS
LPC2368
FS
-
-
1
1
Device
FS
LPC2378
FS
-
-
1
1
Device
FS
LPC2387
FS
FS
FS
1
1
Device, Host
FS
LPC2388
FS
FS
FS
1
2
Device, Host
FS
LPC2420
FS
FS
FS
1
2
Device, Host
-
LPC2458
FS
FS
FS
1
2
Device, Host
-
LPC2460
FS
FS
FS
1
2
Device, Host
-
LPC2468
FS
FS
FS
1
2
Device, Host
FS
LPC2470
FS
FS
FS
1
2
Device, Host
-
LPC2478
FS
FS
FS
1
2
Device, Host
-
LPC2880
HS
-
-
1
1
Device
HS
LPC2888
HS
-
-
1
1
Device
HS
ARM720T
LH79524
FS
-
-
1
1
Device
-
LH79525
FS
-
-
1
1
Device
-
ARM922T
LH7A404
FS
FS
-
1
3 (2 host)
Device, Host
-
LH7A400
FS
-
-
1
1
Device
-
ARM968
LPC2921
FS
-
-
1
1
Device
-
LPC2923
FS
-
-
1
1
Device
-
LPC2925
FS
-
-
1
1
Device
-
LPC2926
FS
FS
1
1
Device
LPC2927
FS
-
FS
1
1
Device
-
LPC2929
FS
-
FS
1
1
Device
FS
LPC2930
FS
FS
FS
1
2
Device, Host
-
LPC2939
FS
FS
FS
1
2
Device, Host
-
ARM926EJ-S
LPC3180/01
FS
FS
FS
1
1
-
-
LPC3220
FS
FS
FS
1
1
-
-
LPC3230
FS
FS
FS
1
1
-
-
LPC3240
FS
FS
FS
1
1
-
-
LPC3250
FS
FS
FS
1
1
-
-
LPC3130
HS
HS
HS
1
1
Device, Host, OTG
-
LPC3131
HS
HS
HS
1
1
Device, Host, OTG
HS
LPC3151
HS
HS
HS
1
1
Device, Host, OTG
-
LPC3152
HS
HS
HS
1
1
Device, Host, OTG
HS
LPC3153
HS
HS
HS
1
1
Device, Host, OTG
-
LPC3154
HS
HS
HS
1
1
Device, Host, OTG
-
Cortex-M3
LPC1342
FS
-
-
1
1
Device
FS
LPC1343
FS
-
-
1
1
Device
FS
LPC1345
FS
-
-
1
1
Device
-
LPC1346
FS
-
-
1
1
Device
-
LPC1347
FS
-
-
1
1
Device
-
LPC1547
FS
-
-
1
1
Device
-
LPC1548
FS
-
-
1
1
Device
-
LPC1549
FS
-
-
1
1
Device
FS
LPC1751
FS
-
-
1
1
Device
FS
LPC1752
FS
-
-
1
1
Device
-
LPC1754
FS
FS
FS
1
1
Device, Host
-
LPC1756
FS
FS
FS
1
1
Device, Host
-
LPC1758
FS
FS
FS
1
1
Device, Host
-
LPC1759
FS
FS
FS
1
1
Device, Host
-
LPC1764
FS
-
-
1
1
Device
-
LPC1765
FS
FS
FS
1
1
Device, Host
-
LPC1766
FS
FS
FS
1
1
Device, Host
-
LPC1768
FS
FS
FS
1
1
Device, Host
FS
LPC1769
FS
FS
FS
1
1
Device, Host
-
LPC1774
FS
-
-
1
1
Device
-
LPC1776
FS
FS
FS
1
1
Device, Host
-
LPC1777
FS
FS
FS
1
1
Device, Host
-
LPC1778
FS
FS
FS
1
1
Device, Host
-
LPC1785
FS
FS
FS
1
1
Device, Host
-
LPC1786
FS
FS
FS
1
1
Device, Host
-
LPC1787
FS
FS
FS
1
1
Device, Host
-
LPC1788
FS
FS
FS
1
1
Device, Host
-
LPC1820
HS
HS
HS
1
1
Device, Host
-
LPC1822
HS
HS
HS
1
1
Device, Host
-
LPC1823
HS
HS
HS
1
1
Device, Host
-
LPC1825
HS
HS
HS
1
1
Device, Host
-
LPC1827
HS
HS
HS
1
1
Device, Host
-
LPC1830
HS
HS
HS
2
2
Device, Host
-
LPC1833
HS
HS
HS
2
2
Device, Host
-
LPC1837
HS
HS
HS
2
2
Device, Host
FS
LPC1850
HS
HS
HS
2
2
Device, Host
FS
LPC1853
HS
HS
HS
2
2
Device, Host
FS
LPC1857
HS
HS
HS
2
2
Device, Host
FS
Cortex-M4
LPC4072
FS
FS
FS
1
2
Device, Host, OTG
-
LPC4074
FS
FS
FS
1
2
Device, Host, OTG
-
LPC4076
FS
FS
FS
1
2
Device, Host, OTG
-
LPC4078
FS
FS
FS
1
2
Device, Host, OTG
-
LPC4088
FS
FS
FS
1
2
Device, Host, OTG
-
LPC4320
HS
HS
HS
1
1
Device, Host, OTG
-
LPC4320
HS
HS
HS
1
1
Device, Host, OTG
LPC4322
HS
HS
HS
1
1
Device, Host, OTG
-
LPC4323
HS
HS
HS
1
1
Device, Host, OTG
-
LPC4325
HS
HS
HS
1
1
Device, Host, OTG
-
LPC4327
HS
HS
HS
1
1
Device, Host, OTG
-
LPC4330
HS
HS
HS
2
2
Device, Host, OTG
-
LPC4333
HS
HS
HS
2
2
Device, Host, OTG
-
LPC4337
HS
HS
HS
2
2
Device, Host, OTG
-
LPC4350
HS
HS
HS
2
2
Device, Host, OTG
-
LPC4353
HS
HS
HS
2
2
Device, Host, OTG
-
LPC4357
HS
HS
HS
2
2
Device, Host, OTG
-
Cortex-M0
LPC11U12
FS
-
-
1
1
Device
-
LPC11U13
FS
-
-
1
1
Device
-
LPC11U14
FS
-
-
1
1
Device
FS
LPC11U23
FS
-
-
1
1
Device
-
LPC11U24
FS
-
-
1
1
Device
LS, FS
LPC11U34
FS
-
-
1
1
Device
-
LPC11U35
FS
-
-
1
1
Device
-
LPC11U36
FS
-
-
1
1
Device
-
LPC11U37
FS
-
-
1
1
Device
FS
LPC11U37H
FS
-
-
1
1
Device
-
Cortex-M0+
LPC11U67
FS
-
-
1
1
Device
-
LPC11U68
FS
-
-
1
1
Device
LS, FS
Support
Software
- CMX-USB Device Stack (by CMX Systems)
- CMX-USB Host Stack (by CMX Systems)
- emUSB Device Stack (by SEGGER)
- EUSBD (Embedded USB Device) Stack (by HCC-Embedded)
- EUSBH (Embedded USB Host) Stack (by HCC-Embedded)
- I2S - USB Audio Demo (Oct 19, 2007)
- LPC32xx WinCE 6.0 Board Support Package (BSP) VBeta (Oct 30, 2008)
- LPCXpresso USB HID Example Project for LPC11U14 V1.0 (Apr 7, 2011)
- OT-USB USB Device/Host/OTG Stack (by OnChip Technologies)
- smxUSBD Device Stack (by Micro Digital)
- smxUSBH Host Stack (by Micro Digital)
- smxUSBO OTG Software (by Micro Digital)
- µC/USB Device Stack (by Micrium)
- µC/USB Host Stack (by Micrium)
- USB Audio Device Example for LPC214x (by Keil) (Feb 6, 2006)
- USB Audio Device Example for LPC23xx/LPC24xx (by Keil) (Jun 19, 2007)
- USB Device Stack (by Thesycon)
- USB Host Stack (by Thesycon)
- USB Human Interface Device (HID) Example for LPC214x (by IAR Systems) (Aug 11, 2005)
- USB Human Interface Device (HID) Example for LPC214x (by Keil) (Feb 6, 2006)
- USB Human Interface Device (HID) Example for LPC23xx/LPC24xx (by Keil) (Jun 19, 2007)
- USB Mass Storage Device Example for LPC214x (by Keil) (Feb 6, 2006)
- USB Mass Storage Device Example for LPC23xx/LPC24xx (by Keil) (Jun 19, 2007)
- USBHostLite for LPC293x VBeta 0.01 (Jul 28, 2009)
- USBHostLite for LPC23xx/LPC24xx V1.00 (Jan 4, 2010)
- USBHostLite for LPC17xx VBeta 0.01 (Jul 14, 2009)
- Windows Embedded CE BSP for NXP LH7A404 (by Adeneo)
- Windows Embedded CE BSP for NXP LPC3180 (by Adeneo)
- Windows Embedded CE BSP for NXP LPC32x0 (by Adeneo)
Application Notes
Articles