前言

概述

本文档主要介绍BS2XV100的射频非信令相关的测试指令和指令的组包示例,测试前务必阅读注意事项。

产品版本

与本文档相对应的产品版本如下。

产品名称

产品版本

BS2X

V100

读者对象

本文档主要适用于以下工程师:

  • 技术支持工程师。

  • 软件开发工程师。

符号约定

在本文中可能出现下列标志,它们所代表的含义如下。

符号

说明

表示如不避免则将会导致死亡或严重伤害的具有高等级风险的危害。

表示如不避免则可能导致死亡或严重伤害的具有中等级风险的危害。

表示如不避免则可能导致轻微或中度伤害的具有低等级风险的危害。

用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。

“须知”不涉及人身伤害。

对正文中重点信息的补充说明。

“说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。

修改记录

文档版本

发布日期

修改说明

04

2025-05-30

  • 更新“常发指令”小节内容。
  • 更新“常收指令”小节内容。
  • 更新“常发指令”小节内容。
  • 更新“常收指令”小节内容。
  • 更新“常发常收停止指令”小节内容。

03

2025-01-14

更新“常发指令”小节内容。

02

2024-08-29

  • 更新“射频测试相关AT指令一览表”、“射频单音”、“CTRIM校准值写入EFUSE / FLASH指令”、“CFO动态校准上报(可选)”小节内容。
  • 更新“AT指令组包示例”小节内容。
  • 更新“部分指令返回值为十六进制”、“串口回复说明”、“星闪协议频点表”小节内容。

01

2024-05-24

第一次正式版本发布。

  • 更新“射频测试相关AT指令一览表”小节内容。
  • 新增“RT201 FEM使能(可选)”小节内容。

00B05

2024-03-29

更新“BLE业务使能”小节内容。

00B04

2024-03-15

  • 更新“射频测试相关AT指令一览表”小节内容。
  • 更新“BLE射频测试相关AT指令描述”小节内容。
  • 更新“SLE射频测试相关AT指令描述”小节内容。

00B03

2024-01-18

更新“AT指令组包示例”章节内容。

00B02

2023-12-28

更新“常发指令”小节内容。

00B01

2023-11-01

第一次临时版本发布。

射频测试AT指令

射频测试相关AT指令一览表

指令

描述

a testsuite_sw_at

从testsuite进入AT模式(最新版本删除)。

AT+TESTSUITE

退出AT模式。(最新版本删除)

AT+BLEENABLE

BLE业务使能

AT+BLEFACCALLBACK

注册BLE命令上报回调(没有相应退出操作)。

AT+BLETX

BLE常发指令。

AT+BLERX

BLE常收指令。

AT+BLETRXEND

BLE常发、常收停止指令。

AT+BLERST

BLE软件复位指令。

AT+SLEENABLE

SLE使能指令(没有相应退出操作)。

AT+SLEFACCALLBACK

注册SLE命令上报回调(没有相应退出操作)。

AT+SLETX

SLE常发指令。

AT+SLERX

SLE常收指令。

AT+SLETRXEND

SLE常发、常收停止指令。

AT+SLERST

SLE软件复位指令。

AT+BTRFCALI

射频自校准指令。

AT+BTTXLO

射频单音指令。

AT+XOREGVAL

读取当前校准寄存器配置指令。

AT+XOCALI

晶体频偏校准指令。

AT+XOSETEFUSE

频偏校准值写EFUSE指令。

AT+XOSETFLASH

频偏校准值写FLASH指令。

AT+FEMENABLE

RT201 FEM配置使能(重启生效)。

AT+SLECFORPT

SLE测试模式对通场景cfo上报指令。

AT+SLECFORSSI

设置SLE测试模式对通场景cfo上报的rssi门限。

通用AT指令

说明: 若当前软件版本同时支持testsuite模式和AT模式,则两种模式串口复用,需要通过以下两条指令相互切换,如果当前版本只支持其中一种模式,则忽略本章节。

进入AT模式

格式

a testsuite_sw_at

响应

[TEST_PASSED!]

  • 成功:OK
  • 失败:[TEST_FAILED : ERROR CODE]

