基于Si4432A的无线射频收发系统设计
设计了一种基于无线收发芯片Si4432和C8051F930的无线射频收发系统。该系统由发送模块和接收模块组成。发送模块主要处理C8051F930发送的数据,并通过Si4432发送出去。在接收模块中,Si4432正确接收数据并通过LCD显示,从而实现短距离无线通信。该系统实现了低功耗、小体积、高灵敏度的高质量无线数据传输。1无线收发芯片Si4432Si4432是硅实验室推出的高集成度、低功耗、多频段EZRadioPRO系列无线收发芯片。其工作电压为1.9~3.6 V,20针QFN封装(4 mm×4 mm),可工作在315/433/868/915 MHz四个频段。集成内部分集天线、功率放大器、唤醒定时器、数字调制解调器、64字节发送和接收数据FIFO、可配置GPIO等。Si4432在使用时几乎不需要外部元件。一个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电源;电源管理模式有很多(比如正常模式,空空闲模式,睡眠模式等。).两个内置欠压检测器分别适用于睡眠模式和正常模式,典型睡眠模式下的电流仅为50 nA。C8051F930包括一个高效率的DC升压转换器,可以为内部微控制器和其他组件提供高达65 mW的功率。为了降低正常模式下的电池功耗,C8051F930的省电架构可以将工作模式下的电流降至170μ A/MHz。C8051F930可以通过内置的增强型SPI读写Si4432的内部寄存器,灵活配置各种参数。通过SPI接口完成Si4432的初始化配置、数据读写、FIFO访问等操作。使用4线SPI,即MOSI、米索、SCK和nSEL。MOSI用于C8051F930到Si4432的串行数据传输;MISO用于Si4432到C8051F930的串行数据传输;SCK用于同步MOSI和MISO线路上C8051F930和Si4432之间的串行数据传输;作为片选信号,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。接收器在检测到同步字之前不会接收数据。数据包长度是数据有效载荷的长度。有效负载是用户发送的数据。CRC(CRC校验和)由内置的CRC校验。Si4432集成了调制/解调、编码/解码等功能。,这样前同步码、同步字、包长、CRC都是硬件自动添加的,用户只需要设置包结构和部分结构的具体内容(比如前同步码和同步字)。以半双工通信为例,介绍了通信的实现过程。编程环境为Silabs IDE V3.61,在该编译环境下通过了测试。Silabs IDE集成了源代码编辑、程序源代码级调试程序和系统内Flash编程器。同时,它支持使用第三方编译器和汇编器。(1)初始化程序初始化程序包括C8051F930的初始化,SPI的初始化,Si4432的无线收发频率、工作模式、传输速率等内部寄存器的初始化配置。系统上电后,C8051F930处于默认状态,会根据系统的功能要求再次初始化。C8051F930的数字交叉开关允许将内部数字系统资源映射到端口I/O引脚,通过设置交叉开关控制寄存器,可以将片内资源配置到特定的端口I/O引脚。该特性允许用户根据自己的具体应用选择通用端口I/O和所需数字资源的组合,提高了应用的灵活性。在该系统中,主要配置了四路SPI通信、LCD的数据线接口、控制线接口和RS232串口数据输入/输出。初始化SPI时,可以通过配置SPIlCFG寄存器和SPIlCN寄存器来选择具体的使用规则。这里选择主SPI,4线模式,时钟极性为低电平,在时钟上升沿采样数据;通过配置SPIlCKR寄存器,同步时钟频率可以设置为晶振频率的1/4。上电开始,Si4432也是默认状态,需要配置才能工作。Si4432中有70多个寄存器需要配置,这些寄存器决定了Si4432的工作模式。具体配置请参考Si4432的数据手册。Si4432的初始化是重要的一环,配置是否合适对系统最终的通信效果影响很大。主控制器C8051F930通过SPI配置Si4432的1ch、1dh等寄存器,写入相应的初始化射频控制字(主要是频率、传输速度、传输模式等。);设置数据包结构、前同步码长度、同步字内容等。通过配置诸如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接收的数据。的相应控制字置1后,如果nIRQ引脚变为低电平,则意味着Si4432已准备好接收数据。在这些初始化配置完成后,通过寄存器4bh读取包长度信息。然后,打开“有效数据包中断”和“同步字检测中断”来禁用其他中断。引脚nlRQ用于检测是否检测到有效数据包。如果引脚nIRQ变为低电平,则意味着检测到有效数据包。本系统采用0x2DD4作为同步模式的符号码,接收模块通过检测这个同步字来同步接收数据。最后,启用接收功能,开始接收数据。等待nIRQ引脚因中断而下拉,读取中断标志位以复位nlRQ引脚,使nIRQ返回初始高电平状态,为检测下一个中断触发做准备。通过SPI读取RX FIFO中的数据,将数据发送到LCD OCM12864-9进行显示,然后进入下一个数据接收状态。PCB设计注意事项PCB设计对整个系统的性能影响很大。在设计Si4432的PCB时需要注意以下几点:①为了消除走线的电感效应,PCB 空上要尽可能多的布置过孔。为了达到更好的射频通信效果,整个PCB都要覆铜。当提供较好的射频接地时,TX/RX区域的镀铜区域有助于减少甚至避免辐射干扰。②电源接入端应增加一个去耦电容,并尽可能靠近Si4432芯片。滤波电容也应尽可能靠近相应的引脚,以便获得更好的滤波性能。③Si4432中外围元器件较少,应尽量使用0402封装和小体积的芯片器件。其中电感是关键器件,所以需要高精度的电感。④④si 4432的扼流圈电感L1应尽可能靠近Tx引脚;并联的RXn和RXp上的电感L2应与PCB平面上的L1垂直,Tx通道上的电感L1、L3、L4和L5的方向应相互垂直,以减少耦合;Tx通道与RX N/P通道之间的未布线区域应采用接地覆铜隔离,Tx通道匹配电路的布线区域应尽可能不占用过多的电路板面积。⑤晶振按以下参数选择:等效串联电阻60ω,负载电容12 pF,频率精度20× 10-6。让晶振尽可能靠近芯片的晶振接入引脚,用地线隔离时钟区。⑥设计PCB时,QFN封装的Si4432芯片底部接地。在Si4432芯片底部制作9个12 mil(1000 mil=25.4 mm)的接地过孔,保证良好的接地和散热能力,增强通信可靠性。⑦板上的走线尽量不要穿过TX/Rxn/P区域,防止匹配网络的耦合效应。4系统测试与分析为了验证无线射频收发系统设计的可靠性,进行了七组“发射模块-接收模块”通信实验。当空开放通信距离约为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%。因此,无线射频收发系统具有传输距离远、穿墙能力强、通信误码率低的特点。该系统可以扩展成网络系统,形成无线网络,应用于现场控制或测控系统。本文设计的无线射频收发系统可靠、稳定、通用。只要稍加修改,就可以应用于其他短距离无线通信领域,如小区寻呼、工业数据采集、生物信号采集、无线遥控等。它具有很高的市场应用价值,为无线数据传输提供了很好的解决方案。
中承科技为客户提供世界领先的无线射频测试、无线综合测试仪、通信测试仪表、无线通信测量、WiFi6e测试仪、蓝牙综测仪等解决,帮助客户提高产品质量、降低生产成本、提升综合竞争力。