跳转至

DTM测试*

直接测试模式(v5.2, vol 6, Part F)是用于测试 BLE 设备 RF 性能的一个模块。具体来说,就是定义了一些发送和接收测试数据包的基本流程和格式的统一标准。

1. 编译ble_dtm*

1.1 测试方式选择*

打开 app_ble_dtm_cfg.h

如果使用RF串口命令,通过PC交互,进行测试,选择 0

#define APP_BLE_DTM_MODE    0 //0: rf quickset cmd; 1: hci uart dtm

如果想直接使用综测仪的UART,进行测试,选择 1

#define APP_BLE_DTM_MODE    1 //0: rf quickset cmd; 1: hci uart dtm

1.2 串口配置*

针对 APP_BLE_DTM_MODE 选择 1 这个方式,会使用到芯片的 UART1 这组串口。

下面说明下,如何开启和配置 UART1 这组串口。

假设我们使用的板级是 gx8301a_rc_demo。

打开:apus\platform\boards\gx8301a_rc_demo\board_config.h

找到 BOARD_HAS_UART1 这一行,把它配置为 1 进行打开

UART1_RX_PIN,UART1_TX_PIN,UART1_CTS_PIN,UART1_RTS_PIN 请根据自己板子的情况,配置好正确的管脚,例如:

// 一个例子
#define BOARD_HAS_UART1  1
#define UART1_RX_PIN     P1_6
#define UART1_TX_PIN     P1_7
#define UART1_CTS_PIN    P2_6
#define UART1_RTS_PIN    P2_7

1.3 ble_dtm app 编译*

cd apus
make app=ble_dtm board=gx8301a_rc_demo

app 必须选择 ble_dtm,board 根据自己的项目选择对应的板级

编译成功后,在 output 目录下会生成一个 apus.bin。

mkimg...
boot bin size: 0x1000
app bin size:  0x394a8
flash total size: 0x80000

flash zone:
bootloader: 0x0, 0x1000
bootenv   : 0x1000, 0x1000
app bankA : 0x2000, 0x3e000
app bankB : 0x40000, 0x3e000
kvs env   : 0x7e000, 0x2000

buildtime: 1709176672

-rw-rw-r-- 1 sunyb sunyb 242856 2  29 11:17 ./output/apus.bin

2. PC串口交互测试*

DUT就是我们需要被测试的设备

Upper Tester 就是PC电脑

Lower Tester 就是综测仪

使用串口0接PC,串口波特率是115200

测试的串口命令见下面的文档:

点击DTM测试使用文档2024.12.14新建窗口打开

3. HCI UART 交互测试*

这个测试方式,可以直接通过综测仪自己发送命令进行测试

使用 UART1,波特率 115200,需要支持流控

具体使用细节,参考下面两个文档:

点击CMWrun快速使用_V1.1新建窗口打开

点击DTM_HCI测试连线图与使用说明新建窗口打开