示例

a testsuite_sw_at

注意

上电时如果默认为testsuite模式,需要由testsuite模式切换到AT模式,测试AT指令的前置条件。

退出AT模式

格式

AT+TESTSUITE

响应

  • 成功:OK
  • 失败:ERROR

示例

AT+TESTSUITE

注意

由AT模式切到testsuite模式。

BLE射频测试相关AT指令描述

BLE测试建议流程

图 1 BLE产测AT测试流程

BLE业务使能

格式

AT+BLEENABLE

响应

[ACore] ble enable cbk in, result:0

ble enable

  • 成功:OK
  • 失败:ERROR

示例

AT+BLEENABLE

回复:

OK

注意

在进行BLE所有指令前,必须先执行BLE使能指令,使能BLE相关业务接口。

本使能指令没有相应退出操作,测试BLE指令的前置条件之一。

上电后发一次即可,重复发易出现问题。

BLE注册回调

格式

AT+BLEFACCALLBACK

响应

  • 成功:OK
  • 失败:ERROR

示例

AT+BLEFACCALLBACK

注意

BLE测试前先注册上报回调,否则业务指令没有上报状态打印。没有相应退出操作,测试BLE指令的前置条件,上电后发一次即可,重复发易出现问题。

常发指令

格式

AT+BLETX=<freq>,<payload_len>,<payload_type>,<phy>

响应

  • 成功:OK

    status:0x0

    注意:status为非0值表示该指令执行出错。

  • 失败:ERROR

    ERROR原因:指令不支持或格式错误。

参数说明

  • <freq>:发送频点

    发送频率范围是(2N+2402)MHz,其中N即freq,范围0~39,频率有效范围为2402MHz~2480MHz。

  • <payload_len>:包长度

    37~255 Byte,蓝牙Core_v5.3协议定义,如图1所示。

  • <payload_type>:发包模式

    0:PRBS9

    1:11110000

    2:10101010

    3:PRBS15

    4:11111111

    5:00000000

    6:00001111

    7:01010101

  • <phy>:PHY类型

    1:1M PHY

    2:2M PHY

    3:Coded PHY with S=8 data coding

    4:Coded PHY with S=2 data coding

示例

AT+BLETX=0,255,0,1

注意

参数为十进制,中间“,”不可省略。

图 1 BLE 非编码测试包结构

常收指令

格式

AT+BLERX=<freq>,<phy>,<modulation_index>

响应

  • 成功:OK

    status:0x0

    注意:status为非0值表示该指令执行出错。

  • 失败:ERROR

    ERROR原因:指令不支持或格式错误。

参数说明

  • <freq>:发送频点

    发送频率范围是(2N+2402)MHz,其中N即freq,范围0~39,频率有效范围2402MHz~2480MHz。

  • <phy>:PHY类型

    1:1M PHY

    2:2M PHY

    3:Coded PHY with S=8 data coding

    4:Coded PHY with S=2 data coding

  • < modulation_index >:调制指数

    0:Assume transmitter will have a standard modulation index

    1:Assume transmitter will have a stable modulation index

    2~256:Reserved

示例

AT+BLERX=0,1,0

注意

参数为十进制,中间“,”不可省略。

常发常收停止指令

格式

AT+BLETRXEND

响应

  • 成功:OK

    status:0x0, num_packets:0x3e8

  • 失败:ERROR

示例

AT+BLETRXEND

回复:

OK

status:0x0, num_packets:0x3e8

说明:在RX结束后发送收包指令得到回复num_packets:0x3e8说明收到1000包。

注意

停止RX时保证在仪表发完包后执行。

num_packet在RX结束后关注, num_packet:收包数。

为避免丢包,停止RX时要保证在仪表完成发包后执行。

BLE 复位指令

格式

AT+BLERST

响应

  • 成功:OK

    status:0x0

  • 失败:ERROR

示例

AT+BLERST

注意

BLE软件复位指令,在进行BLE RF测试前先发BLE复位指令恢复软件状态。

SLE射频测试相关AT指令描述

