共同處理器設計

OpenThread 支援共同處理者設計。建構 OpenThread 範例時,系統會自動為每個共同處理器設計建立韌體映像檔。詳情請參閱二進位檔

無線電處理器 (RCP)

OT RCP 架構

在 RCP 設計中,OpenThread 的核心在主機處理器上,但只有具有 Thread 無線電的裝置都只有最小的 MAC 層「控制器」。主機處理器通常不會在這個設計中睡覺,有一部分是為了確保執行緒網路的穩定性。

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

這麼做的好處是,OpenThread 可以運用更強大處理器上的資源。

如果裝置較不容易受電源限制,也很適合採用這種設計。 舉例來說,攝影機上的主機處理器會隨時處理影片。

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

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

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

網路輔助處理器 (NCP)

OT NCP 架構

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

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

這種設計的好處在於,高功率的主機可以睡覺,而低功耗的 OpenThread 裝置仍會保持運作,以維持其在 Thread 網路中的位置。由於 SoC 不會綁定應用程式層,因此應用程式的開發與測試與 OpenThread 版本無關。

如果住家裝置或有其他處理需求 (例如 IP 攝影機和喇叭),這項設計就非常實用。

Spinel 通訊協定

Spinel 是通用的管理通訊協定,可讓主機裝置與共同處理器通訊。Spinel 最初是專為支援執行緒式 NCP 而設計,採用分層方法設計,可輕鬆在日後調整至其他網路技術。此限制會與 RCP 和 NCP 設計搭配使用。

這個通訊協定包含在 OpenThread (/src/lib/spinel) 中。名為 Pyspinel 的 Python CLI 工具可提供測試。

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