对于任何实现无线标准化技术的设备,RF 测试是产品发布前的必要环节,需要仔细评估和验证互操作性规范符合性及通信法规合规性。本文档介绍如何使用 Silicon Labs 软件工具和专用测试设备,对搭载 Bluetooth-enabled EFR32xG SoC 或 BGM/MGM Module 的硬件执行 Bluetooth RF PHY(Physical Layer)评估。RF 参数验证使用 DTM(Direct Test Mode) 协议,该协议在 Bluetooth Core Specification versions 5.x, Volume 6, Part F 中定义。Documentation Index
Fetch the complete documentation index at: https://mintlify.com/dsyx/docs.silabs.com_zh/llms.txt
Use this file to discover all available pages before exploring further.
DTM 基础
DTM 提供了两种 RF PHY 测试方法:HCI 命令方式(Upper Tester)
通过 SoC 或 Module 的标准 HCI 接口输入特殊 HCI 命令,启动和停止 DUT 上的无线电测试
2-Wire 直连方式
通过专用的 2-wire UART 连接,自动化测试仪直接访问和控制 DUT,适合商用 Bluetooth 测试仪
- 对给定命令的确认响应
- 测试停止时报告的数据包计数信息
- DUT(Device Under Test):被测设备,运行支持 DTM 的固件
- Upper Tester(上层测试器):控制和配置 DUT 的 host 系统(如运行 BGTool 的 PC)
- Lower Tester / RF PHY 测试器:实际进行 RF 测量的实验室仪器(如频谱分析仪、信号发生器或商用 Bluetooth 测试仪)
- 无流控制
- 波特率:1200 – 115200 bps
- 传输格式:8N1(8 个数据位、无奇偶校验、1 个停止位)
DTM 测试用例
DTM 启用了一组 RF PHY 测试用例,由 Bluetooth SIG 在 TCRL Release Table 中定义。测试用例标识符中:RF-PHY表示 RF-PHY 测试目的TRM表示发射器测试RCV表示接收器测试
| 测试用例 ID | 测试内容 |
|---|---|
| RF-PHY/TRM/BV-01-C | Output power(输出功率) |
| RF-PHY/TRM/BV-03-C | In-band emissions, uncoded data at 1 Ms/s(带内发射) |
| RF-PHY/TRM/BV-05-C | Modulation Characteristics, uncoded data at 1 Ms/s(调制特性) |
| RF-PHY/TRM/BV-06-C | Carrier frequency offset and drift, uncoded data at 1 Ms/s(载波频率偏移与漂移) |
| RF-PHY/TRM/BV-08-C | In-band emissions at 2 Ms/s |
| RF-PHY/TRM/BV-10-C | Modulation Characteristics at 2 Ms/s |
| RF-PHY/TRM/BV-13-C | Modulation Characteristics, LE Coded (S=8) |
| 测试用例 ID | 测试内容 |
|---|---|
| RF-PHY/RCV/BV-01-C | Receiver sensitivity, uncoded data at 1 Ms/s(接收灵敏度) |
| RF-PHY/RCV/BV-03-C | C/I and Receiver Selectivity Performance(选择性性能) |
| RF-PHY/RCV/BV-04-C | Blocking Performance(阻塞性能) |
| RF-PHY/RCV/BV-05-C | Intermodulation Performance(互调性能) |
| RF-PHY/RCV/BV-06-C | Maximum input signal level(最大输入信号电平) |
| RF-PHY/RCV/BV-07-C | PER Report Integrity(误包率报告完整性) |
| RF-PHY/RCV/BV-08-C | Receiver sensitivity at 2 Ms/s |
| RF-PHY/RCV/BV-10-C | Blocking performance at 2 Ms/s |
| RF-PHY/RCV/BV-27-C | Receiver sensitivity, LE Coded (S=8) |
要完成规范中的全部接收器测试,除频谱分析仪外,还需要两个外部信号发生器来提供完整的干扰信号。
测试方法一:使用 BGTool 进行测试
BGTool 是最简单的 RF PHY 测试方法,使用运行 BGTool 的 PC 作为 Upper Tester。前提条件
- SoC 或 Module 配置为 NCP(Network Co-Processor)mode 运行
- 安装了 Bluetooth > Feature > Test 组件以添加 DTM 命令
DTM 命令参考
- test_dtm_tx
- test_dtm_rx
- test_dtm_end
启动发射器测试。
DUT 收到命令后返回响应,随后触发
| 参数 | 说明 |
|---|---|
| packet_type | 数据包类型:PRBS9、11110000、10101010、test_pkt_carrier(连续未调制载波)、test_pkt_pn9(PN9 连续调制载波) |
| length | 数据包有效负载长度(最大 255 byte,LE Data Packet Length Extension) |
| channel | 测试信道 |
| phy | PHY 选择:1M、2M、125k Coded、500k Coded |
test_dtm_completed 事件表示测试已开始。通过 test_dtm_end 停止测试。注意:只有当 test_dtm_completed 事件跟随 test_dtm_end 命令时,事件的 number_of_packets 字段才携带实际发送的数据包数量。在 BGTool 命令区域直接输入示例:BGTool 测试步骤
配置测试参数
在控制对话框中,使用滑块和单选按钮设置:
- 传输功率级别(如需非默认功率,先更改后点击 Transmit power 旁的 Set 按钮)
- 工作频率/信道
- 数据包类型和长度
- PHY 选择(1M、2M、Coded)
- 选择执行发送或接收测试
测试方法二:使用 DTM 2-Wire 固件进行测试
当有商用 Bluetooth 测试仪(如 Anritsu MT8852B)时,应优先使用此方法,因为专用测试仪速度更快,可提供自动化且精确的测试。创建 DTM 固件项目
打开项目向导
在 Simplicity Studio 5 的 Launcher perspective 中,在 Debug Adapter 视图选择正确的 DUT(自动预填充 Target Board 和 Target Device),然后在 File 菜单选择 New > Simplicity Studio Project Wizard。
默认配置说明
示例应用的默认配置:- 2-wire 链路引脚:UART TX(扩展接头 pin 12)和 UART RX(扩展接头 pin 14)
- UART 参数:115200 baud、8N1、无硬件流控制
自定义 DTM 应用配置
如需更改 2-wire UART 的引脚或参数:打开 Software Components
在项目的
.slcp 文件中,点击 Software Components 选项卡。启用 Configurable Components 和 Installed Components 过滤器,在搜索框中输入 “stream”。配置 IO Stream 组件
选中名为 exp 的 IO Stream 实现,点击 [Configure] 打开 Component Editor,在此处配置波特率、引脚和其他参数。更改将自动保存。
(可选)使用 Pin Tool
双击项目中的
<project name>.pintool 文件打开 Pin Tool。在 Configure 编辑器的 Pins 选项卡中选中引脚,下拉 Function 列表选择功能。Pin Tool 中的更改不会自动保存,需手动保存。连接 Bluetooth 测试仪进行测试
安装 DTM 固件后,将 DUT 连线到 Bluetooth 测试仪(通过上层测试器接口 PC 软件进行控制):某些 Bluetooth 测试仪(如 Anritsu MT8852B)使用 RS232 接口连接 DTM 2-wire DUT,与设备 TTL 逻辑交接需要电平转换器。某些测试仪无法生成低于特定值(如 -90 dBm)的 RF 信号,可能需要使用衰减器进行接收灵敏度测试。
具体测试用例实施
输出功率测试(RF-PHY/TRM/BV-01-C)
- 使用 BGTool
- 使用 DTM 固件
使用
test_dtm_tx 命令,仅配置频率和输出功率参数。频谱分析仪通过兼容 RF 电缆连接到无线板的 RF 连接器进行功率测量。调制特性测试(RF-PHY/TRM/BV-05-C 和 BV-06-C)
使用test_dtm_tx 命令进行调制、频率偏移和漂移测量。根据测试规范可能需要更改有效负载的数据模式(1010 模式或 11110000 模式)。频谱分析仪通过 RF 电缆连接到 RF 连接器进行测量。
频谱测试(RF-PHY/TRM/BV-03-C)
使用test_dtm_tx 命令进行带内发射测量。频谱分析仪用于测量无线电频谱,必须通过 RF 电缆连接到 RF 连接器。
接收器测试(RF-PHY/RCV 系列)
使用test_dtm_rx 命令进行所有 sensitivity-based 和阻塞器测量。
在 BGTool 中:选择 Low energy receive,然后点击 Start test 按钮。
需要频谱分析仪和两个 RF 信号发生器验证接收器测试,均须通过 RF 电缆连接到 RF 连接器。如使用商用 Bluetooth 测试仪,可能需要添加外部信号发生器提供第二个干扰源或阻塞信号。
测试注意事项与参数说明
占空比计算说明
占空比计算说明
在使用典型 37 byte 有效负载的 1M PHY 传输测试期间,后续数据包传输以 625 µs 的间隔开始,数据包传输本身持续 376 µs,占空比约为 60.2%。数据包组成:报头(8 bit)+ 同步字(32 bit)+ 数据包类型字段(16 bit)+ 有效载荷(296 bit)+ CRC(24 bit)= 376 bit,以 1 Mbit/s 传输约 376 µs。根据 LE Data Packet Length Extension(Core Spec v4.2),最大有效负载可达 255 byte,实际占空比还取决于数据包间隔,需根据 Core Spec v4.2/v5.x, Volume 6, Part F, Chapter 4.1.6 计算。
固定数据包数量发送
固定数据包数量发送
当前 SDK 版本不支持配置
test_dtm_tx 发送固定数量的数据包。作为替代,可让设备仅在固定时间内传输:以 1M PHY + 37 byte 负载为例,数据包间隔为 625 µs,速率为 1600 packets/s,因此发送 N 个数据包所需时间 = N × 625 µs。发送数据包计数报告
发送数据包计数报告
当用
test_dtm_tx 启动的测试停止时,test_dtm_completed 事件会报告测试期间实际发送的数据包数量。将发送数量与接收方实际接收数量比较,可用于精确估算 PER。注意:DTM 2-wire 通信响应不会报告已发送的数据包计数,此功能仅在 BGAPI 模式下可用。自定义 SoC DTM 应用
客户可以基于 SOC-Empty 示例项目进行自定义,创建能够自动启动测试命令的独立应用:- 简单模式:在引导时自动启动特定测试命令,并在定时器到期或硬复位后终止
- 远程控制模式:允许传入 Bluetooth LE 连接,远程设备通过写入专用 GATT characteristic 定义要启动的测试命令和运行时间
快速参考
| 测试场景 | 推荐方法 | 所需设备 |
|---|---|---|
| 快速功能验证 | BGTool + NCP 固件 | PC + WSTK |
| 法规测试(自动化) | DTM 2-Wire 固件 + 商用 Bluetooth 测试仪 | 商用测试仪 + 电平转换器 |
| 发射功率/频谱 | BGTool 或 DTM 固件 | 频谱分析仪 |
| 接收灵敏度/阻塞 | BGTool 或 DTM 固件 | 频谱分析仪 + 2 个 RF 信号发生器 |
| PER 测试 | DTM 2-Wire 固件 | 商用 Bluetooth 测试仪 |
参考文档
- Bluetooth Core Specification v5.x, Volume 6, Part F — DTM 协议定义
- AN1259: Using the v3.x Silicon Labs Bluetooth® Stack in NCP Mode — NCP 固件基础
- QSG169: Bluetooth® SDK v3.x Quick Start Guide — Bluetooth SDK 快速入门
- UG434: Silicon Labs Bluetooth® C Application Developers Guide for SDK v3.x — Bluetooth C 应用开发指南