1 前言
FRDM-MCXW72 的定位能力基于信道探测技术。信道探测技术融合了相位测距 (PBR) 和往返时间 (RTT) 两种方法,能够实现厘米级(cm)的高精度距离测量,适用于接近检测和精确定位场景。
蓝牙信道探测(Bluetooth Channel Sounding,简称 CS)是 蓝牙核心规范 6.0 引入的一项标准化安全精细测距功能,让两台 BLE 设备不再靠"信号强弱猜距离",而是直接在物理层测量彼此的真实间距。
同样的蓝牙定位方案还有uwb 和rssi。rssi简单,要求低,要是精度差。uwb精度高,但是成本高,功耗也高。
MCX W72使用了“Bluetooth LE 6”,实现了对 Bluetooth Channel Sounding的支持。
本文的测试目标就是BCS的特性。
官方有一个讲解和手机联合测试cs的文档:FRDM-MCXW72:上手 8:FRDM 到电话的通道声音
文档使用Google Pixel 10 机型进行的测试。
1 环境搭建
vscode安装插件MCUXpresso for VS Code。
1 安装sdk,如下

安装需要的各类工具有点多,且有点耗时。通过文件链接,主动下载,放到AppDataLocalProgramsMCUXpressoInstaller.cache下,能够安装更快点。
东西太多,极易失败。通过官网下载开发板的sdk:仪表板(Dashboard) | MCUXpresso SDK 构建工具
2 烧录NBU 固件
测试nbu的
可以读取一部分数据
./blhost.exe -p COM4 read-memory 0x48800000 16 结果如下: Ping responded in 1 attempt(s) Inject command 'read-memory' Successful response to command 'read-memory' 00 04 14 00 2d b1 04 00 81 b1 04 00 61 b1 04 00 (1/1)100% Completed! Successful generic response to command 'read-memory' Response status = 0 (0x0) Success. Response word 1 = 16 (0x10) Read 16 of 16 bytes. ./blhost.exe -p COM4 flash-erase-all 2 擦除nbu区域 ./blhost.exe -p COM4 write-memory 0x48800000 <你的固件文件完整路径> 烧写nbu
固件路径:
mcuxsdk/middleware/wireless/ble_controller/bin/mcxw72_nbu_ble_hosted.bin
3 编译代码
配置例程,选中我们要测试的例程,并导入到vscode中。

编译并烧录到板子中去


4 测试bcs
测距离(Channel Sounding)要用的是 wireless_ranging 例程(CS Wireless Ranging Demo)。
wireless_ranging 例程的文档路径:mcuxsdk\middleware\wireless\bluetooth\doc\CS Wireless Ranging Demo Application User Guide
对于例程有两种模式:communication role none: 不连接;communication role central/peripheral:连接
未连接模式
system build_info,可以确定nbu是否正常启动。

misc cw_trim 1,射频测试

两块板子测试距离:
通过命令 communication role peripheral # 开启广播,名字 NXP_WR
communication role central # 发起连接
这个测评等再搞一块板子,按照文档说法,bcs协议nxp用了自己的协议,其他的方式兼容性不太好,需要nxp自己的cs协议最好了。
我要赚赏金
