51兼容射频SocnRF9E5和无线光机鼠标设计

时间:2022-06-28 03:02:09

51兼容射频SocnRF9E5和无线光机鼠标设计

1. 引言

nRF9E5是Nordic VLSI公司于2004年2月5日推出的系统级RF芯片,其内置nRF905 433/868/915MHz收发器、8051兼容微控制器和4输入10位80ksps AD转换器,是真正的系统级芯片。内置nRF905收发器与nRF905 芯片的收发器一样,可以工作在ShockBurstTM(自动处理前缀、地址和CRC)方式。内置电压调整模块,最大限度地抑制噪音,为系统提供1.9V到3.6V的工作电压。nRF9E5符合美国通信委员会和欧洲电信标准学会的相关标准。由于nRF905功耗低,工作可靠,因此很适用于无线光机鼠标设计

2. nRF9E5功能介绍

2.1微控制器

nRF9E5的片内微控制器与标准51兼容。指令时序与标准51稍有区别,典型的区别是nRF9E5的片内微控制器的指令周期为4到20个指令周期。中断控制器支持5个扩展的中断源:ADC中断、SPI中断、RADIO1中断、RADIO2中断和唤醒定时器中断。片内控制器还有3个与8052相同的定时器。一个和8051相同的串口,可以用定时器1和定时器2来作为异步通信的波特率产生器。此外,还扩展了两个数据指针,以方便于从XRAM区读取数据。

微处理器中有256字节的数据RAM和512字节的ROM。上电复位或软件复位后,处理器自动执行ROM中的引导区中的代码。用户程序通常是在引导区的引导下,从EEPROM加载到1个4K的RAM中,这个4K的RAM也可作存储数据用。如果应用当中不用掩膜ROM(也即内含的ROM),程序代码必须从外部非易失性存储器中加载,比较常见的是通过SPI接口扩展型号为25320的EEPROM。

nRF9E5的大部分寄存器和标准8051相同,只是为了控制一些8051没有的功能,增加了一些特殊功能寄存器,如RADIO(P2)、ADCCON、ADCDATAH、ADCDATAL、ADCSTATIC、PWMCON、PWMDUTY等。nRF9E5中的P0、P1和P2口寄存器地址和标准8051中的相同,都是0x80,0x90,0xA0,但功能和标准8051中的有所不同。

图1 nRF9E5功能图[1]

2.2 PWM

nRF9E5内有一个可编程控制的PWM(脉宽调制)输出,使用时,通过程序改变P0.7的功能来实现,并可编程决定PWM工作于6位、7位或8位。PWM的频率与晶振有关,可编程控制。

2.3 SPI接口

SPI(串行外设接口)的接口引脚有MISO(接收EEPROM的SDO送来的数据)、SCK(给EEPROM的SCK提供时钟信号)、MOSI(送数据到EEPROM的SDI)、EECSN(给EEPROM的CSN送使能信号)。SPI口的MISO、SCK和MOSI与P1口的低3位重用,通过寄存器SPI_CTRL控制来控制功能间的撤换。SPI硬件不产生任何片选信号,可以用GPIO口来进行片选。通常,系统上电时,SPI自动和片外的25320相连,当程序加载完成后,MISO(P1.2)、MOSI(P1.0)和SCK(P1.0)可能会用作其它用途,比如其它的SPI器件或GPIO。

2.4 LF时钟,RTC唤醒定时器,GPIO唤醒和WTD

nRF9E5内有一个低频的时钟CKLF,该时钟常开。当晶振开始工作后,CKLF频率为4kHz;晶振不工作时,CKLF是一个低功耗RC晶振并且不能禁能,只要VDD 1.8V,其连续工作。RTC唤醒定时器、WTD(看门狗)和GPIO唤醒全都工作在CKLF频率,以保证芯片低功耗工作时能够完成这三个功能。

RTC唤醒定时器是个24位可编程控制的递减计数器,WTD则是个16位可编程控制的递减计数器。RTC唤醒定时器和WTD的循环周期一般在300us和80ms之间,默认为1ms。

2.5 AD转换器

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

2.6 射频收发器

nRF9E5收发器通过内部并行口或内部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] [2] 下一页

度,鼠标位置计数器加1,每隔一定时间,nRF9E5就把鼠标位置计数器的值读出,通过计算得出鼠标移动的位移,再把位移信息发送给PC机。

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

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

上一篇:采用滚动数码的鼠标概念防窥视的密码键盘 下一篇:安全疏散演练总结大会讲话