חדשות היום

שילוב מיקרו-בקרים 32 ביט עם מערכות הפעלה זמן-אמת

מאת: אריק וינשטיין. דמיינו לכם שאתם במשרד ומקבלים טלפון מילדכם שחזר מבית הספר בשעות הצהריים ואינו יכול להיכנס הביתה כי שכח את המפתח. ללא שום בעיה אתם מפעילים אפליקציה בטלפון החכם שפותחת לו את דלת הכניסה, מדליקה את האור וגם את מיזוג האוויר באם נדרש. מערכות שליטה אלו שמשולבות בבית החכם היו פעם דמיוניות אך הולכות ונהיות זמינות ברמה מסחרית (ולא רק לעשירים) בגלל שהטכנולוגיות הרלוונטיות הופכות לזמינות במחיר סביר, בצריכת הספק, בפונקציונאליות וביצועים. אם נסתכל על דוגמא זו של הבית החכם, הטכנולוגיות הרלוונטיות שתרמו להתפתחות הם בתחום המעבדים, תקשורת ותוכנת ההתקנים המשובצים.
בתחום המעבדים, הדרישה כיום היא כמובן מחיר נמוך מספיק כדי להפוך את המוצר לכדאי מבחינה כלכלית ובמחיר תחרותי, צריכת הספק נמוכה ככל האפשר, יכולת עיבוד ותמיכה בהתקנים פריפריאליים כגון חיבורי רשת אלחוטית, חיבוריות USB ו-SPI, מסך מגע ועוד.
בתחום התקשורת הדרישה היא לקישוריות בתוך הבית אם קווית או אלחוטית. בין התקנים המובילים ניתן למנות את ה-WiFi ו-ZigBee האלחוטיות ו-HomePlug העושה שימוש בכבלי החשמל בבית. במאמר זה נתייחס בעיקר למעבדים והתוכנה שהם מריצים.
בתחום התוכנה, הדרישות הם לביצועי זמן-אמת היכן שנדרש, צריכת זיכרון מינימלית (memory footprint), ומימוש יעיל של קוד- דבר שמאפשר הקטנת ההספק מצד התוכנה במיוחד בהתקנים ניידים. דרישה נוספת היא תמיכה בפונקציונליות רחבה שכוללת פרוטוקולי אינטרנט כמו web browser, פרוטוקולי אבטחה כמו SSL לגישה מאובטחת, חיבוריות כמו USB 2.0 /3.0 ועוד.
התזמון והבשלות של טכנולוגיות אלו בתחום המעבדים, תקשורת ותוכנה הופכים התקנים ומערכות כמו אלו של הבית החכם לזמינים בצורה מסחרית: בקרה מקוונת של מערכות מיזוג אוויר וחימום, בקרה על הכניסות לבית בצורת מנעולים מקוונים, תאורה עם חיבור אלחוטי לרשת ועוד.

התפתחות המיקרו-בקרים משפחת Cortex™-M
עולם המערכות והטכנולוגיות המשובצות מתפתח ללא הרף עם הרבה דגש על המיקרו-בקרים. אם בעבר הרבה פרויקטים להתקנים לא מורכבים נטו להשתמש בבקרי 8 או 16 ביט, הרי שהיום, עם התפתחות ארכיטקטורות חדשות של 32 ביט כמו משפחת ה-Cortex™-M של חברת ARM, מתפתחת מגמה לעבור מבקרי 8/16 ביט למיקרו-בקרים חדשים אלו. יש כמה גורמים המשפיעים על המעבר למעבדי 32 ביט:
הדרישות לפונקציונאליות גדולה יותר בהתקנים משובצים מגדילה את מורכבותם. כיום מיקרו-מעבד נדרש לתמוך בקישוריות לרשת, בחיבוריות להתקנים חיצוניים רבים כמו מסכי מגע עם יכולות ממשק משתמש ברמה גבוהה. בחלק מדרישות הללו בקרי ה-8/16 ביט תומכים אך לא תמיד בצורה מלאה. יתרה מזאת, לא ברור כמה יוכלו לתמוך בקרי ה-8/16 בדרישות עתידיות למוצר שאותו אנו מפתחים היום אם מבחינת פונקציונאליות ואם מבחינת כוח חישוב.
יכולת של מיקרו-בקרים של 32 ביט לספק ביצועים הטובים פי כמה מבקרי
ה- 8/16 תוך ירידה בהספק הנדרש!
הקטנת שטח הזיכרון הנדרש לקוד ע”י שימוש בטכנולוגיות כמו ה-Thumb®-2 במעבדי Cortex™-M התומכת בפקודות ברוחב 16 ביט.
תוכנות מתקדמות כמו מערכות הפעלה זמן-אמת (rtos) וכלי פיתוח מתקדמים יותר מבקרי ה-8/16 מאפשרים את קיצור זמני הפיתוח ולהגיע לשוק מהר יותר.
ארכיטקטורת ה-Cortex™-M של חברת ARM נמצאת בשימוש נרחב של יצרני המיקרו-בקרים, רשימה חלקית כוללת את:Freescale עם משפחת ה-Kinetis, עם משפחות ה-®Stellaris, עם משפחת ה-, NXP עם מעבדי LPC17xx, , ועוד.

