Google 致力于为黑人社区推动种族平等。查看具体行动
此页面由 Cloud Translation API 翻译。
Switch to English

平台类

Google发布的OpenThread已由OpenThread团队,芯片供应商和社区移植到了多个设备和平台上。所有移植平台的构建示例都包含在OpenThread存储库中

请参阅搜索供应商以获取所有供应商支持的平台和社区端口的可搜索列表。

支持

每个平台的支持会随着时间而变化。某些平台带有OpenThread团队确定的当前支持级别。未标记的平台最近未经过测试,可能被视为具有“有限支持”。

支持水平描述
支持的全面和基本的支持,以及所有使用OpenThread的线程认证组件。这些平台中的许多平台已由OpenThread团队进行了测试和使用,建议在我们的演示和Codelabs中使用。
有限的支持这些平台尚未经过全面测试,可能缺少一些关键功能。
不支持当前不支持,可能在运行OpenThread时遇到问题。使用风险自负。

系统架构

OT系统架构

OpenThread在设计时考虑了可移植性和灵活性。该代码是可移植的C / C ++(C99和C ++ 03),由于抽象层较窄,因此与系统体系结构无关。这个抽象层意味着OpenThread可以在裸机或OS上运行。迄今为止,OpenThread已被证明可以在FreeRTOS,RIOT-OS,Zephyr OS,Linux和macOS上运行。

OpenThread的可移植性不对平台功能进行任何假设。 OpenThread提供了挂钩,以利用增强的无线电和加密功能,从而降低了系统要求,例如内存,代码和计算周期。这可以在每个平台上完成,同时保留默认为标准配置的功能。

OpenThread具有可配置的构建系统,开发人员可以根据需要使用该系统启用或禁用功能。除了默认的GNU工具链之外,该源还可以与许多其他流行的工具链(例如IAR和Visual Studio)一起使用。

平台设计

OpenThread支持片上系统(SoC)和网络协处理器(NCP)设计。

SoC是具有RFIC(对于Thread为802.15.4)和处理器的组合的单芯片解决方案,其中OpenThread和应用程序层在本地处理器上运行。

一个NCP设计是其中使用一个标准化的主机控制器协议上通过串行连接主处理器和与连通的OpenThread应用层运行我们称之为尖晶石。在这种设计中,OpenThread可以在无线电或主机处理器上运行。

单芯片,仅线程(SoC)

OT SoC架构

在这种设计中,应用程序层和OpenThread在同一处理器上运行。该应用程序直接使用OpenThread API和IPv6堆栈。

这是最常用于终端设备的SoC设计。由于它高度集成到单个硅片中,因此具有最低的成本和最低的功耗。

单芯片多接口(SoC)

OT多SoC架构

当SoC具有多个无线电(例如802.15.4和Wi-Fi或802.15.4和低功耗蓝牙(BLE))时,应用程序层和OpenThread仍在同一处理器上运行。在多接口设计中,OpenThread通过原始IPv6数据报接口利用共享的第三方IPv6堆栈。

网络协处理器(NCP)

OT NCP架构

标准的NCP设计在SoC上具有线程功能,并在主机处理器上运行应用程序层,通常它比OpenThread器件功能更强大(但功率要求更高)。主机处理器通过Spinel协议通过串行接口(通常为SPI或UART)与OpenThread设备进行通信。

这种设计的好处是,高功率主机可以休眠,而低功率OpenThread设备保持活动状态以保持其在Thread网络中的位置。而且由于SoC不与应用程序层绑定,因此应用程序的开发和测试独立于OpenThread构建。

此设计对于网关设备或具有其他处理要求的设备(例如IP摄像机和扬声器)很有用。

无线电协处理器(RCP)

OT RCP架构

这是NCP设计的一种变体,其中OpenThread的核心位于主机处理器上,带有Thread无线电的设备上仅具有最小的MAC层“控制器”。在这种设计中,主机处理器通常不休眠,部分原因是为了确保Thread网络的可靠性。

这样做的好处是OpenThread可以利用功能更强大的处理器上的资源。

该设计对于对功率约束不太敏感的设备很有用。例如,摄像机上的主机处理器始终处于打开状态以处理视频。

开放平台问题

当前针对OpenThread平台存在以下问题: