基于HID的人机接口设备的设计及应用毕业设计论文.docx

上传人:b****8 文档编号:29549119 上传时间:2023-07-24 格式:DOCX 页数:73 大小:499.52KB
下载 相关 举报
基于HID的人机接口设备的设计及应用毕业设计论文.docx_第1页
第1页 / 共73页
基于HID的人机接口设备的设计及应用毕业设计论文.docx_第2页
第2页 / 共73页
基于HID的人机接口设备的设计及应用毕业设计论文.docx_第3页
第3页 / 共73页
基于HID的人机接口设备的设计及应用毕业设计论文.docx_第4页
第4页 / 共73页
基于HID的人机接口设备的设计及应用毕业设计论文.docx_第5页
第5页 / 共73页
点击查看更多>>
下载资源
资源描述

基于HID的人机接口设备的设计及应用毕业设计论文.docx

《基于HID的人机接口设备的设计及应用毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于HID的人机接口设备的设计及应用毕业设计论文.docx(73页珍藏版)》请在冰豆网上搜索。

基于HID的人机接口设备的设计及应用毕业设计论文.docx

基于HID的人机接口设备的设计及应用毕业设计论文

 

基于HID的人机接口设备的设计及应用

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:

日期:

年月日

导师签名:

日期:

年月日

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:

引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:

理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:

任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。

图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画

3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:

按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

指导教师评阅书

指导教师评价:

一、撰写(设计)过程

1、学生在论文(设计)过程中的治学态度、工作精神

□优□良□中□及格□不及格

2、学生掌握专业知识、技能的扎实程度

□优□良□中□及格□不及格

3、学生综合运用所学知识和专业技能分析和解决问题的能力

□优□良□中□及格□不及格

4、研究方法的科学性;技术线路的可行性;设计方案的合理性

□优□良□中□及格□不及格

5、完成毕业论文(设计)期间的出勤情况

□优□良□中□及格□不及格

二、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

三、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

建议成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

指导教师:

(签名)单位:

(盖章)

年月日

 

评阅教师评阅书

评阅教师评价:

一、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

二、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

建议成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

评阅教师:

(签名)单位:

(盖章)

年月日

 

教研室(或答辩小组)及教学系意见

教研室(或答辩小组)评价:

一、答辩过程

1、毕业论文(设计)的基本要点和见解的叙述情况

□优□良□中□及格□不及格

2、对答辩问题的反应、理解、表达情况

□优□良□中□及格□不及格

3、学生答辩过程中的精神状态

□优□良□中□及格□不及格

二、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

三、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

评定成绩:

□优□良□中□及格□不及格

教研室主任(或答辩小组组长):

(签名)

年月日

教学系意见:

系主任:

(签名)

年月日

摘要

通用串行总线(USB),是连接计算机系统与外部设备的一个串口总线标准,也是输入输出接口的技术规范,被广泛应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数字电视(机顶盒)、游戏机等相关领域。

HID(HumanInterfaceDevice)类设备是USB设备类型中的一种,是直接与人交互的设备,如键盘、鼠标等。

HID类设备并不一定是标准的外设类型,只要交换的数据格式存储在报文的结构中,并且设备固件支持报文的格式,则任何工作在该限制之内的设备均可称为HID设备,如电压计、温度计、读卡器等。

因此,人机接口设备有巨大的应用市场。

针对以上需求,本文致力于开发一个基于HID的人机接口设备,在上位机编写相应的应用软件,实现人机接口设备与主机的通信。

本文首先阐述了开发基于HID的人机接口设备在经济和技术上的意义,继而描述了系统架构,基于VC的上位机软件开发,以及设备端固件代码的编写。

文中对USB接口通信协议做了简要的介绍,并介绍了基于VC的Windows下USB接口驱动软件开发。

最后,本文对在研究和开发人机接口设备工作中的不足之处和需要改进的地方进行了总结,同时也展望了低成本的人机接口设备的市场潜力和USB发展的美好前景。

关键词:

HID类人机接口设备USB通信协议

 

HIDdevicebasedonHIDclass

ABSTRACT

UniversalSerialBusisaserialbusstandardwhichconnectsthecomputersystemandtheperipheralequipments.Itistheinputoutputinterfacespecificationaswell.Itiswidelyusedincommunicationproductssuchaspersonalcomputersandmobiledevices.Itisextendingtotherelatedfields,suchasCameraEquipment,DigitalTelevision(STB),andGameConsole.