התפתחות התוכנה למיקרו-בקרים
המעבר לארכיטקטורת 32 ביט במיקרו- בקרים מאפשר לשלב בתוכנה מערכת הפעלה זמן – אמת , כמו SMX® RTOS התומכת במגוון המעבדים של משפחת
ה-Cortex™-M. לשילוב של מערכת הפעלה זמן-אמת התומכת בריבוי תהליכים (multi-tasking) עם עדיפויות יש כמה יתרונות שחלקם משמעותי:
הסיבוכיות של הקוד קטנה – בעזרת מערכת הפעלה זמן-אמת ניתן לתכנן בצורה מיטבית את ארכיטקטורת התוכנה של המערכת , לבצע תהליכים בצורה מקבילית תוך כדי פיתוח קוד פשוט יותר בכל תהליך וניצול אופטימלי של משאבי המיקרו-מעבד.
הגדלת האמינות – תכנון נכון של התוכנה ומימוש בצורה מודולרית בעזרת תהליכים (tasks/threads) ושירותים נוספים של מערכת ההפעלה כמו Queue ו-Semaphores, מאפשרת לבצע בדיקות לתוכנה בצורה טובה יותר, כולל שימוש בכלים אוטומטיים ובכך להוציא קוד אמין יותר.
אפשרות להוסיף פונקציונליות נוספת לתוכנה בקלות יחסית ביחס לתוכנה שרצה ללא מערכת הפעלה ( קושחה).
יכולת להגירה (portability) קלה יותר בעתיד ושימוש חוזר בקוד (code reuse) מכיוון שמערכות הפעלה משתמשות בשכבת (Board Support Package) שבעצם יוצרת הפרדה בין התוכנה לחומרה.
השימוש במערכת הפעלה יכול גם להשפיע על צריכת ההספק: יעילות הקוד שדורשת פחות שטח בזיכרון ופחות פניות לזיכרון, בקרה על מתח ותדר המעבד שמשפיעות באופן ישיר על צריכת ההספקה, היכולת לבטל פעילות (deactivation) לחלקים שונים בהתקן כמו מסך LCD בזמן שהוא לא בשימוש, תמיכה במצבי sleep של המעבד ועוד.
ג’יימי שימהבוקרו (Jamie Shimabukuro), מנכ”ל חברת Coressent המשווקת את מערכת ההפעלה SMX® RTOS שיתף אותנו בנקודת מבטו בקשר ליתרונות השילוב של מערכות הפעלה זמן אמת עם משפחת מעבדי
ה-Cortex™-M של ARM: “לדעתי אנו עדים לשינוי טכנולוגי שאולי יכול להזכיר את התפתחות הטלפונים הסלולריים – מטלפון שתמך רק בחיוג ידני ללא ספר כתובות עם הספקי שידור אדירים ועד לטלפונים החכמים של היום. המעבר מבקרי 8/16 ביט למעבדי 32 ביט בשילוב מערכות הפעלה מתקדמות יאפשר מעבר מהתקנים פשוטים להתקנים חכמים, מקוונים ובעלי צריכת הספק נמוכה. הזמינות המסחרית והאטרקטיביות של החומרה ביחד עם מערכת הפעלה תאפשר לשלב התקנים חכמים כמעט בכל פונקציה של חיי היום יום – והבית החכם הוא רק דוגמא אחת לכך. רוב לקוחותינו מבססים את מוצריהם על משפחת ה-Cortex™-M בתחומים רבים כמו הבית והמשרד החכם, smart grid, ציוד רפואי נייד וקבוע, בקרה תעשייתית ועוד. אנו עדים לתופעה של מעבר ממיקרו- בקרים של 16 ביט, הלקוחות ממספרים לנו בפרוש שאם מחיר החומרה משתווה בין 2 סוגי המיקרו-בקרים אולם משפחת ה-™Cortex מציגה ביצועים טובים יותר בהספק נמוך יותר אין שום סיבה לא לעבור”.
מה הדרישות שמעלים הלקוחות כאשר הם מדברים על מ”ה זמן-אמת לבקרי ה-Cortex™-M?
“הדרישות משתנות בין הלקוחות אך אם נסתכל על דרישות העיקריות הם מתחלקות בין דרישות טכניות לעסקיות. בצד הטכני הדרישה היא למערכת הפעלה שתספק kernel יעיל שיאפשר ניהול ותזמון יעילים של התוכנה, תמיכה בפרוטוקולי תקשורת בצורה מלאה כולל WiFI, תקשורת מוצפנת כדי לאפשר גישה מאובטחת מרחוק, נפח קוד קטן בזיכרון לא רק בגלל הספק כי אם גם לאפשר BOM נמוך. מבחינה עסקית הדרישה בד”כ היא לרישיון ללא תמלוגים, שוב כדי להשפיע בצורה מינימאלית על
ה-BOM”.
מה היתרון במערכות הפעלה זמן-אמת מסחרית כמו ה-SMX® RTOS ביחס לפתרון תוכנה שפותח פנימית בחברה או המבוסס על קוד פתוח שמתאים למעבדי Cortex™-M?
ג’יימי שימהבוקרו: “במקרה של SMX, אפשר להגיד ששוק היעד שלנו מבוסס ברובו על מעבדי משפחת ה-Cortex™-M, כך שאנו ממנפים את התוכנה בעזרת הידע שנצבר על המשפחה הזו – ברגע שיוצא חבר חדש במשפחה של Cortex™-M לשוק, אנו תומכים בו עם מערכת ההפעלה תוך זמן קצר ביותר. מערכת SMX מכילה בתוכה התמחויות רבות שפיתחנו כמו למשל תקשורת-Wifi ו-USB. לא כל מערכות הפעלה מספקות פתרון לתקשורת אלחוטית ופיתוח עצמאי in-house של מחסנית WiFI הוא לא כלכלי גם בגלל זמני הפיתוח וגם בגלל כמות הבדיקות המאסיבית נדרשת – בדיקות שנעשו ע”י מפתחי SMX. לפרוטוקול מורכב כמו SSL שפותח מבסיסו לרוץ על מעבדים כמו Cortex™-M יהיה יתרון משמעותי על פני מימוש קוד פתוח הן מבחינת ביצועים והן בגודל הזיכרון הנדרש לקוד ול-data.”

