usb接口通信(驱动)的设计与实现

usb接口通信(驱动)的设计与实现

ID:957238

大小:357.19 KB

页数:58页

时间:2017-10-20

usb接口通信(驱动)的设计与实现_第1页
usb接口通信(驱动)的设计与实现_第2页
usb接口通信(驱动)的设计与实现_第3页
usb接口通信(驱动)的设计与实现_第4页
usb接口通信(驱动)的设计与实现_第5页
资源描述:

《usb接口通信(驱动)的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、引言WDM是“Windows驱动程序模型”的简称,即“WindowsDriverModel”。实际上它是一系列集成在操作系统之中的常规系统服务集,用于简化硬件驱动程序的编写,并保证它们在Windows98/Me/2000中的二进制兼容,WDM(WindowsDriverModel)模型是从WinNT3.51和WinNT4的内核模式设备驱动程序发展而来的。WDM主要的变化是增加了对即插即用、电源管理、WindowsManagementInterface(WMI)、设备接口的支持。WDM模型的主要目标,

2、是实现能够跨平台使用、更安全、更灵活、编制更简单的Windows设备驱动程序。WDM采用了“基于对象”的技术,建立了一个分层的驱动程序结构。WDM首先在Windows98中实现,在Windows2000中得到了进一步的完善,并在后续开发的Windows操作系统中都将存在,比如WindowsMe和WindowsXP。微软在通过WDM模型的引入,希望减轻设备驱动程序的开发难度和周期,逐渐规范设备驱动程序的开发,应该说,WDM将成为以后设备驱动程序的主流。USB技术的全称是通用串行总线,是英文Univer

3、salSerialBus的缩写。它是一种应用在PC领域的新型接口技术,虽然USB2.0已经被广泛应用,但是初始的Windows2000是支持USB1.0协议的,如果希望支持USB2.0协议,需要在微软网站上下载升级包。实际上,对于键盘或者鼠标来说,传输的速度非常小,使用USB1.0或者是USB2.0的区别并不大。闪存盘之类的存储设备,则需要重视传输速度。USB1.0版本主要应用在鼠标,键盘等HID设备上,这就是本驱动程序中引用的头文件版本是USB1.0的原因。本毕业设计的目的是希望对Windows2

4、000操作系统体系结构和驱动程序开发以及调试等方面的问题有一个比较深入的了解,对USB协议和USB体系有做一个比较深入的了解。并开发出一个USB键盘驱动。这个USB键盘驱动程序应当可以替代系统原有的键盘驱动程序,并可以正常工作。本论文设计的驱动程序在Windows2000下运行,开发环境为VC6.0和DDK2000。581WDM驱动程序模型概述驱动程序在任何操作系统下都和系统内核有着密切的关系。设备驱动程序是一个包含了许多操作系统可调用例程的容器,这句WalterOney曾说过的话,抽象的描述了设备

5、驱动程序的本质。1.1Windows2000概述图1-1中概括了Windows200系统中的组件,Windows2000操作系统是由不同层次的模块共同组成的。该图着重描述了驱动程序开发者所关心的特征。工作在Windows2000操作系统平台上的软件要么执行在用户模式中,要么执行在内核模式中。当用户模式程序需要读取设备数据时,就调用Win32API函数,如ReadFile.Win32子系统模块通过调用平台相关的系统服务接口实现API,而平台相关的系统服务将调用内核模式支持例程。在ReadFile调用中

6、,调用首先到达系统DLL(NTDLL.DLL)中的一个入口点,NtReadFile函数。然后这个用户模式的NtReadFile函数接着调用系统服务接口,最后由系统服务接口调用内核模式中的服务例程,该例程同样名为NtReadFile。应用程序Win32子系统设备驱动硬件抽象层硬件IO管理器用户模式内核模式Win32API调用系统服务接口传递IRP给驱动程序派遣函数HAL调用平台相关操作图1-1Windows组件模型系统中还有许多与NtReadFile相似的服务例程;它们同样运行在内核模式中,为应用程序

7、请求提供服务,并以某种方式与设备交互。这些服务例程首先检查从用户态传递给它们的参数以保护系统安全或防止用户态程序非法存取数据,然后创建一个称为“I/0请求包(IRP)”的数据结构,并把这个数据结构送到某个驱动程序的入口点。驱动程序完成一个I/0操作后,通过调用一个特殊的内核模式服务例程来完成该IRP。完成操作是处理IRP的最后动作,它使等待的应用程序恢复运行。1.2Windows2000中的驱动程序类型58虚拟设备驱动程序(VDD)内核模式驱动程序文件系统驱动程序遗留设备驱动程序PnP驱动程序显示驱

8、动程序WDM驱动程序类驱动程序微型(mini)驱动程序图1-2Windows2000中的设备驱动程序种类Windows2000系统可以使用多种驱动程序,图1-2显示了其中几种。·虚拟设备驱动程序(VDD)可以使DOS应用程序访问x86平台上的硬件。VDD通过屏蔽I/O权限掩码来捕获端口存取操作,它基本上是模拟硬件操作,这对于那些直接对裸机硬件编程的应用程序特别有用。尽管这种驱动程序在Windows98和Windows2000中共享一个名称并且有相同的功能,但实际上它们

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。