USB+HID类设备小驱动程序开发
2010年11月控制工程
NOV.2010V01.17,No.6
第17卷96期ControlEngineeringofChina
文章编号:1671-7848(2010)06-0815-05
USB
HID类设备小驱动程序开发
王恒升,匡洋,彭宏道
(中南大学机电工程学院,湖南长沙410075)
摘要:针对Windows操作系统提供的通用驱动程序不能很好满足具有特殊功能的设备
的要求这一缺点,通过为自行设计的USBHID硬件设备开发USBHID小驱动程序。探讨在C语言平台上采用DDK开发基于WDM的HID小驱动程序的一般方法。介绍了USBHID设备的特点及其在WindowsXP环境下的驱动层次结构;结合实际开发经验,详细阐述了USBHID小驱动程序的入口例程、即插即用例程、分发例程、电源管理例程和卸载例程的功能、特点及其编写方法,重点分析了在HID类驱动程序轮询设备条件下,处理读写I/0请求的一般方法;简单地介绍了WDM驱动程序的加载和安装方法;最后总结了开发USBHID小驱动程序的重点和难点。实验结果表明,自行开发的驱动程序运行稳定,可移植性强,针对具体设备开发小驱动程序简单可行。
关键词:驱动程序开发;人机接口设备;小驱动程序中图分类号:TP
273
文献标识码:A
DevelopmentofUSBHIDMinidriver
WANGHeng-sheng,KUANGYm~g,PENGHong dao
(CollegeofMechanicalandElectricalEn6neefing,CentralSouthUnivemity,Changsha410075,China)
Abstract:Totheproblemthattheordinarydriversprovidedbyspecialfunction
WindowsOperatingSystem
are
Callnotmeettheneedsofsomedeviceswith
on
perfectly.themethods
to
developUSBHIDminidrivers
discussedbased
on
WDMusingDDKClanguageplat
to
form.ThefeaturesofUSBHIDdevicesandthedevicedriverarchitectureunderWindowsXP
are
introduced.According
successful
experience,thefunction,characteristics,andprogrammingmethodsofdriverentry,plugandplayroutine,dispatchroutine,powermanagementroutineandunload
routine玳represented
indetail.The
emphases越paid
on
themethods
to
handleread/writerequests
to
whentheHIDclassdriverpoUstheidriver
devices.Theloadingandinstallingprocedureisalsoincluded.Thekeys
showsthat
developUSBHIDmin—
a弛summarized.Theexperimentresult
thedriver
I'URS
stablywithgoodtransportability
and
iseasy
andfeasible
tode
velopminidriverforparticulardevices.
Keywords:driverdevelopment;USBHID;minidriver
l
引言
2
HID设备简介
HID是一种用于和计算机进行交互通信的接
USB作为一种支持即插即用和热插拔的串行总线标准已经成为总线技术的一个发展趋势。为了管理众多拥有共同特性的USB设备,USB协议将USB设备划分为不同的设备类,如显示设备、音频设备、大容量存储设备、人机接口设备(HID)等。Windows操作系统从Windows98开始支持USB
HID
口,典型的HID设备有鼠标和键盘等。但HID设备并不一定要是这些人机交互设备,只要符合HID类别设备规范都可以认为是HID设备。HID设备是USB协议中最早提出并支持的一种设备类,并为之专门提供了接口描述【2j。
USB
类设备,为之提供通用驱动程序…。但对于一些具有特殊功能的设备,通用驱动程序并不能很好地满足要求,需开发针对设备的驱动程序。本文根据成功开发USBHID设备小驱动程序(Minidriver)的经验,探讨HID设备小驱动程序的一般开发方法。
HID设备必须包含一个控制端点,控制端
点用于完成标准的USB设备请求和HID设备类请求,另外为了响应用户输入,HID设备还必须至少包含一个IN中断端点,而OUT中断端点是可选的,因为有些设备不需要主机返回信息。USB
HID
收修定稿日期:2009-07-05收稿日期:2009-05-27;
基金项目:国家863计划资助项目(2006AA092232)
作者简介:王恒升(1963-)。男,陕两合阳人.教授,博士生导师,主要从事机电系统控制理论及控制工程、机器人控制、动态系统理

论、机电系统动态检测与数据处理等方面的教学与科研工作。
万方数据
你可能喜欢
- USB通信
- USB协议
- USB接口
- USB标准
- 嵌入式系统设计
- 通讯设备
- USB OTG
- 报告描述符
- USB通信7页
- 平整度测试系统中USB通信模块的设计与实现2页
- USB通信协议48页
- 基于CY7C68013A的USB通信程序开发设计3页
- DSP和PC机之间通过USB实现通信3页
- 【工学】USB通信协议 共(16页)18页
- USB协议基础21页
- USB通信协议48页
- USB协议基础--八个问题11页
- USB1.1中文协议-412页
- USB1.1中文协议-336页
- USB2.0协议深入解读288页
- USB2.0测试标准13页
- USB 2.0标准简介8页
- USB标准及设备介绍34页
- USB接口标准及常用USB接口4页
- USB标准研究OTG36页
- USB标准综述性研究18页
- 嵌入式系统教案(2-嵌入式系统工程设计)3页
- 嵌入式系统4-嵌入式系统设计-MP3播放器设计56页
- 嵌入式系统4-Linux嵌入式系统设计90页
- 基于ENC28J60的嵌入式系统以太网接口设计6页
- 基于ARM核的嵌入式系统异常处理机制的设计5页
- 嵌入式系统原理与设计 实验报告模板3页
- 通讯设备3页
- 通讯设备终端维修考试说明8页
- 通讯一次设备安装记录3页
- 通讯设备检查记录2页
- 16、通讯设备管理规定2页
- 公司通讯设备管理制度1页