לסיכום
הופעת המעבדים מבוססי ארכיטקטורת Cortex™-M של חברת ARM בשוק פותחת הזדמנויות חדשות ליצרני התקנים משובצים. דרישות השוק להתקנים חכמים יותר, מרושתים עם יכולות חזקות לעיבוד וכל זאת במחיר ובצריכת הספק נמוכים יוצרות מגמה של מעבר מבקרי 8 או 16 ביט המוגבלים יותר למעבדי 32 ביט כמו Cortex™-M3 או Cortex™-M4. היכולת לשלב במעבדי 32 ביט אלו מערכות הפעלה מתקדמות שלא היו כמעט קיימות לבקרי
ה-8/16 ביט מאפשרת לפתח במהירות התקנים משובצים חכמים תוך שימוש בכלי פיתוח מתקדמים. מערכת הפעלה כמו ה-SMX מוסיפה תמיכה בתוכנה לפונקציונליות הרחבה כמו חיבור לרשת בתקשורת אלחוטית מאובטחת, חיבורי USB מהירים, גישה לזיכרונות Flash וממשקי משתמש מתקדמים, וביחד עם המעבדים מאפשרת ליצרנים להתקדם להתקנים החכמים מהדור הבא.

נכתב בשיתוף חברת Coressent-Israel

תגובות סגורות