马上注册,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册 
×
在进行 nRF52840 的 SRRC 认证(中国无线电型号核准)时,通常会使用 DTM(Device Under Test Mode)固件来进行射频性能测试(如发射功率、接收灵敏度、频率偏移等)。你关心的问题核心在于:
- DTM 是否依赖低频 32.768kHz 晶振?
- 如果你的板子没有外部 32K 晶振,是否必须改为内部 RC?
- DTM 固件能否在无 32K 晶振的情况下正常运行?
✅ 简明结论:DTM 测试不需要低频 32.768kHz 时钟,因此:
- 无需外部 32K 晶振;
- 可以配置为使用内部 32K RC 振荡器;
- DTM 固件在没有 32K 晶振的板子上也能正常跑起来。
📌 详细解释:1. DTM 的工作原理DTM 是 Nordic 提供的一种用于射频认证和产测的简化固件,它直接调用 SoftDevice 的 HCI 接口或使用裸机 Radio API(取决于实现方式),只涉及高频射频操作(2.4GHz),不涉及 BLE 连接、广播间隔、连接事件调度等需要精确低功耗定时的功能。
因此,DTM 不依赖低频时钟(LFCLK)来维持协议栈的时间基准。
2. SoftDevice 初始化是否需要 LFCLK?虽然 DTM 可能基于 SoftDevice(如 S140),但即使如此,在 DTM 模式下:
- SoftDevice 仅用于提供 HCI 接口或底层 radio 控制;
- 不会启用需要 LFCLK 的功能(如连接、广播、RTC 唤醒等);
- 即使 SoftDevice 被初始化,只要你不启用依赖 LFCLK 的功能,内部 RC 32K 就足够。
Nordic 官方 DTM 示例代码(如 nrf5_sdk/examples/dtm)默认就支持无外部 32K 晶振的情况。
3. 如何配置?在 sdk_config.h 中,确保低频时钟源设为内部 RC:
1#ifndef NRF_SDH_CLOCK_LF_SRC2#define NRF_SDH_CLOCK_LF_SRC 0 // 0 = NRF_CLOCK_LF_SRC_RC3#endif45// 校准参数可保留默认(DTM 不敏感)6#ifndef NRF_SDH_CLOCK_LF_RC_CTIV7#define NRF_SDH_CLOCK_LF_RC_CTIV 168#endif910#ifndef NRF_SDH_CLOCK_LF_ACCURACY11#define NRF_SDH_CLOCK_LF_ACCURACY 7 // 对应 20 ppm,内部 RC 典型值12#endif
⚠️ 注意:高频 32MHz 晶振是必须的!因为射频 PHY 依赖 HFCLK,且必须显式启动外部高频晶振(如你之前提到的 nrf_drv_clock_hfclk_request())。
4. SRRC 认证要求SRRC 关注的是射频参数(频率容限、带外辐射、发射功率等),与是否使用 32K 晶振无关。只要 DTM 能稳定控制 radio 发射/接收,即可完成测试。
✅ 实践建议:
- 如果你的自研板 没有焊接 32.768kHz 晶振,不要配置为外部 XTAL,否则 SoftDevice 初始化会卡住或失败。
- 使用官方 DTM 例程时,检查是否已正确配置 sdk_config.h 中的 LFCLK 源。
- 确保 高频晶振电路设计良好,并用代码显式启用 HFCLK(这是广播/DTM 能否工作的关键)。
🔗 参考资料(来自 Nordic 官方):
- [url=]nRF5 SDK DTM Example[/url]
- Nordic Knowledge Base: "Can I run DTM without a 32 kHz crystal?" → Yes.
|