首页 鼠标的工作原理93365

鼠标的工作原理93365

举报
开通vip

鼠标的工作原理93365鼠标的工作原理93365 机械鼠标的工作原理 作者:本站 来源:www.elecfans.com 发布时间:2009-3-11 21:43:46 [收 藏] [评 论] 机械鼠标的工作原理 机械鼠标是通过移动鼠标,带动胶球,胶球滚动又磨擦鼠标内分管水平和垂直两个方向的栅轮滚轴,驱动栅轮转动。栅轮轮沿为格栅状。紧靠栅轮格栅两侧,一侧是一红外发光管,另一侧是红外接收组件。红外接收组件为一三端器件,其中包含甲乙两个红外接收管。在水平和垂直栅轮夹角正对方向有一压紧轮,它 使胶球无论向何方向滚动都始终压紧在两个栅轮...

鼠标的工作原理93365
鼠标的工作原理93365 机械鼠标的工作原理 作者:本站 来源:www.elecfans.com 发布时间:2009-3-11 21:43:46 [收 藏] [评 论] 机械鼠标的工作原理 机械鼠标是通过移动鼠标,带动胶球,胶球滚动又磨擦鼠标内分管水平和垂直两个方向的栅轮滚轴,驱动栅轮转动。栅轮轮沿为格栅状。紧靠栅轮格栅两侧,一侧是一红外发光管,另一侧是红外接收组件。红外接收组件为一三端器件,其中包含甲乙两个红外接收管。在水平和垂直栅轮夹角正对方向有一压紧轮,它 使胶球无论向何方向滚动都始终压紧在两个栅轮轴上。 通过ps/2 口或串口与主机相连。接口使用四根线,分别为电源 , 地,时钟和数据。正常工作时,鼠标的移动转换为水平和垂直栅轮不同方向和转速的转动。栅轮转动时,栅轮的轮齿周期性遮挡红外发光管发出的红外线照射到接收组件中的甲管和乙管,从而甲和乙输出端输出电脉冲至鼠标内控制芯片。由于红外接收组件中甲乙两管垂直排列,栅轮轮齿夹在红外发射与接收中间的部分的移动方向为上下方向,而甲乙接收管与红外发射管的夹角不为零,于是甲乙管输出的电脉冲有一个相位差。鼠标内控制芯片通过此脉冲相位差判知水平或垂直栅轮的转动方向,通过此脉冲的频率判知栅轮的转动速度,并不断通过数据线向主 机传送鼠标移动信息,主机通过处理使屏幕上的光标同鼠标同步移动。 机械鼠标是靠橡胶球带动光栅轮的,用两套光电对管是因为鼠标有X、Y轴两个运动方向,设仅横向移动鼠标,此时只有X轴方向的运动,那么存在需要识别X轴的光栅轮是顺时针还是逆时针转动(也就是你的鼠标是向左移还是向右移),这就只能够依靠一套光电对管来探测(光电对管指的是发光和接收两个元件),在光电接收管中按上下方位封装好两个光电三极管就能通过判断两个光电三极管的导通次序来得知光栅轮的转动方向了。你要用来测电机转动很简单,这个元件中间的引脚为公共集电极,1和3脚分别为两个光电三极管的发射极,如果只需要测转速而不需判断电机转动方向则只需要在电路中连接1、2或者2、3脚 另一脚不接就是把这个元件当作单个光电三极管在用了。 按照鼠标的PS/2协议 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 ,实际编程时先对鼠标发送0xff使其复位,默认采样频率为100次/s,缩放比例 为1?1,数据报告禁止。使用0xea命令进入stream模式,使用0xe8、0x03命令设置解析度为8点/mm, 使用0xf4命令使能数据报告。配合AT89S51单片机的定时器功能,将其时间常数设置为0.1 s,每次中断 时发送0xeb命令读取位移数据信息,每发出一次,单片机接收到的位移数据包都包含有位移信息和按键动 作信息。具体格式如表1所列。 表1 3D型鼠标接收数据格式 鼠标编程通讯协议 作者:不详 来源:不详 发布时间:2006-4-19 0:09:32 [收 藏] [评 论] 鼠标编程通讯协议 数据格式 ? MicroSoft 公司 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 : MICROSOFT FORMAT 字节 字元(B i t) 7 6 5 4 3 2 1 0 BYTE1 1 1 L R Y7 Y6 X7 X6 BYTE2 0 0 X5 X4 X3 X2 X1 X0 BYTE3 0 0 Y5 Y4 Y3 Y2 Y1 Y0 注释: L = 左键状态 R = 右键状态 1 = 按下 0 = 释放 X0-X7 = X 距离 ?符号位 Y0-Y7 = Y 距离 X7或Y7为 串口特性:波特率 = 1200 Baud,8 位数据,无校验位,2 停止位。 -------------------------------------------------------------------------------- ? MOUSE SYSTEM 公司标准: MOUSE SYSTEM FORMAT 字节 字元(B i t) 7 6 5 4 3 2 1 0 BYTE1 1 0 0 0 0 L M R BYTE2 X7 X6 X5 X4 X3 X2 X1 X0 BYTE3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 BYTE4 X7 X6 X5 X4 X3 X2 X1 X0 BYTE5 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 注释: L = 左键状态 R = 右键状态 M = 中间键状态 1 = 按下 0 = 释放 X0-X7 = X 距离 Y0-Y7 = Y 距离 X7或Y7为?符号位 串口特性:波特率 = 1200 Baud,8 位数据,无校验位,2 停止位。 -------------------------------------------------------------------------------- ? IBM 公司 PS/2 MOUSE 标准: PS/2 MOUSE FORMAT 字节 字元(B i t) 7 6 5 4 3 2 1 0 BYTE1 YV XV YS XS 1 0 R L BYTE2 X7 X6 X5 X4 X3 X2 X1 X0 BYTE3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 注释: L = 左键状态 R = 右键状态 1 = 按下 0 = 释放 X0-X7 = X 距离 Y0-Y7 = Y 距离 X7或Y7为?符号位 XS,YS = ?符号位 1--- 反向移动 XV,YV = 溢出位 1---- X Y 数据溢出 鼠标应用程序设计 用汇编语言编写的鼠标和键盘应用程序。 在程序执行后屏幕上显示包括鼠标和键盘的状态。当用户移动鼠标时,屏幕显示鼠标的位置;按下鼠标左键时,显示“Left Button press”;在放开左键时显示“Left Button Press”消失。在按下鼠标右键时,显示“Right Button Press and Program returned to Dos .” P206程序结构: Prog7-1. Asm 中引用的外部定义子程序为tab6 . Inc 。它包含所有定义、过程和宏。 外部过程有:clrScrn.asm(清屏过程)、onCur.asm(开光标过程)、offCur.asm(关光标过程)、mvCur.asm(移动光标)、bdwrite.asm(显示字符过程)、kdState.asm(取键盘状态过程)、msOff.asm(鼠标关)、msOn.asm(鼠标开)msInit.asm(鼠标初始化)msState.asm(鼠标状态)等。 P206程序结构:Prog7-1. Asm 中引用的外部定义子程序为tab6 . Inc 。它包含所有定义、过程和宏。 外部过程包括:clrScrn.asm(清屏过程)、onCur.asm(开光标过程)、offCur.asm(关光标过程)、mvCur.asm(移动光标)、bdwrite.asm(显示字符过程)、kdState.asm(取键盘状态过程)、msOff.asm(鼠标关)、msOn.asm(鼠标开)msInit.asm(鼠标初始化)msState.asm(鼠标状态)等。 Tabl6.inc包含有proto6s.inc、def6.inc和mac6.inc三个子程序。 鼠标的操作方式 用汇编语言对鼠标的各项操作进行描述的,也可以用C、C++等其他语言来描述。 1. 初始化鼠标驱动程序: 例如:中断号INT33h 功能16h 子功能17h 中断号:用于请求服务 功能号:用于确定用户期望获取哪种服务 子功能号:进一步指定所希望的服务 调用寄存器:设置被调用的服务功能所要求的参数 返回寄存器:返回服务功能执行结果 调用的进程:设置参数 中断号INT33h 功能15h BX寄存器 ES:DX 功能16h 功能17h ES:DX 2. 显示或隐藏鼠标光标 中断33h的功能1和2分别置鼠标光标为“打开”和“关闭”。而鼠标驱动程序一直跟踪鼠标的移动,当鼠标 移动时就更新它在屏幕的位置。 鼠标的程序从开始通常在打开光标,一直到程序结束。 鼠标驱动程序采用光标标记,用做显示和隐藏光标的分层方法。初次打开光标标记设为-1;功能1将标记 加至0,使光标出现。功能2将标记减1,当标记为负值时就隐藏光标。 3. 设置文本鼠标光标的形状 在以视频文本模式工作时,鼠标驱动程序生成两类光标: (1)硬件光标,由视频硬件所产生的常规屏幕光标,由水平扫描线组成。 (2)软件或属性光标,这种情况下,鼠标驱动程序在光标出现的屏幕位置写数据。驱动程序在改变此位置 显示的字符或改变字符属性,使它闪烁、背景色等。 (3)中断33h的功能Ah设置文本光标的类型:AX存放功能号;BX存放应光标或软件光标选择;CX 存放起始扫描线;DX存放终止扫描线。 4. 设置图形鼠标光标的形状 中断33h的功能9h设置图形模式下的鼠标光标的形状,并定义光标里的一个点为热点。光标由16 x 1 6位的视频掩码和16 x 16位的光标掩码组成。 5. 取得或设置鼠标光标的位置 中断33h的功能4h用于设置鼠标光标位置,功能3h则用于报告光标的位置。AX存放功能号,CX被赋 予X坐标,DX被赋予Y坐标。P200例7-4 6. 将鼠标光标限定在屏幕的一部分 将鼠标光标可以限制在屏幕的一个矩形区域内,由中断33h的功能7h设置鼠标光标移动的水平范围,8h 设置垂直范围。P201例7-5 7. 定义不显示鼠标光标的屏幕区域 中断33h的功能10h定义屏幕的一个区域,当鼠标进入该区域时会自动关掉。进入时,CX存放被保护域 的左列号,SI存放右列号;DX存放首行号,DI存放末行号。 例7-6 设置一个范围是从第10~50列和5~30行之间的矩形域。 MOV AX , 10h ;功能号 MOV CX , 10 ;左列 MOV S I , 50 ;右列 MOV DX , 5 ;首行 MOV D I , 30 ;末行 INT 33h ;调用中断设置域 8. 跟踪鼠标的移动 中断33h 功能Bh报告自从上次调用该功能后,鼠标移动的实际距离(测量单位为米基)。该功能在CX 中返回相对的水平位移;DX中返回相对的垂直位移。例7-7 查询鼠标光标的相对位移。 MOV AX , 0Bh INT 33h MOV HORZ_MOTION , CX MOV VERT_MOTION , DX 9. 设置鼠标与光标移动的比率 程序可以改变鼠标移动相对于鼠标光标移动的比率。大多数鼠标的分辨率为每英寸200米基。在一定方向上移动一定数目的米基,转换为鼠标光标移动一个像素。默认情况8米基使水平移动一个像素;16米基 使光标垂直移动一个像素。 中断21h的功能Fh可以改变米基 – 像素的比例。 中断33h的功能13h是改变产生双倍速率的这个阀值,默认值为64米基/秒。P202例7-8 10. 监视鼠标按钮 中断33h的功能5h和6h报告鼠标按钮的信息。这两项功能都在AX返回一个按钮状态字节,报告按钮2 个或3个当前状态。此状态字节由中断21h的功能3h返回。它报告鼠标光标的位置。 中断33h的功能5h和6h跟踪按下按钮和释放按钮。 11.截取单击、双击和拖动事件 许多使用鼠标的程序都要检测鼠标的单击和双击,并跟踪按钮按下的拖动事件。 12. 建立鼠标中断例程 在INT 33h的功能Ch建立列程。入口时,ES:DX指向列程CX中存放一个位模式,设定几种应当调用 的例程事件。其模式为: 光电鼠标传感器的精密测量与控制系统 ※下载 作者:华侨大学 陈智博 林永忠 蔡钟山 刘聃 肖威威 来源:不详 发布时间:2008-10-18 15:07:23 [收 藏] [评 论] 摘要 对于普通的带传动装置进行较高精度的速度控制,传统的检测及控制器件未必能让人满意。光电鼠标芯片因以其高精度、低现场环境要求、低价格等因素非常适用于位置检测场合。鉴于此,结合光电鼠标芯片与AT89S51单片机,通过对普通带传动装置的改进,可使其传动做到快速、稳定、准确。测试 表明,这种检测及控制方式是行之有效的。 关键词 PS/2协议 低速 PID控制 单片机接口 光学鼠标 速度测量 引言 带传动是工业生产中普遍使用的传输装置,其常用的速度检测装置是安装在电机旋转端的光电编码器;但设备在长期使用中,因磨损等不可预计情况,使得电机转速与带传动速度出现严重的不一致。这种半闭环控制方式在需要较高精度的带传动速度控制上误差很大。光栅尺等因价格昂贵、对现场环境要求高,往往对于普通工况中带传动装置的改装并不很适用。鉴于此,本文提出了使用一般商用的光电鼠标代替传统 的检测器件的方法,通过AT89S51单片机实现现场的PID控制,使带传动速度达到满意的要求。 1 检测系统硬件组成 1.1 OM02光学传感器芯片及鼠标控制器 这款光学CMOS传感器是一款针对个人计算机所配置的非接触式光电鼠标芯片,集成有数字信号处理器(DSP)、双通道正交输出端口等。在芯片底部有一个感光眼,能够不断地对物体进行拍照,并将前后两次图像送入DSP中进行处理,得到移动的方向和距离。DSP产生的位移值,转换成双通道正交信号,配合鼠标控制器,将双通道正交信号转化成单片机能够处理的PS/2数据格式。设备安装在一套塑料的光学透镜设备上,并配有一个高强度的LED。此外,它可提供高达400点/in的分辨率以及16 in/s以内的检测速 度。 图1为鼠标芯片传感器的装配图。因OM02芯片为CMOS型传感器,因此必须配有与之相适应的高强度发光二极管,发射角度(与底板之间的夹角)为30?~45?。在标准安装配合后,底板距离工作表面的有效 距离在0~2 mm内,OM02芯片可进行正常的数据接收检测。 鼠标芯片传感器装配图 图1 1.2 检测控制原理及系统硬件设计 本系统采用全闭环控制方式,如图2所示。将鼠标检测到的位移增量反馈回单片机,并进行数字式PI D控制,然后将运算结果通过D/A转换芯片传给变频器,进而控制电机的转速。 图2 光电鼠标检测控制原理框图 系统主要由电动机、传动部分、执行部分和控制部分组成。机械传动系统作为机器的重要组成部分,不仅应能实现预期功能,而且应具有良好性能。为此,采用三相交流异步电机(Y263M14型,0.12 kW)、变频器(富士FRN0.4C1S4C)、30?1蜗轮蜗杆减速器、v型B相带传输装置、P204型球轴承及轴承座等作为模拟工业设备的主要传动及执行部分。通过单片机调整数模转换器的输出电压U,可改变变频器的输出频 率,从而改变电机转速。 2 单片机程序设计 2.1 鼠标通信协议原理 鼠标与单片机的数据通信方式采用PS/2通信协议。PS/2鼠标的物理接口为6脚圆形接口。使用中只需 第1引脚Data、第3引脚GND、第4引脚+5VPower和第5引脚Clock这4个引脚即可。 鼠标履行一种双向同步串行通信协议,在时钟信号的作用下串行发送或者接收数据。通常情况下,单片机在总线上具有总线控制优先权,可在任何时候抑制来自于鼠标的通信。从鼠标到单片机的数据在时钟的下降沿被读取;相反,单片机到鼠标的数据在时钟的上升沿被读取。时钟信号总由鼠标内部的芯片提供, 时钟频率一般在10~20 kHz。 (1) 单片机对鼠标的通信 根据协议要求,单片机对鼠标的控制只需把时钟线拉低最少100 μs以上来禁止其通信,并且单片机拉低数据线使之处于请求发送状态。如图3所示,时钟线升为高电平后被PS/2设备重新拉低,即可开始单片 机向鼠标的通信。 图3 单片机对PS/2设备通信的时序 (2) 鼠标对单片机的通信 因单片机对总线具有控制权,当鼠标要向单片机发送信息时,必须先检查时钟线是否为高电平。如图4所示,当时钟线出现高电平、数据线出现低电平时,表明鼠标请求发送,单片机可以接收来自鼠标的数 据。 图4 鼠标对单片机通信的时序 (3) 单片机发送的控制数据 按照鼠标的PS/2协议规范,实际编程时先对鼠标发送0xff使其复位,默认采样频率为100次/s,缩放比例为1?1,数据报告禁止。使用0xea命令进入stream模式,使用0xe8、0x03命令设置解析度为8点/mm,使用0xf4命令使能数据报告。配合AT89S51单片机的定时器功能,将其时间常数设置为0.1 s,每次中断时发送0xeb命令读取位移数据信息,每发出一次,单片机接收到的位移数据包都包含有位移信息和 按键动作信息。具体格式如表1所列。编译时也只需提取X3的有效数据包即Y方向位移增量。 表1 3D型鼠标接收数据格式 2.2 PID控制软件算法 对该交流变频调速系统建模,首先取电压输入为一个随机值,再测得其转速值。取两个数值构成一个数据对,然后对大量数据对用Matlab仿真求得其幅频特性和相频特性,并且对其幅频特性和相频特性进行 相似的拟合。根据拟合的曲线可以近似求得其传递函数为: 使用神经网络PID自适应控制对系统进行Matlab的仿真测试,效果令人满意。但因其输入层、隐含层、输出层的多阶矩阵运算使得单片机的运算时间大幅度增加,造成时间上的不确定因素增大;同比使用增量型PID控制,尽管后者需调整3个控制参数,但同样可使精度达到预期的效果,运算时间也大幅度下降, 为此选用增量型PID算法作为控制算法。 增量式数字PID的控制算法为: 其中kp为比列系数,ki为积分系数,kd为微分系数;e(k)为当前位移增量与上一次位移增量的变化量; 同理,e(k-1)、e(k-2)各为往前时间间隔的位移变化量。 利用单片机串行中断接收功能,可在PC机上实时在线调节PID的kp、ki、kd参数。 3 上位机监测设计 通过单片机的串口发送端,在LabVIEW中编写程序来完成PC 机与数据通信设备的数据交换,直接通过串口接收外部数据并进行图形显示,并可将数据存放在txt文件当中。在LabVIEW中主要是使用VISA 控件实现串行口直接数据通信,通过RS232串行接口和LabVIEW实现数据的通信。 图5 带运动的时间位移图 使用read string控件对数据进行接收,并通过Waveform graph控件就可以显示实时波形。在LabVIEW中自带的范例中,数据的接收并非是连续不断的,而要通过一定的延时;因此,为了不间断地接收单片机发送的串口数据包,须将前面的写和延时都去掉。因串口接收到的数据是字符型的,而我们所需要的是整型数据,因此可通过强制转换将数据转换为单精度整型。创建数组,将数据和数组初始化相结合得到一 个完整的数组,通过Waveform graph控件以及移位寄存器即可实现上位机的实时显示与记录。 4 检测控制性能评价 PS/2接口最大的使用频率是33 kHz。本实验单片机使用12 MHz的晶振,可轻松实现接口功能。但受其芯片特性的影响,尽管OM02的鼠标芯片最高可使用的分辨率为400DPI,但在使用较高分辨率的情况下,鼠标传输的误码率将有所上升,其位移精度也将受到质疑。为保证位移量的准确性,采用200DPI的分辨率, 配合看门狗,精度误差和程序稳定性将大为好转。 测试结果如图5所示,图中纵坐标为位移增量点,每一点为0.125 mm。带在较低速的运行中尽管存在速度的上下跳动变化,但跳动量较小。图中带速度的设定值为32点,即40.00 mm/s(灵敏度为0.125 mm/s),速度平均值为39.987mm/s(测量数据引自速度曲线刚开始稳定时的前1000个时间点)。因其光电鼠标传感器在正常工作环境中使用,系统呈线性变化,对此可引入速度修正系数k,以提高检测精确度。 结语 使用光电鼠标作为检测带运动的速度传感器,其价格低廉、准确性高且使用方便,配合单片机的数字式PID编程控制以及LabVIEW虚拟仪器的图形检测显示,可以很好地对速度要求较低、精度要求不太高的设备进行改装,使其输出速度稳定。又因为光电鼠标技术已趋于成熟,一般情况下对检测表面的粗糙度要求不高,在比较恶劣的工况下仍可保证运行无障碍。近些年所推出的激光鼠标,其分辨率可达到0.01 m m,效果甚佳。该实验在某企业的生产部门进行了现场测试,效果理想。 编者注: 本文为期刊缩略版,全文见本刊网站www.mesnet.com.cn。 参考文献 [1] OM02 Optical Mouse sensor Data Sheet,2004. [2] 赵玉昆.PS,2鼠标和单片机的接口[J]. 上海应用技术学院学报, 2004,4(1). [3] 林邓伟,刑文生. 光电鼠标芯片组在无接触检测运动物体中的应用[J]. 微计算机信息,2006,22(72). [4] 宋健. 数字PID算法在喷雾机器人导航系统中的应用[J]. 潍坊学院学报,2003,3(6). 陈智博,主要研究方向为机械电子工程; 林永忠(本科),主要研究方向为自动检测与控制; 蔡钟山、刘聃(本科),主要研究方向为检测技术与自动化装置; 肖威威(本科),主要研究方向为机械制造及自动化。 PS/2 鼠标接口定义 作者:本站 来源:www.elecfans.com 发布时间:2009-2-12 10:34:34 [收 藏] [评 论] PS/2 鼠标接口定义 PS/2 鼠标接口为 6 针母插。 Pin Name Description 1 DATA Key Data 2 n/c Not connected 3 GND Gnd 4 VCC +5 VDC 5 CLK Clock 6 n/c Not connected 串行口转PS 2鼠标转接器 作者:本站 来源:本站原创 发布时间:2007-11-30 12:50:35 [收 藏] [评 论] 串行口转PS 2鼠标转接器 说明:本图是我根据一些资料和自己对一些名牌鼠表内带转换口的测量画出的,不过我用在普通PS/2鼠标上试验没有成功过,大家可以注意到PS/2鼠标关键的两脚 1 (Data) 和 5 (Clock) 没有连接,而空脚 2,6 却和 RxD, TxD 相连,所以我认为,PS/2鼠标实际上是无法接在RS-232口的,一些名牌鼠标可以只不过是它利用了1,5两个空脚另外做了两个和 RS-232 口兼容的 RxD, TxD 而已,而普通PS/2鼠标却没有做。 所以大家拿到资料后不要一下子就对自己的鼠标“咔嚓”一剪 ... ... 我可不管了。 本转换口把一个 PS/2 鼠标接到串行口上,到鼠标一侧为 6 针 PS/2 母插头: 到 PC 一侧为 9 针母插头: 引脚定义 到PS/2 鼠标到串行口 Data 1 RxD 2 2 RxD Gnd 3 5 Gnd Vcc 4 7 Rts Clk 5 4+6 TxD 6 3 TxD 基于C++的游戏操纵杆模拟鼠标的程序 作者:佚名 来源:本站整理 发布时间:2010-9-1 11:54:08 [收 藏] [评 论] 要编写一个支持游戏操纵杆的应用程序,首先必须要捕获游戏操纵杆,接着要处理Windows 发送给程序窗口的操纵杆消息,最后使用完操纵杆后,还应将捕获的操纵杆资源释放。 调用API函数joySetCapture能捕获游戏操纵杆。调用joySetCapture函数后,操纵杆产生的所有消息将 会发送到指定的窗口。它的原型为: MMRESULT joySetCapture(HWND hwnd, UINT uJoyID, UINT uPeriod, BOOL fChanged ); 其中,参数hwnd为接收操纵杆消息的窗口句柄;参数uJoyID为要捕获的操纵杆标识,它可以是JOYSTICKID1或是JOYSTICKID2,即第一、第二个游戏操纵杆;参数uPeriod为轮询的频率,单位为毫秒,它指 定给应用程序发送有关操纵杆信息的间隔时间;参数fChanged为改变位置标识,可设为false。 要释放操纵杆的捕获时,使用joyReleaseCapture函数。它只有一个参数,就是操纵杆的标识JOYSTIC KID1或JOYSTICKID2。 下面,就让我们用Borland C++ Builder 5.0来做一个用游戏操纵杆模拟鼠标的程序。 运行Borland C++ Builder 5.0,双击窗体Form1,在Form1的OnCreate事件中加入以下代码捕获一个 游戏操纵杆: void __fastcall TForm1::FormCreate(Tobject *Sender) { int JoyMsg; //捕获游戏操纵杆 JoyMsg=joySetCapture(Handle,JOYSTICKID1,0,false); if(JoyMsg==JOYERR_NOCANDO) { //捕获失败 ShowMessage("不能捕获游戏杆!"); } else { if(JoyMsg==JOYERR_UNPLUGGED) { //没有连接 ShowMessage("游戏杆未与系统连接!"); } else { if(JoyMsg==MMSYSERR_NODRIVER) { //没有安装 ShowMessage("系统没有安装游戏杆!"); } else { //捕获成功 ShowMessage("捕获游戏杆成功!"); } } } 在Form1的OnCloseQuery事件中加入代码,让程序关闭时释放操纵杆捕获的资源: void __fastcall TForm1::FormCloseQuery(Tobject *Sender, bool &CanClose) { //释放操纵杆捕获 joyReleaseCapture(JOYSTICKID1); } 捕获游戏操纵杆后,Windows会把所有的操纵杆消息发送给窗口Form1。当操纵杆的方向钮按被按下 时,产生的是MM_JOY1MOVE消息,当功能按钮被按下时,产生MM_JOY1BUTTONDOWN消息。在程 序中分别响应并处理这两个消息,就可以模拟鼠标的移动和点击。 但是在C++ Builder中,这两条消息并不是标准的Windows消息,这就需要我们自已定义和处理消息 了。在C++ Builder里响应自定义消息的步骤为: 1.建立消息映射表 2.声明消息处理函数 3.编写消息处理函数 首先在代码编辑窗口点击右键,选择弹出菜单的“Open Source/Header File”或是按热键Ctrl+F6,打开 窗体Form1头文件“Uint1.h”。 在窗体的TForm1类中的公有成员中加入代码来建立消息映射表,把消息的处理权交给自定义的消息 处理函数: public: BEGIN_MESSAGE_MAP MESSAGE_HANDLER(MM_JOY1BUTTONDOWN,Tmessage,OnJoyDown) MESSAGE_HANDLER(MM_JOY1MOVE,Tmessage,OnJoyMove) END_MESSAGE_MAP(Tform) 然后在类的私有成员中加入代码声明消息处理函数: private: void __fastcall OnJoyDown(Tmessage &Message); void __fastcall OnJoyMove(Tmessage &Message); 最后,按Ctrl+F6键切换回“Uint1.cpp”的编辑窗口,在末尾空白处添加下面两个自定义的消息响应函数: //自定义的MM_JOY1BUTTONDOWN消息响应函数OnJoyDown void __fastcall TForm1::OnJoyDown(Tmessage &Message) { if(Message.Wparam & JOY_BUTTON1) { //模拟鼠标左键按下 mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); Caption="左键按下"; } if(Message.Wparam & JOY_BUTTON2) { //模拟鼠标右键按下 mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0); Caption="右键按下"; } if(Message.Wparam & JOY_BUTTON3) { //模拟鼠标左键抬起 mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); Caption="左键抬起"; } if(Message.Wparam & JOY_BUTTON4) { 模拟鼠标右键抬起 // mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0); Caption="右键抬起"; } //继续传递消息 Tform::Dispatch(&Message); } //自定义的MM_JOY1MOVE消息响应函数OnJoyDown void __fastcall TForm1::OnJoyMove(Tmessage &Message) { int x,y; POINT pt; //取得鼠标当前坐标 GetCursorPos(&pt); x=LOWORD(Message.Lparam); y=HIWORD(Message.Lparam); if(x!=32678) { if(x) { //向右 pt.x+=10; } else { //向左 pt.x-=10; } } if(y!=32678) { if(y) { //向下 pt.y+=10; } else { //向上 pt.y-=10; } } //设置鼠标坐标 SetCursorPos(pt.x,pt.y); //继续传递消息 Tform::Dispatch(&Message); } 注意:调试运行这个程序,系统必须要安装有游戏操纵杆。自定义的消息处理函数末尾最好加一句 TForm1::Dispatch(&Message),这条语句的作用是让消息继续传递下去。Windows是使用用消息处理机制的,如果没有这一句语句,消息将完全被拦截,Windows程序可能由于得不到消息而无法实现正常的功能。 新颖的鼠标设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 作者:佚名 来源:本站整理 发布时间:2010-8-5 10:30:34 [收 藏] [评 论] 类似的设计,大家在2008年的Computex展时应该也见过,很可惜当时代工厂不愿意卖。当时厂商也不愿意跟我提,是帮哪家代工,只说这价格会非常贵。前几天在偶然间看到这产品,要价落219.95美元 (另一款较旧的Pro约200美元)),嗯......,大约1,490元人民币,果然不便宜呀。 这产品最重要的机制,就是上面那一根,可以上、下滚动,并且左右横移,借以控制光标。而下面 则有滚轮、左键、右键、中键(双击键) 这种产品的机制,最大的优势,就是你的手不会有太大的移动,能够控制在键盘打字的状态下,并且也结合了护腕垫机能,算是相当不错的设计。不过就我自己玩的结果,他是适合大范围移动,但要很精 准来移极短距离光标的话,鼠标还是比较容易做到的。 但是有使用过的人反映,这种设计其实还不如小黑的小红点好用。不过,这也算是一种可以考虑的 鼠标研发路子。 护腕垫部分可以拆除 Pro版 计算机鼠标工作原理 作者:佚名 来源:本站整理 发布时间:2009-7-24 12:03:35 [收 藏] [评 论] 计算机鼠标工作原理 鼠标的发展简介 鼠标的内部结构 鼠标的诞生 鼠标接口 光电鼠标 光电鼠标的精度 无线鼠标 配对和安全性 蓝牙鼠标 为什么叫蓝牙, 射频鼠标 多媒体鼠标和遥控器鼠标 游戏鼠标 鼠标的横纵滚轮 鼠标的发展简介 1984年,随着Apple Macintosh的推出,鼠标也一同跃上舞台。从此在它们的帮助下,计算机的使用方法 得以彻底重新定义。 在您计算机使用生涯的每一天,只要想移动光标或者激活某些内容,您都会伸出手使用鼠标。鼠标感知您 的手部移动和单击并将它们发送给计算机,使计算机能够做出相应的响应。 这款微软智能鼠标利用了光学技术。 在本文中,我们将揭开人机界面这一重要部分的神秘面纱并了解它的工作原理。 鼠标的诞生 鼠标的简单与高效令人赞叹。同样令人吃惊的是鼠标变成日常生活的一部分经历了漫长的时间。考虑到人们在讲述之前会自然而然地先指向相关物体,一种出色的指针设备经历了如此漫长的发展过程真是令人惊讶。尽管在上世纪60年代就已经存在对鼠标的初步构思,但直到过了几十年之后鼠标才成为主流。 在初期,由于计算机使用类似于电传打字机或穿孔卡的粗糙界面进行数据输入,因而不需要进行指向。早期的文本终端只是在模仿电传打字机(将屏幕替换为纸),因此经过许多年(上世纪整个60年代到70年代)箭头键才出现在多数终端上。全屏幕编辑器首次真正地利用光标键,它们为人类提供了第一种指向方 法。 光笔很多年来在各种机器上作为指针设备。图形输入板、操纵杆及其他各种设备也在上世纪70年代大行其 道。然而,这些设备实际上都没有作为选择的指针设备受到普遍欢迎。 当鼠标连接到Mac计算机并登上舞台时便一举成功。鼠标的某些方面是非常自然的。与绘图式屏幕相比,鼠标非常便宜并且仅占用一点儿桌面空间。在PC世界中,由于缺乏操作系统的支持,鼠标用了较长的时间才得以普及。在 Windows 3.1使图形用户界面(GUI)成为标准后,鼠标很快成为了所选的人机接口方 式。<-- Page Break --> 鼠标的内部结构 所有鼠标的主要目的都是将手部运动转换为计算机可以读取的信号。让我们来看一下轨迹球鼠标的内部结 构,从而了解其工作原理: 鼠标的内部部件 1. 鼠标内部的滚球接触桌面并在鼠标移动时滚动。 鼠标逻辑板的底面:滚球露出的一部分与桌面接触。 2. 3. 鼠标内部的两根辊轴与滚球接触。一根辊轴定向为可检测X方向的运动,另一根辊轴与第一根辊 轴成90度,可以检测Y方向的运动。当滚球转动时,一根或两根辊轴也会转动。下图显示了此 鼠标中的两根白色的辊轴: 与滚球接触的辊轴检测X方向和Y方向的运动。 4. 每根辊轴都与一个轴连接,该轴旋转一个上面有孔的圆盘。当辊轴滚动时,与其连接的轴和圆盘 也会旋转。下图显示了圆盘: 典型的光学译码盘:此圆盘的外边缘周围有36个孔。 5. 圆盘的一侧有一个红外线LED,另一侧有一个红外线传感器。圆盘中的孔使LED发出的光束中断, 因此红外线传感器可以感应到光线脉冲。脉冲频率与鼠标移动的速度和距离直接相关。 跟踪鼠标运动的光学译码盘的特写:圆盘的一侧有一个红外线 LED(透明), 另一侧有一个红外线传感器(红色)。请注意红外线传感器(红色)与译码盘 之间的那块塑料。 6. 板上处理器芯片读取来自红外线传感器的脉冲并将它们转换为计算机可以理解的二进制数据。该 芯片通过鼠标线缆将二进制数据发送给计算机。 编码器芯片在鼠标的逻辑部分占有重要地位,这种小型处理器读取来自红外 线传感器的脉冲并将它们转换成发送到计算机的字节。您还可以看到两个用 来检测单击活动的按钮(在线缆连接器的两侧)。 在这种光学机械布局内,圆盘做机械运动,光学系统对光线脉冲计数。在这个鼠标中,滚球的直径为21毫米,辊轴的直径为7毫米。译码盘上有36个孔。因此,如果鼠标移动25.4毫米(1英寸),编码器芯片就 会检测到41个光线脉冲。 您可能已经注意到,每个译码盘有两个红外线LED和两个红外线传感器,译码盘的一侧有两个红外线LED,另一侧有两个红外线传感器,这样鼠标内部就有四对LED/传感器。通过这种布局,处理器能够检测到 圆盘的转动方向。译码盘与每个红外线传感器之间有一块塑料,其上有一个精确定位的小孔。 红外线传感器通过这块塑料上的开口可以“看到”光线。圆盘一侧开口的位置略高于另一侧开口的位置,准确地讲是高出译码盘上孔的高度的一半。这种差异使得两个红外线传感器在略微不同的时间看到光线脉冲。有些时候,一个传感器可以看到光线脉冲而另一个传感器看不到,反之亦然。本页对如何确定方向进行了 详细介绍。 鼠标接口 目前,市场中的多数鼠标都使用USB接头连接到计算机上。USB是一种将各种类型的外围设备(包括打印机、数码相机、键盘和鼠标)连接到计算机的标准方式。有关这项技术的更多信息,请参见USB端口工作 原理。 一些现在还在使用的老式鼠标会有一个PS/2型接头,如下所示: 典型的PS/2接头。 还有其他一小部分老式鼠标使用一种串行接头与计算机相连,而不是使用PS/2接头。 光电鼠标 光电鼠标由安捷伦科技开发并于1999年底问世。这种鼠标实际上采用了一个每秒钟可以拍摄几千张图片的 微型相机。 多数光电鼠标几乎可以在任何表面上工作而不需要使用鼠标垫,它们采用一个小型的红色发光二极管(LED)向鼠标工作表面发出光线,光线反射到互补金属氧化物半导体(CMOS)传感器上。除LED外,最近的一项创新是基于激光的光电鼠标,与LED技术相比这种鼠标可以检测到更多鼠标底部表面的细节。这样 较之于LED鼠标,基于激光的鼠标可在更多表面上使用。 下面介绍光电鼠标的传感器与其他部件如何协同工作: , CMOS传感器将每一幅图像都发送给数字信号处理器(DSP)进行 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 。 , DSP检测各图像中的图案,并分析图像中图案的位置如何变动。 , 根据一系列图像中图案位置的变化,DSP确定鼠标的移动距离并将相应坐标发送给计算机。 , 计算机根据从鼠标接收到的坐标信息,移动屏幕上的光标。这个过程每秒发生数百次,使得光标 的移动看上去非常流畅。 在这张照片中,可以看到鼠标底部的传感器。 与轨迹球鼠标相比,光电鼠标具有下列优势: , 没有可移动的零部件,这意味着磨损更少、故障率更低。 , 灰尘无法进入鼠标内部并干扰跟踪传感器。 , 增加的跟踪分辨率意味着响应更顺畅。 , 不需要鼠标垫等专用表面。 苹果公司将自己的光电鼠标转变成了一件时髦的艺术品。 推陈出新 另一种类型的光电鼠标已经存在了十多年。在最初的光电鼠标技术中,一束汇聚的光线发射到一个反射率很高的鼠标垫,然后从鼠标垫表面反射到传感器上。鼠标垫上有由较暗的线条构成的网格。每次移动鼠标 时,网格会使光束中断。光束中断时,传感器会向计算机发送一个信号并且光标会移动相应的量。 这种光电鼠标很难使用,要求您在握住它的时候必须使其与鼠标垫正好成直角,才能确保光束和传感器对齐。此外,如果鼠标垫损坏或遗失,那么在买到新的鼠标垫之前,这种鼠标将无法使用。而当今的光电鼠 标对于用户更加友好并且更加可靠。 光电鼠标的精度 许多因素影响着光电鼠标的精度,其中最重要的一个方面是分辨率。分辨率是在您移动鼠标时光学传感器及聚焦透镜所能“看到”的每英寸的像素数。分辨率表示为点每英寸(dpi)。分辨率越高,鼠标就越灵敏, 而且移动鼠标以获得响应所需的距离就越短。 多数鼠标的分辨率为400或800dpi。然而,专为电子游戏而设计的鼠标可提供高达1600dpi的分辨率。某些游戏鼠标允许您在玩的过程中降低分辨率,让鼠标在需要进行小幅度、慢速运动的情况下灵敏度低一些。 过去很长一段时间内,有线鼠标的响应速度较之无线鼠标更为迅速。然而,随着无线技术及光学传感器的 改进,这个事实正在改变。影响鼠标质量的其他因素包括: , 光学传感器的大小——如果其他鼠标部件可以应付的话,尺寸越大越好。大小从16x16像素到30 x30像素不等。 , 刷新率——指的是在您移动鼠标时传感器采集图像的频率。如果其他鼠标部件可以处理得来的话, 通常是越快越好。刷新率为每秒1500到6000个图像样品。 , 图像处理速率——指的是光学传感器的大小与刷新率的综合指标。依然是越快越好,速率为48.6 万到580万像素/秒。 , 最大速度——指的是您可以移动鼠标并获得精确轨迹的最大速度。越快越好,速度为0.4到1米/ 秒。<-- Page Break --> 无线鼠标 多数无线鼠标使用射频(RF)技术向计算机传输信息。由于基于射频,RF设备需要两个主要部件:发射 器和接收器。其工作原理如下: , 发射器安装在鼠标外壳内。它发送一个电磁(射频)信号将鼠标移动和所单击鼠标键的相关信息 进行编码。 , 接收器与计算机相连。它接受信号,将信号解码并传送到鼠标驱动程序软件和计算机操作系统。 , 接收器可以是插入计算机中的单独设备、插入扩展插槽内的专用卡,也可以是内置部件。 Logitech供图 MX900和扩展坞 许多电子设备都使用射频进行通信,包括手机、无线网络和车库自动门。为了在通信时不产生冲突,不同类型的设备指定了不同的频率。较新式的手机使用的频率为900兆赫,车库自动门的工作频率为40兆赫,而802.11b/g无线网络的工作频率为2.4千兆赫。兆赫(MHz)表示“每秒100万周”,“900兆赫”表示“每秒有9亿个电磁波”。千兆赫(GHz)表示“每称10亿周”。要了解有关RF和频率的更多信息,请参见无线电 频谱工作原理。 优势 与常用于短距离无线通信的红外线技术(如电视遥控器)不同,RF设备在发射器(鼠标)和接收器之间不需要畅通的瞄准线。正如使用无线电波通信的其他类型的设备一样,无线鼠标信号可以穿过桌子或显示器 等障碍物。 RF技术为无线鼠标提供了大量额外优势,其中包括: , RF发射器需要很低的功率,可以使用电池操作 , RF部件很便宜 , RF部件重量轻 与目前市场中的多数鼠标一样,无线鼠标采用光学传感器技术而非早期的轨迹球系统。光学技术提高了精度,并且几乎可以让您在任何表面上使用无线鼠标——就线缆不再将您束缚在计算机附近这一点上来说, 这是一个重要功能。 配对和安全性 为了使鼠标中的发射器与其接收器通信,它们二者必须配对。这意味着,这两个设备使用一个公共识别码以相同的频率在同一个信道工作。信道仅仅是一个特定频率的代码。配对目的是排除自其它源和RF设备 的干扰。 配对方法随鼠标厂商而不同。某些设备在提供时已经预先配对。其他设备则使用配对序列等方法,当您按 特定按钮或者转动接收器和/或鼠标上的滚轮时,配对会自动开始。 为了保护鼠标向接收器发送的信息,多数无线鼠标都包括一个加密方案将数据加密为不可读取的格式。一些设备还使用一种跳频方法,使得鼠标和接收器按照预定方式自动改变频率。这样可以进一步防止干扰和 窃听。 蓝牙鼠标 无线鼠标普遍采用的一种RF技术是蓝牙。蓝牙技术可以将打印机、耳机、键盘和鼠标等外设与计算机和掌上型电脑(PDA)等支持蓝牙的设备进行无线连接。由于蓝牙接收器可以一次支持多个蓝牙外设,因此 蓝牙也称为个人局域网 (PAN)。蓝牙设备的传输范围大约为10米。 蓝牙使用RF技术在2.4GHz的频带上工作。它通过一种称为扩频跳频的技术避免了多个蓝牙外设之间的干扰。802.11b/g无线网络等无线上网设备也在2.4GHz频带上工作,同样的还有一些无绳电话和微波炉。1.2版本的蓝牙提供了自适应跳频(AFH),这是一种专门避免与其他2.4GHz通信之间发生干扰的增强型跳频 技术。 为什么叫蓝牙, Harald Bluetooth是公元10世纪末期的丹麦国王。他努力将丹麦及挪威的一部分统一为一个王国并将基督教引入丹麦。他留下了一块大型纪念碑“Jelling神谕古文石”来纪念他的父母。Harald Bluetooth于公元986年在与儿子Svend Forkbeard的一场战争中被杀死。选择这一名称作为标准是要表明来自波罗的海地区(包括丹麦、瑞典、挪威和芬兰)的公司对通信行业的重要性,即使该名称与这种技术的工作原理毫不粘边。 射频鼠标 另一种常见的无线鼠标是工作频率为27MHz、传输距离大约为2米的RF设备。最近,2.4GHz的射频鼠标进入市场,它的传输距离更远(大约10米),而且传输速度更快、干扰更少。一个房间内有多个射频鼠标可能会导致串扰,这意味着接收器可能无意间接收来自错误鼠标的信息传输。配对与多信道有助于避免这 个问题。 一般情况下,RF接收器插入USB端口并且不接受除鼠标(可能还有与鼠标一起销售的键盘)以外的任何外设。专供笔记本电脑配套使用的一些便携式鼠标带有一个紧凑型接收器,不使用时可以放在鼠标内部的 插槽中。 与鼠标有关的提示 如果您想使用无线射频鼠标和键盘,请一起购买它们。每个厂商和设备的配对与传输技术是各不相同的。 如果您单独购买RF无线键盘和鼠标,您可能需要将它们各自的接收器连接到PC上。 鼠标创新 配合使用 一些PC键盘与鼠标设计为配套使用,以便为您提供更多输入选项。例如,Logitech Cordless Desktop LX7 00提供了一个具备滚动、平移和缩放功能的键盘,鼠标也包括同样的功能。因此您可以使用其中任一种来 执行这些功能。 与许多计算机相关设备一样,鼠标也正在与其他的小配件和技术融合起来,创造出更好的多功能设备。例如多媒体鼠标、遥控器鼠标、游戏鼠标、生物识别鼠标、横纵滚轮鼠标与运动传感鼠标等。让我们从多媒 体鼠标与遥控器鼠标入手来了解有关鼠标技术创新的更多信息。 多媒体鼠标和遥控器鼠标 这些类型的鼠标用于多媒体系统,例如 Windows XP Media Center Edition计算机。一些鼠标在鼠标功能的基础上增加了额外的用于控制媒体的按钮(如播放、暂停、前进、后退和音量调节)。其他类型的鼠标则类似于一个添加了鼠标功能的电视/媒体播放遥控器。遥控器一般使用红外线传感器,但有些遥控器同时 使用红外线技术和RF技术以获得更大的传输范围。 游戏鼠标 游戏鼠标是高精度的光电鼠标,专门用于PC和游戏控制器。它可能包括下列功能: 多个按钮,用于增加灵活性以及在玩游戏的同时调整分辨率等 无线连接和光学传感器 运动反馈和双向通信 运动传感鼠标 目前,鼠标技术的另一项创新是运动传感控制。利用此功能,在空中摆动鼠标即可控制鼠标指针。 一家名为Gyration的厂商取得了这项技术的专利。这项技术采用微型陀螺仪来跟踪在空中挥动鼠标时鼠标的运动。它采用电磁换能器与传感器同时检测两个轴方向的旋转。该鼠标基于科里奥利效应工作,指的是一个物体相对于另一个旋转物体运动时的明显转动。该设备与随附软件将鼠标运动转换为计算机屏幕上的 运动。这种鼠标还带有一个光学传感器以便在桌面上使用。 生物识别鼠标 生物识别鼠标仅允许授权用户控制鼠标和访问计算机,因而增加了计算机系统的安全性。这是通过一个集成到接收器或鼠标内的指纹读取器来实现的。由于使用指纹而不是密码进行安全登录,因此这种技术在增 强安全性的同时也带来了方便。 带有指纹读取器的Wireless IntelliMouse Explorer是款生物识别鼠标。 要使用生物功能,与鼠标一同提供的软件程序需要记录指纹并存储有关授权用户的信息。某些软件程序还允许您对文件进行加密和解密。有关生物识别指纹技术的更多信息,请参见指纹扫描仪工作原理。 鼠标的横纵滚轮 鼠标滚动功能中最新的一项创新是横纵滚轮。它允许您在水平方向和垂直方向滚动屏幕。当您查看网页或 电子 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 等较宽的文档时,这种在两个方向滚动的功能非常方便。 要在水平和垂直方向上导航,滚轮需要位于支点与杠杆结合的位置上。罗技 Cordless Click! Plus鼠标采用 了这种设计。 Logitech Cordless Click! Plus 另一种垂直与水平滚动方式是可以响应手指水平和垂直滑动的触控滚动面板。罗技V500无线笔记本鼠标 采用了这种技术。 罗技V500无线笔记本鼠标 光电鼠标的工作原理 作者:本站 来源:www.elecfans.com 发布时间:2009-3-10 10:15:33 [收 藏] [评 论] 光电鼠标的工作原理是:在光电鼠标内部有一个发光二极管,通过该发光二极管发出的光线,照亮光电鼠标底部表面(这就是为什么鼠标底部总会发光的原因)。然后将光电鼠标底部表面反射回的一部分光线,经过一组光学透镜,传输到一个光感应器件(微成像器)内成像。这样,当光电鼠标移动时,其移动轨迹便会被记录为一组高速拍摄的连贯图像。最后利用光电鼠标内部的一块专用图像分析芯片(DSP,即数字微处理器)对移动轨迹上摄取的一系列图像进行分析处理,通过对这些图像上特征点位置的变化 进行分析,来判断鼠标的移动方向和移动距离,从而完成光标的定位。 光电鼠标与机械式鼠标最大的不同之处在于其定位方式不同。 光电鼠标通常由以下部分组成:光学感应器、光学透镜、发光二极管、接口微处理器、轻触式按键、 滚轮、连线、PS/2或USB接口、外壳等。下面分别进行介绍: 光学感应器 光学感应器是光电鼠标的核心,目前能够生产光学感应器的厂家只有安捷伦、微软和罗技三家公司。 其中,安捷伦公司的光学感应器使用十分广泛,除了微软的全部和罗技的部分光电鼠标之外,其他的光电 鼠标基本上都采用了安捷伦公司的光学感应器。 图1 光电鼠标内部的光学感应器 安捷伦公司的光学感应器主要由CMOS感光块(低档摄像头上采用的感光元件)和DSP组成。CMOS感光块负责采集、接收由鼠标底部光学透镜传递过来的光线(并同步成像),然后CMOS感光块会将一帧帧生成的图像交由其内部的DSP进行运算和比较,通过图像的比较,便可实现鼠标所在位置的定位工作 图2 光学感应器内部的组成方式 图1是方正光电鼠内部的光学感应器,它采用的是安捷伦公司的H2000-A0214光学感应元件,其芯片内部的组成方式可参见图2。图3是H2000-A0214光学感应器的背面,从图中我们可以看到,芯片上 有一个小孔,这个小孔用来接收由鼠部底部的光学透镜传送过来的图像。 图3 光学感应器背面的小孔用来接收由鼠部底部的光学透镜传送过来的图像 光电鼠标的控制芯片 控制芯片负责协调光电鼠标中各元器件的工作,并与外部电路进行沟通(桥接)及各种信号的传送和 收取。我们可以将其理解成是光电鼠标中的“管家婆”。 图4是罗技公司的CP5919AM控制芯片,它可以配合安捷伦的H2000-A0214光学感应元件,实现与主板USB接口之间的桥接。当然,它也具备了一块控制芯片所应该具备的控制、传输、协调等功能。 这里有一个非常重要的概念大家应该知道,就是dpi对鼠标定位的影响。dpi是它用来衡量鼠标每移动一英寸所能检测出的点数,dpi越小,用来定位的点数就越少,定位精度就低;dpi越大,用来定位点数 就多,定位精度就高。 图4 罗技公司的CP5919AM控制芯片 通常情况下,传统机械式鼠标的扫描精度都在200dpi以下,而光电鼠标则能达到400甚至800dpi, 这就是为什么光电鼠标在定位精度上能够轻松超过机械式鼠标的主要原因。 光学透镜组件 光学透镜组件被放在光电鼠标的底部位置,从图5中可以清楚地看到,光学透镜组件由一个棱光镜和 一个圆形透镜组成。 图5 光学透镜组件由一个棱光镜和一个透镜组成 其中,棱光镜负责将发光二极管发出的光线传送至鼠标的底部,并予以照亮。 圆形透镜则相当于一台摄像机的镜头,这个镜头负责将已经被照亮的鼠标底部图像传送至光学感应器底部的小孔中。通过观看光电鼠标的背面外壳,我们可以看出圆形透镜很像一个摄像头(如图6)~ 图6 光电鼠标的背面外上的壳圆形透镜很像一个摄像头 通过试验,笔者得出结论:不管是阻断棱光镜还是圆形透镜的光路,均会立即导致光电鼠标“失明”。 其结果就是光电鼠标无法进行定位,由此可见光学透镜组件的重要性。 发光二极管 光学感应器要对缺少光线的鼠标底部进行连续的“摄像”,自然少不了“摄影灯”的支援。否则,从鼠标 底部摄到的图像将是一片黑暗,黑暗的图像无法进行比较,当然更无法进行光学定位了。 图7 光电鼠标内部的发光二极管 通常,光电鼠标采用的发光二极管(如图7)是红色的(也有部分是蓝色的),且是高亮的(为了获得足够的光照度)。发光二极管发出的红色光线,一部分通过鼠标底部的光学透镜(即其中的棱镜)来照 亮鼠标底部;另一部分则直接传到了光学感应器的正面。 用一句话概括来说,发光二极管的作用就是产生光电鼠标工作时所需要的光源。 轻触式按键 没有按键的鼠标是不敢想象的,因而再普通的光电鼠标上至少也会有两个轻触式按键。方正光电鼠标的PCB上共焊有三个轻触式按键(图8)。除了左键、右键之外,中键被赋给了翻页滚轮。高级的鼠标通常带有X、Y两个翻页滚轮,而大多数光电鼠标还是像这个方正光电鼠标一样,仅带了一个翻页滚轮。翻 页滚轮上、下滚动时,会使正在观看的“文档”或“网页”上下滚动。而当滚轮按下时,则会使PCB上的“中 键”产生作用。注意:“中键”产生的动作,可由用户根据自己的需要进行定义。 图8 方正光电鼠标的PCB上共焊有三个轻触式按键 当我们卸下翻页滚轮之后,可以看到滚轮位置上,“藏”有一对光电“发射/接收”装置(如图9)。“滚轮”上带有栅格,由于栅格能够间隔的“阻断”这对光电“发射/接收”装置的光路,这样便能产生翻页脉冲信号, 此脉冲信号经过控制芯片传送给Windows操作系统,便可以产生翻页动作了。 图9 光电“发射/接收”装置 除了以上这些,光电鼠标还包括些什么呢,它还包括连接线、PS/2或USB接口、外壳等。 陀螺仪传感器为何能使鼠标变得如此 自由, 作者:佚名 来源:不详 发布时间:2008-12-26 15:13:17 [收 藏] [评 论] 陀螺仪传感器为何能使鼠标变得如此自由, 最近对一款基于陀螺仪的鼠标进行了拆解,这款名为ProGoGyrotransport的鼠标是由Gyration公司生产的,价值150美元(其中包括一个FreeSpace功能鼠标以及一个接在主机上的独立USB收发适配器中的1GB闪存驱动器)。对于不熟悉这类产品的人来说,它只是一个简单易用的基于自由空间移动和手势的定位和控制系统。在假象的平面上挥动鼠标,屏幕上的光标就会跟着移动,并可以绕着链接画圈和点击按键。当你正 在演讲或离开桌子时,这些操作都能够很方便地实现。 我不得不承认在一开始时遇到了一点小麻烦:因为我不能对两个按键同时操作,都准备要打支持服务电话了。不过随后我发现在为鼠标供电的AAA电池上的一张薄包装纸上清晰地印有使用说明。这有可能是设计疏漏或用户疏忽的缘故,不过解决了这个小问题后,剩下的操作就简单 了。 1GB闪存驱动器 PC侧的小型USB收发器通过一条2.4GHz链路与鼠标进行通信,同时内置了1GB的NAND存储器。在待分析的部件中有一个Micron科技制造的MT29F8G08FABA1GBNAND封装,它在一个TSOP封装内堆叠了4个256MB的SLCNAND芯片,这对这个已经非常方便的小鼠标来说起到了锦上添花的作用。为了使存储器可以充当闪存驱动器使用,由Cypress的CY7C68033US B控制器来处理USB和存储器接口。 连接控制器和存储器的是Cypress的CYWUSB6953MCU,是它创建了与空中鼠标通信所需的 一半2.4GHz无线链路。 该鼠标由TI的混合信号MCUMSP430F1232控制,它内置了8KB和256KB的闪存以及256B 的RAM。 在TI的DC/DC升压转换器旁,还有一个Cypress的CYWUSB69342.4GHz直接序列扩频(DS SS)无线SoC,它创建了另一半2.4GHz无线链路。 虽然Cypress的无线USB器件在芯片领域中总是能给人以深刻印象,但鼠标中还有另一个同样吸引人的器件,那就是Gyration公司生产的MG1104陀螺仪模块。Gyration公司由Movea公司控股,Movea是由法国汤姆森公司分拆出来的公司,至今汤姆森公司还拥有少量该公司的股份。 MG1104与我期望在今天的硅MEMS加速计时代看到的传感器有很大的差别,它的个头特别大。其尺寸接近大块糖果的模块(边长约14mm),内有许多半导体材料,但只是对陀螺仪传感器本身起辅助作用。陀螺仪的运作基于科里奥利效应(Corioliseffect)的一些物理学基本原理。 我很不愿意使用“基本原理”这个词,因为我很难理解陀螺仪的物理结构是如何应用这个原理的。关键点似乎是科里奥利效应能够从旋转速度和陀螺盘移动时的振荡中得出水平和垂直速度。 该传感器是一个经过蚀刻的金属片,它由受驱动的中心点形成一个针对手指的复杂网络。初看起来,它极像与45rpm黑胶唱片一起使用的旧固套,能够在标准的LP轴上旋转(我知道我有点过时了)。这个金属片被耦合到形成基本振荡的驱动线圈,而独立轮辐似乎是用于另一种更复杂的振荡模式的监测点。我就像可怜的大学新生一样对此一知半解,但是我能给出的最好解释是, 轮幅的第二种振荡模式在金属片的最初振荡形成搜寻加速时就会受到影响。 也许实际工作原理与上述描述有些出入(衷心希望有读者来为我指正),但这种机械结构在结合某些信号处理时实际上是一个双轴加速的向量源。如此看来,Cadence为Gyration设计的这款定制IC同时控制了GYRC10433中的运放和ADC。Cadence的器件读取检测信号来获得加速数据,然后将它转换成模块可读的串行数字格式以进行运动控制。256B的EEPROM存储着用于模块的 校准常数,可用来补偿任何制造性差异。 无漂移操作 最后,很聪明的一个步骤,就是通过悬挂陀螺仪的一组振荡隔离线圈为陀螺模块提供4个信 号/电源连接,从而消除漂移和感应定位误差。 虽然该产品专为使用PowerPoint的演讲人而设计,基于手势的控制概念已经扩展到了许多其他领域,包括基于PC的电视遥控器。事实上,如果能令你花约100美元去购买兼容WindowsMedia的GY3101A型通用遥控器,Gyration公司会非常高兴。这个面向消费类应用的小玩意采用 了基本的Gyrotransport技术。 值得一提的是,该产品的FreeSpace核心功能专用的原始硅片面积比1GB的NAND存储器所需面积少了近6cm2。虽然Gyration产品的存储功能是为了提升吸引力的附加功能,但存储器的 实际硅片面积有很大的值得商榷的余地。 上述拆解分析只是表明,产品的强大功能往往来自相对较小的芯片,就像陀螺模块这种情况 一样,产品的主要功能来自于与硅片没太大关系的部分。 申金坡搜集、整理、标记 shenjinpo#sina.com
本文档为【鼠标的工作原理93365】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_266065
暂无简介~
格式:doc
大小:497KB
软件:Word
页数:54
分类:互联网
上传时间:2017-09-30
浏览量:30