Google 致力于为黑人社区推动种族平等。查看具体行动

联合处理器设计

OpenThread 支持协处理器设计。构建 OpenThread 示例时,系统会自动为每个协处理器设计创建一个固件映像。有关详情,请参阅二进制文件

无线协处理器 (RCP)

OT RCP 架构

在 RCP 设计中,OpenThread 的核心位于主机处理器上,在具有 Thread 无线装置的设备上,只有最小的 MAC 层“控制器”。在此设计中,主机处理器通常不会休眠,部分是为了保证线程网络的可靠性。

RCP 和主机处理器之间的通信由 OpenThread 守护程序通过 Spinel 协议通过 SPI 接口进行管理。

这种方法的优点是,OpenThread 可以在功能更强大的处理器上利用资源。

此设计对于对电源限制不太敏感的设备很有用。 例如,摄像机上的主机处理器会始终处理视频。

OpenThread 边界路由器支持 RCP 设计。如需了解详情,请参阅 OpenThread 边界路由器

如需构建 RCP,请参阅以下 Codelab:

构建使用 nRF52840 的线程网络 Thread Border Router

网络协处理器 (NCP)

OT NCP 架构

标准 NCP 设计在 SoC 具有线程功能,并在主机处理器上运行应用层,这通常比 OpenThread 设备能够(但具有更高的功耗要求)。

NCP 和主机处理器之间的通信由 wpantund 通过串行接口进行管理,通常使用 Spinel 协议通过 SPI 或 UART。

此设计的优势在于,高功耗主机可以在休眠时保持低功耗 OpenThread 设备,以保持其在线程网络中的位置。由于 SoC 与应用层并无关联,因此应用的开发和测试与 OpenThread 构建无关。

此设计适用于网关设备或具有其他处理需求(如 IP 相机和扬声器)的设备。

Spinel 协议

Spinel 是一种通用管理协议,可让主机设备与辅助处理器通信和管理。Spinel 最初是为支持基于线程的 NCP 而设计的,采用分层方法设计,使其在将来能够轻松适应其他网络技术。它与 RCP 和 NCP 设计结合使用。

此协议包含在 /src/lib/spinel 中的 OpenThread 中。我们有一个名为 Pyspinel 的 Python CLI 工具可用于测试。

如需了解详情,请参阅 Spinel 主机-控制器协议的互联网草稿