泰芯AH性能测试方法
Chinese only修订记录
日期 | 版本 | 描 述 | 修订人 |
2026-4-29 | V2.6 | 将at+命令都改成小写; | WY |
2025-7-1 | V2.5 | 增加测试载波频率的命令序列; | WY |
2025-2-25 | V2.4 | 修改at+tx_mcs的描述; | WY |
2024-5-28 | V2.3.1 | 删掉新行模式的图; | WY |
2024-3-12 | V2.3 | 修改灵敏度测试和各个信道实测的方法; | WY |
2024-1-11 | V2.2 | 修改灵敏度测试的说明; | WY |
2023-9-3 | V2.1 | 增加各个信道实测的方法说明; | WY |
2023-6-12 | V2.0 | 增加基于仪器的测试项目; | WY |
2022-7-24 | V1.2.2 | 修改笔误; | WY |
2022-2-18 | V1.2.1 | 修改logo; | XYJ |
2021-7-22 | V1.2 | 增加灵敏度测试说明; | WY |
2021-7-3 | V1.1 | 增加测试模式对测的说明; 增加板子底噪测试的说明; | WY |
2020-11-10 | V1.0 | Initial version; | WY |
1 概述
本文介绍了在有测试仪器或者没有测试仪器的情况下,如何测试方案板上AH模块的Tx/Rx性能是否正常。测试的结果可以做为方案板的性能改善的依据。
2 测试准备
2.1 串口设置
串口配置按照下图进行。
图2-1 串口参数配置
另外,请注意串口工具中选中新行模式,否则无法输入AT命令。
测验是否串口正常方法,输入at+,会打印如下图所示:
图2-2 输入at+的回显
如果没有这个打印,说明串口输入不对,需要联系我司FAE。
2.2 串口命令介绍
- 进入/退出测试模式
at+test_start=1 或 0
进入测试模式后,默认是做rx模式;
此命令掉电不保存;
- 设置中心频点
at+lo_freq=908000
单位是Khz,908000表示908M,921500表示921.5M;
此命令掉电不保存;
- 设置带宽
at+bss_bw=8 或 4 或 2 或 1
可以支持的4种带宽是8M、4M、2M、1M,建议设置值跟方案实际情况保持一致;
此命令掉电保存,注意修改后注意还原;
- 设置进入/退出Tx模式
at+tx_start=1 或 0
此命令掉电不保存;
- 设置MAC地址
at+mac_addr=0
进入测试模式做Rx测试需要将mac_addr设置为0;
此命令掉电不保存;
- at+tx_mcs=255 或 0~7 的任何一个值
默认的情况下tx_mcs=255,表示根据信道情况自动切换mcs;设置成0~7 的任何一个值表示固定成这个mcs;
在测试模式下255会用mcs7发送,做Tx/Rx测试时建议设置mcs=1,即固定为1,避免mcs7在Rx性能不好的时候解不出来导致测试结果不对;
此命令在V1.x SDK会掉电保存,注意在测试完成后将mcs还原成255,避免实际使用中固定成mcs1,固定成mcs1会影响实际使用;此命令在V2.x SDK不会掉电保存;
- 设置Channel list
at+chan_list=9080,9160,9240
此命令为设置要使用的channel列表,单位为100Khz,9080表示908M;根据方案实际情况设置;
此命令配置结果会掉电保存,注意测试后还原成原来的值;
- 启动背景噪声扫描
at+acs_start=1
此命令启动背景噪声自动扫描,可以看到各个channel背景噪声(bgr,backgroundrssi)的最小值(min),平均值(avg),最大值(max);
此命令掉电不保存;
3 测试项目
3.1 基于仪器进行的测试项
3.1.1 Tx线缆单音测试
- at+test_start=1 //进入测试模式
- at+lo_freq=915000 //这里以915M举例,建议覆盖工作频段的上下限
- at+tx_start=1 //使能tx
- at+tx_type=S //S表示single tone,默认应该发出-500kHz的信号,N表示Normal(调制信号)
- at+tx_cont=1 //连续发送,注意如果要修改Tx的参数,需要先退出连续发送
注意上面的测试命令,发出的是相对载波频率有一定频率偏移的单音,如果想测试载波频率,可以用下面的测试命令序列:
- at+test_start=1
- at+lo_freq=915000
- at+tx_cw=1 //打开连续载波模式
- at+tx_start=1
3.1.2 Tx线缆调制信号测试
图3-1 调制型号测试(频谱仪为N9020,带AH license)
测试命令:
- at+test_start=1 //进入测试模式
- at+bss_bw=8 //设置bss_bw,默认为8M,也可以改为2/4M;
- at+lo_freq=915000 //这里以915M举例,建议覆盖工作频段的上下限
- at+tx_pwr_super=1 //将superpwr使能,在mcs0时可以输出25dbm,在mcs7时可以输出20dbm
- at+tx_mcs=0 //配置tx-mcs,一般可以测试mcs0和mcs7
- at+tx_start=1 //使能tx
频谱仪操作
- 按mode选择wlan
- 按input,补偿-31db(因为要接30db衰减器,和大约1db线损)
- 按mode setup选择11ah子模式
- 修改freq center与DUT的lo_freq一致
- 选择测试项目为modulation analysis,在measure setup/advance里面设置search time为50ms(默认值太小,锁定不到,星座图会闪)
注意事项,
- 频谱仪一定要连衰减器(30db),否则会烧坏仪器
- 注意观察打印,看芯片温度是否比较高,如果比较高说明散热差;
3.1.3 Rx线缆灵敏度测试
测试命令
- at+test_start=1 //进入测试模式
- at+bss_bw=8 //设置bss_bw,默认为8M,也可以改为2/4M;
- at+lo_freq=908000 //这里以908M举例,不能只测试一个点,需要覆盖工作频段所有信道
- at+tx_start=0 //关掉tx测试模式,默认是关的
信号源操作(信号源为E4438C,带AH license)
- PC通过网线连接到信号源,在信号源的utility选项中查看信号源的IP地址,通过wlan软件连接到信号源;
- 加载ah的配置文件,可以联系泰芯FAE获取;
- 修改发包间隔不小于1ms,设置频点,发射功率(先设置为-40dbm),bw,mcs等参数,download到信号源;
- 观察到DUT收包成功后,记录当前的收包个数,做为每个周期的信号源的发包数;
- 按local按键解除信号源的remote模式,调试输出功率,查看输出功率小到多少时,收对的包减到信号源发包数的90%(由于出错和漏包),观察rssi和evm;通常8M mcs7的灵敏度在-81dbm左右,8M mcs0可以到-95dbm;如果实测值跟预期值相差比较大,需要查原因;
- 修改测试频点,覆盖工作频段所有信道;
3.1.4 Rx空口灵敏度测试
将DUT(带天线)放到屏蔽箱,信号源也通过线缆接到内置于屏蔽箱的另一根天线,用灵敏度测试的方法看工作频段的各个频点的灵敏度是否有异常。注意DUT的天线跟实际使用情况应该一致,测试结果才比较接近正常使用的情况。
3.1.5 用测试盒替代仪器进行测试
如果没有仪器,可以用AH测试盒替代仪器,进行线缆或者空口的性能测试,具体方法可以参考测试盒的使用说明,以及前面几个基于仪器的测试项;
也可以把测试盒当作一个golden的设备,直接用串口来操作进行Tx-Rx对测(下面章节有介绍)。
注意测试盒内部加了约48db的衰减(文档和盒子上的标注可能不太统一,实际是约48db)。
3.2 不基于仪器的测试项
3.2.1 Tx-Rx对测
在没有AH专用测试仪器的情况下,为了方便方案板的测试,排查Tx和Rx性能不好的问题,可以考虑用两个方案板Tx-Rx对测的方式。
建议测试Tx方的时候确保Rx方是ok的,反过来也是。
如果Tx-Rx方通过射频线缆连接,建议中间串50db左右的衰减器,如果不接衰减器,接收的能量会太大导致测试不准确;如果Tx-Rx方都接天线,建议两个样机间隔1米以上,避免太近导致接收能量太大。
Tx方测试命令序列如下:
- at+test_start=1 //进入测试模式
- at+lo_freq=908000 //这里以908M举例,以实际AH模块的支持频点为准
- at+bss_bw=8 //这里以带宽8M距离,以方案的实际使用带宽为准
- at+mac_addr=0 //将mac地址清0
- at+tx_start=1 //使能tx,进入tx模式
- at+tx_mcs=1 //设置mcs=1
Rx方测试命令序列如下:
- at+test_start=1 //进入测试模式
- at+lo_freq=908000 //这里以908M举例,以实际模块的支持频点为准
- at+bss_bw=8 //这里以带宽8M举例,以方案的实际使用带宽为准
- at+mac_addr=0 //将mac地址清0
结果分析:
(1)如果Tx-Rx两方的接收和发送都正常,打印如图3-2a和3-2b所示。
图3-2a Tx-Rx都正常时的Tx方的打印
图3-2b Tx-Rx都正常时的Rx方的打印
- 如果Rx方的收包数量很少,可能是Tx方的发送不正常;
- 如果Rx方的收包是正常的,但是Tx方收到的应答包很少,说明Rx方的发送可能有问题;
- 如果一方的发送能够确认是没问题的,但是对方的rssi和evm都不好,可能是这一方的接收性能有问题;
3.2.2 灵敏度测试
可以用Tx-Rx对测的方法来测试接收方的灵敏度,需要借助测试盒,可变衰减器和屏蔽箱(如果没有屏蔽箱,就会遇到干扰导致灵敏度测试不准;如果没有可变衰减器,可以调整测试盒的发送功率)。
测试灵敏度的时候,先让测试盒做Tx(放屏蔽箱外),DUT做Rx(放屏蔽箱内)。先让DUT的RSSI在-40dbm左右,记录一个打印周期的收包数(正常情况下应该全是对的),然后增加衰减器,看看RSSI小到多少时,收对的包(收到的包-收错的包)减到刚才信号大时记录收包数的90%,观察rssi和evm(不需要关注测试盒的PER,这个是DUT没回ACK导致的)。图3-3是AH模块的线缆灵敏度测试值。
对于样机,可以考虑直接测试空口的灵敏度。测试盒通过线缆接到屏蔽箱,然后箱体内部接天线把测试盒的信号辐射给DUT。空口灵敏度的情况会通常会比线缆灵敏度恶化几个db,如果恶化太多建议排查问题,优化硬件设计。建议所有备选的信道都测试。
图3-3 AH模块的线缆灵敏度测试值
如果没有可调衰减器,可以通过调整测试盒内部的Tx功率档位来调小发送信号,实现衰减的目的。通过at+tx_pwr_max=5或4或3粗调(第4档比第5档小15db,第3档比第4档小15db),再通过at+txpower=6~20细调(step=1,对5/4/3档都有效)。如果信号还不够小,可以再加个固定衰减。
同时,也可以关注样机天线的频率特性,就是测试盒的默认发送功率(tx_pwr_max=5,at+txpower=20)来发包,遍历所有备选信道,看样机的各个信道的RSSI一致性如何。如果一致性不好,有些频点RSSI偏小较多,可能会导致通信异常。
3.2.3 背景噪声扫描
可以通过at+acs_start=1命令来扫描方案板emi带来的背景噪声bgr。
通常是接天线进行bgr的扫描,因为天线可以收到方案板的emi噪声,射频线缆会屏蔽emi噪声,导致结果比天线要好很多。
测试时尽量远离板外干扰源,例如基站的干扰,和别的板子的干扰,如果有屏蔽箱就比较好。
输入at+acs_start=1,可以看到串口回显为如图2-5所示。
Channel list中所有的频点会进行全部扫描,每个频点的扫描次数决定于带宽,例如8M带宽会扫描8次,4M带宽会扫描4M等;
Bgr扫描结果可以看到min / avg / max几列,建议重点关注avg,其次是max;
通常8M带宽下,bgr-avg在<-90算是比较ok,如果>-90建议考虑整改硬件的EMI;4M的情况要在8M上-3db来看,即bgr-avg在<-93算是比较ok,如果>-93建议考虑整改;2M的情况要在8M上-6db来看,即bgr-avg在<-96算是比较ok,如果>-96建议考虑整改;1M的情况要在8M上-9db来看,即bgr-avg在<-99算是比较ok,如果>-99建议考虑整改。
图3-4 acs的扫描结果
举例说明一个EMI导致不好的方案板情况:屏幕机在点亮屏幕时和熄灭屏幕时的扫频结果相差很大,如图3-5a和图3-5b所示。
图3-5a 屏幕点亮的扫频情况
图3-5b 屏幕熄灭的扫频情况
这个case里面,开关屏幕时bgr-avg的值差别不太大,但是bgr-max的值相差很多,接近15db,实际用仪器测试板子的Rx灵敏度也是差15db,跟bgr-max的差别基本吻合。
所以这个case要建议查找点亮屏幕时的EMI源头以及如何规避。
3.2.4 各个信道实测
在屏蔽箱内测试背景噪声,是利用AH的测试模式进行的。测试模式下可能还不够接近方案真实的底噪情况,因为跟主控的接口没有完全动起来,主控那边可能也有些EMI会在真正的方案运行中才出来,所以可以考虑在实际的方案下,遍历各个信道进行测试,看每个信道运行的情况是否正常。由于这个测试不好在屏蔽环境测试,要先确认环境没有明显的干扰。
大概的测试思路是,拉一个方案需要的距离,可以不用特别极限,但是要足够远,信号不强了,例如rssi-70dbm左右,看每个信道的通信情况,可以用画面的流畅度,或者应用层统计的丢包率,评估每个信道是否能正常工作。如果发现有的信道正常,有的信道明显卡顿,可以做进一步分析,判断是外部环境噪声干扰导致的,还是板级噪声EMI导致的。如果是板级EMI导致的,可以看是否好消除。如果好消除尽量消除,使得可用的信道尽可能多;如果不好消除,可以考虑把这个信道从chan_list中删掉(注意AP和STA的chan_list要保持一致,同步删除坏信道)。
下面介绍正常方案中手动切信道,实现遍历信道测试的方法。通过下面几个AT+命令:
- at+cs_en=0:关掉自动切频,避免影响手动切频的测试结果;
- at+cs_num=xxx:手动设置切频的频点,以700M为基点,如果要设置频点为906,就是=206,如果设置922,就是=222;步进1Mhz(因为协议定义的bit数只8bit,所以只能表示1M步进);设置CS_NUM后,AP会和STA沟通在CS_CNT后一起切到CS_NUM对应的频点;
- at+cs_cnt=10:手动设置切频的倒计时beacon周期数(默认10即可),设置在10个beacon周期后AP和STA同步执行切频,可以保持连线;
这几个命令都在AP端设置;都设置完后,过一会打印就可以看到切频成功了,再观察图像是否卡顿即可。