第17章 USB设备驱动 USB 设备驱动和PCI 设备驱动是PC 中最主要的两种设备驱动程序
与PCI 协议相比,USB 协议更复杂,涉及面较多
本章将介绍USB 设备驱动开发
首先介绍USB 协议,使读者对USB 协议有个整体认识
然后介绍USB 设备在WDM 中的开发框架
由于操作系统的USB 总线驱动程序提供了丰富的功能调用,因此开发USB 驱动开发变得相对简单,只需要调用USB 总线驱动接口
1 USB总线协议 USB 总线协议比PCI 协议复杂的多,涉及USB 物理层协议,又涉及USB 传输层协议等
对于USB 驱动程序开发者来说,不需要对USB 协议的每个细节都很清楚
本节概要地介绍USB 总线协议,并对驱动开发者需要了解的地方进行详细介绍
1 USB 设备简介 USB 即通用串行总线(Universal Serial Bus),是一种支持即插即用的新型串行接口
也有人称之为“菊链(daisy-chaining)”,是因为在一条“线缆”上有链接127 个设备的能力
USB 要比标准串行口快得多,其数据传输率可达每秒 4Mb~12Mb(而老式的串行口最多是每秒 115Kb)
除了具有较高的传输率外,它还能给外围设备提供支持
需要注意的是,这不是一种新的总线标准,而是计算机系统连接外围设备(如键盘、鼠标、打印机等)的输入/输出接口标准
到现在为止,计算机系统连接外围设备的接口还没有统一的标准,例如,键盘的插口是圆的、连接打印机要用9 针或 25 针的并行接口、鼠标则要用9 针或 25 针的串行接口
USB 能把这些不同的接口统一起来,仅用一个4 针插头作为标准插头,如图 17-1 所示
通过这个标准插头,采用菊花链形式可以把所有的外设连接起来,并且不会损失带宽
USB 正在取代当前 PC 上的串口和并口
第17章 USB 设备驱动 431