本文设计了一种基于无线收发芯片Si4432和C8051F930单片机的无线射频收发系统。该系统由发送模块和接收模块组成。发送模块主要将要发送的数据经C8051F930处理后,通过Si4432发送出去;在接收模块中,Si4432则将数据正确接收后通过液晶显示出来,从而实现短距离的无线通信。该系统实现了低功耗、小体积、高灵敏度条件下的高质量无线数据传输。
1 无线收发芯片Si4432
Si4432芯片是Silicon Labs公司推出的一款高集成度、低功耗、多频段的EZRadioPRO系列无线收发芯片。其工作电压为1.9~3.6 V,20引脚QFN封装(4 mm×4 mm),可工作在315/433/868/915 MHz四个频段;内部集成分集式天线、功率放大器、唤醒定时器、数字调制解调器、64字节的发送和接收数据FIFO,以及可配置的GPIO等。Si4432在使用时所需的外部元件很少,1个30 MHz的晶振、几个电容和电感就可组成一个高可靠性的收发系统,设计简单,且成本低。
Si4432的接收灵敏度达到-117 dB,可提供极佳的链路质量,在扩大传输范围的同时将功耗降至最低;最小滤波带宽达8 kHz,具有极佳的频道选择性;在240~960 MHz频段内,不加功率放大器时的最大输出功率就可达+20dBm,设计良好时收发距离最远可达2 km。Si4432可适用于无线数据通信、无线遥控系统、小型无线网络、小型无线数据终端、无线抄表、门禁系统、无线遥感监测、水文气象监控、机器人控制、无线RS485/RS232数据通信等诸多领域。
2 无线射频收发系统设计
2.1 系统总体方案
无线射频收发系统的结构框图如图1所示,由C8051F930单片机控制Si4432实现无线数据的收发。发送模块中的C8051F930将数据传送给Si4432进行编码处理,并以特定的格式经天线发送给接收模块。接收模块对接收到的射频信号放大、解调之后,再将数据送给主控制器C8051F930进行相应的处理,如送液晶显示等。系统提供了按键和液晶(OCM12864-9)等人机交互界面,还留有RS232接口可以实现与PC机通信。
2.2 系统硬件设计
主控芯片选用Silicon Labs公司推出的单片机C8051F930。C8051F930有4 KB的RAM和64 KB的Flash,片上集成了丰富的外围模块(包括串口、SPI、10位A/D转换器等),很好地满足了本系统对微控制器的要求;支持快速唤醒和最低0.9 V的供电;有多种电源管理模式(如正常模式、空闲模式、休眠模式等),内部集成的2个内建欠压检测器分别适用于休眠模式和正常模式,典型休眠模式下电流仅为50 nA。C8051F930包含1个高效率直流升压转换器,最多提供65 mW给内部微控制器和其他元器件,为了减少正常模式下的电池耗电,C8051F930的省电架构能将操作模式下的电流减小到170μA/MHz。
C8051F930可以通过内置增强型SPI对Si4432的内部寄存器进行读写操作,灵活配置各项参数。通过SPI接口完成对Si4432的初始化配置、读写数据、访问FIFO等操作。使用4线SPI,即MOSI、MISO、SCK和nSEL。
MOSI用于从C8051F930到Si4432的串行数据传输;MI-SO用于从Si4432到C8051F930的串行数据传输;SCK用于同步C8051F930和Si4432之间在MOSI和MISO线上的串行数据传输;nSEL作为片选信号,只有片选信号为低电平时,对Si4432的操作才有效。硬件设计原理图如图2所示。
Si4432的13~16脚是标准的SPI接口,17脚(nIRQ)是中断状态输出引脚。当FIFO溢出、有有效的数据包发送或接收、CRC错误、检测到前导位和同步字、上电复位等情况发生,且相应的中断被使能时,17脚都会产生一个低电平以通知C8051F930有中断产生。20脚(SDN)决定了Si4432芯片的工作状态。当SDN接地(SDN=0)时,芯片处于常规工作模式;接高电平(SDN=1)时,芯片处于掉电模式。掉电模式下寄存器中的内容会丢失,且不允许SPI访问,但芯片的电流损耗只有10 nA,功耗很低,因此适合要求极低功耗的应用。在连接到电源后,在SDN的下降沿上电复位,根据指令转换到其他工作模式。
为了达到较好的通信效果,Si4432的接收低噪声放大器匹配电路和发射功率放大器匹配电路的阻容参数,应严格按照数据手册提供的参数选型。前端的分集式电路采用SKY13267,其V1脚和V2脚分别连接Si4432的GPIO1和GPIO2。通过这款交叉开关实现分集式天线发送和接收通道的自动切换。