0755-23080616

Si4432 如何与Si4463通信

2021-07-20 10:42

分享到:

在为客户提供技术支持和RF 定制的过程中,我们发现由于功能要求升级和产品更新换代等原因,经常会遇到需要内嵌不同无线芯片的模块能相互通信的问题,但芯片间的规格、参数、数据格式的各种区别让人不知从何着手。本次测试选用的是深圳市思为无线科技有限公司自主研发的RF 前端无线模块RF4432PRO(内嵌Si4432 芯片)和RF4463PRO(内嵌Si4463 芯片),并描述了详细实验过程、硬件接口和相关示例程序,希望为解决不同无线芯片间的通信问题提供一个参考的方法。

 

一、实验硬件设计

 

1.1 芯片性能和特点

Si4432芯片内置模块框图

Si4463芯片内置模块框图

图1:Si4432和Si4463 芯片内置模块框图

 

RF4432PRO 无线模块中的 Si4432 是美国 Silabs 研发的一款工作频段低于 1GHz的高性能射频收发芯片,属于其 EzRadioPro 系类。在国内已经广泛应用于工业、科研、医疗(ISM)以及短距离无线通信设备(SRD),其输出功率可高达 +20 dBm,接收灵敏度亦达到 -121 dBm。

 

RF4463PRO 无线模块采用的是 Silicon Lab Si4463 器件,这是一款高度集成的无线 ISM 频段收发芯片。极低的接收灵敏度(-126 dBm),再加上业界领先的+20 dBm的输出功率保证扩大范围和提高链路性能。同时内置天线多样性和对跳频支持可以用于进一步扩大范围,提高性能。

 

具体参数可见 Si4432 和 Si4463 的芯片手册。RF4432PRO 和 RF4463PRO 无线模块内提供了 Si4432 和 Si4463 芯片内置功能的硬件支持,用户可直接根据芯片手册进行模块的编程开发与控制。

 

无线模块 RF4432PRO RF4463PRO
频率范围 403MHz,433MHz,463MHz 403MHz,433MHz,463MHz
发射电流 85mA,@20dBm 85mA,@20dBm
接收电流 18.5mA 13.5mA
静态功耗 <1uA <0.1uA
发射功率范围 1dBm~20dBm -5dBm~20dBm
接收灵敏度 -121dbm @data=1.2kbps -126dbm @data=500bps

表 1:经测试深圳市思为无线科技有限公司的 RF4432 与 RF4463 射频参数对比

 

1.2 系统硬件设计

 

实验系统硬件使用了深圳市思为无线科技有限公司无线模块 RF4432PRO 和RF4463PRO 及其相应的 DEMO 演示板。RF4432PRO 和 RF4463PRO 模块内含了经严格测试通过的工业级高性能的芯片应用电路。将各模块通过插针连接在一起,便完成了硬件平台的搭建。通过 DEMO 演示板中单片机的 SPI 口控制,两个收发模块之间相互通信,从而实现数据的无线传输。无线模块 DEMO 演示板(如下图 2)是深圳市思为无线科技有限公司配合无线前端收发模块,为方便客户调试程序、测试距离而研发的开发板。该DEMO演示板外置无线模块引脚,设置参数可掉电保存。用户可通过按键设置修改无线模块的工作频率、发射功率以及通讯速率等相关参数。RF4432PRO和RF4463PRO无线模块的具体脚位定义可参考我司详细的产品规格书。

Si4432 如何与Si4463通信

图 2:深圳市思为无线科技有限公司 DEMO 演示板和无线模块硬件连接

 

二、无线模块工作原理

 

无线信号的发射和接收是将信号调制和解调的过程。无论是相同还是不同的无线模块通信,发射和接收两部分调制格式、调制速率和频率、频偏和接收带宽等调制参数的差别都会导致模块之间无法通信的情况。

 

2.1 SPI 总线控制时序

 

RF4432PRO 和 RF4463PRO 模块与单片机的通信是 RF 模块根据单片机通过SPI 总线写入的控制命令和数据将无线信号发射出去,并将接收到的数据和自身的相关信息通过 SPI 总线传送给单片机。Si4432 与 Si4463 的 SPI 时序稍有区别。

 

Si4432 芯片 SPI 写时序

