新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 无线光机鼠标设计(51兼容射频Soc nRF9E5)

无线光机鼠标设计(51兼容射频Soc nRF9E5)

作者:时间:2012-06-09来源:网络收藏

2.5 AD转换器

片内有10位ADC,AD转换参考电压可以通过软件设置在AREF和1.22V之间(内部参考电压)。AD转换器的4个输入可通过软件进行选择,通道0到3可以把对应引脚AIN0到AIN3上的电压值分别转换为数字值,通道4用于对工作电压的监控。AD转换器默认工作于 10位方式,可通过软件使其工作于6位、8位或12位方式。

2.6 收发器

收发器通过内部并行口或内部SPI口与其它模块进行通信,具有同单片收发器nRF905相同的功能。DuoCeiver接收器输出的数据准备信号,可通过程序使其为微处理器的中断或通过GPIO口的传给CPU。

nRF9E5工作于433/868/915 ISM频段。收发器由一个完整的频率合成器、一个功率放大器、一个调节器和两个接收器组成。输出功率、频道和其它参数可通过对特殊功能寄存器 RADIO(0xA0)编程进行控制。发射模式下,射频电流消耗仅为11mA,接收模式下为12.5mA。为了节能,可通过程序控制收发器的开/关。

3. 无线的基本知识[2]

  无线的基本功能和普通相同,唯一的区别是无线鼠标通过无线方式传送鼠标信息给PC机,而普通鼠标是通过电线。这意味着无线鼠标检测鼠标移动和按键信息的方法和普通有线鼠标一样,也是用开关来检测按键,用球和滚轴来检测鼠标的移动。无线鼠标使用电池供电,所以应该尽量考虑节能问题,尽量用最少的次数就能把检测到的鼠标信息发送到PC机。无线鼠标在PC机处还应有一个接收器,一般该接收器是通过USB接口或串口与PC机相连,目前发展的趋势是采用USB接口。

4. 无线方案

  无线器,即将滚轮的机械转动转换成光信号,然后变为数字电信号再通过无线的方式发送给和PC机相连的接收器。无线器底部有一个露出一部分的塑胶小球,当鼠标器在操作桌面上移动时,小球随之转动,在鼠标器内部装有三个滚轴与小球接触,其中有两个分别是X轴方向和Y轴方向滚轴,用来分别测量X轴方向和Y轴方向的移动量,另一个是空轴,仅起支撑作用。拖动鼠标器时,由于小球带动三个滚轴转动,X轴方向和Y轴方向滚轴又各带动一个转轴(称为译码轮)转动。译码轮(见图2)[3]的两侧分别装有红外

点击在新窗口中浏览产品图2 译码轮和光敏传感器工作原理

发光二极管和光敏传感器,组成光电耦合器。光敏传感器内部沿垂直方向排列有两个光敏晶体管A和B。由于译码轮有间隙,故当译码轮转动时,红外发光二极管发出的红外线时而照在光敏传感器上,时而被阻断,从而使光敏传感器输出脉冲信号。光敏晶体管A和B被安放的位置使得其光照和阻断的时间有差异,从而产生的脉冲A和脉冲B有一定的相位差,利用这种方法,就能测出鼠标器的拖动方向。塑胶小球的移动带动滚轴转动,滚轴每转动一个小角度,鼠标位置计数器加1,每隔一定时间,nRF9E5就把鼠标位置计数器的值读出,通过计算得出鼠标移动的位移,再把位移信息发送给PC机。

鼠标的按键是典型的开关,每个开关和nRF9E5的一个GPIO口相连。与开关相连的GPIO口配置为输入状态,并通过外部上拉电阻把其置高。按键在被按下的时候可能会出现抖动,所以在软件设计的时候一般要考虑到去抖动,一般的方法是延时15-25ms再去检测按键。一般的鼠标按键有:左键、中键和右键。系统原理图如图3所示。

点击在新窗口中浏览产品

射频部分基于nRF9E5设计,系统晶振为16MHz,EEPROM存储程序,使用nRF9E5的ShockBurstTM工作方式发送鼠标信息包。ShockBurstTM工作方式在芯片硬件设计时就已经考虑到节能,因此使用该工作方式可以延长电池寿命。

5. 无线光机鼠标电池寿命算法[2]

5.1工作状态分析

  无线光机鼠标中,最耗电是红外发光二极管,而不是射频收发部分,因此,要使发光二极管尽量少耗电并且鼠标又能正常工作。下文给出一个节电的方法,首先把发光二极管的工作状态分为以下三种:

  状态1:鼠标在移动并且要求以最大的精确度测出移动信息。此状态下,tledon=10us,tkedoff=200us,每隔10ms,鼠标信息被精确算出并发送给PC机。

  状态2:鼠标刚刚被用过但现在不用。此状态下tledon=10us,tledoff=25000us。当用户再次拖动鼠标时,也不会感觉得出25000us的短延时。鼠标从状态1进入状态2一般应在5ms左右,当鼠标检测到移动时,应立刻从状态2进入状态1。

  状态3:当鼠标很长时间没用时,进入状态3。此状态下tledon=10us,tledoff=100000us。同样,很久没有使用之后再次拖动鼠标时,用户感觉不出来100000us的延时。一旦检测出鼠标被移动时,鼠标应该马上进入状态1,从状态2进入状态3一般要1到2分钟。



评论


相关推荐

技术专区

关闭