HIDclasswhichshortforHumanInterfaceDevice,isoneoftheUSBdeviceclass.Asweknow,theTypicalHIDdevicearemouse,keyboardetc.HIDclassdevicedidn’talwaysbethestandardUSBdevice.IfonlythedataformatiscontainedbythereportstructurewhichissupportedbytheUSBfirmware.ThenwecancallallofthosedevicesasHIDdevice,suchasVoltmeter,Thermometer,Cardreaderandsoon.Therefore,thehumaninterfacedevicehasavastpotentialmarket.

Soasthis,thisprojectaimstodevelopaHIDdevicebasedonHIDclass.ToimplementthecommunicationbetweenPChostandthedevice,IneedtoprogramthePCapplicationprogramsoftwareetc.

Firstly,thispapersetforththeeconomicandtechnicalimportanceoftheHIDdevicebasedonHIDclass.Andthendescribethesystemframework.Also,brieflydescribetheUSBspecification.

Thispaperconcludestheshortageduringthedeveloping.Andalsoprospectthebrightfutureforthelow-costHIDdevice.

Keywords:

HIDclass,HID,USBspecification

 

1绪论

1.1选题背景

随着计算机硬件飞速发展,外围设备日益增多,键盘、鼠标、调制解调器、打印机、扫描仪早已为人所共知,数码相机、MP3随身听接踵而至,这么多的设备,如何接入个人计算机?

为了满足用户的需求,以Intel为首的七家公司(Intel,Compaq,Microsoft,IBM,DEC,NorthernTelecom以及日本NEC)于1994年11月推出了USB(UniversalSerialBus,通用串行总线)协议的第一个草案专用于低中速的计算机外设。

USB可把多达127个外设同时连到用户的系统上,所有的外设通过协议来共享USB的带宽,其12Mbps的带宽对于键盘鼠标等低中速外设是完全足够的。

USB允许外设在主机和其它外设工作时进行连接配置使用及移除,即所谓的即插即用(Plug&Play)。

同时USB总线的应用可以清除PC上过多的I/O端口,而以一个串行通道取代,使PC与外设之间的连接更容易。

自从1996年2月USB规范版本1.0发布,随着微软在Windows98中内置了对USB接口的支持模块,加上USB设备的日渐增多,USB接口逐步走进了实用阶段。

短短几年间,USB不光成为了微机主板上的标准端口,而且还成为了所有微机外设(包括键盘、鼠标、显示器、打印机、数字相机、扫描仪和游戏柄等)与主机相连的标准协议之一。

目前USB规范的主要版本是USB1.1、USB2.0、USB2.0及USB3.0,USB2.0向下兼容USB1.1。

USB1.1规定了低速1.5Mbps和全速12Mbps两种传输速率,USB2.0又增加了高速传输,最高传输速率达到480Mbps。

USB论坛把不同的USB设备进行归类并制定了相应的设备类规范,设备类规范规定了该类设备的行为和协议。

其中,人与计算机交互的设备,定义为HID类设备,用于控制计算机操作的一些方面,如USB鼠标,USB键盘,USB游戏操纵杆,USB触摸板,VCR遥控等等设备。

另外,使用HID设备的好处之一就是,操作系统自带了HID类的驱动程序,而用户无需去开发很麻烦的上位机驱动程序,只要直接使用API调用即可完成通信。

所以很多简单的USB设备,喜欢枚举成HID设备,这样就可以不用安装驱动而直接使用。

1.2选题目标

基于HID的人机接口设备的设计及应用开发包括两个方面:

主机端与设备端。

HID设备端,即下位机方面,采用APG8021开发平台,该平台的ST221U微控制器,内置USB控制器,支持USB全速设备(12Mbps)。

在开发平台上,需要开发的驱动有USBHID驱动、键盘驱动及LCD驱动,这些是本项目的难点。

主机端,即上位机方面,设备端为USBHID设备,属于用HID类设备——USB的标准设备类之一,故而无需开发内核模块客户驱动程序,因为Win98之后的操作系统基本都提供了HID类驱动程序,故只需开发客户程序,调用HID类驱动程序提供的Win32API服务,即可实现与设备端通信。

本项目通过键盘与LCD显示功能,演示了设备端与主机端之间的通信。

1.3需求分析

1.3.1用户需求分析

随着电脑的普及,USB接口技术的飞速发展,使得越来越的外围设备都提供了USB接口。

开发一个读卡器、键盘、鼠标等等设备,提供USB接口是必不可少的。

