微处理器中有256B的数据RAM和512B的ROM。上电复位或软件复位后,处理器自动执行ROM中引导区中的代码。用户程序通常是在引导区的引导下,从E2PROM加载到1个4KB的RAM中(该RAM也可作存储数据用)。如果应用中不用掩膜ROM(即内含的ROM),程序代码必须从外部非易失性存储器中加载。比较常见的是通过SPI接口扩展E2PROM,型号推荐为25320。
与标准8051相比,因nRF24E1的微控制器增加了一些新的功能,因此也相应地增加了一些特殊功能寄存器来对这些新增的功能进行控制。新增的特殊功能寄存器有RADIO(P2)、ADCCON、ADCDATAH、ADCDATAL、ADCSTATIC、PWMCON、PWMDUTY等。nRF24E1的微控制器中,P0和P1口的寄存器也和标准8051的有所不同,其他特殊功能寄存器与标准8051的相同。
1.2 PWM和SPI接口
nRF24E1有一个可编程控制的PWM输出,使用时,通过程序可改变DIO9(即P0.7)的功能,并可编程决定PWM工作于6位、7位或8位。
SPI的3个口与GPIO(DIN0、DIO0、DIO1)和RF收发器重用。SPI硬件不产生任何片选信号,通常,用GPIO的位(P0口)作为外部SPI设备的片选口。
1.3 RTC唤醒定时器、WTD和RC振荡器
nRF24E1内有一个低功耗的RC振荡器,当VDD≥1.8V时,可连续工作,和应用程序无关。RTC唤醒定时器和WTD(看门狗)为2个16位可编程定时器,它们的工作时钟为RC振荡器的LP_OSC。唤醒定时器和看门狗的定时时间约为300μs~80ms,默认值为10ms。
1.4 A/D转换器
nRF24E1内有9通道10位ADC,线性转换时间为每10位48个CPU指令周期。A/D转换器的9个输入可通过软件进行选择,通道0~7可以把对应引脚AIN0~AIN7上的电压值转换为数字值,通道8用于对nRF24E1工作电压的监控。A/D转换器默认工作于10位方式,可通过软件使其工作于6位、8位或12位方式。
1.5 无线收发器
nRF24E1收发器通过内部并行口或内部SPI口与其他模块进行通信,其功能与单片射频收发器nRF2401相同。DuoCeiver接收器输出的数据准备信号,可通过程序使其成为微处理器的中断信号或通过GPIO口传给CPU。nRF2401工作于全球开放的2.4G~2.5GHz频段。收发器由1个完整的频率合成器、1个功率放大器、1个调节器和2个接收器组成。输出功率、频道和其他射频参数可通过对特殊功能寄存器RADIO(0xA0)编程进行控制。发射模式下,射频电流消耗仅为10.5mA,接收模式下为18mA(可通过程序控制收发器的开/关来节能)。
2 无线键盘的基本知识
无线键盘使用无线的方式在键盘与PC间进行通信,其中的无线模块一般用射频技术或蓝牙技术来实现。由于蓝牙技术协议复杂、成本高和开发周期长,所以,目前的许多无线键盘都是用射频技术来实现无线连接。在射频领域,挪威Nordic VLSI公司的射频芯片的性能非常出众,其产品主要有nRF401系列、nRF903系列、nRF2401系列和nRF24E1系列。本文介绍的即是采用nRF24E1来实现无线键盘的设计方法。