天线|RF射频
直播中

潘沪城

7年用户 136经验值
私信 关注
[问答]

基于Si4432A的无线射频收发系统该怎么设计?

本文设计了一种基于无线收发芯片Si4432和C8051F930单片机的无线射频收发系统。该系统由发送模块和接收模块组成。

回帖(3)

李雨晨

2019-10-21 15:56:54
发送模块主要将要发送的数据经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数据通信等诸多领域。

举报

郑俊杰

2019-10-21 15:57:40
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的串行数据传输;MISO用于从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。通过这款交叉开关实现分集式天线发送和接收通道的自动切换。

2.3 系统软件设计

软件编程采用模块化设计思想,系统中各主要功能模块均编成独立的函数由主程序调用。功能模块包括:初始化程序(包括初始化C8051F930、SPI、Si4432),无线发送程序,无线接收程序等。无线发送程序负责写入数据载荷,并根据通信协议为数据载荷加上前导码、同步字、数据载荷长度及CRC校验字节,形成数据包将其发送出去;无线接收程序负责接收并检验数据包中的CRC字节,以确保接收到的数据的正确性。

无线收发模块之间的通信是以数据包的形式发送的,本系统定义的数据包格式如下:



其中,Preamble(前导码)是一连串的10101010,其数量为8n位,n的大小由用户编程决定。数据包在传输过程中会在每个包的前面加上可设置长度的前导码;接收端为了识别帧的到来,需要前导码进行帧同步,从而确定收发系统之间何时发送和接收数据。SyncWord(同步字)在前导码之后,要用设定好的同步字来作为同步模式的标志码。本系统设定的同步字为2个字节,同步字内容为0x2DD4,接收端在检测到同步字后才开始接收数据。Packet Length是数据载荷长度。PAYLOAD(有效数据载荷)是用户所发送的数据。CRC(CRC校验和)由内置CRC校检。Si4432内部集成有调制/解调、编码/解码等功能,从而Prearnble、SyncWord、Packet Length和CRC都是硬件自动加上去的,用户只需设定数据包的组成结构和部分结构的具体内容(如前导码和同步字)。

本文以半双工通信为例,介绍通信的实现过程。编程环境为Silabs IDE V3.61,并在该编译环境下测试通过。Silabs IDE集成了源代码编辑、程序源代码级调试程序和在系统Flash编程器。同时支持第三方编译器和汇编器的使用,

(1)初始化程序

初始化程序包括C8051F930的初始化,SPI的初始化,以及Si4432的关于无线收发频率、工作模式、发射速率等内部寄存器的初始化配置。

系统上电后,C8051F930处于默认状态,根据系统功能需求重新进行初始化配置。C8051F930的数字交叉开关允许将内部数字系统资源映射到端口I/O引脚,可通过设置交叉开关控制寄存器,将片内资源配置到具体的端口I/O引脚上。这一特性允许用户根据自己的特定应用选择通用端口I/O和所需数字资源的组合,提高了应用的灵活性。本系统中,主要配置了SPI通信的4线,液晶LCD的数据线接口、控制线接口和RS232串口数据输入/输出等。

初始化SPI时,可以通过对SPIlCFG寄存器和SPIlCN寄存器的配置来选择具体使用规则。这里,选择主SPI,4线模式,时钟极性为低电平,在时钟上升沿时对数据采样;通过配置SPIlCKR寄存器,可将同步时钟频率设为晶振频率的1/4。

上电之初,Si4432也处于默认状态,需要进行配置才能工作。Si4432有70多个寄存器需要配置,它们决定了Si4432的工作模式,具体配置可以参考Si4432的数据手册。Si4432的初始化是一个重要的部分,配置的恰当与否对系统最终的通信效果有很大的影响。主控制器C8051F930通过SPI配置Si4432的1ch、1dh等寄存器,写入相应的初始化RF控制字(主要是频率、传输速度、传输方式等);通过配置33h、34h等寄存器来设置包的结构、前导码长度、同步字内容等。本系统采用同步传输模式,以0x2DD4作为同步模式的标志码,传输完同步字后才开始传输数据载荷。每次发送数据必须以同步字0x2DD4作为发送数据的同步标志,接收端在检测到同步字后才开始接收数据。

(2)无线发送程序

