USB驱动开发.PDF

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
USB驱动开发

USB驱动开发 By NeMoon 2007.03 ? 第一章 关于USB技术的简单介绍 ? 1. USB的全称为Universal Serial Bus,即通用串 行总线,USB技术由Compaq、DEC、IBM、Intel、 Microsoft、NEC和Northern Telecom等公司共同协商 制定,该项目技术对微型计算机外部设备的连接和 使用方式作出了新的规定,USB技术的开发和应用 是本世纪末微型计算机外部总线结构的重大变革。 USB具有以下特点: ? (1)有较高的传输速率。USB1.1支持全速和低 速两种方式:全速速率为12Mb/s,低速速率为 1.5Mb/s;USB2.0除支持USB1.1的两种速度方式外, 还增加了速率可达480Mb/s的高速方式。 ?(2)使用方便灵活。USB支持即插即用 和热插拔,它允许在任何时候连接和断开外 设,当外设被连接时,系统会自动检测到外 设并准备使用。 ?(3)易于扩展。通过根集线器可携带127 个设备,真正实现多个外设共用一个接口。 ? 高速和低速设备 ?USB规范中定义了两种设备,高速设备和低 速设备。低速设备以1.5Mb/sec速率通信,高 速设备以12Mb/sec速率通信。hub能用电子方 式区分这两种设备。发生在总线上的通讯通 常都是高速的,hub一般不向低速设备发送数 据。操作系统把任何发往低速设备的消息前 加上一个前导包,这将使hub临时降为低速, 并完成低速设备的数据发送。 ? 随着计算机技术和信息技术的飞速发展,计算机或 工控机经常被用来对各种数据进行采集。现在常用 的方法主要有两种: (1)通过数据采集板卡,常用的有A/D卡等。采用 板卡不仅安装麻烦、体格昂贵、易受环境的影响, 降低系统的精度和稳定性。 (2)普通的外置式采样系统一般通过RS-232与PC机 相连,由于PC机的限制,RS-232的最高数据传输速 率不超过115Kb,对于中高速的采集系统也很难达到 要求。 USB的出现,很好地解决了以上这些冲突,很容 易就能实现低成本、高带宽、易扩展、高可靠性、 安装方便、多点的数据采集,已逐步成为现代数据 传输的发展趋势。 ? 第二章 USB设备驱动程序开发介绍 ? 固件设计 ? 设备驱动程序设计 ? 应用软件设计 ? 固件设计 ? 在实际开发中使用了两种传输方式:控制传输和块传输。 控制传输用来实现位于主机上的USB总线驱动程序 (USB.SYS )以及编写的功能驱动程序对设备的各种控 制操作,而块传输用来完成将采集数据从设备传送到主 机。USB控制器的工作原理可以简单地描述为:当USB 控制器从USB总线检测到主机启动的某一传输请求时, USB控制器通过中断方式将此请求通知主机系统,主机 系统通过访问USB控制器的状态寄存器和数据寄存器获 得与此次传输有关的各种参数,并根据具体传输参数, 对USB控制器的控制寄存器和数据寄存器进行相应的操 作,以完成主机的传输请求。 ? 设备驱动程序设计 ?USB设备驱动程序的设计是基于美国微软公司极力推荐的 WDM(Windows Driver Model,Windows驱动程序模型)。WDM 采用分层驱动程序模型,对于USB设备来说,可分为USB总 线驱动程序和USB功能驱动程序。USB总线驱动程序由操作 系统提供,它位于USB功能驱动程序的下面,负责与实际的 硬件打交道,实现烦琐的低层通信。USB功能驱动程序由设 备开发者编写,位于USB总线驱动程序的上面,不与实际的 硬件打交道,而是通过向USB总线驱动程序发送包含URB (USB Request Block,USB请求块)的IRP(I/O Request Packet,I/O请求包),来实现对USB设备信息的发送或接收。 ?WDM模型使用了层次结构。图中左边是一个设备对 象堆栈。设备对象是系统为帮助软件管理硬件而创建 的数据结构。一个物理硬件可以有多个这样的数据结 构。处于堆栈最底层的设备对象称为物理设备对象 (physical device object),或简称为PDO。在设备对象 堆栈的中间某处有一个对象称为功能设备对象 (functional device object),或简称FDO。在FDO的上 面和下面还会有一些过滤器设备对象(filter device object)。位于FDO上面的过滤器设备对象称为上层过 滤器,位于FD

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档