RF/无线
目前市场上各类无线产品种类及应用越来越广泛,如何让广大学生、电子研发人员及一些小公司能快速在自己的产品中使用无线技术、降低无线技术的门槛,是本设计的初衷。对一些没有接触无线技术的人,从学到最后的设计应用需要比较长的时间。本文设计了一种基于无线收发芯片Si4432和单片机C8051F340的无线射频收发系统。基于串口透明传输,用户只需要了解一些串口指令即可方便实现无线收发。多种标准接口方便用户把模块嵌入到自己的产品中去。模块经过大量的试验、改进,能实现较远距离的稳定传输。
1、系统总体方案
无线射频收发系统结构框图如图1所示,由单片机C8051F340控制Si4432实现无线数据的收发。
发送模块中的C8051F340将数据传送给Si4432进行编码处理,并以特定的格式经天线发送给接收模块。接收模块对接收到的射频信号放大、解调之后,再将数据送给主控制器C8051F340进行相应的处理,如送液晶显示等。为测试方便,系统提供了按键和液晶(OCM12864-9)等人机交互接口(模块本身不带显示部分,开发板留有12864接口),还留有RS 232,TTL,RS 485等接口。可以实现模块之间各种标准通信及与PC机通信。
2、 硬件设计
Si4432芯片是Silicon Labs公司推出的一款高集成度、低功耗、多频段的EZ Radio PRO系列无线收发芯片。Si4432在使用时所需的外部元件很少,1个30 MHz的晶振、几个电容和电感就可组成一个高可靠性的收发系统,设计简单且成本低。Si4432的接收灵敏度达到-117 dB,可提供极佳的链路质量,在扩大传输范围的同时将功耗降至最低;最小滤波带宽达8 kHz,具有极佳的频道选择性;在240~960 MHz频段内,不加功率放大器时的最大输出功率就可达20 dBm,设计良好时收发距离最远可达2 km。C8051F340也是Silicon Labs公司推出的单片机。具有4 KB的RAM和64 KB的FLASH,片上集成了丰富的外围模块(包括串口,SPI,10位A/D转换器等),很好地满足了本系统对微控制器的要求;支持快速唤醒和最低0.9 V的供电;有多种电源管理模式(如正常模式、空闲模式、休眠模式等),内部集成的2个内建欠压检测器分别适用于休眠模式和正常模式,典型休眠模式下电流仅为50 nA。C8051F340包含1个高效率直流升压转换器,最多提供65 mW给内部微控制器和其他元器件,为了减少正常模式下的电池耗电,C8051F340的省电架构能将操作模式下的电流减小到170μA/MHz。无线收发硬件设计原理图如图2所示。
C8051F340可以通过内置增强型SPI对Si4432的内部寄存器进行读写操作,灵活配置各项参数。通过SPI接口完成对Si4432的初始化配置、读写数据、访问FIFO等操作。使用4线SPI,即MOSI、MISO、SCK和SEL。MOSI用于从C8051F340到Si4432的串行数据传输;MISO用于从Si4432到C8051F340的串行数据传输;SCK用于同步C8051F340和Si4432之间在MOSI和MISO线上的串行数据传输;SEL作为片选信号,只有片选信号为低电平时,对Si4432的操作才有效。Si4432的13~16脚是标准的SPI接口,17脚(IRQ)是中断状态输出引脚。
为了达到较好的通信效果,Si4432的接收低噪声放大器匹配威廉希尔官方网站 和发射功率放大器匹配威廉希尔官方网站 的阻容参数,应严格按照数据手册提供的参数选型。前端的分集式威廉希尔官方网站 采用SKY13267,其V1脚和V2脚分别连接Si4432的GPIO1和GPIO2。通过这款交叉开关实现分集式天线发送和接收通道的自动切换。
3、系统软件设计
软件的开发环境为KeilμVision 3,使用的语言为KeilC51。软件的功能为完成MCU和Si4432的缺省配置;软件设计的目的是完成微控制器和Si4432的初始化配置、数据的接收与发送。
3.1 初始化
初始化程序主要包括C8051F340的初始化,串口的配置、SPI的配置,无线数据接收与发送的频率、传输速率、工作模式等内部寄存器的初始化配置。
C8051F340的数字交叉开关可以将内部的系统资源映射到端口I/O引脚,通过设置交叉开关控制寄存器,将片内资源配置到相应的I/O引脚上,提高了配置的灵活性。在配置SPI时,可以通过对4个特殊功能寄存器:配置寄存器SPI0CFG、控制寄存器SPI0CN、数据寄存器SPI0DAT和时钟频率寄存器SPI0CKR的控制实现,采用4线主SPI模式,通过设置SPI0CKR寄存器,将同步时钟频率设为晶振的1/4,在时钟的每一个上升沿进行操作。
上电之初,Si4432也处于默认状态,需要进行配置才能工作。Si4432有70多个寄存器需要配置,它们决定了Si4432的工作模式,具体配置可以参考Si4432的数据手册。Si4432的初始化是一个重要的部分,配置的恰当与否对系统最终的通信效果有很大的影响。主控制器C8051 F340通过SPI配置Si4432的1ch和1dh等寄存器,写入相应的初始化RF控制字(主要是频率、传输速度和传输方式等);通过配置33h和34h等寄存器来设置包的结构、前导码长度以及同步字内容等。本系统采用同步传输模式,以0x2DD4作为同步模式的标志码,传输完同步字后才开始传输数据载荷。每次发送数据必须以同步字0x2DD4作为发送数据的同步标志,接收端在检测到同步字后才开始接收数据。
3.2 无线发送程序
无线发送程序流程如图3所示。完成C8051F340、串口发送、SPI和Si4432的初始化后,配置寄存器写入相应的初始化RF控制字。接下来,通过配置Si4432的寄存器3eh来设置包的长度,通过SPI连续写寄存器7fh,往TXFIFO里写入需要发送的数据。然后打开“发送完中断允许标志”,将其他中断都禁止。当有数据包发送完时,引脚IRQ会被拉低以产生一个低电平从而通知C8051F340数据包已发送完毕。完成中断使能后,使能发送功能,数据开始发送。等待IRQ引脚因中断产生而使电平拉低,当IRQ引脚变为低时读取中断状态并拉高IRQ,否则继续等待。如果数据发送成功,指示灯会变亮。一次数据发送成功后,进入下一次数据循环发送状态。
3.3 无线接收程序
无线接收程序流程如图4所示。程序完成C8051F340、串口接收、SPI接口和Si4432的初始化后,配置寄存器写入相应的初始化RF控制字。通过访问寄存器7fh从RX FIFO中读取接收到的数据。相应的控制字设置好之后,若引脚IRQ变成低电平,则表示Si4432准备好接收数据。完成这些初始化配置后,通过寄存器4bh读取包长度信息。然后,打开有效包中断和同步字检测中断,将其他中断都禁止。引脚IRQ用来检测是否有有效包被检测到,若引脚IRQ变为低电平,则表示有有效的数据包被检测到。本系统用0x2DD4作为同步模式的标志码,接收模块通过检测这个同步字来同步接收数据。最后,使能接收功能,数据开始接收。等待IRQ引脚因中断产生而使电平拉低,读取中断标志位复位IRQ引脚,使IRQ恢复至初始的高电平状态以准备下一次中断触发的检测。通过SPI读取RX FIFO中的数据,将数据送至液晶OCM12864显示,之后进入下一次数据接收状态。
4、系统测试与分析
为验证本无线射频收发系统设计的可靠性,进行了7组“发射模块一接收模块”通信实验。在空旷地通信距离约为1 500 m时,7组“发射模块-接收模块”分别工作在430.50 MHz,431.50 MHz,432.50 MHz等7个中心频率上,带宽均取112.8 kHz,频率偏移取±25 kHz,发送4000个数据包。实验证明,在传输速率较低时,误码率为0;在传输速率为100Kb/s(或以上)时,有一定的误码,但误码率低于0.075%。因此,该无线射频收发系统具有传输距离远、穿墙能力强以及通信误码率低的特点。设计良好时,收发距离最远可达2 km。
5、结语
本系统完全可以扩充为一个网络系统,形成一个无线网络,以应用到现场控制或测控系统中。本文所设计的无线射频收发系统工作可靠、稳定,具有很好的通用性,稍作改动就可以应用到小区传呼、工业数据采集、生物信号采集、无线遥控等其他一些短距离无线通信领域,对于一些小公司、电子爱好者可以不管模块里面的无线通信协议及硬件,快速、简单地嵌入到自己产品中去。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !