在 BlueNRG‑1/2、BlueNRG‑LP 等 BlueNRG‑X 蓝牙芯片开发中,外部低速、高速晶体的选型、时钟测试、外部信号源接入以及频偏校准,是影响 BLE 通信稳定性与低功耗性能的关键环节。很多工程师在调试时会遇到测不到 32kHz 时钟、频偏超标、晶体选型踩坑等问题。本文基于 ST 官方 LAT1218 应用笔记,整理全套可直接落地的晶体适配方案,覆盖选型、测试、配置、校准全流程。
资料获取:【应用笔记】LAT1215 如何配置STM32WB在没有LSE时运行BLE应用程序
1. 低速 32.768kHz 晶体:选型 + 测试 + 外部信号源接入
低速晶体为芯片提供实时时钟基准,是低功耗运行的核心,标称频率统一为 32.768kHz,两类芯片核心要求一致。
1.1 选型核心参数
- BlueNRG‑1/2:功耗 PD≤0.1μW,无额外特殊约束
- BlueNRG‑LP:功耗 PD≤0.1μW,匹配芯片低功耗设计
选型只需盯住32.768kHz 标称频率和功耗上限,即可满足基础适配要求。
1.2 32kHz 时钟精准测试方法
很多工程师反馈板子能正常工作,但示波器测不出 32kHz 时钟,按以下步骤操作可稳定测出波形:
- 示波器探头接Pin14(ANATEST1)测试点
- 给 BlueNRG‑1 平台上电,示波器时基设为 200μs,抓取 64 个周期波形,降低抖动干扰
- 烧录 DTM_UART.bin 或 DTM_SPI.bin 固件,通过 GUI 工具读取 IFR 配置,勾选LS crystal measure并写入,重启芯片使配置生效
- 示波器即可显示 32.768kHz 波形,计算实测频率与标称值的频偏 Δf,换算 PPM
调试规则:实测频率偏高→增加晶体电容;实测频率偏低→减小晶体电容。
1.3 直接使用外部 32kHz 信号源
不想用内部 RC 或外接晶体,可直接输入外部 32kHz 时钟,输入引脚固定为 SXTAL0,分两种信号适配:
- 0~1.2V 方波:关闭内部晶振(更省电),配置 LS_SOURCE=LS_SOURCE_EXTERNAL_32KHZ,同时在 system_bluenrg1.c 添加指定代码
- 0~1.2Vpp 周期波形:仅需配置 LS_SOURCE=LS_SOURCE_EXTERNAL_32KHZ,无需额外修改代码。
2. 高速 32MHz 晶体:选型 + 内部负载电容调谐
高速晶体为 BLE 射频通信提供时钟,优先选 32MHz,16MHz 不推荐,会导致部分 BLE 功能失效。
2.1 选型关键要求
| 芯片型号 | 标称频率 | 频率容差 | 功耗 PD | 负载电容 CL |
|---|---|---|---|---|
| BlueNRG‑1/2 | 32MHz | ±20ppm | ≤100μW | 无特殊要求 |
| BlueNRG‑LP | 32MHz | ±20ppm | ≤100μW | 6~8pF |
2.2 BlueNRG‑LP 内部负载电容调谐
BlueNRG‑LP 内置高速晶体负载电容,无需外接额外电容,调谐有两种方式:
- 上位机调谐:用 DTM_UART_WITH_UPDATER 等固件,配合 ST BlueNRG GUI,进入 IFR/Device Configuration,设置 0~63 电容值后点击 Write
- 代码配置:直接调用函数
LL_RCC_HSE_SetCapacitorTuning(XO_TUNE_VALUE),XO_TUNE_VALUE 取值 0~63。
3. 频偏测试与校准:BLE 通信稳定的关键
频偏超标会直接导致 BLE 连接异常、通信距离缩短,两类芯片测试步骤通用,校准方式略有差异。
3.1 通用测试步骤
- 向 BlueNRG‑LP/1/2 烧录 DTM 固件
- GUI 工具打开对应串口,配置生成 2402MHz、-2dbm 载波信号
- 用 RF 线连接芯片与频谱分析仪,设置 res BW=1kHz、SPAN=500kHz
- 读取实测频率,判断频偏是否在 ±50kHz 范围内
3.2 分型号校准方法
- BlueNRG‑1/2:调节原理图中外部负载电容 C14、C15
- BlueNRG‑LP:按 2.2 小节调节内部负载电容值
校准规则:实测频率偏高→增大电容;实测频率偏低→减小电容。
本文严格遵循 ST LAT1218 应用笔记,梳理了 BlueNRG‑X 系列低速 32.768kHz 晶体与高速 32MHz 晶体的选型、测试、配置、频偏校准全流程,解决开发中测不到时钟、频偏超标、选型失误等常见问题。硬件选型盯住核心参数,软件配置按步骤操作,可快速完成晶体适配,保障 BLE 设备稳定低功耗运行。
183