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

基于2.4GHz射频通信的多功能鼠标设计

时间:07-03 来源:维库开发网 点击:

引 言

多功能无线鼠标包括无线发射部分和无线接收部分,其中发射部分是关系到其总体性能好坏的关键部分。本系统以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为核心构建无线发射模块。

nRF24L01具有无条件使用2.4 GHz全球开放ISM频段,内置硬件CRC检错和一点对多点通信地址控制等特点,数据传输率为2 Mb/s,126个频道;能满足多点通信和跳频通信的需要;功耗低,供电电压为1.9~3.6 V,待机模式下工作电流为22μA,掉电模式下仅为900 nA。这些是nRF24L01的主要优点。

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

对于外围器件,如光传感器和无线发射部分,设置了一个开关,在主控芯片进入低功耗模式之前先切断它们的电源,使系统的功耗进一步降低。而在有操作到来的时候,主控芯片从低功耗模式返回到活跃模式,首先将外围器件的电源开关打开,这样可以保证系统正常工作。低功耗电源控制电路如图3所示。开关由一个PNP型的晶体管构成,基极作为控制信号的输入,发射极为电压输入,集电极为电压输出。控制信号的电平变化可以控制线路上电源的通断。

1.3 光传感器部分

光传感器ADNS-5030用于鼠标的定位。ADNS-5030的正常工作电压为3.3 V,在光传感器的设计中需要将电池供电输出的3.0 V电压转换成其所需要的3.3 V电压。电路采用HT7733 芯片来完成电压的转换。ADNS-5030通过SPI总线与主控芯片进行数据通信,其连接方式如图4所示。

1.4 按键与键盘

多功能无线鼠标的按键与普通鼠标的按键功能基本相同,只是将普通鼠标的滚轮(wheel)改成了上下键的设计。这两种设计的功能是相同的。

键盘用于阿拉伯数字、字母以及各种功能键的输入。采用矩阵式的手机键盘,节省了主控芯片的I/O口资源。

2 软件部分设计

2.1 通用I/O模拟SPI接口

无线发射芯片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后发射数据。若自动应答

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

网站地图

Top