SLE测试建议流程

图 1 SLE产测AT测试流程

SLE使能指令

格式

AT+SLEENABLE

响应

[ACore] sle enable cbk in, result:0

[ACore] sle device discovery in, action:0

sle enable

  • 成功:OK
  • 失败:ERROR

示例

AT+SLEENABLE

回复:

OK

注意

在进行SLE所有指令前,必须先执行SLE使能指令。

本使能指令没有相应退出操作,测试SLE指令的前置条件之一。

上电后发一次即可,重复发易出现问题。

SLE注册回调

格式

AT+SLEFACCALLBACK

响应

[AT] sle factory register cbks.

  • 成功:OK
  • 失败:ERROR

示例

AT+SLEFACCALLBACK

注意

SLE测试前先注册回调,没有相应退出操作,测试SLE指令的前置条件之一。

上电后发一次即可,重复发易出现问题。

常发指令

格式

AT+SLETX=<freq>,<pwr>,<payload_len>,<payload_type>,<phy>,<format>,<TX_rate>,<pilot>,<polar>,<interval>

响应

  • 成功:OK

    general event report opcode[04]

    status:0

    注意:status为非0值表示该指令执行出错。

    常见场景,重复发送(不生效)status:b

  • 失败:ERROR

ERROR原因:指令不支持或格式错误。

参数说明

  • <freq>:发送频点

    0~78:射频信道号依次对应对应2402MHz~2480MHz,详见图1图2

  • <pwr>: 发送功率
    • GFSK:

      0:-4dBm

      1:-2dBm

      2:0dBm

      3:2dBm

      4:4dBm

      5:6dBm

    • QPSK/8PSK:

      0:-8dBm

      1:-6dBm

      2:-4dBm

      3:-2dBm

      4:0dBm

      5:2dBm

  • <payload_len>:包长度

    根据星闪协议,包长范围是0~255Byte

  • <payload_type>:发包模式

    0:PRBS9

    1:11110000

    2:10101010

    3:PRBS15

    4:11111111

    5:00000000

    6:00001111

    7:01010101

  • <phy>:PHY类型

    0: 1M

    1: 2M

    4: 4M

  • <format>:帧类型

    0:无线帧类型1

    2:无线帧类型2

    说明:无线帧类型1对应GFSK速率,无线帧类型2对应PSK速率

  • <TX_rate>:速率

    0:GFSK

    2:QPSK

    3:8PSK

  • <pilot>:导频

    0:无导频

    1:8:1

    2:4:1

    3:16:1

  • <polar>: 编码

    0:无编码

    2:3/4

  • <interval>: 间隔

    经验证间隔需要[6,255] (单位125μs), payload length为255Byte时,建议interval设置为50。

示例

AT+SLETX=0,5,255,0,1,2,2,0,0,50

注意

参数均为十进制,中间“,”不可省略。

常收指令

格式

AT+SLERX=<freq>,<phy>,<format>,<pilot>,<interval>

响应

  • 成功:OK

    status:0

    注意:status为非0值表示该指令执行出错。

    常见场景,重复发送(不生效)status:b

  • 失败:ERROR

参数说明

  • <freq>:发送频点

    0~78:射频信道号依次对应对应2402~2480 MHz,详见图1图2

  • <phy>:PHY类型

    0: 1M

    1: 2M

    4: 4M

  • <format>:帧类型

    0:无线帧类型1

    2:无线帧类型2

    说明:无线帧类型1对应GFSK速率,无线帧类型2对应PSK速率

  • <pilot>:导频

    0:无导频

    1:1:1

    2:4:1

    3:16:1

  • <interval>:间隔

    经验证间隔需要[6,255] (单位125μs), payload length为255Byte时,建议interval设置为50。

示例

AT+SLERX=0,0,0,0,50

注意

参数为十进制,中间“,”不可省略。

常发常收停止指令

格式

AT+SLETRXEND

响应

  • 成功:OK

    general event report opcode[06]

    status:0,num_packet:3e8,rssi:81

    注意:status为非0值表示该指令执行出错。

    常见场景,重复发送(不生效)status:b

  • 失败:ERROR

