在第一期中,我们介绍了 SR250,这是一款将 UWB 测距和 UWB 雷达集成到单个芯片上的设备,并于 2026 年 3 月面向大众市场发布。
从现在开始,我们将最终让电路板正常工作。让我们一起完成整个过程,从获取评估板到验证其运行情况。
| 第一 | UWB基础知识及SR250概述 |
| 第二部分(本文) | 设置 SR250 评估板 (SR250UWBSHIELD) |
| 第三 | 我们来试试超宽带测距。 |
| 第四 | 试试超宽带雷达。 |
体验 SR250 主要有两种方式:无需编译的即插即用 (PnP) 方式和使用 Zephyr SDK 进行全面开发的方式。根据您选择的方式,所需的准备工作有所不同,因此最好提前决定。我们也非常欢迎想要两种方式都尝试的用户!
虽然它可以在 Windows 以外的系统上运行,但本指南将使用 Windows PC 上的命令提示符。
| 根 | 对于像这样的人来说 | 开发环境 |
| A. PnP | 首先,我想先尝试一下! | 仅限 Python + PySerial |
| B. Zephyr SDK | 我想认真开发这项技术,并将其与蓝牙低功耗技术结合起来。 | Git、CMake、Python、Zephyr SDK |
对于UWB距离测量,另一端需要一个设备。如果您有两套设备,则可以测量两个SR250 UWB SHIELD板之间的距离。如果您有一部配备UWB功能的智能手机,则只需一套设备即可测量到该智能手机的距离。
SR250UWBSHIELD + FRDM-RW612 需要两根 USB-C 数据线才能工作。我们来看看每根数据线的作用。
| 连接器 | 目的 | 备注 |
| J10(MCU-Link) | 电源供应、编程和调试。 | 这个连接是必需的。没有它,电源将无法开启。 |
| J8(HS-USB) | 串行通信(虚拟 COM 端口) | 检查 COM 端口时,请使用 J8 端的端口号。 |
Windows 设备管理器中会出现两个 COM 端口,但用于串行通信的是 J8 (HS-USB) 设备上的 COM 端口。它会显示为“USB 串行设备 (COMx)”。
SR250-ARD扩展板和FRDM-RW612通过SPI接口通信,但使用默认的Arduino排针接线无法正常工作。请使用以下两种方法之一解决此问题。
方法一:焊接返工(推荐)
如果你有电烙铁,我建议你重新焊接SPI线路。焊接完成后,你就不需要任何线缆了,这样布线会更简洁。
有关详细的返工步骤,请参阅入门指南: 《Trimension SR250 开发板入门指南》
方法二:使用跳线连接(适合想要轻松尝试的人)
如果您想尝试不焊接,请按如下方式将 FRDM-RW612 的 Arduino 排针用两根母对母跳线连接起来。
如果您想先测试一下功能,请使用此方法。
此即插即用 (PnP) 应用无需编译;您可以使用适用于 FRDM-RW612 的 USB 串口通信和 SPI 通信协议转换器固件(即 PnP 固件),直接从 PC 控制 SR250。该固件可在 GitHub 上获取。您只需在 PC 上运行 Python UCI 脚本即可验证其运行情况。
准备过程中,您会遇到两种不同的固件。首先要写入的是RW612内部运行的协议转换固件。之后,您需要更新SR250的固件。两者的写入方法不同(RW612通过ISP模式写入,SR250通过PnP固件写入),请务必仔细阅读操作步骤。
从 GitHub 获取所需文件。您可以从右上角的“代码”下拉菜单下载 ZIP 文件。
GitHub: SR250 UWB 即插即用应用程序
pip install pyserial步骤 1:写入 RW612 PnP 的固件
FRDM-RW612_PnP/program_FRDM-RW612.bat
大多数错误是由设备未以 ISP 模式启动引起的。如果您在使用开关 2 进入 ISP 模式时遇到困难,请尝试在按住 SW3 的同时将 USB 连接到 J10。
批处理文件处理完成后,拔下 USB 电缆,重新插上,然后重新启动开发板。
步骤 2:SR250 固件更新
要更新 SR250 的固件,请双击位于 SR250_FW 文件夹中的 Update_SR250_FW.bat 文件来运行该批处理文件:
SR250_FW/Update_SR250_FW.bat
如果成功,拔下 USB 连接线,重新插上,然后重启主板。
步骤 3:运行检查
python demo_ranging.py COM10
PnP路由设置现已完成!
此方案使用基于 Zephyr OS 的 SDK 进行构建和调试。它支持与 BLE 集成以及自定义应用程序的开发。
有两种方法:使用 VS Code + MCUXpresso,以及使用 west 命令行。两种方法都可以。这里,我们将介绍在 Windows 环境下使用 west 命令的方法。首先,在尽可能靠近 C 盘根目录的位置创建一个文件夹。
有关如何将 VS Code 与 MCUXpresso 配合使用的说明,请参阅入门指南或MCUXpresso for VS Code 文档。另请参阅本文档末尾列出的关于将 VS Code 与 MCUXpresso 配合使用的要点。
Zephyr 版本与 Zephyr SDK 之间存在依赖关系。本教程使用Zephyr SDK 0.17.x 版本。请安装。不同版本的 SDK 可能会导致构建错误。
请确保您已安装 Ninja 和 West。
pip3 install west ninja
步骤 1:克隆存储库
git clone https://github.com/nxp-uwb/sr250-uwbiot-zephyr.git
步骤 2:西部初始化
cd sr250-uwbiot-zephyr
west init -l --mf west.yml uwbiot-top
步骤 3:获取依赖关系
西部更新
west update此过程需要一些时间才能完成。如果中途停止,请重新启动。在完成之前进行下一步操作会导致构建错误。
步骤 4:安装 Python 依赖包
pip install -r zephyr\scripts\requirements.txt
步骤 5:设置环境变量
在环境变量中设置 Zephyr SDK 的路径。
zephyr\zephyr-env.cmd
由于首先需要进行更新,我们将构建一个固件更新演示。
west build -b frdm_rw612 -p auto uwbiot-top\demos\SR2xx\demo_sr2xx_fw_update\zephyr
构建成功后,我会将信息写入文件。
west build
我们将通过串口通信检查日志。默认情况下,代码仅在通信建立后执行。
将波特率设置为3,000,000 bps 。许多终端程序,例如 TeraTerm 和 PuTTY,不会将 3,000,000 列为波特率选项。即使选项中没有,您也可以手动输入。在文本框中输入“3000000”。
如果日志消息“成功!”出现在末尾,如下所示,则表示操作成功。
同样地,构建并刷写校准演示程序。
west build -b frdm_rw612 -p auto uwbiot-top\demos\SR2xx\demo_device_calibration\zephyr
west flash
Zephyr SDK 根目录设置已完成!
Windows 路径长度限制(MAX_PATH)
Windows 默认路径长度限制为 260 个字符。Zephyr 仓库的目录结构较深,这可能会导致路径长度超出限制。我们强烈建议您将项目保存在C 盘根目录附近的位置(例如C:\uwb\ )。如果将其放置在更深的目录结构中,例如C:\Users\username\Documents\Projects\... ,Zephyr 构建系统生成的路径将超出长度限制,从而导致错误。使用 VS Code + MCUXpresso 时,此问题尤为突出。如果难以将其放置在 C 盘根目录附近,请考虑以下解决方法。
操作方法:
关于在 VS Code + MCUXpresso 中导入项目的注意事项
导入项目时,您需要将应用类型设置为“存储库应用程序” 。入门指南中并未重点提及这一点,但如果设置错误,很可能会导致构建错误。请务必检查此项。
需要完美构建的情况
如果更改构建选项或错误仍然存在,请尝试全新构建:
west build --pristine -b frdm_rw612 sr250-uwbiot-zephyr/samples/demo_uwb_controller
固件版本错误
demo_sr2xx_fw_update 在执行此操作之前运行其他演示程序会导致固件版本错误。请务必先执行固件更新。
环境搭建完毕后,我们就可以运行演示了。下次,我们将讲解如何使用两种不同的方式运行 UWB 测距演示:即插即用 (PnP) 方式和 Zephyr SDK 方式。敬请期待!
参考链接
=========================
即使您在本文的“评论”栏留言,我们目前也无法回复。
给您带来不便,我们深感抱歉。请在询问时参阅“NXP技术问题-联系方式(日本博客)”。
(如果您已经是NXP的代理商或与其有合作关系,可以直接向负责人咨询。)
在第一部分中,我们介绍了SR250的特性(将UWB测距和UWB雷达集成在单个芯片上)。在第二部分中,我们将搭建一个环境,使用评估板SR250UWBSHIELD + FRDM-RW612实际运行SR250。我们将介绍两种方案:无需构建的即插即用(PnP)方案和用于完整开发的Zephyr SDK方案。
(预计工作时间:10分钟)