【经验】新开发芯科科技EFR32MG21无线通信模块时如何测试发包及统计丢包率
新入手或新研发的芯科科技EFR32MG21无线通信模块,没有试验仪器的情况下,如何简单快速的进行射频功能测试?比较常用的方法自然是用两台设备进行拉距收发测试,通过数据包的丢包率来判断射频的有效传输距离。下文将从初学者的角度详细讲解整个测试过程及注意事项,帮助开发人员快速上手。
测试内容:
使用两个zigbee3.0模块,一台发送数据,一台接收数据,通过串口查看丢包率。
测试步骤:
1、PCBA上电(直流电源3.3V) → 烧录(RF固件),烧录工具可以使用SILICON LABS 开发板或J-LINK。
2、连接测试工装,通过TTL串口(3.3V)连接至主板的VCC、GND、VCOM_RX、VCOM_TX,进行指令交互,协议为UART,8bits,1stopbit, 115200 Baudrate。
3、复位模块,接收端模块输入接收数据指令(见下文)进入接收模式,发送端模块输入发送数据指令(见下文)发送指定数据。
4、记录发送的数据量及接收的数据量,统计数据丢包率。
5、改变两个模块的相对位置,重复步骤3步骤4。
发送数据指令
rx 0 【进入IDLE状态】
enable802154 rx 100 192 864 【配置IEEE 802.15.4的接收参数】
config2p4GHz802154 【配置为IEEE 802.15.4的2.4GHz频段的PHY】
setchannel 0x15 【设置信道为21,代表设置频率为2450MHz】
setpower 200 【设置功率为20dbm,以0.1dbm为单位】
setTxLength 5 【设置发送数据的长度,5字节】
setTxPayload 0 0x01 0x02 0x03 0x04 【发送0 0x01 0x02 0x03 0x04】
setTxDelay 200 【发送的时间间隔,200ms】
tx 10 【表示发送10包,10包后自动停止,便于统计数据成功率】
考虑到11信道在办公环境中数据包较多,此处将信道设置为不常用的信道如21信道0x15。
ZIGBEE 2.4G 每个信道具体的频率:11 -2405, 2410, 2415,。。。。。。每个频道加5,到26即2405+(26-11+1)x5=2475。
接收数据指令
rx 0 【进入IDLE状态】
enable802154 rx 100 192 864 【配置IEEE 802.15.4的接收参数】
config2p4GHz802154 【配置为IEEE 802.15.4的2.4GHz频段的PHY】
setPromiscuousMode 1 【配置为sniffer模式】
setchannel 0x15 【设置信道为21,代表设置频率为2450MHz】
rx 1 【开始接收,如需结束接收可用rx 0进入IDLE状态】
status 【查询状态】
接收log示例:
[12:49:29.097]收←◆{{(rxPacket)}{len:5}{timeUs:721787463}{timePos:5}{crc:Pass}{rssi:-11}{lqi:255}{phy:0}{isAck:False}{syncWordId:0}{antenna:0}{channelHopIdx:254}{ed154:255}{lqi154:255}{payload: 0x06 0x01 0x02 0x03 0x04}}
//RSSI值越大,说明收到的信号强度越大。
status log示例:
[12:51:34.322]收←◆status
{{(status)}{UserTxCount:0}{AckTxCount:0}{UserTxAborted:0}{AckTxAborted:0}{UserTxBlocked:0}{AckTxBlocked:0}{UserTxUnderflow:0}{AckTxUnderflow:0}{RxCount:107}{SyncDetect:155}{NoRxBuffer:0}{RfSensed:0}{ackTimeout:0}{ackTxFpSet:0}{ackTxFpFail:0}{ackTxFpAddrFail:0}{RfState:Rx}{RAIL_state_active:0}{RAIL_state_rx:1}{RAIL_state_tx:0}{Channel:21}{AppMode:None}{TimingLost:0}{TimingDetect:0}{FrameErrors:30}{RxFifoFull:0}{RxOverflow:0}{AddrFilt:0}{Aborted:18}{RxBeams:0}{DataRequests:0}{Calibrations:2}{TxChannelBusy:0}{TxClear:0}{TxCca:0}{TxRetry:0}{UserTxStarted:0}}
//UserTxCount:0 记录共发送收了0个数据包,
RxCount:107: 记录共接收收了107个数据包,
测试工装示意图
1、采用TTL串口线的3.3V给模块供电(有的串口线供电电压为5V,此时需要调整为3.3V后才能使用),串口线的TX连接至模块的VCOM_RX,串口线的RX连接至模块的VCOM_TX。
2、进行测试前,请先将模块的RESET拉低后释放完成模块复位,然后再进行指令输入。
测试串口log如下:
注意事项:
由于测试环境中有其他信号的干扰,接收端收到的数据不仅有测试发送端设备发送的数据,同时也会有测试环境其他同信道的数据。此时需要人为的进行排除,统计精确的数据。
- |
- +1 赞 0
- 收藏
- 评论 2
本文由二少提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
EFR32无线通信模块AN310——Zigbee(利用Host升级NCP固件)
EFR32无线通信模块是世强基于Silicon Labs EFR32MG平台自主设计的无线模块,Silicon Labs的ZigBee网关采用Host+NCP模式,即Host运行Application,EFR32MG内部运行Ember stack。网关中会遇到需要NCP固件的情况,本篇文章基于EFR32无线通信模块指导大家利用Host升级NCP的固件。
思为无线四款Si4432射频模块挑选指南
思为无线基于Silicon Lab的Si4432芯片开发出四款不同封装尺寸的射频模块:RF4432PRO、RF4432、RF4432X1和RF4432F27,以便满足不同客户的需求。本文介绍4款模组的相同点及区别。
【经验】EFR32无线通信模块通过CLI命令搭建ZigBee网络并和Z3Light、Z3Switch设备通讯
EFR32无线通信模块是世强基于EFR32MG12P433F1024GM48无线SOC自主研发的无线模块,可以支持ZigBee、BLE、Thread、Proprietary等多种无线协议,并且可以支持2.4GHz和434MHz两种频段。本文指导大家如果使用CLI命令搭建ZigBee网络,并将Z3Light和Z3Switch设备加入到ZigBee网络中来进行ZCL通讯。
SILICON LABS ZIGBEE 无线 Gecko SoC选型表
EFR32MG无线 Gecko SoC 是在 IoT 设备上实现节能多协议连网的理想之选。芯片解决方案结合了 76.8MHz ARM和高性能 2.4GHz 无线电,旨在为 IoT连接应用提供行业领先的节无线 SoC。
产品型号
|
品类
|
Protocol Stack
|
Frequency Band @ Max TX Power(GHz@dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG12P433F1024GL125-C
|
Gecko Multi-Protocol Wireless SoC
|
Bluetooth LE Zigbee Thread Proprietary, Wi-SUN
|
2.4GHz @ 19dBm, Sub-GHz @ 20dBm
|
1024kB
|
256kB
|
65
|
-40℃~85℃
|
-50℃~150℃
|
BGA125
|
1.8V~3.8V
|
选型表 - SILICON LABS 立即选型
EFR32无线通信模块AN003——RailTest (使用操作)
本文介绍下Silicon Labs EFR32无线通信模块Railtest几个常用的指令,及通用的测试方法。
【经验】Zigbee网关替换操作指南之Host-NCP模式
在zigbee的网络实际应用中,可能会遇到需要替换网关,并希望网络的参数继续保持的情况。即更换了新的网关后,新的网关能够恢复之前的网络参数,网路中的其他设备不需要重新入网。本例程就基于Silicon Labs的EmberZNet 6.3版本协议栈、Zigbee 3.0、Host-NCP模式的网关,指导大家实现网关替换的功能。
EFR32无线通信模块AN003——RailTest(工程创建)
EFR32标准模块,是世强独立研发,供用户学习、使用的射频模块。这个模块可以搭载Silicon Labs不同系列的EFR32芯片,包括私有协议的EFR32FG、BLE & BT5.0 &BT MESH的EFR32BG,及多协议的EFR32MG。因为从EFR32系列的芯片本身,同封装芯片都可以完美兼容。
【经验】ZigBee程序中NVM3基地址的重新定义
我们在使用无线SoC芯片EFR32MG21做ZigBee程序时,程序中会用到NVM3保存一些参数,但NVM3的存储地址我们在程序中很难找到设置的地方,如果想修改NVM3的存储地址要如何处理?
EFR32无线通信模块AN002——BootLoader(standalone)
Silicon Labs的EFR32系列无线SoC芯片提供了Gecko Bootloader支持设备更新应用程序,Gecko Bootloader分两种模式,一种模式称为standalone bootloader,另一种模式称为application bootloader。本文指导大家配置Standalone Bootloader工程,并对应用程序更新。
【经验】多协议SoC EFR32MG21在EmberZnet SDK 7.x中回调(callback)函数的处理方法
本文介绍EmberZnet SDK 6.x与EmberZnet SDK 7.x中对callback函数的不同处理方法,多协议SoC EFR32MG21在EmberZnet SDK 7.x下开发软件与在6.x环境下开发软件有较大的区别。
EFR32无线通信模块AN102——蓝牙BLE(自定义广播包)
EFR32标准模块,是世强独立研发,供用户学习、使用的射频模块。这个模块搭载Silicon Labs 多频段多协议的EFR32MG系列无线SOC芯片EFR32MG12P433F1024GM48,7*7mm QFN48封装,广泛用于智能门锁,门禁系统,照明系统,智能家居等领域。本文基于一站式开发平台simplicity studio V4和EFR32标准模块,介绍如何实现自定义广播包。
【经验】EFR32无线通信模块AN109——蓝牙BLE(主设备扫描)
EFR32标准模块,是世强独立研发,供用户学习、使用的射频模块。我们在开发蓝牙产品的时候,作为master主设备,执行的蓝牙操作有设备扫描,蓝牙连接建立,发现服务,发现特征字,数据通信,连接断开等一系列的操作,本文将通过代码操作演示,详细说明Silicon Labs蓝牙SoC作为master主设备的时候,如何扫描蓝牙从设备。
【经验】芯科多协议SoC EFR32MG21在EmberZnet SDK 7.x中实现custom TOKEN功能
使用芯科多协议SoC EFR32MG21开发ZigBee产品,会用到custom TOKEN功能保存一些数据,但在EmberZnet SDK 7.x下实现这个功能时,如果按提示定义custom TOKEN编译时会出错,无法通过编译。
电子商城
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
可根据用户的wifi模块,使用无线连接测试仪MT8862A,测试IEEE802.11a/b/g/n/ac (2.4Ghz和5Ghz)设备的TX、RX射频特征,输出测试报告。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
根据用户的蓝牙模块,使用Bluetooth 蓝牙测试装置MT8852B,测试蓝牙1.0至5.1,包括传输速率、功率、频率、调制和接收机灵敏度,生成测试报告。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
查看全部1条回复