يدعم OpenThread تصميمات المعالجات المشتركة. هناك نوعان من هندسة التصميم الرئيسية:
- Radio Co-Processor (RCP) - طبقة التطبيق ونواة OpenThread على المعالج المضيف ، الحد الأدنى من OpenThread MAC على 802.15.4 SoC. تتم إدارة الاتصال بين RCP والمعالج المضيف بواسطة OpenThread Daemon من خلال واجهة SPI عبر بروتوكول Spinel.
- Network Co-Processor (NCP) - طبقة التطبيق على المعالج المضيف ، ميزات OpenThread على 802.15.4 SoC. تتم إدارة الاتصال بين NCP والمعالج المضيف بواسطة
wpantund
خلال واجهة تسلسلية ، عادةً باستخدام SPI أو UART ، عبر بروتوكول Spinel.
لمزيد من المعلومات حول هذه التصميمات ، راجع تصميمات النظام الأساسي .
عند إنشاء أمثلة OpenThread ، يجب إنشاء صور البرامج الثابتة لتصميم RCP أو NCP المطلوب تلقائيًا. لمزيد من المعلومات ، راجع الثنائيات .
لتنزيل صور محددة مسبقًا لبرنامج NCP الثابت ، إلى جانب الإرشادات الوامضة ، راجع البرنامج الثابت لـ NCP المدمج .
بروتوكول الإسبنيل
Spinel هو بروتوكول إدارة عام لتمكين جهاز مضيف من الاتصال بمعالج مشترك وإدارته. تم تصميم Spinel مبدئيًا لدعم NCPs القائمة على الخيط ، وقد تم تصميمه باستخدام نهج متعدد الطبقات يسمح بتكييفه بسهولة مع تقنيات الشبكة الأخرى في المستقبل. يتم استخدامه مع كل من تصميمات RCP و NCP.
تم تضمين هذا البروتوكول مع OpenThread at /src/lib/spinel
. أداة Python CLI تسمى Pyspinel متاحة لأغراض الاختبار.
لمزيد من المعلومات ، راجع مسودة الإنترنت لبروتوكول Spinel Host-Controller Protocol .