Adaptivity 测试

支持的芯片

Ameba SoC

RTL8721Dx

RTL8726E

RTL8720E

RTL8730E

FreeRTOS

Y

Y

Y

Y

Linux

Y

N

N

Y

Adaptivity 测试概述

标准

Adaptivity 是一种自动信道接入机制,通过该机制,设备可以在检测到信道中已有传输的情况下,自动避免在该信道上进行传输。任何设备若其声明的最大射频输出功率水平超过 10 dBm e.i.r.p.,都要求实施 Adaptivity 协议。

自 2017 年 12 月 31 日起,ETSI 开始要求 Adaptivity 认证。相关标准包括适用于 2.4GHz 频段的 ETSI EN 300 328 V2.2.2,以及适用于 5GHz 频段的 ETSI EN 301 893 V2.1.1。

ETSI 规定了 Adaptivity 测试过程如下:

  1. 建立 DUT(待测设备)与陪测设备的连接,并开始数据传输。

  2. 添加干扰信号。在 2G 测试中,还需加入超出带宽长度的阻塞信号。

  3. 检查 DUT 是否停止数据传输。

  4. 在此期间,DUT 仅允许向陪测设备发送 ACK 包,其他类型的包均不允许发送。

  5. 确认测试是否通过。

    • 2G 测试通过标准:在 50ms 内,Tx 占空比不得超过 10%。如果满足,通过;否则失败

    • 5G 测试通过标准:在 50ms 内,Tx 占空比不得超过 5%。如果满足,通过;否则失败

  6. 在不同的信道、带宽和 802.11 模式下重复以上步骤。

干扰功率

ETSI 规定的能量侦测公式如下:

2G: TL = -70dBm/MHz + 10*log10(100mW/Pout)
5G: TL = -75dBm/MHz

备注

Pout 为 DUT 的最大发送功率。干扰信号的带宽必须大于 DUT 的带宽,且具有 100%的占空比。

Realtek 在实验室内以最严苛的条件进行测试。

2G: TL = -70dBm/MHz
5G: TL = -75dBm/MHz

下表展示了不同频率和带宽下的干扰功率阈值。当干扰功率超出阈值时,MAC 层将暂停数据传输。

项目

2G

5G

20MHZ

40MHZ

20MHZ

40MHZ

80MHZ

160MHZ

干扰功率(dBm)

-57

-54

-62

-59

-56

-53

以下章节会详细阐述软件配置和调试的标准操作程序,这对于成功通过 Adaptivity 测试至关重要。

软件配置

EDCCA 模式

Ameba 支持四种 EDCCA 模式:

模式

描述

RTW_EDCCA_NORM

根据实时 RSSI 测量值动态调整 EDCCA 阈值(默认模式)

RTW_EDCCA_ADAPT

ETSI Adaptivity 测试模式,固定 EDCCA 阈值

RTW_EDCCA_CS

日本 Carrier Sense 测试模式

RTW_EDCCA_DISABLE

不使能 EDCCA 检测模式

EDCCA 模式类型在文件 wifi_api_types.h 中定义, 该文件位于 component/wifi/api/wifi_api_types.h

/*EDCCA 模式类型枚举值*/
enum rtw_edcca_mode {
   RTW_EDCCA_NORM = 0, /* normal*/
   RTW_EDCCA_ADAPT = 1, /* Adaptivity, ETSI*/
   RTW_EDCCA_CS = 2, /*carrier sense, Japan*/
   RTW_EDCCA_DISABLE = 9, /*disable*/
}
  • 静态配置

    文件路径: component/soc/usrcfg/amebadplus/ameba_wificfg.c

函数名:wifi_set_user_config()

  • 对于 ETSI Adaptivity 测试,将 EDCCA 模式配置为 RTW_EDCCA_ADAPT

    wifi_user_config.rtw_edcca_mode = RTW_EDCCA_ADAPT;
    
  • 对于 Carrier Sense 测试,将 EDCCA 模式配置为 RTW_EDCCA_CS

    wifi_user_config.rtw_edcca_mode = RTW_EDCCA_CS;
    

该配置将于 Wi-Fi 初始化过程中生效。

  • 动态配置

    不支持。

EDCCA 门限

在与 AP 建立连接后,使用以下命令获取当前的 EDCCA 阈值:

AT+WLDBG=get_edcca_th

在大多数场景中,默认配置足以满足 Adaptivity 测试的要求。如需进行调整,请通过以下命令来修改 EDCCA 阈值:

AT+WLDBG=fix_edcca_th <value>

备注

该值的单位是 dBm,范围是 [-60, -80],最小调整步长为 1。

示例:

AT+WLDBG=get_edcca_th
[WLDBG]: _AT_WLAN_IWPRIV_
[WLAN-A] [iwpriv_command] cmd name: get_edcca_th
[WLAN-A] edcca thre=-60 dbm

AT+WLDBG=fix_edcca_th -62
[WLDBG]: _AT_WLAN_IWPRIV_
[WLAN-A] [iwpriv_command] cmd name: fix_edcca_th

调试 SOP

检查项

注意点

测试 SDK

  • SDK是普通模式,不是 MP 模式

  • EDCCA 模式配置成 RTW_EDCCA_ADAPT

测试环境

  • 测试应在屏蔽室内进行

  • 将所有天线连接到受控干扰源

  • 当存在漏包时,确认 DUT Tx 包的类型不是 ACK

  • 将设备的 RSSI 保持在 -50dBm 或更高

  • Adaptivity 测试评估的是 DUT 的 Tx 性能,而非 Rx

  • 干扰信号功率以 dBm 为单位测量,而不是 dBm/MHz

调整 EDCCA 阈值

使用 ATWZ 命令可以修改 EDCCA 阈值

国家码设置

TBD

发送功率设置

TBD

DFS

TBD