微波EDA网,见证研发工程师的成长!
首页 > 微波射频 > 射频工程师文库 > 2.4 GHz射频的多功能鼠标设计

2.4 GHz射频的多功能鼠标设计

时间:05-28 来源:电子科技-叶 达,程 勇,薛庆军 点击:

\

待机模式1(Standby-I)主要用于降低电流损耗(在该模式下,晶体振荡器仍然工作)。待机模式2(Standby-II)是当FIFO寄存器为空且CE=1时进入此模式。待机模式下,所有配置字仍然保留。在掉电模式(Power Down)下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。
无线发射部分上电初始化时,进行了如下配置:
①CONFIG寄存器的低4位置1,分别为16位CRC校验,芯片上电和接收模式;
②SETUP_AW(地址宽度)寄存器配置地址宽度为5字节;
③SETUP_RETR(自动重发)寄存器配置为自动重发延时500μs,重发5次;
④RF_CH(RF频道)寄存器配置为工作频道2400MHz;
⑤RF_SETUP(RF设置)寄存器配置为发射功率O dBm,Air Data Rate为1 MHz;
⑥将地址写入地址寄存器。
在配置寄存器时应注意一点:在写nRF24L01的寄存器时,它必须工作在掉电模式或待机模式。而在nRF24L01上电达到l.9 V以后,要经过10.3 ms的上电复位然后再进入掉电模式。这是一个不确定状态。在此状态下,对寄存器的写操作是无法完成的,因此必须加上一个合适的延时,使程序对 nRF24L01的配置操作在掉电模式或待机模式下进行。
当光传感器或按键等有操作时,主控制器将读入的信号写入nRF24L01的TX_PLD,然后由芯片自动生成报头和CRC校验码,并发送出去。当收到应答信号(ACK)后,程序中所设置的标志位success置1,清除TX FIFO队列中的数据,可以进行下一次数据的写入了;若未收到应答信号(ACK),则标志位success置O,继续重发,且新的数据无法写入。
2.3 读光传感器位移值
读光传感器的位移值,其实就是读它对应的寄存器。在ADNS-5030的内部寄存器中,地址为Ox02的Motion寄存器用于表示是否有位移。其最高位若为O,则无位移;最高位若为1,则有位移。另外,使用到的两个寄存器的地址是Ox03和Ox04的DeltaX和DeltaY。这两个寄存器的值分别表示X轴和Y轴方向上的位移。最高位表示位移的方向,1为负方向,O为正方向,低7位表示位移量。

\

如图5所示,首先判断是否有位移,即Motion的最高位是否为1。若不为1,则表示没有位移,本次查询结束;若为1,则表示有位移,然后再去读 DeltaX和DeltaY的值,并将其通过无线发射部分发送出去。
读DeltaX、DeltaY寄存器后,寄存器中的值自动清零,但是Motion寄存器读后不清零,所以最后需要对Motion寄存器的最高位进行清零,以防止在没有位移的情况下,系统也对DeltaX、DeltaY寄存器进行扫描,造成不必要的浪费。
另一个需考虑的地方是光传感器的分辨率。在上电复位后,光传感器的分辨率为默认的500cpi(cells perinch),但是实验效果并不好。在调试时,其位移并不明显,后来修改寄存器的值,将其分辨率改为1 000 cpi(只有500 cpi和1 000 cpi两种分辨率),光标的位移效果明显好于分辨率为,500 cpi时的效果。由此可见,光传感器的这一属性也是相当重要的。
2.4 读按键与键盘
左右键的没计与普通按键的设计稍有不同。使用鼠标时可以看到,在按下左键同时拖动鼠标时,可以选中光标移动范围内的选项;同样,右键也具有这样的功能。
在左右键的扫描程序中,当程序扫描到有键按下时(例如左键按下),立刻将所得到的键值发送出去,这时,接收端的左键值一直是处于按下状态的,同时也不耽误光传感器等的扫描;当左键抬起时,再向接收端发送按键抬起的指令,一次左右键的扫描就完成了。这样就可以实现在按下左键同时拖动鼠标时,选中光标移动范围内选项的操作了。
上下键与左键和右键的操作方式不同。在上下键的扫描程序中还应考虑点动和连动这两种不同的情况。点动即为在一定时间内快速按下一个按键,然后立即释放;而按下一个键并延时一段时间再释放,则程序将其识别为连动。
键盘部分设置了20个键,是一个5×4的矩阵,包括"O~9"10个数字键,"上、下、左、右"4个方向键,"←"键,"确定"键,"Esc"键以及3个快捷键("显示桌面"、"浏览器"和"我的电脑")。其中"0~9"10个数字键是复用键,像手机键盘一样,根据一定时间内连击次数的不同,可以输入不同的键值。

结语
本文所涉及的硬件均在实际中调试通过。实验证明,MSP430系列单片机成本较低,在低功耗产品中的应用极为广泛,将会得到广大开发人员的认同。本系统已实现鼠标和手机键盘结合的基本功能,以后仍可以对其功能进行补充,完善多功能无线鼠标的性能。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top