您的位置 首页 发布

根据2.4 GHz射频通讯的多功能鼠标规划

多功能无线鼠标发射部分主要实现光传感器位移、按键键值的采集,并通过无线发射给接收器。主要由控制部分、光传感器部分、鼠标按键和键盘部分以及无线发射部分组成。

导言

  多功用无线鼠标包含无线发射部分和无线接纳部分,其间发射部分是关系到其总体功用好坏的要害部分。本体系以nRF24L01为中心构建无线发射模块。

  nRF24L01是一款新式单片射频收发器材,作业于2.4~2.5 GHz ISM频段;内置频率合成器、功率放大器、晶体振荡器、调制器等功用模块,并交融了增强型ShockBurst技能,其间输出功率和通讯频道可通进程序进行装备。nRF24L01功耗低,在以0 dBm的功率发射时,作业电流只要11.3 mA;接纳时,作业电流只要12.3 mA;多种低功率作业形式(掉电形式和闲暇形式)使节能规划更便利。

  多功用无线鼠标是一款运用电池供电的手持设备,功耗是衡量其功用的一个重要规范。本规划所选用的主控芯片是MSP430F413,它是一种16位超低功耗的混合信号处理器,在活泼形式下最大电流为350μA,RAM数据坚持办法下耗电仅0.1μA。光传感器芯片选用ADNS-5030。这款芯片体积小,功耗低,在作业形式下,它的作业电流最大为17 mA;仅在光传感器作业的时分,LED才被点亮,这样会使光传感器的功耗进一步下降(小于1 mA)。

  本文在介绍多功用无线鼠标发射部分开发进程的一起,对其规划运用中的留意事项和优化办法作了相应的论说。在规划进程中,多留意细节和优化办法可使规划愈加顺畅,并为大规模算法供给有用的时刻。

  
1 硬件电路规划

  多功用无线鼠标发射部分首要完结光传感器位移、按键键值的收集,并经过无线发射给接纳器。首要由操控部分、光传感器部分、鼠标按键和键盘部分以及无线发射部分组成。体系框图如图1所示。

  1.1 无线发射部分

  无线发射部分是多功用无线鼠标的首要部分,本规划以nRF24L01为中心构建无线发射模块。

  nRF24LOl具有无条件运用2.4 GHz全球敞开ISM频段,内置硬件CRC检错和一点对多点通讯地址操控等特色,数据传输率为2 Mb/s,126个频道;能满意多点通讯和跳频通讯的需求;功耗低,供电电压为1.9~3.6 V,待机形式下作业电流为22μA,掉电形式下仅为900 nA。这些是nRF24L01的首要长处。

  无线发射部分的电路原理如图2所示。

  1.2 电源办理

  手持体系对低功耗有较严厉的要求。MSP430系列单片机有5种低功耗形式。在必定时刻内无操作的状况下,能够使其进入某一种低功耗形式,这时的作业电流能够操控在十几μA以下。

  关于外围器材,如光传感器和无线发射部分,设置了一个开关,在主控芯片进入低功耗形式之前先堵截它们的电源,使体系的功耗进一步下降。而在有操作到来的时分,主控芯片从低功耗形式返回到活泼形式,首要将外围器材的电源开关翻开,这样能够确保体系正常作业。低功耗电源操控电路如图3所示。开关由一个PNP型的晶体管构成,基极作为操控信号的输入,发射极为电压输入,集电极为电压输出。操控信号的电平改变能够操控线路上电源的通断。

  1.3 光传感器部分

  光传感器ADNS-5030用于鼠标的定位。ADNS-5030的正常作业电压为3.3 V,在光传感器的规划中需求将电池供电输出的3.O V电压转化成其所需求的3.3 V电压。电路选用HT7733芯片来完结电压的转化。ADNS-5030经过SPI总线与主控芯片进行数据通讯,其衔接办法如图4所示。

  1.4 按键与键盘

  多功用无线鼠标的按键与一般鼠标的按键功用根本相同,仅仅将一般鼠标的滚轮(wheel)改成了上下键的规划。这两种规划的功用是相同的。键盘用于阿拉伯数字、字母以及各种功用键的输入。选用矩阵式的手机键盘,节省了主控芯片的I/O口资源。

  
2 软件部分规划

  2.1 通用I/O模仿SPl接口

  无线发射芯片nRF24L01和光传感器ADNS-5030均是选用SPI总线与主控芯片进行数据交换的。出于本钱考虑,本规划所选用的主控芯片MSP430F413内部没有SPI总线接口,因而,需求用通用I/O口来模仿SPI接口。

  用通用I/O口来模仿SPI串行接口,有必要严厉遵守器材SPI的总线时序。ADNS-5030的SPI总线时序有几个需求留意的当地:一是SPI总线的串行时钟频率应小于1 MHz,若SPI总线的时钟频率过高,器材无法在短时刻内作出呼应,相应的操作也就无法完结;二是ADNS-5030对SPI总线上的时钟信号要求50%的占空比,这种要求并不是针对一切器材的,但对详细提出这种要求的个例,就有必要遵从了(试验证明这个结论是正确的,笔者经过在程序中加空指令的办法来填补空缺,使其占空比到达器材的要求);三是SPI总线操作中有许多必要的延时,如读操作中写地址和读数据之间需求4 μs的延时,程序中若无该延时,就不能履行正常的读写操作。

2.2 无线发射部分

  nRF24L01的作业原理如下:发射数据时,首要将nRF24L01装备为发射形式,接着把接纳节点地址TX_ADDR和有用数据TX_PLD依照时序由SPI口写入nRF24L01缓存区。TX_PLD有必要在CSN为低时接连写入,而TX_ADDR在发射时写入一次即可。然后,CE置为高电平并坚持至少10μs,推迟130μs后发射数据。若主动应对敞开,那么nRF24L01在发射数据后当即进入接纳形式,接纳应对信号(主动应对接纳地址应该与接纳节点地址TX_ADDR共同)。假如收到应对,则以为此次通讯成功,TX_DS置高,一起TX_PLD从TX_FIFO中铲除;若未收到应对,则主动从头发射该数据(主动重发已敞开),若重发次数(ARC)到达上限,MAX_RT置高,TXFIFO中数据保存以便再次重发。MAX_RT或TX_DS置高时,使IRQ变低,发生中止,告诉MCU。发射成功时,若CE为低,则nRF24L01进入待机形式1;若发送仓库中有数据且CE为高,则进入下一次发射;若发送仓库中无数据且CE为高,则进入待机形式2。

  接纳数据时,首要将nRF24L01装备为接纳形式,接着推迟130μs进入接纳状况等候数据的到来。当接纳方检测到有用的地址和CRC时,就将数据包存储在RXFIFO中,一起中止标志位RX_DR置高,IRQ变低,发生中止,告诉MCU取数据。若此刻主动应对敞开,接纳方则一起进入发射状况回传应对信号。接纳成功时,若CE变低,则nRF24L01进入待机形式1。

  nRF24L01有发射、接纳、待机和掉电4种作业形式,能够经过装备寄存器来设置其作业状况,如表1所列。

  待机形式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系列单片机本钱较低,在低功耗产品中的运用极为广泛,将会得到广阔开发人员的认同。本体系已完结鼠标和手机键盘结合的根本功用,今后仍能够对其功用进行弥补,完善多功用无线鼠标的功用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/186954.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部