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

引言

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+HID类设备小驱动程序开发

论、机电系统动态检测与数据处理等方面的教学与科研工作。

万方数据

你可能喜欢

  • USB通信
  • USB协议
  • USB接口
  • USB标准
  • 嵌入式系统设计
  • 通讯设备
  • USB OTG
  • 报告描述符

USB+HID类设备小驱动程序开发相关文档

最新文档

返回顶部