图3:Si4432 芯片 SPI 写时序

Si4463 芯片 SPI 写时序

图4:Si4463 芯片 SPI 写时序

 

2.2 测试模式

 

深圳市思为无线科技有限公司的 RF4432PRO 和 RF4463PRO 模块的 DEMO演示板都有常发和常收两种测试模式,便于调试程序。RF4432PRO 和 RF4463无线模块在 DEMO 演示板测试模式下共同点是不停地传送“101010......”,并可在相应引脚看到接收的实时波形。

DEMO 演示板测试模式波形

图5:深圳市思为无线科技有限公司 DEMO 演示板测试模式波形

 

2.3 正常模式

 

深圳市思为无线科技有限公司 RF4432PRO 和 RF4463PRO 无线模块的 DEMO 演示板的正常收发模式运行在 Si4432 和 Si4463 的 PH+FIFO 模式。Si4432 与 Si4463 都配置了 64 字节的 FIFO 及相应的数据包处理功能。该模式下,芯片自动添加和侦测前导码、同步字、校验等,并通过中断表示通信状态,大大方便了通信过程。在正常模式下通信,必须保证通信的两个模块的数据包格式设置完全一致,否则芯片将无法产生中断。

Si4432 数据包格式

图6:Si4432 数据包格式 

Si4463 数据包格式

图7:Si4463 数据包格式

 

2.4 总结

 

对比 Si4432 和 Si4463 芯片的数据包格式如表 2。可以发现除了 Si4463 的数据包中可分为多个部分并各自设 CRC 校验外,其余部分基本一致。为保证两个芯片可以通信,将测试数据包格式设置如表 3。

 

  Si4432 Si4463
前导码 Preamble 1~8 Bytes 1~8 Bytes
同步字 Sync Word 1~4 Bytes 1~4 Bytes
字头 TX Header
数据长度 Packet Length
数据 DATA 0~64 Bytes 0~64 Bytes
CRC 0~2 Bytes 0,2,4 Bytes

表2: Si4432 与 Si4463 数据包格式对比

  前导码 同步字 字头 数据
长 度 Si4432 8 Bytes 2 Bytes 4 Bytes 10 Bytes
Si4463 8 Bytes 2 Bytes 4 Bytes 10 Bytes
内 容 Si4432 “010101...” 0xb42b “swwx” “ABCDEFGHIm”
Si4463 “010101...” 0xb42b “swwx” “ABCDEFGHIm”

表3:测试数据包格式

 

三、具体调试过程

 

系统通信采用的射频参数设置为:Si4432和Si4463两个模块在433MHz,1.2Kbps速率下,接收灵敏度最高的参数分别如下:Si4432、Si4463频偏:20kHz、5KHz;带宽61KHz、28.62KHz;灵敏度-:121dBm、-123dBm当Si4432和Si4463使用以上参数通讯时,通讯距离达不到同芯片通讯的距离。因此考虑将两个无线模块的频偏设成一样。由于实际应用中,多为使用Si4463兼容Si4432的情况。因此,决定将Si4463的频偏改为Si4432的频偏20KHz。(具体寄存器配置见附件)发送的数据格式如表 3 所示。为确保 RF4432PRO 和 RF4463PRO 无线模块都能正常工作和提供参考波形,首先分别使相同模块能在该设置下使用 DEMO 演示板的正常模式通信。

 

3.1 对比接收与发射波形

 

数据包模式由于芯片自动处理数据,只显示结果,不利于程序的调试。因此我们使用深圳市思为无线科技有限公司 DEMO 演示板测试模式和外置引脚,通过同步观察发送和接收波形这种最直观的方式,来判断通信质量的好坏。

 

将RF4432PRO 和 RF4463PRO 的 GPIO2 和 GPIO1 设置为 Rx Data output 功能输出,使接收的数据可以分别从 GPIO2 和 GPIO1 脚上实时输出。使用逻辑分析仪来同步观察 RF4463PRO 和 RF4432PRO 无线模块发射、接收的波形并做相应的对比。如图8,可发现 RF4432PRO 和 RF4463PRO 能正确接收对方的发射信号。

 

433MHz、1.2Kbps、20KHz 频偏下 RF4432接收测试波形