示例

AT+SLETRXEND

回复:

OK

sle radio frequency tx|rx end status:0x0,num_packet:0x3e8,rssi:0x81

说明:如仪表发1000包后发结束指令,测试RX的收报数为1000包(0x3e8),测试RX的接收能量rssi为-127dbm(0x81)

如果发TX后执行结束指令,则收报数为0, rssi为0。

注意

此指令在执行SLE RF TX、RX后需要停止时执行。

rssi和num_packet在RX结束后关注。

  • rssi:接收能量值;
  • num_packet:收包数。

为避免丢包,停止RX指令发送前要保证仪表已经完成发包

SLE 复位指令

格式

AT+SLERST

响应

  • 成功:OK

    general event report opcode[07]

    status:0

  • 失败:ERROR

示例

AT+SLERST

注意

软件复位指令。

射频单音

格式

AT+BTTXLO=<freq>,<mode>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <freq>: 频点

    0~78:射频信道号依次对应对应2402~2480 MHz,详见图1图2

  • <mode>:开关

    0:发单音;

    255:停止单音;

    其他值无效。

示例

  • AT+BTTXLO=4,0

    说明:在(2402+4)MHz发单音。

  • AT+BTTXLO=4,255

    说明:在(2402+4)MHz停止单音。

注意

1. 发单音后不会自动停止,测试TRX性能前需要发指令AT+BTTXLO=0,255停止单音,避免影响。

2. 最新版本单音不再打印status:0,且不再依赖BLE使能,不与BLE业务耦合,单SLE版本也可以使用发单音和停止单音指令。

XO 32M校准(可选)

执行CTRIM校准指令

格式

AT+ XOCALI=<increase>,<step_num>

响应

xo_ctrim_reg_val:0x0

  • 成功:OK
  • 失败:ERROR

参数说明

  • < increase >: 增加或减小电容值

    1:增加

    0:减小

  • < step_num >: 电容值调整步进

    取值范围[0,255],默认0(十进制)

示例

  • AT+ XOCALI=1,10

    返回值:

    xo_ctrim_reg_val:0x10

    OK

    说明:给电容增加10steps,具体效果通过发送单音或调制信号观测

  • AT+ XOCALI=0,20

    返回值:

    xo_ctrim_reg_val:0x0

    OK

    说明:电容在第一步增加10后减少20,超出范围,默认减为最小值0。

注意

超出[0,255]的步进无效,默认按照最大/最小配置寄存器,校准时无特殊环境约束。

步进和电容变化非严格线性变化,需要上位机程序使用二分法调整步进,通常常温频偏门限为±24kHz。

CTRIM校准值写入EFUSE / FLASH指令

格式

AT+ XOSETEFUSE

响应

efuse_val: 0x0

  • 成功:OK
  • 失败:ERROR

示例

AT+ XOSETEFUSE

返回值:

efuse_val: 0x2

说明:当前寄存器配置的电容步进为2,写入EFUSE成功后回读EFUSE值为0x2。

注意

由于EFUSE只能写入一次,根据回报值“efuse_val: 0x2“判断是否写入成功。

格式

AT+ XOSETFLASH

响应

flash_val: 0x2

  • 成功:OK
  • 失败:ERROR

示例

AT+ XOSETFLASH

返回值:

flash_val: 0x2

说明:当前寄存器配置的电容步进为2,写入FLASH成功后回读FLASH值为0x2。

注意

根据回报值“flash_val: 0x2“判断是否写入成功。

读取当前CTRIM寄存器配置

格式

AT+ XOREGVAL

响应

reg_val: 0x0

  • 成功:OK
  • 失败:ERROR

示例

AT+ XOREGVAL

返回值:

reg_val: 0x0

OK

说明:当前XO_CORE_CTRIM寄存器值为0x0。

注意

上电后默认从EFUSE中读出校准值应用到寄存器,若EFUSE为空,寄存器默认值为0x0。

CFO动态校准上报(可选)

