העיצובים של מעבדי משנה נתמכים על ידי OpenThread. כשיוצרים דוגמאות של OpenThread, המערכת יוצרת באופן אוטומטי תמונת קושחה לכל עיצוב של מעבד משותף. מידע נוסף זמין במאמר בינאריים.
מעבד מידע לרדיו (RCP)
בעיצוב של RCP, הליבה של OpenThread נמצאת במעבד המארח עם רק "בקר" של MAC מינימלי במכשיר עם רדיו Thread. בדרך כלל מעבד האירוח לא ישן בעיצוב הזה, גם כדי להבטיח את האמינות של רשת השרשורים.
התקשורת בין ה-RCP לבין המעבד המארח מנוהלת על ידי OpenThread Daemon דרך ממשק SPI בפרוטוקול Spinel.
היתרון כאן הוא ש-OpenThread יכול להשתמש במשאבים שנמצאים במעבד החזק יותר.
העיצוב הזה שימושי למכשירים פחות רגישים בהגבלות צריכת חשמל. לדוגמה, מעבד האירוח במצלמת הווידאו תמיד פועל כדי לעבד את הסרטון.
נתב Open Border Router תומך בעיצוב RCP. מידע נוסף זמין במאמר Open Border Router.
כדי ליצור מספר RCP, יש לעיין במקורות הבאים של ה-Codelabs:
בניית רשת של Thread עם נתב nRF52840 Thread Border Router
מעבד משותף לרשת (NCP)
תכנון NCP רגיל כולל תכונות Thread ב-SoC ומפעיל את שכבת האפליקציה במעבד מארח, שלרוב מסוגל יותר (אבל יש לו ביקושי כוח גבוהים יותר) מאשר מכשיר OpenThread.
התקשורת בין ה-NCP לבין המעבד המארח מנוהלת על ידי wpantund
באמצעות ממשק טורי, לרוב באמצעות SPI או UART, באמצעות פרוטוקול Spinel.
היתרון של העיצוב הזה הוא שהמארח בעל העוצמה הגבוהה יותר יכול לישון, בעוד שמכשיר ה-OpenThread בצריכת חשמל נמוכה יותר נשאר פעיל כדי לשמור על מיקומו ברשת ה-Thread. מאחר שה-SoC אינו קשור לשכבת האפליקציה, הפיתוח והבדיקה של אפליקציות אינן תלויות ב-OpenThread.
העיצוב הזה שימושי למכשירי שער או למכשירים עם דרישות עיבוד אחרות, כמו מצלמות IP ורמקולים.
פרוטוקול Spinel
Spinel הוא פרוטוקול ניהול כללי שמאפשר להתקן מארח לתקשר ולנהל מעבד משותף. בתחילה עוצבה Spinel עם תמיכה בשכבות, המאפשרת להתאים אותה בקלות לטכנולוגיות רשת אחרות בעתיד. הוא נמצא בשימוש בשילוב עם עיצובי RCP ו-NCP.
הפרוטוקול הזה כלול ב-OpenThread בכתובת /src/lib/spinel
. אפשר להשתמש בכלי הבדיקה של Python בשם Pyspinel למטרות בדיקה.
למידע נוסף, קראו את המאמר פרוטוקול אינטרנט של הפרוטוקול Spinel Host-Controller Protocol.