433MHz、1.2Kbps、20KHz 频偏下RF4463 接收测试波形

图8:433MHz、1.2Kbps、20KHz 频偏下 RF4432 与 RF4463 接收测试波形

 

持续在测试模式下接收一段时间,观察每个接收波形,如图 9,发现接收信号没有变形,判断在该射频参数下 RF4432PRO 和 RF4463PRO 无线模块可以正常通信。

 

433MHz 、1.2Kbps、 30KHz 频偏下的 RF4463 接收波形

图9 :433MHz 、1.2Kbps、 30KHz 频偏下的 RF4463 接收波形

 

3.2 数据包模式接收

RF4432PRO 模块和 RF4463PRO 模块互相接收波形正确,因此保留射频参数,将深圳市思为无线科技有限公司 DEMO 演示板的工作模式设为正常模式,看能否让芯片产生中断。发现没有 RF4432PRO 模块和 RF4463PRO 模块都没有产生接收中断。分别将 DEMO 演示板设置成 RF4432PRO 正常发射、RF4463PRO 测试接收,RF4463PRO 正常发射、RF4432PRO 测试接收,对比 RF4432PRO 和 RF4463PRO 发射的数据包波形,发现两模块的数据包格式设置不一致。

 

433MHz 、1.2Kbps、20KHz 频偏下 RF4432 和 RF4463 发送数据包波形

图10: 433MHz 、1.2Kbps、20KHz 频偏下 RF4432 和 RF4463 发送数据包波形

 

经对比,发现 4463 的同步字与设置“0x2DD4”不符,而是“0xB42B”。且 4432 的前导码为“0101...”,不是之前默认的“1010...”。将两模块的数据包格式重新调整,用 DEMO 演示板正常模式通信。发现 RF4432PRO 和 RF4463PRO 无线模块都产生了接收中断。

 

433MHz 、1.2Kbps 、20KHz 频偏 RF4463 和 RF4432 中断

图11:433MHz 、1.2Kbps 、20KHz 频偏 RF4463 和 RF4432 中断

 

3.3 总体流程图

RF4432PRO和RF4463PRO通信调试流程图

图12: RF4432PRO 和RF4463PRO 通信调试流程图

 

四、实验结果

 

4.1 硬件结果

RF4463PRO 工作在深圳市思为无线科技有限公司 DEMO 演示板的正常发射模式,RF4432PRO 工作在 DEMO 演示板的正常接收模式。发送和接收的数据包数量显示在屏幕上。如图 13,发送一段时间后没有丢包现象。

 

RF4432PRO(左)与 RF4463PRO 通信实物图

图13: RF4432PRO(左)与 RF4463PRO 通信实物图

 

4.2 软件结果

图14 中 4432IRQ 为 RF4432PRO 中断引脚,4463IRQ 为 RF4463PRO 的中断引脚。可见每个发送中断都有相应的接收中断。

RF4432PRO 和 RF4463PRO 通信中断

图14: RF4432PRO 和 RF4463PRO 通信中断

五、示例程序

实验的关键在于 RF4432PRO 和 RF4463PRO 无线模块的初始化设置部分,其余与相同无线模块间的通信程序一致。将以下测试可行的 RF4432PRO 和 RF4463PRO 无线模块初始化代码直接代入通信程序,即可实现 RF4432PRO 和 RF4463PRO 无线模块间的通信。本实验使用的完整测试程序可见深圳市思为无线科技有限公司官网的 RF4432 DEMO CODE 和 RF4463 DEMO CODE。

 

5.1 RF4432PRO 初始化示例

si4432_config.rar

 

5.2 RF4463PRO 初始化示例

si4463_config.rar

 

注:附件下载位置在文章标题下方。

 

六、总结

本文描述了深圳市思为无线科技有限公司的无线收发模块通信RF4432PRO和RF4463PRO 间的详细实现过程、硬件接口和示例程序,经实验验证可行。实现通信的基本方法是将RF4432PRO 和RF4463PRO 设置相同射频参数及数据格式。这个方法也可以引申至其他不同无线模块和无线芯片的通信。如遇到与文中不同的实验现象,对实验过程有疑问或其他想法欢迎与我们进行技术交流

 

转载请注明:出处为深圳市思为无线科技有限公司,否则一经查到,违者必究。