这不仅关系到用户的使用感受,也影响了产品的易用性与方便性。

学习USB接口技术已经成为势不可挡的潮流。

USB连接的优点数不胜数,即插即用是其最大的特色,也是推动USB发展的重要因素之一。

即插即用的特性不仅为USB接口赢得了声誉,更赢得了广大消费者的青睐。

自微软提供了USB驱动以来,只要有电脑的地方,就离不开USB接口技术,足见其发展势头之强大。

不仅如此,无线USB也已悄然盛行。

这意味着,新的USB时代的即将到来。

市场价值推动技术发展,为了简化USB总线开发流程,USB-IF将常用的具有相同或相似功能的设备归为一类,并制定了相关的设备类规范,使得不同的厂商开发的USB设备可以使用同样的驱动程序。

本项目中的USBHID设备即是基于HID类开发的,定义此类设备则无须编写主机端的USB驱动程序,大大降低了开发难度。

无须安装驱动这一诱人的特性,不仅增强了其在同类产品中的竞争力,也使得用户使用起来更加方便,开发基于HID的人机接口设备有着巨大的市场价值。

1.3.2功能需求分析

(1)数据通信功能。

用户在上位机端点击“打开设备”按钮,主机端进行设备配置,为下一步的数据传输做准备。

(2)键盘功能。

设备端的按键按下,LCD显示相应的数值,主机端亦可读取相应的键值。

(3)LCD显示功能。

显示主机与设备的通信数据。

1.4主要内容

基于HID人机接口设备的设计及应用的主要内容有:

主机端的客户程序的编写;设备端各驱动模块的开发,包括USBHID驱动、LCD驱动以及键盘驱动。

主机端方面:

客户程序是指在主机上运行的,负责与HID设备通信的应用程序。

对于USB接口的HID设备,Win98之后的操作系统都提供了HID类驱动。

不需要再编写内核模式下的驱动程序,只要调用Win32API来访问HID设备即可。

设备端方面:

采用APG8021平台,该平台的ST2211U8位集成微处理器,提供了USB控制器、SmartCard控制器,广泛应用于读卡器等消费产品。

USBHID驱动模块定义了USB接口的描述符,这些描述符定义了改HID设备的基本信息。

键盘驱动模块采用行列扫描法实现了4*5键盘。

LCD模块则通过ST7070控制器来驱动LCD显示。

USBHID驱动的开发是本项目的重点与难点。

1.5本章小结

本章主要介绍本项目的选题背景、意义,选题目标、项目需求分析以及主要内容。

开发一个人机接口设备需要做很多硬件和软件的工作,包括设计人机接口设备的硬件,编写设备协议,开发设备驱动程序等等,通过这些工作我对USB协议的整个体系有了比较清晰的认识。

2USB接口技术介绍

2.1USB接口技术

2.1.1USB简介

USB是一种支持热插拔的高速串行传输总线,它使用差分信号来传输数据,最高速度可达480Mb/S。

USB支持“总线供电”和“自供电”两种供电模式。

在总线供电模式下,设备最多可以获得500mA的电流。

USB2.0被设计成为向下兼容的模式,当有全速(USB1.1)或者低速(USB1.0)设备连接到高速(USB2.0)主机时,主机可以通过分离传输来支持它们。

一条USB总线上,可达到的最高传输速度等级由该总线上最慢的“设备”决定,该设备包括主机、HUB以及USB功能设备。

2.1.2USB的总线拓扑结构

整个USB总线拓扑体系由三个元素组成:

主机(Host)、集线器(Hub)和设备(device)。

USB设备是通过USB总线连接到USB主机上的。

整个USB的物理连接是一个菊链式星型拓扑结构,如图2-1所示。

图2-1USB总线拓扑图

每个USB的系统有且只有一个主机,它负责管理整个USB系统,包括USB设备的连接与删除、主机与USB设备的通信、总路线的控制等等。

主机端有一个根集线器,可提供一个或多个USB下行端口。

每个端口可以连接一个USB集线器或一个USB设备。

以HOST-ROOTHUB为起点,最多支持7层(Tier),也就是说任何一个USB系统中最多可以允许5个USB集线器级联。

一个复合设备(CompoundDevice)将同时占据两层或更多的层。

USB集线器是用于USB端口扩展的,即USB集线器可以将一个USB端口扩展为多个端口。

图2-1中的每个功能设备(Func)就是一个USB设备,如USB键盘、USB鼠标、USBMODEM、USB硬盘等等。

