基于WDM的USB设备功能驱动程序的设计与实现

基于WDM的USB设备功能驱动程序的设计与实现
蔡旸
【摘 要】With the popularity of USB technology, more and more manufacturers design and develop their own USB devices. This paper first gives an idea of the driver, the USB communication protocol introduced, then combined with the Windows Driver Model WDM, designed USB device function driver, gives specific examples, driven by the realization of the main functions-use USB bus transfer and data collection. <br> This paper Select introducing WINDDK and VC++in DriverStudio tools to develop USB driver, which will be designed to the USB driver into USB entrance, USB initialization and USB device input/output (I/O) and other functional modules, with a clear structure, easy to transplant etc., has a good application value in the design of the USB driver. So that developers can develop simple in user mode drivers, rapid development is conducive to future external device drivers.%随着USB技术的普及,越来越多的厂商设计开发自己的USB设备。本文首先给出了驱动程序的概念,介绍了USB通信协议,然后结合Windows驱动程序模型WDM,设
计了USB设备的功能驱动程序,给出了具体实例,用其实现了本驱动的主要功能--使用USB总线传输并采集数据。<br>  本文选择在DriverStudio工具中引入WINDDK和VC++来开发USB驱动程序,该设计将USB驱动程序分为USB入口、USB初始化和USB设备输入/输出(I/O)等功能模块,具有结构清晰、易移植等优点,在USB驱动程序设计中具有良好的应用价值。使开发者可在用户态开发简单的驱动程序,有利于今后快速开发外部设备驱动程序。
【期刊名称】《软件》
【年(卷),期】小柳树和小枣树教学设计2014(000)002
【总页数】6页(P4-9)
【关键词】USB;驱动程序;WDM;IRP;URB
【作 者】蔡旸
【作者单位】东风电子科技股份有限公司,上海 201114
【正文语种】污染物扩散模型中 文
【中图分类】TP311.1
0 引言
运载火箭随着USB技术的不断成熟,通用串行总线的数据传输速率得到了很大的提高,USB的应用也日益广泛,作为其重要组成部分的驱动程序开发也受到了更多的关注。加上它本身具备的其它总线无法比拟的优点,比如支持热插拔、传输稳定且低能耗等等,使得USB成为PC机与外围设备通信的优先接口,越来越为各大厂商和广大用户所接受。
驱动程序的设计技术复杂繁多,要全面掌握并灵活应用并非易事。设备驱动程序的优劣不仅关系到硬件设备的兼容性和硬件设备性能的发挥,还影响到系统工作的稳定性。Windows的WDM驱动模型采用了“基于对象”的技术,建立了一个分层的驱动程序结构,能够实现跨平台使用、更安全、更灵活。设计基于WDM模型的驱动程序已成为现在的主流趋势。
1 概述
1.1 驱动程序的概念
随着电子技术的飞速发展,电脑硬件品种越来越繁多,而系统硬件设备的制造厂商和功能特性的不同,操作系统也不可能提供对于所有设备的直接访问接口。这样就引出了设备驱动程序的概念:设备驱动程序提供链接到计算机的硬件的软件接口,它是操作系统的一个信任部分。
驱动程序,英文名称“Device Driver”,全称为“设备驱动程序”,是一种可以使计算机和设备通信的特殊程序,可以说相当于硬件的接口,用于系统识别机器硬件的软件,被视为硬件和软件的桥梁。驱动程序就是硬件设备的大脑,它对硬件进行管理,使得硬件与操作系统协调工作。
1.2 驱动技术的发展
朝华mp3在窗口概念还没出现的时代,驱动程序就已经诞生。最初的DOS操作系统允许用户通过配置conf i g.sys文件将新的驱动程序加载进操作系统。早期的Windows也不过是增强版本的MS-DOS Shell而已,intel处理器的出现使Windows 3X时期由标准模式进化到增强模式,
即虚拟设备驱动程序(VxD,Virtual DeviceDriver)模型;但即使经过所谓的虚拟化,数个虚拟设备还是共享相同的硬件。
表2-1 USB数据传输类型的相关特性及区别传输类型 控制传输 等时传输 中断传输 批量传输数据量大,USB在满足带宽的情况下才进行该类型的数据传输数据周期性 无 有 无 无延迟 尽力保证不延迟 每一毫秒帧的固定部分 以最小速率轮询 无功能 用于发送和接收USB定义的结构化信息有周期性,有限的时延和带宽且数据传输速率不变的外设与主机间的数据传输。数据传输量小,无周期性,但对响应时间敏感,要求马上响应
随着Windows系统本身的发展,其驱动程序模型也不断的发展和完善。Windows 95是真正独立的32位操作系统,终结了DOS模式的历史。微软提出了一种新的驱动程序模型:核心模式驱动程序(Kernel Mode Driver,KMD)。这种模式的驱动程序运行于操作系统的核心模式下从Windows 98开始,微软又在KMD的基础上提出了新的驱动程序模型WDM(Windows Driver Model)。WDM在KMD的基础上进一步支持即插即用(Plugand Play,Pnp)规范与电源管理规范,并且对设备进行了进一步的分类:不同的设备遵循不同的规范进行开发。
本文开发的驱动程序遵循WDM驱动程序开发模型,该模型正是本文的讨论重点。
全国政法队伍建设工作会议2 USB通信协议
孟连一中
2.1 USB简介
USB(Universal Serial Bus通用串行总线)是由一种基于令牌的、高速的串行接口标准[1]。USB通过统一各种不同的接口,连接所有的外设,并且不会损失带宽。USB具有传输速度 快(USB1.1是 12Mbps,USB2.0是 480Mbps,USB3.0是 5 Gbps),使用方便,支持热插拔,连接灵活,独立供电等优点。USB自从1996年推出后,已成功替代串口和并口,并成为当今个人电脑和大量智能设备必配的接口之一。
2.2 USB的结构
USB是一种主从结构的系统,主机为Host,从机为Device(设备)。USB系统用主控制器管理Host与USB Device的数据传输。它与主控制器间的接口依赖于主控制器的硬件定义。USB系统硬件部分主要由USB主机控制器/根集线器、USB集线器和USB设备构成。所有在USB系统上的沟通都是在软件控制下由PC主机激活。主机硬件包括USB主机控制器(USB
host controller)和USB根集线器(USB root hub)两种,一般是由主机控制器命令根集线器,然后由根集线器传到正确的设备地址。

本文发布于:2024-09-23 15:28:12,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/233325.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:驱动程序   设备   硬件   模型   系统   开发
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议