共同處理者設計

OpenThread 支援輔助處理器設計。建構 OpenThread 範例時,系統會自動建立每個輔助處理器設計的韌體映像檔。如需更多資訊,請參閱二進位檔

無線電共同處理器 (RCP)

OT RCP 架構

在 RCP 設計中,OpenThread 的核心位於主機處理器上,裝置上只有含有 Thread 無線電的 MAC 層「控制器」。主機處理器通常不會採用此設計,這部分是為了確保 Thread 網路的穩定性。

RCP 和主機處理器之間的通訊,是由 OpenThread Daemon 透過 Spinel 通訊協定透過 SPI 介面管理。

這種做法的優點是 OpenThread 能利用更強大的處理器來處理資源。

設計時較不容易受到電源限制影響的裝置。舉例來說,攝影機的主機處理器一律會開啟影片處理功能。

OpenThread Border 路由器支援 RCP 設計。詳情請參閱 OpenThread Border 路由器

如要建立 RCP,請參閱下列程式碼研究室:

使用 nRF52840 建構 Thread 網路 執行緒邊界路由器

網路共同處理者 (NCP)

OT NCP 架構

標準 NCP 設計在 SoC 上具有 Thread 功能,並在主機處理器上執行應用程式層,這類機器通常比 OpenThread 裝置功能更強大 (但對於電力需求較高)。

NCP 和主機處理器之間的通訊,是由 wpantund 透過序列介面 (通常是使用 SPI 或 UART) 透過 Spinel 通訊協定管理。

這項設計的優點在於,功率較高的主機能夠在低功率的 OpenThread 裝置上保持休眠狀態,同時保持在 Thread 網路中的位置。由於 SoC 與應用程式層無關,因此應用程式的開發和測試與 OpenThread 版本無關。

閘道裝置或具有其他處理需求 (例如 IP 攝影機和喇叭) 的裝置非常實用。

Spinel 通訊協定

Spinel 是一種通用管理通訊協定,可讓主機裝置與共同處理器通訊及管理。Spinel 最初專為支援 Thread 的 NCP 而設計,其採用分層做法,日後將可輕鬆適應其他網路技術。它會與 RCP 和 NCP 設計搭配使用。

這個通訊協定包含在 /src/lib/spinel 的 OpenThread。提供 Pyspinel 的 Python CLI 工具可進行測試。

詳情請參閱 Spinel Host-Controller 通訊協定的網際網路草稿