当前位置:文档之家› USB设备驱动程序设计

USB设备驱动程序设计

USB设备驱动程序设计
引言
USB 总线是1995 年微软、IBM 等公司推出的一种新型通信标准总线,
特点是速度快、价格低、独立供电、支持热插拔等,其版本从早期的1.0、1.1
已经发展到目前的2.0 版本,2.0 版本的最高数据传输速度达到480Mbit/s,能
满足包括视频在内的多种高速外部设备的数据传输要求,由于其众多的优点,USB 总线越来越多的被应用到计算机与外设的接口中,芯片厂家也提供了多种USB 接口芯片供设计者使用,为了开发出功能强大的USB 设备,设计者往往
需要自己开发USB 设备驱动程序,驱动程序开发一直是Windows 开发中较难
的一个方面,但是通过使用专门的驱动程序开发包能减小开发的难度,提高工
作效率,本文使用Compuware Numega 公司的DriverStudio3.2 开发包,开发了基于NXP 公司USB2.0 控制芯片ISP1581 的USB 设备驱动程序。

USB 设备驱动程序的模型
USB 设备驱动程序是一种典型的WDM(Windows Driver Model)驱动程序,其程序模型如图1 所示。

用户应用程序工作在Windows 操作系统的用户模式层,它不能直接访问USB 设备,当需要访问时,通过调用操作系统的
API(Application programming interface)函数生成I/O 请求信息包(IRP),IRP 被传输到工作于内核模式层的设备驱动程序,并通过驱动程序完成与UBS 外设通
信。

设备驱动程序包括两层:函数驱动程序层和总线驱动程序层,函数驱动程
序一方面通过IRP 及API 函数与应用程序通信,另一方面调用相应的总线驱动
程序,总线驱动程序完成和外设硬件通信。

USB 总线驱动程序已经由操作系统
提供,驱动程序开发的重点是函数驱动程序。

USB 设备驱动程序的设计。

相关主题