扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

STM32WL3 DSSS 模式灵敏度测试实操:基于 SMBV100A 与 GUI 工具

5小时前
229
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

STM32WL33xx 系列支持 DSSS(直接序列扩频)调制方式,其灵敏度测试需遵循特定的数据生成规则、信号配置流程。本文基于 ST 官方 LAT1333 应用笔记,以 R&S SMBV100A 矢量信号发生器、STEVAL-S38681V1 开发板为例,详解 DSSS 模式灵敏度测试的完整流程,包括 PER-BER 转换、DSSS 数据生成、设备配置与结果统计,适配 STM32WL3 系列芯片的 Sub 1GHz 应用场景。

1. 测试环境搭建

1.1 核心工具清单

  • 硬件:STEVAL-S38681V1 开发板、R&S SMBV100A 矢量信号发生器、RF 连接线 1 根、Type-C USB 线 1 根;
  • 软件:STM32Cube_FW_WL3 GUI 工具(v0.1.0-OEM)、PC 端控制软件(用于信号发生器配置)。

1.2 测试环境框图

PC(控制软件)→ 矢量信号发生器(SMBV100A)→ RF Cable → STEVAL-S38681V1开发板 → Type-C USB → PC(GUI工具)
  • 核心逻辑:信号发生器生成 DSSS 编码信号,开发板接收后通过 GUI 工具统计数据包错误率(PER),进而推导灵敏度。

2. 核心配置:DSSS 测试关键参数

2.1 PER-BER 转换规则

DSSS 模式下,PER(数据包错误率)与 BER(比特错误率)基于原始有效数据计算(扩频数据不参与),核心公式与参数如下:
  • 转换公式:PER = 1 - (1 - BER)^α,其中 α 为有效数据总比特数;
  • α 计算:α = 同步字(4 字节)+ 有效载荷(18 字节)+ CRC(1 字节)= 23 字节 = 184 比特;
  • 典型对应关系:
    • BER=1% → PER=84%;
    • BER=0.1% → PER=16.8%。

2.2 DSSS 数据生成规则

DSSS 编码通过 “原始数据 bit 与编码序列异或” 实现,STM32WL3 支持的编码表如下:
编码(Code) 二进制序列(Binary sequence) 扩频因子(SF) 扩频指数(Spread exponent)
0x03 0011 4 2
0x8D 10001101 8 3
0x6BC4 0110101111000100 16 4
0x0A60E457B 10100110000011100100010101111011 32 5
0x540FBCEB0B8DA44D 0101010000001111101111001110101100001011100011011010010001001101 64 6
  • 编码逻辑:发送方从编码序列最低有效位(LSB)开始异或,接收方从最高有效位(MSB)解扩;
  • 示例(SF=8,原始数据 0x55):
    • 0→10110001(0xB1),1→01001110(0x4E);
    • 扩频后数据:0xB1、0x4E、0xB1、0x4E、0xB1、0x4E、0xB1、0x4E。

2.3 应用场景参数(示例配置)

以 868MHz 频段测试为例,核心参数如下:
  • 帧结构:前导码(0x55555555)、同步字(0x88888888)、有效载荷(“STMicroelectronics”)、CRC(0x98);
  • RF 参数:频点 868MHz、调制方式 2-GFSK 0.5、空口速率 38.4ksps、频率偏差 20kHz、接收带宽 100kHz;
  • DSSS 配置:SF=4,编码后数据长度 108 字节。

3. 矢量信号发生器配置(SMBV100A)

3.1 Data List 配置(生成 DSSS 数据包)

  1. 新建 Data List:填充内容为 “200ms 间隔符号(0x00 填充)+ 108 字节 DSSS 编码数据”;
  2. 符号数计算:38.4ksps 速率下,200ms 间隔对应 38.4×200=7680 符号,加上 108×8=864 符号,总符号数 = 7680+864=8544;
  3. 选择 Data List:在信号发生器 “Data Source” 中选中新建的 DSSS 数据列表。

3.2 发送参数配置

  1. 信号时长:设置为 854400 符号(对应 100 个数据包,8544×100);
  2. 调制参数:调制类型 2-FSK、频偏 20kHz、符号率 38.4ksps;
  3. 输出电平:从 - 112dBm 开始逐步调整,直至 PER 稳定在目标值(如 16.8% 对应 BER=0.1%)。

4. STM32WL3 GUI 工具配置

4.1 DSSS 核心参数配置

打开 GUI 工具,按以下参数配置寄存器(关键项):
  • DSSS_CTRL:设置扩频指数(如 SF=4 对应扩频指数 4);
  • SYNC 字:0x88888888(与信号发生器一致);
  • ACO_THR(捕获阈值):按扩频指数计算:
    • 扩频指数≤3:ACQ_THR=2^ 扩频指数 -1;
    • 扩频指数 > 3:ACQ_THR=2^ 扩频指数 / 2;
  • 接收带宽:100kHz(与信号发生器匹配)。

4.2 测试启动与结果统计

  1. 在 GUI 工具中选择 “RX Packet Test”,点击 “Start”;
  2. 信号发生器启动发送后,GUI 工具自动统计接收数据包数、错误数据包数;
  3. 灵敏度判定:当 PER 达到目标值(如 16.8%)时,信号发生器的输出电平即为该条件下的 DSSS 模式灵敏度。

5. 测试结果与小结

5.1 结果判定

  • 核心指标:在 38.4ksps、SF=4、BER=0.1%(PER=16.8%)条件下,STM32WL3 DSSS 模式典型灵敏度约为 - 112dBm(具体值需按实际测试调整);
  • 调整逻辑:若 PER 高于目标值,降低信号发生器输出电平;若 PER 低于目标值,升高输出电平,直至稳定。

5.2 关键注意事项

  1. 数据一致性:信号发生器与 GUI 工具的帧结构、DSSS 编码、RF 参数必须完全一致;
  2. 扩频因子适配:不同 SF 对应不同 ACQ_THR,需按公式准确配置,否则影响接收成功率;
  3. 通用性:其他品牌信号发生器(如 Keysight、Anritsu)可参考本文 DSSS 数据生成规则,自行编辑数据包。
STM32WL3 DSSS 模式灵敏度测试的核心是 “DSSS 数据正确生成 + PER 统计推导”。关键步骤包括:按编码规则生成测试数据、配置信号发生器与 GUI 工具参数、通过 PER-BER 对应关系判定灵敏度。该流程适用于所有支持 DSSS 的 STM32WL3xx 系列芯片,且可跨品牌信号发生器复用。

相关推荐