复合设备是指带一个集线器和一个或多个不可删除的USB设备的复合设备。

一个USB系统可连接多达127个设备。

理论上,一个USB主控制器最多可接127个设备,这是由数据包中的7位地址位决定的,但是实际上不会接这么多的设备。

一个USB主控制器可以连接多个USB设备,并不是直接简单的将多个设备并联或者串联,而是要由集线器负责端口扩展,才能连接更多的设备。

在我们的电脑上,也有一个(或者多个,视USB主控制器的个数而定)集线器,它叫做根集线器,直接连在USB主控制器上。

2.1.3USB系统分层

为了便于理解主机和USB设备间的数据传输机制,图2-2对USB系统的分层结构进行了更为详细的描述。

从逻辑上看,客户软件通过一组管道来与USB设备的功能单元进行通信;USB系统软件和USB逻辑设备间的通信是通过缺省控制管道0来实现的;所有实际的USB数据传输是由主机和USB的串行接口引擎(SIE)来完成的。

各应用软件-功能设备对之间的通讯相互独立,应用软件通过USB设备驱动程序(USBD)发起IRQ请求,请求数据传输。

主机控制器驱动程序(HCD)接收IRQ请求,并解析成为USB传输和传输事务(Transaction),并对USB系统中的所有传输事务进行任务排定(因为可能同时有多个应用软件发起IRQ请求)。

主机控制器(HostController)执行排定的传输任务,在同一条共享的USB总线上进行数据包的传输。

图2-2USB系统分层

2.1.4USB的编码方式

对于一个设备而言,不仅要无误的接收主机端送来的数据,更要正确的发出响应信号,因此,在D+与D-差动数据线上就必须采用一种特别的编码方式再加以传送出去,以解决在USB线缆所产生信号延迟及误差等问题。

USB采用NRZI(Nonreturntozeroinvert)的编码方式,无需同步的时钟信号也能产生同步的数据存取。

NRZI的编码规则是:

当数据为“1”时不转换,为“0”时再作转换。

图2-3是NRZI编码的一个实例。

图2-3NRZI编码

但是NRZI编码方式容易出现“塞车”现象。

所以需要执行“位填塞”工作。

即连续6个“1”后填一个“0”。

因此在发送端作数据传输之前,需要先执行位填塞和NRZI编码,而在接收端接收数据之前,需要先执行NRZI译码再作位反填塞。

这一部分的电路会通过USB模块中的串行接口引擎(SIE)来实现。

2.1.5USB的即插即用

USB即插即用包括两方面,一是热插拔,一是自动配置。

热插拔依赖于物理上的实现,自动配置则依赖于软件设计。

USB采用四线电缆来传输信号于电源,如图2-4。

其中D+,D+为差分信号线,VBus和GND则提供了+5V的电源。

USB正是在电缆和连接点的设计上做了处理,使得热插拔所产生的强电流可以被吸收。

图2-4USB电缆

至于自动配置,主要是指设备在插入HUB下行端口后能被主机自动识别,进行信息交换。

这一功能主要依赖USB总线枚举来实现。

总线枚举的具体实现在5.3节。

2.2USB接口HID设备类

2.2.1HID设备类简介

要完成一个USB设备的开发,仅了解USB协议是不够的。

还需要知道USB设备类协议,USB协议与USB设备类协议是相互补充的。

为了简化USB总线开发流程,USB-IF将常用的具有相同或相似功能的设备归为一类,并制定了相关的设备类规范,使得只要依照统一规范标准,不同的厂商开发的USB设备可以使用同样的驱动程序。

所有的设备类都必须支持标准USB描述符和标准USB设备请求,如有必要,设备类还可自行定义其专用的描述符和设备请求,这分别被称为设备类定义描述符和设备类定义请求。

另外,一个完整的设备类还将指明其接口和端点的使用方法,如接口所包含端点的个数、端点的最大数据包长度等。

USB设备分为两大类:

标准型的和非标准型的。

标准型的,比如音频设备、通信设备、打印机设备、存储设备和本项目采用的HID设备等。

而非标准型的,比如USB/RS-232转换器等。

HID设备属于人机交互操作的设备,它既可以是低速设备,也可以是本项目采用的全速设备。

其典型的数据传输类型为中断IN传输,适用于主机接收USB设备发来的少量数据。

HID设备具有以下的功能特点:

适用于传输少量到中量的数据;传输的数据是突发性的;有最大传输速度的限制;没有传输速度的保证。

2.2.2HID

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1