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

许多熟悉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,是智能照明的首选无线连接方案。

蔚来公布补贴下降的新政策 鼓励整体高技术含量的产品
荣耀9什么时候上市最新消息:都是主打高颜值高配置!华为荣耀9来了,要和小米6撕逼了!
贝加莱打造的SuperTrak与ABB机器人无缝集成
沈义人:《融合万物,连接未来——全面迎接5G时代》的主题演讲
无人机反制枪实现对无人机的管控
EFR32研发测试与评估方法(基于Railtest, ZigBee)(以NB-MMD44A为例)
用AI绘制细胞图谱 可提早诊断老化相关疾病
威航科技推出高效能Venus638FLPx GPS单芯片
「自行科技」用视觉算法助力安全出行
报警系统发展面临多重瓶颈 应用水平一直停滞不前
骁龙720加入NPU神经网络计算单元 专注AI加速
贴片电容怎么测量好坏
冲强光杀菌机器人强势来袭 没有它杀不死的病毒
当鸿蒙OS遇上电视 华为智慧屏引领电视由显示竞争转向智慧竞争
低功耗!E104-BT05 蓝牙转串口透传模块
施密特触发器原理图解详细分析
(TOSHIBA)东芝光耦:DIP8(LF1)封装
如果CPU坏了会发生什么?
哪款U盘最值得购买
安卓线、TypeC线、苹果线...为什么会有这么多数据线?