Thread 与 Matter¶
Thread 在 Zephyr RTOS 下使用 IPRO7 的 IEEE 802.15.4 无线电,由 Zephyr 的 OpenThread 配合 SDK 的 802.15.4 驱动提供。FreeRTOS 应用没有 802.15.4 与 Thread,本版本也没有 Matter 协议栈。
要点
- Thread:只在 Zephyr RTOS 下提供,示例开发板为
ipro7_evb。供 Zephyr OpenThread shell 示例使用的配置片段在zephyr/samples/ieee802154_shell/中。 - IPRO7AI Reef EVK:V2.2.1 没有 Reef 的 Thread 路径。Reef 没有 Zephyr 开发板定义,它运行的 FreeRTOS 应用也不含 802.15.4。
- Matter:未包含在 V2.2.1 中,没有 Matter 协议栈、应用或构建命令。请联系 INTELPRO。
- 本页内容不代表此版本已通过 Thread 或 Matter 认证。
交付状态¶
| 项目 | 本版本 |
|---|---|
| Matter 协议栈与应用 | 未包含 |
| Thread(OpenThread) | Zephyr RTOS,示例开发板 ipro7_evb;FreeRTOS 没有 |
| Thread Border Router | 未包含 |
| IEEE 802.15.4 无线电 | Zephyr 驱动,配合预编译的 MAC 与 RF 库 |
| BLE(可用于配网) | FreeRTOS 与 Zephyr 均可用,但未与 Matter 集成 |
OpenThread(Zephyr RTOS)¶
flowchart TB
A["OpenThread<br/>(Zephyr 模块)"] --> B["Zephyr IEEE 802.15.4 驱动<br/>zephyr/drivers/ieee802154"]
B --> C["802.15.4 MAC 与 RF 预编译库<br/>lib/zephyr/"]
C --> D["IPRO7 无线电"]
RF 驱动与 802.15.4 MAC 以预编译库的形式链接(components/wireless/rf/ipro7_rf/lib/zephyr/、components/wireless/ieee802154/lib/zephyr/)。OpenThread 是 west.yml 允许列表中的 Zephyr 模块。
SDK 为 Zephyr 自带的 samples/net/openthread/shell 提供配置片段:
文件(zephyr/samples/ieee802154_shell/) |
内容 |
|---|---|
ot.conf |
Thread 1.4、OpenThread CLI 的 ping、CSL 所需的无线电时间戳与定时发送、栈大小,以及 RF 晶振微调 |
csl.conf |
叠加在 ot.conf 之上:CSL 接收端(sleepy end device)、CSL 周期与超时,以及驱动的数据包跟踪 |
app.overlay |
启用 ieee802154 节点,并设为默认的 802.15.4 设备 |
CONFIG_OPENTHREAD_THREAD_VERSION_1_4=y
CONFIG_OPENTHREAD_PING_SENDER=y
CONFIG_NET_PKT_TIMESTAMP=y
CONFIG_NET_PKT_TXTIME=y
CONFIG_SOC_IPRO7_XTAL_CAPCODE=165
CONFIG_OPENTHREAD_CSL_RECEIVER=y
CONFIG_IEEE802154_IPRO_OT_CSL_PERIOD_US=500000
CONFIG_IEEE802154_IPRO_OT_CSL_TIMEOUT_S=20
RF 晶振微调值因板而异
ot.conf 中的 CONFIG_SOC_IPRO7_XTAL_CAPCODE=165 是在 IPRO7 EVB 上测得的。换到其他电路板时,请用 ipro154 xtal 与 ipro154 cfo 测量后设置自己的值:频率误差过大会影响与其他 Thread 设备的连接。
在 IPRO7 EVB 上试用¶
本版本没有 Reef 的 Thread 操作步骤。在 IPRO7 EVB 上:
-
创建工作区:按照 Zephyr RTOS 执行
tools/zephyr/bootstrap.sh与source zephyr-workspace/env.sh。 -
构建 OpenThread shell(在
zephyr-workspace/中执行;<SDK>是 SDK 根目录的绝对路径)west build -b ipro7_evb zephyr/samples/net/openthread/shell -d build/ot -- \ -DEXTRA_CONF_FILE=<SDK>/zephyr/samples/ieee802154_shell/ot.conf \ -DEXTRA_DTC_OVERLAY_FILE=<SDK>/zephyr/samples/ieee802154_shell/app.overlay要试用 CSL 接收端时,把
csl.conf也加入EXTRA_CONF_FILE。 -
烧录:
west flash -d build/ot;没有探针时加上-- --boot shell或-- --boot manual(见 Zephyr RTOS)。 -
使用:用
../tools/zephyr/monitor.sh --port /dev/cu.usbserial-XXXX(2,000,000 baud)打开控制台,用ot命令操作 OpenThread CLI。创建或加入网络需要另一个 Thread 设备或 Border Router。
只想测试 802.15.4 数据包收发时,构建 SDK 的 ieee802154_shell 示例(Zephyr 的 IEEE 802.15.4 与网络 shell):
驱动另外提供 ipro154 调试命令:
| 命令 | 用途 |
|---|---|
ipro154 stats |
驱动与 HAL 的计数器 |
ipro154 clk |
无线电时钟与 kernel 时钟的比率 |
ipro154 cfo |
各发送端的频率偏移、SFD 相关值与 RSSI |
ipro154 xtal |
RF 晶振微调值 |
ipro154 crc |
把 CRC 错误的数据包计入 HAL 计数器 |
ipro154 trace |
HAL 数据包跟踪(on/off/clear/dump) |
tools/zephyr/csl_pcap.py 可分析 802.15.4 sniffer 抓包文件中的 CSL 时序。
集成前需确认的事项¶
- RTOS:Thread 只在 Zephyr 下提供,没有任何配置能把它加入 FreeRTOS 应用。产品如果还需要低功耗、摄像头、USB 或 NPU,先确认它们在 Zephyr 下的状态(Zephyr RTOS)。
- 开发板:本版本的 Zephyr 开发板是 IPRO7 EVB 与 IPRO7AI EVK;产品板需要自己的开发板定义。
- 低功耗:本版本的 Zephyr 不会让 SoC 进入 PDS 或 HBN。
csl.conf展示的是 CSL 时序行为,不代表设备能达到睡眠级别的电流。 - RF 晶振:每一种电路板设计都要设置并验证
CONFIG_SOC_IPRO7_XTAL_CAPCODE。 - Border Router 与配网:未附带 Border Router。请规划外部 Border Router、网络凭据如何分发,以及如何安全存储。
- 资源:确认 flash 与 RAM 预算、持久化存储、熵源(
CONFIG_ENTROPY_GENERATOR)与更新路径(MCUboot,见 OTA 更新)。 - 验证顺序:先验证开发板驱动、无线连接、IP 传输与安全存储,再进行协议集成、配网、重启后的恢复与互操作性验证。
Matter 规划¶
Matter 是 IP 层的应用协议,可运行在 Wi-Fi、以太网或 Thread 上,并通过 BLE 配网。本版本中各种传输都有对应的组件:FreeRTOS 下经 IPRO6S 的 Wi-Fi 与以太网(网络)、Zephyr 下的 Thread、两者都有的 BLE;但没有 Matter 协议栈、配网流程、设备认证证书或 Matter OTA。具备传输组件不等于完成了 Matter 集成。Matter 的规划与时间表请联系 INTELPRO。
相关文档¶
- Zephyr RTOS:工作区、烧录、功能与限制。
- 网络:lwIP、Reef 经 IPRO6S FIN 卡的 Wi-Fi、以太网。
- BLE 开发:BLE host 与控制器。