一、前言:为什么 nRF54 测距是「蓝牙天花板」
传统蓝牙设备(nRF52、nRF53、普通蓝牙模块)只能依靠 RSSI 信号强度测距。RSSI 测距有致命缺点:受遮挡、干扰、天线摆放影响极大
只能做到米级粗测距(误差 1~3 米)
完全无法用于定位、测距、跟随、避障产品
二、技术原理:简单通俗讲解 CS 测距
CS 信道测距不再依靠「信号强弱」,而是依靠电磁波相位差计算距离。核心逻辑:发起端(Initiator)发送多通道蓝牙探测信号
反射端(Reflector)原样回传相位信号
芯片硬件采集相位偏移 + 飞行时间,算法融合计算真实距离
三、本次实测硬件组合(完全适配)
本次测试使用两块最新 nRF54 开发板,完美配对实现 CS 双向测距:测距发起端(Initiator):nRF54LM20B-DK
测距反射端(Reflector):nRF54L15-DK
✅ 板载 PCB 天线即可完成厘米级测距。

四、测试软件环境
NCS 版本:v3.3.0(必须 3.3.0+ 才完整支持 CS 官方例程)
系统:Windows 10/11
编译工具:West + Zephyr 原生工程
五、官方例程路径说明
NCS3.3.0 自带官方成熟测距例程,无需自己写算法:nrf/samples/bluetooth/channel_sounding/包含两个核心工程:ras_initiator:测距发起端(主动扫描、连接、计算距离、串口输出)
ras_reflector:测距反射端(被动应答,不运算)
六、双板分别编译烧录指令
1、nRF54LM20B-DK 发起端编译
west build -b nrf54lm20b_nrf54lm20dk nrf/samples/bluetooth/channel_sounding/ras_initiator --pristine west flash
2、nRF54L15-DK 反射端编译
west build -b nrf54l15_nrf54l15dk nrf/samples/bluetooth/channel_sounding/ras_reflector --pristine west flash
七、核心配置说明(例程已默认开启)
CS 测距必须开启的核心宏,官方例程已默认配置,用户无需手动修改:CONFIG_BT=y CONFIG_BT_CENTRAL=y CONFIG_BT_PERIPHERAL=y CONFIG_BT_CHANNEL_SOUNDING=y CONFIG_BT_PHY_2M=y CONFIG_SERIAL=y CONFIG_CONSOLE=y
八、实测操作步骤
两块开发板分别上电
打开 nRF54LM20B(发起端)串口,波特率 115200
设备自动搜索、加密配对、建立 CS 测距链路
连接成功后,串口持续打印:实时距离、信噪比、测距状态
手动移动任意一块开发板,距离数值实时动态变化
九、实测串口日志解读
本次实测固定角色:反射端(Reflector):nRF54L15-DK测距计算/接收端(Initiator):nRF54LM20B-DK设备上电后,串口会输出完整的蓝牙CS测距初始化、配对、测距流程日志,核心正常打印信息解读如下


9.1 正常启动日志
打印蓝牙协议初始化、2M PHY 使能、CS 模块加载成功日志
自动开启蓝牙广播与扫描,两块设备自动搜寻对方
自动完成蓝牙加密配对(CS测距强制开启安全加密连接,属于正常机制)
9.2 测距成功核心日志
链路建立成功后,串口持续刷新输出:实时测距距离(m)、信号信噪比(SNR)、测距状态、采样次数
静止状态下,距离数值高度稳定,无大幅度跳变
移动任意一块开发板,距离数值实时跟随变化,响应无延迟
9.3 实测效果总结
开机全自动组网连接,无需人工干预、无需手机APP
0~5米近距离测距精度最优,空旷环境误差稳定在 3~5cm
相比传统蓝牙RSSI米级误差,精度提升10倍以上
硬件全程硬件NPU/射频模块运算,不占用MCU资源,运行极低功耗
十、双板正常运行判定标准(精准区分发起端/反射端)
很多新手实测时无法判断两块开发板是否正常工作,这里给出唯一精准、可直接对标的判定标准,区分 nRF54LM20B(发起/接收计算端)、nRF54L15(反射端)的正常现象,匹配本次实测配置。10.1 nRF54LM20B(Initiator 发起/测距接收端)正常现象(核心观测端)
本设备是整个测距系统的核心,负责扫描、连接、运算测距数据,正常工作必须满足以下全部条件:串口日志正常:上电无报错,打印蓝牙初始化、2M PHY 启用、CS 模块初始化成功日志,无 `timeout`、`connect fail` 报错
自动搜寻配对:开机后自动扫描到反射端设备,自动完成蓝牙加密安全连接,无需手动干预
持续输出测距数据:连接成功后,串口高频刷新实时距离(单位m)、SNR信噪比、测距状态、采样次数
数据动态响应:移动任意一块开发板,距离数值实时同步变化,静止后数值快速稳定,无乱跳、无断更
链路稳定:上电后持续保持连接,不会自动断开重连,测距循环持续执行
10.2 nRF54L15(Reflector 反射端)正常现象(被动应答端)
反射端仅被动响应发起端信号、回传相位数据,不会计算距离、不会打印测距数据,正常现象如下:上电无报错:程序正常启动,蓝牙、CS模块初始化完成,无死机、无重启、无报错日志
被动建立连接:等待发起端扫描连接,配对成功后保持静默工作状态
无测距数据输出:串口只会打印初始化、连接状态日志,不会输出距离数值(正常现象,非故障)
极低功耗运行:全程后台硬件应答,不占用MCU资源,板子无异常发热、无频繁重启
我要赚赏金
