今日头条
许多熟悉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,是智能照明的首选无线连接方案。
全部0条评论
快来发表一下你的评论吧 !