עיצובים למעבדי מידע משותפים

עיצובים למעבדי מידע נתמכים על-ידי OpenThread. כשיוצרים דוגמאות של OpenThread, המערכת יוצרת באופן אוטומטי תמונת קושחה לכל עיצוב של מעבד מידע. למידע נוסף, אפשר לעיין במאמר בינאריים.

מעבד שותף רדיו (RCP)

ארכיטקטורת OT RCP

בעיצוב RCP, ליבת OpenThread נמצאת במעבד המארח עם "בקר" של שכבת MAC מינימלית במכשיר עם רדיו Thread. מעבד המארח בדרך כלל לא ישן בעיצוב הזה, בין השאר כדי להבטיח את המהימנות של רשת ה-thread.

התקשורת בין RCP לבין המעבד המארח מנוהלת על-ידי OpenThread Daemon דרך ממשק SPI דרך פרוטוקול Spinel.

היתרון כאן הוא ש-OpenThread יכולה להשתמש במשאבים במעבד החזק יותר.

העיצוב הזה שימושי למכשירים שרגישים פחות לאילוצי מתח. לדוגמה, מעבד המארח במצלמת וידאו תמיד פועל לעיבוד סרטונים.

נתב גבול פתוח מסוג OpenThread תומך בעיצוב RCP. לקבלת מידע נוסף, ניתן לעיין במאמר OpenThread Border Router.

כדי לבנות RCP, עיינו ב-Codelabs הבאים:

בניית רשת לשרשורים עם nRF52840 נתב לשרשורי

מעבד רשת משותף (NCP)

ארכיטקטורת OT NCP

לעיצוב NCP הרגיל יש תכונות של שרשור ב-SoC והוא מפעיל את שכבת האפליקציות במעבד מארח, שהוא בעל יכולות טובות יותר (אך בעל ביקוש גבוה יותר) מאשר במכשיר OpenThread.

התקשורת בין NCP למעבד המארח מנוהלת על ידי wpantund דרך ממשק סידורי, לרוב באמצעות SPI או UART, מעל לפרוטוקול Spinel.

היתרון של עיצוב זה הוא שהמארח בעל המתח הגבוה יכול לישון, בזמן שמכשיר ה-OpenThread בעל המתח הנמוך יותר נשאר פעיל כדי לשמור על מקומו ברשת שרשור. ומכיוון שה-SoC אינו קשור לשכבת האפליקציות, הפיתוח והבדיקה של היישומים אינם תלויים ב-OpenThread build.

העיצוב הזה שימושי עבור מכשירים או מכשירים עם שער שיש להם דרישות עיבוד אחרות, כמו מצלמות IP ורמקולים.

פרוטוקול ספינל

Spinel הוא פרוטוקול ניהול כללי שמאפשר למכשיר מארח לתקשר עם מעבד-שותף ולנהל אותו. המטרה העיקרית של האפליקציה היא לתמוך ברכיבי NCP המבוססים על שרשורים. היא תוכננה עם גישה רב-שכבתית שמאפשרת להתאים אותה בקלות לטכנולוגיות אחרות של רשתות בעתיד. הוא משמש גם בעיצובים של RCP וגם בעיצובים של NCP.

הפרוטוקול הזה כלול ב-OpenThread בכתובת /src/lib/spinel. כלי Python בשם Pyspinel זמין לצורך בדיקה.

מידע נוסף זמין בטיוטה לאינטרנט (Internet-Draft) של הבקר של ה-Spinal Host-Control