随着微机技术水平的日益提高,传统的计算接口已经不能满足当前计算机高速发展的需求,
计算机业界迫切需要新的通用型、高速总线接口。通用外设接口标准 USB 应运而生。
USB,全称为通用串行总线(Universal Serial Bus),它是 Compaq、IBM 等 PC 大厂商
联合开发的一种新型的、基于令牌的、高速的串行总线标准。开发者要设计 USB 设备接口,
就必须首先了解 USB 协议,在此基础上有针对性的开发 USB 设备驱动程序。
USB 简介
在众多的 PC 机总线中,USB 以其突出的优点独树一帜:① 使用方便。支持热拔插,
不涉及中断请求(IRQ)冲突等问题,能真正做到“即插即用”。②传输速率高。目前的
USB 2.0 协议速度高达 480Mbps 。③易于扩展。通过使用 Hub 扩展可连接多达 127 个
外设。④使用灵活。USB 共有4种传输模式:控制(control)、同步(Synchronization)、
中断(interrupt)、批量(bulk),以适应不同设备的需要。⑤独立供电。正由于上述优点,
开发 USB 接口的设备已成为一种发展趋势。
一个完整的 USB 系统包括主机系统和 USB 设备。所有的传输事务都是由主机发起的。
一个主机系统又可以分为以下几个层次结构,如图 1 所示:
图 1 USB 互连通信模型
USB 总线接口包括 USB 主控制器和根集线器,其中 USB 主控制器负责处理主机与设
备之间电气和协议层的互连,根集线器提供 USB 设备连接点。USB 系统使用 USB 主控制
器来管理主机和 USB 设备之间的数据传输,另外它也负责管理 USB 资源,如带宽等。应用
软件不能直接访问 USB 设备硬件,而通过 USB 系统和 USB 总线接口与 USB 设备进行交
互。
USB 设备包含一些向主机软件提供一系列 USB 设备的特征和能力的信息的设备描述
符,用来配置设备和定位 USB 设备驱动程序。这些信息确保了主机以正确的方式访问设备。
通常,一个设备有一个或多个配置(Configuration)来控制其行为。配置是接口(Interface)的
集合,接口指出软件应该如何访问硬件。接口又是端点(endpoint)的集合,每一个与 USB
交换数据的硬件就为端点,它是作为通信管道的一个终点。图 1 显示了一个多层次结构的
通信模型,它表明了端点和管道所扮演的角色。
WDM 驱动程序和 USB 驱动程序的分层结构