操作系统中鼠标操作原理.ppt
《操作系统中鼠标操作原理.ppt》由会员分享,可在线阅读,更多相关《操作系统中鼠标操作原理.ppt(49页珍藏版)》请在三一办公上搜索。
1、操作系统下鼠标操作原理,软件组整理,目 录1、鼠标的类型及与主板的连接关系2、鼠标工作原理3、鼠标硬件原理图4、HID协议与操作系统HID驱动简介5、操作系统HID接口6、图形显示基本原理与操作系统焦点模型7、应用程序鼠标捕获与程序处理,鼠标的类型,按照与电脑的连接方式来分的话有串口鼠标、PS/2鼠标和USB鼠标。如下图所示:,鼠标与主板的连接关系,鼠标分别连接到主板的串口、PS2、USB口。,串口,PS2口,USB口,鼠标工作原理,光电鼠标工作原理示意图,激光鼠标原理与之类似。,鼠标光学跟踪引擎部分横截面示意图,光学鼠标主要由四部分的核心组件构成,分别是发光二极管、透镜组件、光学引擎(Opt
2、ical Engine)以及控制芯片组成。光学鼠标通过底部的LED灯,灯光以30度角射向桌面,照射出粗糙的表面所产生的阴影,然后再通过平面的折射透过另外一块透镜反馈到传感器上。,当鼠标移动的时候,成像传感器录得连续的图案,然后通过“数字信号处理器”(DSP)对每张图片的前后对比分析处理,以判断鼠标移动的方向以及位移,从而得出鼠标x,y方向的移动数值。再通过SPI传给鼠标的微型控制单元(Micro Controller Unit)。鼠标的处理器对这些数值处理之后,传给电脑主机。传统的光电鼠标采样频率约为3000 Frames/sec(帧/秒),也就是说它在一秒钟内只能采集和处理3000张图像。,
3、鼠标硬件原理图1,鼠标硬件原理图2,HID协议简介,一、应用场合USB HID类是比较大的一个类,HID类设备属于人机交互操作的设备。用于控制计算机操作的一些方面,如USB鼠标,USB键盘,USB游戏操纵杆,USB触摸板,USB轨迹球、电话拨号设备、VCR遥控等等设备。另外,使用HID设备的一个好处就是,操作系统自带了HID类的驱动程序,而用户无需去开发很麻烦的驱动程序,只要直接使用API调用即可完成通信。所以很多简单的USB设备,喜欢枚举成HID设备,这样就可以不用安装驱动而直接使用。,HID协议简介,二、USB HID类可采用的通信管道所有的HID设备通过USB的控制管道(默认管道,即端点
4、0)和中断管道与主机通信。USB HID规范定义的HID设备可用端点包含三种管道:1、控制(端点0)(必选)传输USB描述符、类请求代码以及供查询的消息数据等2、中断输入(必选)传输从设备到主机的输入数据3、中断输出(可选)传输从主机到设备的输出数据,HID协议简介,控制管道主要用于以下3个方面:1、接收/响应USB主机的控制请示及相关的类数据。2、在USB主机查询时传输数据(如响应Get_Report请求等)。3、接收USB主机的数据。中断管道主要用于以下两个方面:1、USB主机接收USB设备的异步传输数据。2、USB主机发送有实时性要求的数据给USB设备;从USB主机到USB设备的中断输出
5、数据传输是可选的,当不支持中断输出数据传输时,USB主机通过控制管道将数据传输给USB设备。,HID协议简介,三、USB HID设备的描述符HID设备的描述符除了5个USB的标准描述符(设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符,还包括3个HID设备类特定描述符:HID描述符、报告描述符、实体描述符。,HID协议简介,除了HID的三个特定描述符组成对HID设备的解释外,5个标准描述符中与HID设备有关的部分有:设备描述符中bDeviceClass、bDeviceSubClass和bDeviceProtocol三个字段的值必须为零。接口描述符中bInterfaceClass的值
6、必须为0 x03,bInterfaceSubClass的值为0或1,为1表示HID设备符是一个启动设备(Boot Device,一般对PC机而言才有意义,意思是BIOS启动时能识别并使用您的HID设备,且只有标准鼠标或键盘类设备才能成为Boot Device。如果为0则只有在操作系统启动后才能识别并使用您的HID设备),bInterfaceProtocol的取值含义如下表所示:表2、HID接口描述符中bInterfaceProtocol的含义bInterfaceProtocol的取值(十进制)含义0 NONE1 键盘2 鼠标3255 保留,HID协议简介,下面仅对这3个HID设备类特定描述符中
7、的HID描述符进行说明。HID描述符关联于接口描述符,因而如果一个设备只有一个接口描述符,则无论它有几个端点描述符,HID设备只有一个HID描述符。HID设备描述符主要描述HID规范的版本号、HID通信所使用的额外描述符、报表描述符的长度等。其他信息请自行百度。,操作系统HID驱动简介,HID 设备驱动简介为简化USB设备的开发过程,USB提出了设备类的概念。HID设备类,即人机接口设备。典型的HID设备如键盘、鼠标。所有设备类都必须支持标准USB描述符和标准USB设备请求。如果有必要,设备类还可以自行定义其专用的描述符和设 备请求,这分别被称为设备类定义描述符和设备类定义请求。另外,一个完整
8、的设备类还将指明其接口和端点的使用方法,如如接口所包含端点的个数、端点的最大 数据包长度等。,操作系统HID驱动简介,HID设备既可以是低速设备也可以是全速设备,其典型的数据传输类型为中断IN传输,即它适用于主机接收USB设备 发来的小量到中等量的数据。HID具有以下的功能特点:1)适用于传输少量或中量的数据;2)传输的数据具有突发性;3)传输的最大速率有限制;4)无固 定的传输率。HID设备类除支持标准USB描述符外(设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符),还自行 定义了3种类描述符,分别为HID描述符(主要用于识别HID设备所包含的其他类描述符)、报告描述符(提供H
9、ID设备和主机间交换数据的格式)和物理描 述符。一个HID设备只能支持一个HID描述符;可以支持一个或多个报告描述符;物理描述符是可选的,大多数HID设备不需要使用它。,操作系统HID驱动简介,USB HID设备驱动原理设备的USB 人机交互设备必须遵循以下的USB开始程序,如右图所示:1)插入设备 USB设备第一次连接到总线时,虽然接上了电源,但是总线仍然没有任何功能,一定要到重置总线为止才可以开始运作。注意,一旦USB在D端使用了 1.5k的提升电阻,就会立即通知总线的集线器,有一个低速设备(1.5Mb/s)刚被连接上。而程序以设备地址0开始运行。设备插上时,电源打开重置的过程:重置执行初
10、始设置并出发总线重置中断-位于中止模式下知道总线被重置为止等待设备列举执行程序循环,操作系统HID驱动简介,2)总线重置 接着主机将会辨认新的USB设备并重置它。在总线重置过程中,除了设定堆栈指针外,也出发所有被使用到的中断。(总线重置的中断服务程序ISR功能)3)设备列举。主机会负责检测与设定所有连接至根集线器的设备,辨别与设定一个USB设备的程序,称为设备列举。主机首先会送出SETUP封包以读取默认地址0的设备描 述符。当收到描述符后,主机将会指定新的USB地址给设备。从设备所返回的信息中,主机就会知道设备所支持的数据端点的数量。完成设备列举。,操作系统HID驱动简介,4)数据捕捉与转换
11、这里以键盘为例,在固件中将以周期性的方式,把扫描的形式写入到扫描矩阵的列I/O端口伤(接口2),并且在行I/O接口伤读取结果值以决定哪个键被按下 了。通过键盘扫描后所得到的数据码,可以使用中断传输以端点1来传送给主机。设备就将键盘的8B数据放置在IN令牌包随后跟随的资料封包的数据域位内,再 返回给主机。当含有LED的按键(如NumLock,Caps lock 与 Scroll lock)被按下或放开时,主机就会送出含有设定报告(Set_Report)要求的SETUP封包,通过控制传输传至设备的端口0上。,操作系统HID驱动简介,USB HID设备驱动程序设计的流程说明USB总线与设备间的交互都
12、是通过USBD即USB总线驱动程序完成。USBD起着中间桥梁作用,解释USB设备类驱动程序发来的命令并将其划分为一系列的USB事务,然后发送给USB主控制器驱动程序。具体流程是插入一个USB设备后,主机检测到有设备接入,USBD就从链表中查找匹配HID设备类。为每一个接入的 HID设备驱动建立一个对应的USB_HID_SIO_CHAN结构来对该HID设备驱动进行管理。这里的USB_HID_SIO_CHAN结构是 USBD为每一个HID设备所分配的一个关键的内部数据结构。此后由USB主控制器驱动程序来负责硬件底层的驱动。而HID设备移除时,会调用函数usbHIDDeviceAttachCallb
13、ack(),这时先判断是否有与该HID设备绑定的结构,有则清除该结构。而HID设备移除时,会调用函数usbHIDDeviceAttachCallback(),这时先判断是否有与该HID设备绑定的结构,有则清除该结构。,操作系统HID驱动简介,从框图中,可以看出除了USB标准定义的一些描述符外,HID设备还必须定义HID描述符。另外设备和主机的通信是通过报告的形式来实现的,所以还必须定义报告描述符;而物理描述符不是必需的。还有就是HID描述符是关联于接口(而不是端点)的,所以设备不需要为每个端点都提供一个HID描述符。接口描述符中bInterfaceClass的值必须为0 x03,bInterf
14、aceSubClass的值为0或1,为1表示HID设备符是一个启动设备(Boot Device,一般对PC机而言才有意义,意思是BIOS启动时能识别并使用您的HID设备,且只有标准鼠标或键盘类设备才能成为Boot Device。如果为0则只有在操作系统启动后才能识别并使用您的HID设备)。,操作系统HID驱动简介,成功注册一个没有被初始化的HID设备的程序流程如右图所示。USB HID设备驱动程序的简单介绍见下页。,操作系统HID接口,设备文件一般注册为“/dev/input/mouse0”,对应的驱动程序及接口如下:/输入子系统层的操作-drivers/input/input.copen/d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 鼠标 操作 原理

链接地址:https://www.31ppt.com/p-6164559.html