无线发送程序流程如图3所示。完成C8051F930、SPI和Si4432的初始化后,配置寄存器写入相应的初始化RF控制字。接下来,通过配置Si4432的寄存器3eh来设置包的长度,通过SPI连续写寄存器7fh,往TX FIFO里写入需要发送的数据。然后打开“发送完中断允许”标志,将其他中断都禁止。当有数据包发送完时,引脚nIRQ会被拉低以产生一个低电平从而通知C8051F930数据包已发送完毕。完成中断使能后,使能发送功能,数据开始发送。等待nIRQ引脚因中断产生而使电平拉低,当nIRQ引脚变为低时读取中断状态并拉高nIRQ,否则继续等待。如果数据发送成功,指示灯会变亮。一次数据发送成功后,进入下一次数据循环发送状态。


(3)无线接收程序

无线接收程序流程如图4所示。


程序完成C8051F930、SPI接口和Si4432的初始化后,配置寄存器写入相应的初始化RF控制字。通过访问寄存器7fh从RX FIFO中读取接收到的数据。相应的控制字设置好之后,若引脚nIRQ变成低电平,则表示Si4432准备好接收数据。完成这些初始化配置后,通过寄存器4bh读取包长度信息。

然后,打开“有效包中断”和“同步字检测中断”,将其他中断都禁止。引脚nlRQ用来检测是否有有效包被检测到,若引脚nIRQ变为低电平,则表示有有效的数据包被检测到。本系统用0x2DD4作为同步模式的标志码,接收模块通过检测这个同步字来同步接收数据。

最后,使能接收功能,数据开始接收。等待nIRQ引脚因中断产生而使电平拉低,读取中断标志位复位nlRQ引脚,使nIRQ恢复至初始的高电平状态以准备下一次中断触发的检测。通过SPI读取RX FIFO中的数据,将数据送至液晶OCM12864-9显示,之后进入下一次数据接收状态。

举报

张奥

2019-10-21 15:57:43
3 PCB设计的注意事项

PCB设计对整个系统的性能影响很大。以下是设计Si4432的PCB时需要注意的地方:

①为了消除走线问的感性效应,应在PCB上空余的地方尽量多布置一些过孔。为了达到较好的射频通信效果,应对整个PCB都覆地铜。当提供了一个较好的RF地之后,TX/RX区域的对地敷铜区有助于减少甚至避免辐射干扰。

②电源接入端要添加去耦电容,且尽量靠近Si4432芯片。滤波电容也应该尽量靠近相应引脚,这样可以得到更好的滤波性能。

③Si4432的外围元件很少,应尽量使用体积小的0402封装贴片器件。其中,电感属于关键器件,需选用高精度电感。

④Si4432的扼流电感L1应尽量靠近Tx引脚;并联在RXn和RXp上的电感L2在PCB平面上应与L1垂直布局,Tx通道上的电感L1、L3、L4、L5的方向需保证互相垂直以减少耦合;Tx通道和RXn/p通道之间未布线的区域应以接地的覆铜隔离开来,Tx通道匹配威廉希尔官方网站 的布线区应尽可能不要占用太大的板上区域。

⑤晶振的选择参照以下参数:等效串联电阻是60 Ω,负载电容是12 pF,频率准确度是±20×10-6。让晶振与芯片的晶振接入引脚尽量靠近,并用地线把时钟区隔离起来。

⑥设计PCB时,QFN封装的Si4432芯片底部接地。在Si4432芯片底部打9个12 mil(1000 mil=25.4 mm)大小的接地过孔,以确保良好的接地和散热能力,增强通信可靠性。

⑦板上的走线尽可能不要经过Tx/RXn/p区域,以防止匹配网络的耦合效应。

4系统测试与分析

为验证本无线射频收发系统设计的可靠性,进行了7组“发射模块—接收模块”通信实验。在空旷地通信距离约为1 500 m时7组“发射模块—接收模块”分别工作在430.50 MHz、431.50 MHz、432.50 MHz等7个中心频率上,带宽均取112.8 kHz,频率偏移取±25 kHz,发送4 000个数据包,实验结果如表1所列。


从表1中可以看出,在传输速率较低时,误码率为0;在传输速率为100 kbps(或以上)时,有一定的误码,但误码率低于0.075%。因此,该无线射频收发系统具有传输距离远、穿墙能力强、通信误码率低的特点。

结  语

本系统完全可以扩充为一个网络系统,形成一个无线网络,以应用到现场控制或测控系统中。本文所设计的无线射频收发系统工作可靠、稳定,具有很好的通用性,稍作改动就可以应用到小区传呼、工业数据采集、生物信号采集、无线遥控等其他一些短距离无线通信领域,具有较高的市场应用价值,为无线数据传输提供了一个很好的解决方案。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分