硬件模拟鼠标键盘

硬件模拟鼠标键盘

ID:9798421

大小:302.98 KB

页数:22页

时间:2018-05-10

硬件模拟鼠标键盘_第1页
硬件模拟鼠标键盘_第2页
硬件模拟鼠标键盘_第3页
硬件模拟鼠标键盘_第4页
硬件模拟鼠标键盘_第5页
资源描述:

《硬件模拟鼠标键盘》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、硬件模拟鼠标键盘USB的结构与工作原理1.1物理结构USB的物理拓扑结构如图1所示。在USB2.0中,高速方式下Hub使全速和低速方式的信令环境独立出来,图2中显示了高速方式下Hub的作用。通过使用集线器(Hub)扩展可外接多达127个外设。USB的电缆有四根线,两根传送的是5V的电源,另外的两根是数据线。功率不大的外围设备可以直接通过USB总线供电,而不必外接电源。USB总线最大可以提供5V500mA电流,并支持节约能源的挂机和唤醒模式。1.2USB设备逻辑结构USB的设备可以分成多个不同类型,同类型的设备可以

2、拥有一些共同的行为特征和工作协议,这样可以使设备驱动程序的编写变得简单一些。USBForum在USB类规范2中定义了USB的设备类型,比如音频、通信、HID、HUB等设备类。每一个USB设备会有一个或者多个的逻辑连接点在里面每个连接点叫端点。在USB的规范中用4位地址标识端点地址,每个设备最多有16个端点。端点0都被用来传送配置和控制信息。在NS公司的USB接口芯片USBN96024中有7个端点。管道实现了在主机的一个内存缓冲区和设备的端点之间的数据传输,连接端点0的叫做缺省管道。管道是具有多个特征的信

3、道,如带宽分配,包大小,管道类别以及数据流向。管道有两种类型分别是流管道(streampipe)和消息管道(messagepipe)。流管道传输的数据包的内容不具有USB要求的结构,它是单向传输的;流管道支持批量、等时和中断传输方式。而消息管道与流管道具有不同的行为。首先,由主机发请求给USB设备,然后在适当的方向上传输数据,最后是到达一个状态阶段。为了保证三个阶段的数据传输,消息管道定义了一个数据结构使命令可靠地被识别和传输。消息管道是双向的,它只支持控制传输方式。对于同样性质的一组端点的组合叫做接口,如果一个

4、设备包含不止一个接口就可以称之为复合设备(见图1)。对于同样类型接口的组合可以称之为配置。但是每次只能有一个配置是可用的,而一旦该配置被激活,里面的接口和端点就都同时可以使用。主机从设备发过来的描述字中来判断用的是哪个配置哪个接口等等而这些描述字通常是在端点0中传送的。1.3USB通信分层模型一台主机到设备的连接需要许多层与实体之间的相互作用。USB总线接口层提供了主机和设备之间的物理/信令/包的连接。在系统软件看来,USB设备层执行的是一般的USB操作。功能接口层提供和应用软件层相对应的附加功能。分层模型如

5、图3所示,虽然逻辑上USB设备层和功能层各自与主机上的相应层通信,但物理上都是通过USB总线接口层实现数据传输的。1.4四种传输方式USB提供了四种传输方式,以适应各种设备的需要。这四种传输方式分别是:控制传输方式:控制传输是双向传输,数据量通常较小,主要用来进行查询、配置和给USB设备发送通用的命令。控制传输主要用在主计算机和USB外设中端点0之间。等时传输方式:等时传输提供了确定的带宽和间隔时间。它被用于时间严格并具有较强容错性的流数据传输,或者用于要求恒定的数据传送率的即时应用中。例如进行语音业务传输时,使

6、用等时传输方式是很好的选择。中断传输方式:中断方式传送是单向的并且对于主机来说只有输入的方式。中断传输方式主要用于定时查询设备是否有中断数据要传送,该传输方式应用在少量的、分散的、不可预测的数据传输。键盘、游戏杆和鼠标就属于这一类型。大量传输方式:主要应用在没有带宽和间隔时间要求的大量数据的传送和接收,它要求保证传输。打印机和扫描仪属于这种类型。在开发USB设备时通过设置接口芯片中相应的寄存器使端点处于不同的工作方式。1.5USB通信协议USB的物理协议规定了在总线上传输的数据格式,一个全速的数据帧有1500字节

7、,而对于低速的帧有187字节。帧的作用是分配带宽给不同的数据传送方式。在USB2.0中又增加了几种类型的包以满足高速传输的需要。其中data类型增加了DATA2和MDATA,handshake类型增加了NYET,special类型则增加了ERR,SPLIT,PING,Reserved。事务是在主机和设备之间不连续地数据交换。一个事务通常由主机开始,一般分三个阶段,第一阶段发送token包,第二阶段发送是data包(可以向上也可以向下),在数据包传送完之后,就会由设备返回一个handshake包。当客户端程序通过一

8、个USB管道发送或接收数据时,它首先会调用Win32API,API会发送一个IRP到USB设备驱动程序。USB设备驱动程序的任务就是把客户端的请求通过一个管道发送到外设合适的端点。为了实现这个任务,USB设备驱动程序会递交请求给总线驱动程序,总线驱动程序可以把这些请求转变成事务,然后将这些事务组合成帧在总线上传输。1.6USB带宽分析举例在USB1.1标准中将其有效的带宽

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

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

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