V2.6 / 指南 / 中文

泰芯AH性能测试方法

C:\Users\69444\Desktop\微信图片_20220218101048.png微信图片_20220218101048

修订记录

日期

版本

描 述

修订人

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 串口命令介绍

  1. 进入/退出测试模式

at+test_start=1 或 0

进入测试模式后,默认是做rx模式;

此命令掉电不保存;

  1. 设置中心频点

at+lo_freq=908000

单位是Khz,908000表示908M,921500表示921.5M;

此命令掉电不保存;

  1. 设置带宽

at+bss_bw=8 或 4 或 2 或 1

可以支持的4种带宽是8M、4M、2M、1M,建议设置值跟方案实际情况保持一致;

此命令掉电保存,注意修改后注意还原;

  1. 设置进入/退出Tx模式

at+tx_start=1 或 0

此命令掉电不保存;

  1. 设置MAC地址

at+mac_addr=0

进入测试模式做Rx测试需要将mac_addr设置为0;

此命令掉电不保存;

  1. 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不会掉电保存;

  1. 设置Channel list

at+chan_list=9080,9160,9240

此命令为设置要使用的channel列表,单位为100Khz,9080表示908M;根据方案实际情况设置;

此命令配置结果会掉电保存,注意测试后还原成原来的值;

  1. 启动背景噪声扫描

at+acs_start=1

此命令启动背景噪声自动扫描,可以看到各个channel背景噪声(bgr,backgroundrssi)的最小值(min),平均值(avg),最大值(max);

此命令掉电不保存;

3 测试项目

3.1 基于仪器进行的测试项

3.1.1 Tx线缆单音测试

        1. at+test_start=1 //进入测试模式
        2. at+lo_freq=915000 //这里以915M举例,建议覆盖工作频段的上下限
        3. at+tx_start=1 //使能tx
        4. at+tx_type=S //S表示single tone,默认应该发出-500kHz的信号,N表示Normal(调制信号)
        5. at+tx_cont=1 //连续发送,注意如果要修改Tx的参数,需要先退出连续发送

注意上面的测试命令,发出的是相对载波频率有一定频率偏移的单音,如果想测试载波频率,可以用下面的测试命令序列:

        1. at+test_start=1
        2. at+lo_freq=915000
        3. at+tx_cw=1 //打开连续载波模式
        4. at+tx_start=1

3.1.2 Tx线缆调制信号测试

1344c1e2cbdc14655e2f1c6bcb8f42c

图3-1 调制型号测试(频谱仪为N9020,带AH license)

测试命令:

        1. at+test_start=1 //进入测试模式
        2. at+bss_bw=8 //设置bss_bw,默认为8M,也可以改为2/4M;
        3. at+lo_freq=915000 //这里以915M举例,建议覆盖工作频段的上下限
        4. at+tx_pwr_super=1 //将superpwr使能,在mcs0时可以输出25dbm,在mcs7时可以输出20dbm
        5. at+tx_mcs=0 //配置tx-mcs,一般可以测试mcs0和mcs7
        6. at+tx_start=1 //使能tx

频谱仪操作

        1. 按mode选择wlan
        2. 按input,补偿-31db(因为要接30db衰减器,和大约1db线损)
        3. 按mode setup选择11ah子模式
        4. 修改freq center与DUT的lo_freq一致
        5. 选择测试项目为modulation analysis,在measure setup/advance里面设置search time为50ms(默认值太小,锁定不到,星座图会闪)

注意事项,

        1. 频谱仪一定要连衰减器(30db),否则会烧坏仪器
        2. 注意观察打印,看芯片温度是否比较高,如果比较高说明散热差;

3.1.3 Rx线缆灵敏度测试

测试命令

        1. at+test_start=1 //进入测试模式
        2. at+bss_bw=8 //设置bss_bw,默认为8M,也可以改为2/4M;
        3. at+lo_freq=908000 //这里以908M举例,不能只测试一个点,需要覆盖工作频段所有信道
        4. at+tx_start=0 //关掉tx测试模式,默认是关的

信号源操作(信号源为E4438C,带AH license)

        1. PC通过网线连接到信号源,在信号源的utility选项中查看信号源的IP地址,通过wlan软件连接到信号源;
        2. 加载ah的配置文件,可以联系泰芯FAE获取;
        3. 修改发包间隔不小于1ms,设置频点,发射功率(先设置为-40dbm),bw,mcs等参数,download到信号源;
        4. 观察到DUT收包成功后,记录当前的收包个数,做为每个周期的信号源的发包数;
        5. 按local按键解除信号源的remote模式,调试输出功率,查看输出功率小到多少时,收对的包减到信号源发包数的90%(由于出错和漏包),观察rssi和evm;通常8M mcs7的灵敏度在-81dbm左右,8M mcs0可以到-95dbm;如果实测值跟预期值相差比较大,需要查原因;
        6. 修改测试频点,覆盖工作频段所有信道;

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方测试命令序列如下:

          1. at+test_start=1 //进入测试模式
          2. at+lo_freq=908000 //这里以908M举例,以实际AH模块的支持频点为准
          3. at+bss_bw=8 //这里以带宽8M距离,以方案的实际使用带宽为准
          4. at+mac_addr=0 //将mac地址清0
          5. at+tx_start=1 //使能tx,进入tx模式
          6. at+tx_mcs=1 //设置mcs=1

Rx方测试命令序列如下:

          1. at+test_start=1 //进入测试模式
          2. at+lo_freq=908000 //这里以908M举例,以实际模块的支持频点为准
          3. at+bss_bw=8 //这里以带宽8M举例,以方案的实际使用带宽为准
          4. at+mac_addr=0 //将mac地址清0

结果分析:

(1)如果Tx-Rx两方的接收和发送都正常,打印如图3-2a和3-2b所示。

图3-2a Tx-Rx都正常时的Tx方的打印

图3-2b Tx-Rx都正常时的Rx方的打印

  1. 如果Rx方的收包数量很少,可能是Tx方的发送不正常;
  2. 如果Rx方的收包是正常的,但是Tx方收到的应答包很少,说明Rx方的发送可能有问题;
  3. 如果一方的发送能够确认是没问题的,但是对方的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,如果恶化太多建议排查问题,优化硬件设计。建议所有备选的信道都测试。

8f078c5820850c23ed22ef1459a2dd9

图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所示。

816d2ba0dfb5e3cc6cc8253afa0bc73

图3-5a 屏幕点亮的扫频情况

0220e80c4cf5056b92e75d648463b5f

图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+命令:

  1. at+cs_en=0:关掉自动切频,避免影响手动切频的测试结果;
  2. at+cs_num=xxx:手动设置切频的频点,以700M为基点,如果要设置频点为906,就是=206,如果设置922,就是=222;步进1Mhz(因为协议定义的bit数只8bit,所以只能表示1M步进);设置CS_NUM后,AP会和STA沟通在CS_CNT后一起切到CS_NUM对应的频点;
  3. at+cs_cnt=10:手动设置切频的倒计时beacon周期数(默认10即可),设置在10个beacon周期后AP和STA同步执行切频,可以保持连线;

这几个命令都在AP端设置;都设置完后,过一会打印就可以看到切频成功了,再观察图像是否卡顿即可。