说明: “XO 32M校准(可选)”中ctrim校准时需要用蓝牙综测仪或频谱仪观测定频信号的频谱,通过调整ctrim电容值来改变XO 32M频偏;如果没有仪表,则可以考虑本小节中CF0动态上报的校准方式,通过将DUT与一块golden板对通实现,具体流程见《BS2XV100 产测指导书》。

格式

AT+SLECFORPT

响应

[AT]sle CFO report:6

  • 成功:OK
  • 失败:ERROR

示例

AT+SLECFORPT

[AT]sle CFO report:6

OK

注意:"6"为十进制数,代表当前DUT比golden板频偏相差6*3.9kHz = 23.4kHz

注意

1. AT+SLEENABLE

2. AT+SLEFACCALLBACK

3. AT+SLERX=0,0,0,0,50 (2402MHz 1M GFSK)

测试前先通过以上3条指令使得DUT处于RX常收状态,然后通过CFO上报指令查看当前CFO值,上报值为十进制有符号数,校准门限为CFO∈[-6,6], 即±24kHz。

指令串口示例:

格式

AT+SLECFORSSI=<rssi>

响应

[AT]sle CFO rssi limit:-60

  • 成功:OK
  • 失败:ERROR

示例

AT+SLECFORSSI=-60

[AT]sle CFO rssi limit:-60

OK

注意:"-60"为十进制有符号数,代表当前DUT接收能量大于-60的信号作为cfo上报的依据,小于-60dBm的信号将被视为干扰信号。

注意

1. AT+SLEENABLE

2. AT+SLEFACCALLBACK

3. AT+SLERX=0,0,0,0,50 (2402MHz 1M GFSK)

测试前先通过以上3条指令使得DUT处于RX常收状态,然后通过CFO rssi 门限设置指令配置信号过滤门限,防止干扰信号影响上报结果。

指令串口示例:

RT201 FEM使能(可选)

说明: 本章仅供前端使用RT201型号的FEM模组的产品参考。

格式

AT+ FEMENABLE=<fem_switch>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<fem_switch>:发送频点

0:关闭fem配置;

1:使能fem配置。

示例

AT+ FEMENABLE=1

返回值:

OK

AT+ FEMENABLE=0

返回值:

OK

说明:入参写1使能fem配置,写0去使能,重启上下电后生效。

注意

使能fem的版本,由于fem器件限制输入功率,不能通过NV过指令自定义修改最大功率。

AT指令组包示例

以下为AT常发常收指令的组包示例

表 1 SLE TX 组包

调制速率

信道

指令组包

1M GFSK

2402

AT+SLETX=0,5,255,0,0,0,0,0,0,50

2440

AT+SLETX=38,5,255,0,0,0,0,0,0,50

2480

AT+SLETX=78,5,255,0,0,0,0,0,0,50

2M GFSK

2404

AT+SLETX=2,5,255,0,1,0,0,0,0,50

2440

AT+SLETX=38,5,255,0,1,0,0,0,0,50

2478

AT+SLETX=76,5,255,0,1,0,0,0,0,50

4M GFSK

2405

AT+SLETX=3,5,255,0,4,0,0,0,0,50

2441

AT+SLETX=39,5,255,0,4,0,0,0,0,50

2477

AT+SLETX=75,5,255,0,4,0,0,0,0,50

1M QPSK

2402

AT+SLETX=0,5,255,0,0,2,2,3,2,50

2440

AT+SLETX=38,5,255,0,0,2,2,3,2,50

2480

AT+SLETX=78,5,255,0,0,2,2,3,2,50

2M QPSK

2404

AT+SLETX=2,5,255,0,1,2,2,3,2,50

2440

AT+SLETX=38,5,255,0,1,2,2,3,2,50

2478

AT+SLETX=76,5,255,0,1,2,2,3,2,50

4M QPSK

2405

AT+SLETX=3,5,255,0,4,2,2,3,2,50

2441

AT+SLETX=38,5,255,0,4,2,2,3,2,50

2477

AT+SLETX=75,5,255,0,4,2,2,3,2,50

1M 8PSK

2402

