• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

【代码库】FRDM MCXW72 802.15.4 MAC 应用,支持无线 UART

01/09 21:26
299
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

dm-frdmmcxw72-wireless-uart-15-4-mac-app-main.zip

共1个文件

FRDM MCXW72 802.15.4 MAC 应用,支持无线 UART

 

应用程序演示了如何使用 IEEE 802.15.4 MAC 层进行无线通信。它同时支持 PAN 协调器和终端设备角色,并提供不同的功率模式和接收器配置选项。

应用概览

特征

 

  • PAN协调器模式​:创建和管理802.15.4网络
  • 终端设备模式​:
    • 空闲时开启接收功能(始终监听)
    • 空闲时轮询模式下关闭接收功能(无低功耗模式)
    • 空闲时关闭接收功能(轮询模式,支持低功耗)
  • 频道管理​:设置和扫描频道(11-26)
  • UART 数据桥接器​:通过 UART 以 802.15.4 协议发送/接收数据
  • 能量检测扫描​:寻找干扰最小的最佳信道。
  • 主动扫描​:发现可用的协调员
  • 关联​:设备与协调器的自动关联
  • 低功耗支持​:为电池供电设备提供可选的低功耗模式

电路板:FRDM-MCXW72

 

类别:无线连接

 

外设:UART、802.15.4、GPIO

 

工具链:VS Code、GCC

 

目录

 

  1. 软件
  2. 硬件
  3. 设置
  4. 运行演示
  5. 支持
  6. 发行说明

1. 软件

 

  • Visual Studio Code
  • 适用于 VS Code 的 MCUXpresso 扩展
  • 串行终端应用程序
  • 用于版本控制的git
  • 用于 NBU 刷写的安全配置 SDK 工具 (SPSDK)

2. 硬件

 

  • 2 x NXP FRDM-MCXW72
  • 用于供电和串行通信的 USB Type-C 电缆
  • 终端模拟器(例如 PuTTY、Tera Term、minicom)

3. 设置

 

以下步骤用于设置和运行该应用程序。

3.1 步骤 1 - 在 VS Code 中导入项目

 

将此仓库克隆到您的本地计算机


git clone https://github.com/nxp-appcodehub/dm-frdmmcxw72-wireless-uart-15-4-mac-app.git

在 VS Code 中,打开 MCUXpresso for VS Code 扩展,然后在“项目”选项卡中Quickstart Panel,点击“项目Import project”。在新打开的窗口中,点击“项目” Folder,导航到克隆的仓库文件夹,然后点击“导入” Open。扩展程序将搜索独立项目,并在窗口上方显示找到的兼容 MCUXpresso CMake 项目armgcc。点击该项目,然后点击“导入”按钮Import导入项目。项目将显示在窗口左下角的“项目”Projects面板中。

进口

3.2 步骤 2 - 编写 NBU

 

MCX W72无线应用架构需要在电路板上刷入两个二进制文件:主应用固件和NBU(窄带单元)固件。NBU固件负责管理802.15.4无线电操作。

NBU 二进制文件包含在 NXP SDK 中,您可以从MCUXpresso SDK Builder(位于下载的 FRDM MCXW72 zip 压缩包中,路径为 [路径] middlewarewirelessieee-802.15.4binmcxw72)或NXP SDK Github 代码库下载。无需下载 SDK 即可直接获取二进制文件的路径是[路径]。所需的二进制文件名是 [文件名] mcxw72_nbu_ble_15_4_dyn_mac.bin

此存储库中的应用程序与 SDK 25.12.00 中的二进制文件一起使用。

需要使用安全配置 SDK 工具 (SPSDK)来处理 NBU 更新。该工具可以使用 Python 安装:


pip install spsdk

注意:某些依赖项可能与已安装的 Python 模块发生冲突。但是,blhost 工具仍然已安装并可以使用。

闪烁NBU图像

 

NBU仅当发布新的 NXP SDK 时才应写入映像。此步骤之前需要安装SPSDK 。

必须使用与NBU您正在使用的应用程序 SDK 版本相匹配的镜像。这意味着,下载 SDK 后,在加载任何无线 SDK 示例之前,NBU请使用 SDK 提供的二进制文件更新您的镜像。对于FRDM用户,请编写以下二进制文件:

middleware/wireless/ieee-802.15.4/bin/mcxw72/mcxw72_nbu_ble_15_4_dyn_mac.bin

  1. 在写入映像之前,请确保 FRDM-MCXW72 处于ISP模式,方法是按住SW3按钮(也称为ISP),同时将 MCXW72 板连接到 USB 端口(如果已连接到 USB 端口,请拔下板)。
  2. 设备连接成功后,您可以通过运行以下命令查找分配的端口:


nxpdevscan

  1. 清除之前的NBU固件:


blhost -p COM_PORT -- flash-erase-all 2

  1. 刷新新的NBU二进制文件:


blhost -p COM_PORT write-memory 0x48800000 .mcxw72_nbu_ble_15_4_dyn_mac.bin

  1. 重置电路板。

3.3 步骤 3 - 在 VS Code 中构建和调试应用程序

 

要构建应用程序二进制文件,在Projects导入的应用程序armgcc所在的面板中,您需要单击构建操作图标(如下图绿色方框所示)。要进行全新构建,请右键单击项目并按Pristine build

