LPC1300 USB驱动详解:支持HID与MSC设备

需积分: 9 2 下载量 3 浏览量 更新于2024-09-19 收藏 532KB PDF 举报
本章详细介绍了LPC1300单片机上的USB片上驱动,着重讨论了针对LPC1342和LPC1343型号的驱动特性,因为这些设备内置了USB设备控制器。LPC1300的USB功能旨在简化USB应用程序的开发,通过引导ROM内置的驱动支持两种主要设备类:人机接口设备(HID)和海量存储设备(MSC)。 10.1本章导读部分提到,开发人员无需从头开始编写复杂的USB驱动代码,因为基础的枚举和命令处理已经在引导ROM中完成,用户只需关注回调函数的实现,以处理数据发送和主机请求。 10.2章节简述了USB驱动的功能,它包括驱动程序的核心部分,如时钟配置、引脚初始化、USB初始化、USB连接建立以及中断处理。这些函数提供了与USB主机通信的基本框架。 10.3.1详细讲解了时钟和引脚初始化过程,涉及系统PLL的配置以产生48MHz时钟,主时钟连接到USB时钟,AHB时钟分频器设置,USB引脚的连接以及USB PLL的启用,确保了USB模块的正常工作。 10.3.2 USB初始化步骤涉及对USB模块进行设置,确保硬件配置正确并准备好接收或发送数据。 10.3.3 USB连接阶段涉及到与主机建立连接的过程,包括可能的枚举过程和设备状态管理。 10.3.4 USB中断处理程序是关键部分,用于响应来自USB主机的各种事件,如数据传输完成、错误检测或设备状态变化,这要求开发者编写相应的回调函数来处理这些事件。 10.4章节进一步阐述了如何调用USB设备驱动,包括HID设备驱动程序和MSC设备驱动程序的使用方法。应用软件通过调用这些驱动来实现与主机的交互,例如数据的读写操作。 10.5介绍USB驱动程序的结构体定义,包括ROM驱动程序表、USB驱动程序表、设备信息等,这些是驱动程序内部的组织形式,有助于开发者理解驱动的工作原理。 10.6 USB描述符部分详述了如何创建标准描述符(如设备、配置、接口和端点描述符)以及特定设备类的配置,如HID和MSC的详细描述符,这对于设备与主机之间的通信至关重要。 LPC1300的USB片上驱动提供了用户友好的接口,使得在该平台上开发基于USB的HID和MSC应用变得更加容易,只需要关注核心功能的实现和必要的回调函数设计。