EFR32研发测试与评估方法(基于Railtest, ZigBee)(以NB-MMD44A为例)

今日头条

1100人已加入

描述


许多熟悉CC2530的用户都会想通过SmartRF Studio工具来测试产品的发射功率,通信误包率等参数,也可以简单的评估通信距离等,将产品切换到EFR32MG系列时,没有类似的PC工具可以使用,因此感觉难于进行硬件性能测试,Newbitinfo写本文之目的在于介绍EFR32硬件测试方法,以减少读者的困惑。

首先是Silicon Labs没有提供SmartRF Studio这样的可视化工具,因此必须借助命令行工具进行测试,所能进行的测试项目相当。 测试前先要使用Simplicity Studio v4生成和编译对应芯片的 Railtest固件,具体方法请自行搜索方法。

Railtest固件虽然没有可视化界面,但其功能十分强大,主要有:

发送和接收数据包

时间表在RAIL时基中的特定时间传输

配置RAIL地址过滤以仅接收特定数据包

启用CCA机制(CSMA / LBT)以在传输之前验证信道是否清除

RAIL时基中设置计时器回调,以查看RAIL计时器API的工作原理

在当前配置的频段内更改传输通道

改变发射功率电平

2.4 GHz和/或Sub-GHz频段内启用指定持续时间的RF能量感测,并在此事件时休眠。

输出连续的未调制音调以进行调试

输出连续调制的PN9流以进行调试

进入直接模式,可以使用异步GPIO作为输入和输出来发送和接收数据。

完整的railtest使用说明在SDK中,通常存放于路径:

X:SiliconLabsSimplicityStudio
4developersdksgecko_sdk_suite
2.6protocol
lexdocumentation

X表示用户的SKD安装盘符。

假定目标的IO定义为

IO口设置

将生成的固件下载到目标板,接线方式参考上表。

下载后使用串口工具,大部分的串口工具都可以使用,串口工具里回车要能够配置或者本身默认为“ ”,如果在windows10系统中,推荐串口工具 ”串口调试助手“,可从windows  store下载。该工具支持预定义指令列表,更为方便后续的测试。如果你没有这个工具,只需要输入相同的指令即可,每条指令都要带上回车。

 、串口工具连接芯片

串口工具默认配置为界面如下,如果工具不同,请注意保持参数一致。

串口工具默认配置

将调试目标与电脑PC连接以后,输入指令

help

   u=uint8, v=uint16, w=uint32, s=int32, b=string, ?=Anything, *=0 or more of previous

--- Application Configuration ---

……………………………… // 这里返回非常多的内容,初次使用可稍作阅读

 如果能够得到帮助信息,表示设备已经连接成功。

  测试发射功率及频偏

连接频谱仪测试发射功率是研发测试中常见而且必要的工作,如何将产品连接仪器和使用仪器本文不作介绍,请自行搜索解决。

在连接仪器后,可以将频率中心点设置为2405MHz, 扫描带宽100MHz,参考发射功率22dBm,然后在串口助手中依次输出以下指令(带回车)。

rx 0

config2p4GHz802154

settxtone 1

  然后在仪器可以看到一个稳定的载波输出,此时可以读得射频的发射功率,中心频点等。在这里也是进行射频匹配和频偏调整是最常见的方法。

退出载波发送模式

    settxtone 0

注: EFR32MG芯片可以从内部调整CTUNE,以改变中心频率。

 误包率测试

使用两个节点进行通信,可以初始评估产品是否适合于当前的工作环境,类似于 TI SmartRF Studio软件,Railtest可以直接在两个测试点之间通信,通过统计通信信息,可以看到通信是否可靠。 在节点通信过程中,每一个数据包都会在串口工具显示出来。

一个数据包的完整信息如下:

{{(rxPacket)}{len:9}{timeUs:2428125748}{crc:Pass}{rssi:-75}

{lqi:0}{phy:0}{isAck:False}{syncWordId:0}{antenna:0}{channelHopIdx:254}

{payload: 0x0a 0x03 0x08 0x1d 0xff 0xff 0xff 0xff 0x07}}

这当中有RSSI值,CRC校验结果,以及数据载荷等内容。

发送的节点可以使用指令。

rx 0

tx 100 //100表示发送100个数据包。

在接收端应该确保处于接收模式,不能在发送模式,也不能在载波发送模式。进入接收模式的指令如下:

rx 1

 在即定的数据发送完成后,可以通过以下指令读回本轮通信的结果

status

{{(status)}{UserTxCount:1}{AckTxCount:0}{UserTxAborted:0}{AckTxAborted:0}{UserTxBlocked:0}{AckTxBlocked:0}{UserTxUnderflow:0}{AckTxUnderflow:0}{RxCount:223}{SyncDetect:1396}{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:11}{AppMode:None}{TimingLost:0}{TimingDetect:0}{FrameErrors:1173}{RxOverflow:0}{AddrFilt:0}{Aborted:0}{RxBeams:0}{DataRequests:0}{Calibrations:2}{TxChannelBusy:0}{TxClear:0}{TxCca:0}{TxRetry:0}}

本例中显示已经接收到223个数据包。通过对比发送数据与接收数据包数,以及分析接收端单个数据的接收质量,即可初始判断硬件性能。

当然railtest还有许多更加功能,比如角本实现自动化序列测试等功能,需要用户自已去探索,由于zigbee硬件的测试步骤较为复杂,而各家芯片公司推出的工具又不尽相同,需要用户在上手阶段多一些耐心和坚持,深入的理解工具,即能帮助到研发人员,也有助于后续优化产测流程。

注:

本例中所有实验在开发工具可正常运行。

如果目标板上有用到PD02 PD03且产生输入跳变,则可能会导致测试无法进行。

测试用例运行于开发工具

Silicon Labs带来全新的EFR32MG21A系列多协议芯片,支持ZigBee, BLE, Thread,采用40nm工艺,-104.5dBm超高接收灵敏度,直接输出20dBm信号无需PA, 4mmx4mm的小封装,工业级温度标准,最大1M flash, 96K ram, 1.71V ~ 3.8V宽电压工作范围,深圳市新一信息技术有限公司集成硬件加密单元,支持ADC和PWM,是智能照明的首选无线连接方案。

 


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分