3 nRF905无线收发芯片
nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压1.9~3.6 V,工作于433/868/915MHz这3个ISM频段,频道转换时间<650μs,最大数据速率为100kbit/s。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和GFSK调制器组成。自动产生前导码和CR校验码,可以很容易通过SPI接口进行编程配置。外围器件连接简单,无需外部SAw滤波器。nRF905有两种工作模式和两种节能模式。两种工作模式分别是ShockBurst TM发送模式和ShockBurst RM接收模式,两种节能模式分别是掉电和SPI编程模式,Standby和SPI编程模式。nRF905的工作模式由TRX_CE,TX_EN,PWR_UP这3个引脚的设置来决定。
4 nRF905和STC89C52RC的硬件连接电路
nRF905具有标准的SPI硬件接口,对于不带SPI串行总线接口的STC89C52RC单片机来说,可以使用软件来模拟SPI的操作。单片机和NRF905的对应接法是:P1.6接MISO,P1.5口接MOSI,Pl.7口接SCIOCK,P1.3接CSN。选用单片机的P1.5模拟数据输出端MOSI;Pl.6模拟数据输入端MISO P1.7模拟SCK的输出端;P1.3模拟从机选择端CSN,由程序清零此I/O口,使得与它通信的NRF905做从机。采用SPI的进行数据传送时,在SCK的每个下降沿将89C52配置NRF905的命令和数据通过MOSI引脚移入,在SCK的每个上升沿将欲传给89C52的数据从MISO引脚移出。所以,这里将串行时钟输出口P1.7的初始状态设置为低电平,选通从机,即P1.3=0低电平后,再置P1.1为高电平。这样,89C52在输出1位SCK时钟的同时,将使NRF905中数据串行左移,从而输出1位数据至89C52的P1.6口,此后再置P1.7为0,使89C52从P1.5输出1位数据至NRF905,至此结束了模拟1位数据的传输。按上述步骤循环8次,即完成通过SPI总线传输1 bit的操作。nRF905有5个内部寄存器,分别是状态寄存器、RF配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器,这5个寄存器都是通过89C52软件模拟的SPI接口来配置的。除了对寄存器进行配置外,89C52还要对nRF905的工作模式进行切换控制。