AT+SLETX=0,5,255,0,0,2,3,3,2,50

2440

AT+SLETX=38,5,255,0,0,2,3,3,2,50

2480

AT+SLETX=78,5,255,0,0,2,3,3,2,50

2M 8PSK

2404

AT+SLETX=2,5,255,0,1,2,3,3,2,50

2440

AT+SLETX=38,5,255,0,1,2,3,3,2,50

2478

AT+SLETX=76,5,255,0,1,2,3,3,2,50

4M 8PSK

2405

AT+SLETX=3,5,255,0,4,2,3,3,2,50

2441

AT+SLETX=39,5,255,0,4,2,3,3,2,50

2477

AT+SLETX=75,5,255,0,4,2,3,3,2,50

表 2 SLE RX 组包

调制速率

信道

指令组包

1M GFSK

2402

AT+SLERX=0,0,0,0,19

2440

AT+SLERX=38,0,0,0,19

2480

AT+SLERX=78,0,0,0,19

2M GFSK

2404

AT+SLERX=2,1,0,0,10

2440

AT+SLERX=38,0,0,0,10

2478

AT+SLERX=76,1,0,0,10

4M GFSK

2405

AT+SLERX=3,4,0,0,6

2441

AT+SLERX=39,4,0,0,6

2477

AT+SLERX=75,4,0,0,6

1M QPSK

2402

AT+SLERX=0,0,2,3,14

2440

AT+SLERX=38,0,2,3,14

2480

AT+SLERX=78,0,2,3,14

2M QPSK

2404

AT+SLERX=2,1,2,3,8

2440

AT+SLERX=38,1,2,3,8

2478

AT+SLERX=76,1,2,3,8

4M QPSK

2405

AT+SLERX=3,4,2,3,6

2441

AT+SLERX=39,4,2,3,6

2477

AT+SLERX=75,4,2,3,6

1M 8PSK

2402

AT+SLERX=0,0,2,3,10

2440

AT+SLERX=38,0,2,3,10

2480

AT+SLERX=78,0,2,3,10

2M 8PSK

2404

AT+SLERX=2,1,2,3,6

2440

AT+SLERX=38,1,2,3,6

2478

AT+SLERX=76,1,2,3,6

4M 8PSK

2405

AT+SLERX=3,4,2,3,6

2441

AT+SLERX=39,4,2,3,6

2477

AT+SLERX=75,4,2,3,6

注意事项

所有指令的参数输入格式必须为十进制

例如当包长0xFF需输入255时:

  • 正确示例: AT+SLETX=0,5,255,0,1,2,2,0,0,50

  • 错误示例: AT+SLETX=0,5,FF,0,1,2,2,0,0,50

说明: 参数必须是十进制。

部分指令返回值为十六进制

发送:

AT+SLETRXEND

回复:

OK

status:0x0, num_packet:0x3e8, rssi:0x81

说明: 测试RX的收报数为1000包(0x3e8),RX的当前接收rssi为0x81,即-127dbm。

所有参数的间隔符逗号为英文字符","

示例如下:

  • 正确示例:AT+SLETX=0,5,255,0,1,2,2,0,0,50

  • 错误示例:AT+SLETX=0,5,55,0,1,2,2,0,0,50

    说明: 不识别中文字符逗号。

串口回复说明

图 1 串口回复示例1

图 2 串口回复示例2

说明:

  • TRX射频指令测试时,串口回复重点关注“status:0“、“num_packets:3e8“、“rssi:81“等字样。

  • 由于指令执行时序异步,“OK“和其他业务上报打印的先后顺序不是固定的,且涉及BLE/SLE TRX业务的指令,回复”OK”不代表指令正常执行。

星闪协议频点表

星闪协议拼点如图1图2所示。

图 1 2400MHz频段不同带宽信道对应的射频信道中心频率和射频信道号1

图 2 2400MHz频段不同带宽信道对应的射频信道中心频率和射频信道号2

说明: 注意不同带宽的射频测试项需要测的频点不同,例如SLE 4M GFSK指令,测试低频的频点为2405MHz,而不是2402MHz。