51兼容射频Soc nRF9E5与无线光机鼠标设计

时间:2020-10-08 09:28:46 理工毕业论文 我要投稿

51兼容射频Soc nRF9E5与无线光机鼠标设计

【摘 要】本文首先比较详细、系统地介绍了最新51兼容射频SoC nRF9E5的片内微控制器和其它功能模块;然后分析了无线鼠标与有线鼠标的区别,并引出了无线光机鼠标的概念和工作原理,给出用nRF9E5进行无线光机鼠标设计的方案和该方案中的电池寿命的计算方法;最后,说明用nRF9E5进行无线光机鼠标设计的优势。

【关键词】nRF9E5;射频;无线通信;光机鼠标;鼠标

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。