طرح های پردازنده مشترک

طرح های Co-Processor توسط OpenThread پشتیبانی می شوند. هنگام ساختن نمونه‌های OpenThread، یک تصویر میان‌افزار برای هر طراحی هم‌پردازنده به‌طور خودکار ایجاد می‌شود. برای اطلاعات بیشتر به Binaries مراجعه کنید.

پردازنده مشترک رادیویی (RCP)

معماری OT RCP

در طراحی RCP، هسته OpenThread روی پردازنده میزبان تنها با حداقل یک "کنترل کننده" لایه MAC روی دستگاه دارای رادیو Thread زندگی می کند. پردازنده میزبان معمولاً در این طراحی نمی‌خوابد، تا حدی برای اطمینان از قابلیت اطمینان شبکه Thread.

ارتباط بین RCP و پردازنده میزبان توسط OpenThread Daemon از طریق یک رابط SPI روی پروتکل Spinel مدیریت می شود.

مزیت اینجا این است که OpenThread می تواند از منابع پردازنده قدرتمندتر استفاده کند.

این طراحی برای دستگاه هایی که حساسیت کمتری به محدودیت های برق دارند مفید است. به عنوان مثال، پردازنده میزبان در یک دوربین فیلمبرداری همیشه برای پردازش ویدیو روشن است.

روتر مرزی OpenThread از طراحی RCP پشتیبانی می کند. برای اطلاعات بیشتر، به OpenThread Border Router مراجعه کنید.

برای ساخت RCP، به Codelabs زیر مراجعه کنید:

یک شبکه Thread با nRF52840 Thread Border Router بسازید

پردازشگر مشترک شبکه (NCP)

معماری OT NCP

طراحی استاندارد NCP دارای ویژگی‌های Thread در SoC است و لایه برنامه را روی یک پردازنده میزبان اجرا می‌کند، که معمولاً نسبت به دستگاه OpenThread توانایی بیشتری دارد (اما نیاز به انرژی بیشتری دارد).

ارتباط بین NCP و پردازنده میزبان توسط wpantund از طریق یک رابط سریال مدیریت می شود که معمولاً از SPI یا UART بر روی پروتکل اسپینل استفاده می کند.

مزیت این طراحی این است که هاست با توان بالاتر می تواند بخوابد در حالی که دستگاه OpenThread کم مصرف برای حفظ جایگاه خود در شبکه Thread فعال باقی می ماند. و از آنجایی که SoC به لایه برنامه متصل نیست، توسعه و آزمایش برنامه ها مستقل از ساخت OpenThread است.

این طراحی برای دستگاه های دروازه یا دستگاه هایی که نیازهای پردازش دیگری مانند دوربین های IP و بلندگو دارند مفید است.

پروتکل اسپینل

اسپینل یک پروتکل مدیریتی عمومی است که یک دستگاه میزبان را قادر می سازد تا با یک پردازنده مشترک ارتباط برقرار کرده و مدیریت کند. Spinel که در ابتدا برای پشتیبانی از NCPهای مبتنی بر Thread طراحی شده بود، با رویکرد لایه‌ای طراحی شده است که به آن اجازه می‌دهد به راحتی با سایر فناوری‌های شبکه در آینده سازگار شود. با هر دو طرح RCP و NCP استفاده می شود.

این پروتکل با OpenThread در /src/lib/spinel گنجانده شده است. یک ابزار CLI پایتون به نام Pyspinel برای اهداف آزمایشی در دسترس است.

برای اطلاعات بیشتر، به پیش‌نویس اینترنت برای پروتکل کنترل‌کننده میزبان Spinel مراجعه کنید.