USB with NXP Microcontrollers

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

Application Notes

Articles

USB with NXP Microcontrollers的更多相关文章

  1. usb驱动---What is the difference between /dev/ttyUSB and /dev/ttyACM【转】

    转自:http://blog.csdn.net/ppp2006/article/details/25654733 https://www.rfc1149.net/blog/2013/03/05/wha ...

  2. LPC18xx LPC43xx LPC4370 Bootrom USB DFU FPB - Flash Patch and Breakpoint Unit

    What is the difference between a Bootrom vs bootloader on ARM systems Bootrom Bootrom (or Boot ROM) ...

  3. LPCScrypt, DFUSec : USB FLASH download, programming, and security tool, LPC-Link 2 Configuration tool, Firmware Programming

    What does this tool do? The LPC18xx/43xx DFUSec utility is a Windows PC tool that provides support f ...

  4. Cortex-M3(NXP LPC 1788) 启动代码

    startup_LPC177x_8x.s启动代码分析. 参考资料: Cortex-M3 (NXP LPC1788)之启动代码分析 ARM启动过程(Cortex-M3 NXP LPC1768为例) ;/ ...

  5. Cortex-M0(NXP LPC11C14)启动代码分析

    作者:刘老师,华清远见嵌入式学院讲师. 启动代码的一般作用 1.堆和栈的初始化: 2.向量表定义: 3.地址重映射及中断向量表的转移: 4.初始化有特殊要求的断口: 5.处理器模式: 6.进入C应用程 ...

  6. USB学习小记-HID类键盘的报告描述符的理解

    前言 断断续续的学习了将近三个月,才把USB的HID类搞明白,速度真是够慢的.利用晚上+周末的时间学习自己的东西确实是必要的,不过效率是有点低,以后要更专注一些才行,希望自己能做到吧. 在学习过程中, ...

  7. 设备管理 USB ID

    发现个USB ID站点,对于做设备管理识别的小伙伴特别实用 http://www.linux-usb.org/usb.ids 附录: # # List of USB ID's # # Maintain ...

  8. USB设备类学习笔记

    usb audio class 版本目前有3个版本  分别是1.0,2.0,3.0:1.0针对各个厂家的设备具有不同的描述符,而2.0则将它们统一简化,3.0则是最新的,还没有与2.0作进一步比较:因 ...

  9. USB眼图

    /********************************************************************** * USB眼图 * 说明: * 对于USB眼图,并不是很 ...

随机推荐

  1. LCA 算法(一)ST表

    介绍一种解决最近公共祖先的在线算法,st表,它是建立在线性中的rmq问题之上.   代码:   //LCA: DFS+ST(RMQ) #include<cstdio> #include&l ...

  2. 灵活、可高度自定义的——Progress进度圈、弹窗、加载进度、小菊花

    DDProgressHUD的介绍 提供了四种类型的展示: 显示无限旋转的加载图(比如小菊花,可以自定义),显示文字信息.网络刷新时经常用到. 显示加载进度的动画,也可以显示文字.网络下载时用的比较多, ...

  3. struts与ognl结合【重要】

    -----------------------------ognl表达式------------------------ OGNL:对象视图导航语言.  ${user.addr.name} 这种写法就 ...

  4. 消息监听器无法注入bean

    问题描述: 在activemq的监听器中,通过注解@Autowired或@Resource注入bean时,获取到的bean为null.调用该bean的方法时会报空指针异常. 问题原因: 当调用bean ...

  5. springcloud使用Zuul构建微服务网关入门

    为什么要使用微服务网关 不同的微服务一般会经过不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求. 如果让客户端直接与各个微服务通信,会有以下的问题: 客户端会多次请求不同的微 ...

  6. 替换openjdk的版本时遇到报错Transaction check error

    x想要使用jmap对jvm内存进行排查问题,但是默认安装的openjdk包中并不带有这个命令,需要新升级到新版本才有 而在安装新的版本时,遇到报错: :   file /usr/lib64/libns ...

  7. snmp信息的查询命令snmpwalk

    在日常监控中,经常会用到 snmp 服务,而 snmpwalk 命令则是测试系统各种信息最有效的方法,现总结一些常用的方法如下: 获取所有信息snmpwalk -v 2c -c public 52.0 ...

  8. JAVA随笔(一)

    数组变量是数组的管理者,而不是拥有者.数组变量的比较,是判断它们是否管理同一个数组.将一个数组变量赋值给 另一个数组变量并不产生新的数组.想产生新的数组只能通过new来完成. 同样,String类型的 ...

  9. Linux学习笔记:sed删除、插入数据

    一.sed删除文件第一行 sed -i '1d' file.txt -- 删除第一行 sed -i 'nd' file.txt -- 删除第n行 sed -i '$d' file.txt -- 删除最 ...

  10. 【AtCoder】ARC098题解

    C - Attention 枚举,计算前缀和即可 代码 #include <bits/stdc++.h> #define fi first #define se second #defin ...