- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
USB总线设备程序设计
(原WDM驱动开发 .chm 的第十一章)
USB总线的成功关键是使用户感到了使用 USB设备的方便。即插即用 (PnP) 概念
的使用使某些硬件的安装过程得到了简化。 然而,那些遗留设备如串行口、 并行
口、键盘,和麦克风的配置问题仍然折磨着用户。 USB总线通过提供一种能连接
大量自识别中低速设备的统一连接方法解决了这一问题。 USB规范中指出,适合
迁移到 USB上的硬件限定于那些低速到中速的外设,包括调制解调器、应答机、
扫描仪,和个人数字助理。即这些设备的数据传输速率低于 12Mb/sec,并且能
通过单一的 PC接口被系统软件识别。
尽管这本书仅关注软件, 但 USB的某些电子和机械概念对于软件开发者仍然很重
要。从普通用户的观点来看, USB的主要特征是每个设备都有同样的四芯电缆及
标准化插头, 都可以插入到 PC后部的标准化插座或与 PC相连的某个 HUB上。另
外,你还可以随意拔插 USB设备而不管应用程序是否打开以及是否会造成电气损
害。本章覆盖了下面两个主题。
编程架构
使用总线驱动程序
在本章的第一部分, 我将描述 USB的编程架构。 这个架构包含了多个概念, 包括
把设备附着到计算机上的层次方法, 电源管理的通用方案, 硬件的多层次描述符
的自识别标准。 USB标准把定时帧 (frame) 分解成数据包 (packet) ,从而实现设
备和主机之间的数据传输。最后,在主机和设备上的端点之间, USB支持四种数
据传输模式。一种模式称为等时传输 (isochronous) ,它可以每隔 1 毫秒 (ms)传
输固定量无错误校验的数据。其它模式为:控制传输、批量传输,和中断传输,
它们仅能传输少量 (64 字节或更少 ) 带有错误校验的数据。
在本章的第二部分,我将描述 WDM驱动程序模型对于 USB设备的附加特征。 USB
驱动程序高度依赖其总线驱动程序 (USBD.SYS),而不直接使用 HAL函数与硬件通
信。 USB驱动程序为了向其硬件设备发送一个请求,首先创建一个 USB请求块
(URB),然后把 URB提交到总线驱动程序。例如,为了配置一个 USB设备,驱动
程序需要提交几个 URB来读取各种描述符或发送命令,最后由 USBD.SYS把请求
送到总线上。
USB规范的官方修订版为 1.1 。该规范和许多其它文档均由 USB委员会制定,他
/developers/ Universal
们的工作组位于 。DonAnderson 的《
Serial Bus System Architecture 》(Addison-Wesley, 1997) ,以另一种形式概
括了大部分 USB规范。
关于例子程序
1
Anchor Chips 公司 ( / ) 向我提供了一份他们的
EZ-USB开发包。 Anchor Chips 公司的 USB芯片集是以一个改进的
文档评论(0)