来自Nordic VLSI ASA的nRF24E1和nRF24E2使设计一个2.4GHz ISM波段的3键3轴无线鼠标单片解决方案成为可能。nRF24Ex系列芯片内置8051微控制器、一个9通道ADC和与流行的nRF2401/nRF2402芯片一样的RF部分。nRF24Ex系列可以在1.9V到3.6V电压范围内工作,因此特别适用于由电池供电的产品的应用。
设计方案
(1)RF部分
如图3原理图所示,RF部分的设计以可从www.nvlsi.no网站下载的nRF24Ex参考设计作为参考。该设计用16MHz晶振、一个作为固件存储器的外部EPROM。EPROM作为固件存储器。固件用ShockBurst技术从鼠标发送数据包。ShockBurst技术用来最大限度减小每发射一位数据的电流消耗,从而延长电池的寿命。如果想进一步了解ShockBurst技术可以参考nRF24Ex的数据手册或者可以从www.nvlsi.no网站下载相关资料。
(2)无线鼠标基础
无线鼠标和标准鼠标具有一样的基本功能。不同的是无线鼠标用无线电信号传输数据到主机而不是用电缆。这意味着无线鼠标收集移动和按键信息的方式和老式有线鼠标是一样的。本文以一个使用滚球的鼠标作为例子。该鼠标每个键有一个开关、一个滚球和若干用来测量移动的滚轴。滚轴其实是一个刻有光槽的转轮,它可以对每一步移动作出响应输出波形。因为无线鼠标用电池供电所以应该注意尽量省电。因此往主机发射更新数据的次数越少越好(移动或者点击时60-100次/秒)。
(3)无线鼠标的光学结构
因为鼠标中有光学机构,IR-LED(红外发光二极管)经过转轮照在两个光电三极管上。转轮随着鼠标的圆形滚轴转动。经过转轮的光线照在两个接成源极跟随器的光电三极管上。从IR-LED(红外发光二极管)发出的光会使光电三极管处于开状态。
转轮阻挡红外光线使光电三极管开和关从而输出方波。输出波形每变化一次代表鼠标移动的一次计数。比较光学结构的当前和下一个状态就可得知鼠标移动的方向。
(4)无线鼠标的按键
每个鼠标按键就是一个标准的开关,各个开关直接与nRF24Ex芯片的GPIO 引脚相连。GPIO引脚设置为输入端由外部上拉电阻上拉。固件按键按下时间应在15-25ms。本设计有3个键:左键、中间键和右键。
(5)原理图
原理图显示了怎样把光学机构、按键与标准nRF24Ex芯片外带一个EPROM连接起来,制作成一个2.4GHz无线鼠标。
电池寿命
本节内容包括电流消耗的计算和一个怎样实现省电的例子。
(1)省电
无线鼠标中最耗电的器件不是RF部分而是光学装置中的红外发光二极管。因此在保证我们想要实现的鼠标功能的同时使LED(发光二极管)点亮时间尽量短、熄灭时间尽量长是很重要的。为了达到这个目的我们定义了3种不同的状态为LED施加脉冲。
状态1:该状态设置在鼠标正在移动需要最精确测量的时候。在该状态下tledon=10us,tledoff=200us并且累计鼠标移动的总量每隔10ms发送一次数据给主机PC。
状态2:该状态设定在最近还在使用但目前处于静止的时候。在该状态tledon=10us,tledoff=25000us。使用者不会注意到鼠标再次使用时的短暂延迟。在状态1时如果鼠标在5ms内没有动作则进入状态2。处在状态2时当检测到鼠标移动时鼠标从状态2进入状态1。
状态3:一段时间内没有用鼠标后鼠标将进入该状态。tledon=10us, tledoff=100000us。在该模式下意味着使用者已长时间没有使用鼠标,不会注意到鼠标移动到光标处的延迟,在该状态下当检测到鼠标移动时鼠标应立即进入到状态1。从状态2进入状态3应有1-2分钟间隔。
(2)电流消耗
点亮时每个IR-LED(红外发光二极管)耗电10mA。nRF24Ex在活动状态耗电3 mA,在省电状态下耗电2uA,当处于发送ShockBurst数据包的时候外加10.5mA。除了发送ShockBurst数据包时我们假设IR-LED(红外发光二极管)熄灭时nRF24Ex处于待命状态。
进一步信息,请访问http://www.nordicsemi.com/files/Product/white_paper/3axis_mouse_using_nRF24Ex.pdf。