调试时,将开发板通过 USB 线连接后,点击调试图标(播放按钮),如下图红色方框所示。调试器将启动,应用程序将在开发板上运行。

进口

已知问题

 

使用 MCUXpresso 扩展在 VS Code 中导入独立项目可能会导致错误,进而导致应用程序无法成功构建。构建应用程序时遇到的错误可能如下:


cmake:152 (message):
Could not find toolchain file:
/path_to_app/frdmmcxw72_15_4_mac_app/armgcc/armgcc.cmake
Call Stack (most recent call first):
CMakeLists.txt:34 (project)

此错误是由于导入生成的文件存在缺陷导致的。解决方法如下:

  1. CMakePresets.json在项目面板中找到该文件。该文件位于Project Files下拉菜单中。
  2. 找到该"toolchainFile": "${sourceDir}/armgcc.cmake",行条目并将其修改为"toolchainFile": "${sourceDir}/cmake/toolchain/armgcc.cmake",.
  3. 右键单击项目并按Pristine build以执行清理构建。

进口

4. 运行演示

 

初始设置

 

  1. 将第一块板子通过 USB 接口连接到电脑。
  2. 使用以下设置打开串口终端:
    • 波特率:115200
    • 数据位:8
    • 奇偶性:无
    • 停止位:1
    • 流量控制:无
  3. 重置电路板
  4. 您应该会看到欢迎界面:

```

###### #####

###### # ###### ##### #############
####### ## ###### ##### ###############
######## ### ########### #### #####
#### ##### #### ######### ##### #####
#### ##### #### ######### #################
#### ######## ########### ###############
#### ##### ###### ##### ############
#### ### ###### ##### ##
#### # ###### ##### #
802.15.4 MAC Demo
-Press 'h' to see the available commands

802.15.4 MAC app Interface shortcuts

-Input [c] to start app in PAN Coordinator mode
-Input [e] to start app in RX on when idle end device
-Input [p] to start app in RX off when idle end device (no low power)
-Input [l] to start app in RX off when idle end device (with low power)
-Input [f] to factory reset the device
-Input [ch] to show current channel
-Input [ch <11-26>] to set channel to a value between 11 and 26
-Input [h] to Show this help

IEEE802.15.4 application is initialized and ready.
```

将设备启动为 PAN 协调器的过程如下:

  1. 首先,用户可以选择创建网络的 802.15.4 信道(默认设置为 11),这是可选步骤。可以通过输入 [ch <11-26>] 命令来完成的。
  2. 然后,输入 [c],设备将启动进入 PAN 协调器模式。在此步骤中,如果信道已在之前设置(如步骤 1 所述),则能量扫描结果将被忽略,网络将在已设置的信道上启动。如果在启动前未设置信道,应用程序将执行能量扫描以查找最佳可用信道,并在该信道上启动网络。
  3. PAN协调器将显示802.15.4网络配置详情,例如PAN ID和信道。PAN ID是随机生成的。


Starting as PAN coordinator on channel 15
Sending the MLME-Start Request message to the MAC...
Done!
Started the coordinator with PAN ID 0x442B

  1. PAN协调器现在可以接受来自终端设备的关联请求。

将设备作为终端设备启动的流程如下:

  1. 输入所需的终端设备类型命令:
    1. 输入 [e] 可在空闲模式下启动设备,使其开启接收 (RX) 功能。在此模式下,设备的无线收发器将始终保持开启状态,以监听网络信道上的消息。
    2. 输入 [p] 可使设备在空闲模式(无低功耗)下关闭接收功能。在此模式下,设备在空闲时将关闭无线收发器,以模拟低功耗模式。设备将通过数据轮询机制,按周期性定时器向 PAN 协调器请求数据。PAN 协调器会将数据包存储在间接队列中,直到终端设备轮询数据。
    3. 输入 [l] 可使设备在空闲模式(低功耗)下以 RX 关闭状态启动。此模式下的设备运行方式与前一种模式相同,区别在于它模拟了完全低功耗的设备。在此模式下,UART 接口仅用于打印从对端设备接收到的消息。

设备接入网络后,用户可以输入指令start并按回车键开始数据传输。应用程序将在PAN协调器和终端设备之间发送消息。

5. 支持

 

如需更多支持,请访问 NXP 无线社区页面 - NXP 无线社区

项目元数据

 

徽章

类别徽章

外围徽章 外围徽章 外围徽章

工具链徽章 工具链徽章

有关此示例的内容/正确性的问题,可以作为 Issues 提交到此 GitHub 存储库中。

来源:恩智浦appcodehub

  • dm-frdmmcxw72-wireless-uart-15-4-mac-app-main.zip
    下载
恩智浦

恩智浦

恩智浦半导体创立于2006年,其前身为荷兰飞利浦公司于1953年成立的半导体事业部,总部位于荷兰埃因霍温。恩智浦2010年在美国纳斯达克上市。恩智浦2010年在美国纳斯达克上市。恩智浦半导体致力于打造全球化解决方案,实现智慧生活,安全连结。

恩智浦半导体创立于2006年,其前身为荷兰飞利浦公司于1953年成立的半导体事业部,总部位于荷兰埃因霍温。恩智浦2010年在美国纳斯达克上市。恩智浦2010年在美国纳斯达克上市。恩智浦半导体致力于打造全球化解决方案,实现智慧生活,安全连结。收起

查看更多

相关推荐