איך עובדת מערכת Embedded
ו מערכת Real Time Embedded

Home » Articles » איך עובדת מערכת Embedded ומערכת Real Time Embedded

מלאו פרטים לקבלת ייעוץ





אני מאשר קבלת מבצעים ועדכונים מחברת RT-GROUP בכפוף לprivacy


לחץ לצפיה

איך עובדת מערכת Embedded ?

כדי לענות על שאלה זו ננסה תחילה להסביר מהי מערכת Embedded?
במשפט אחד מערכת Embedded היא השילוב שבין חומרה ותוכנה, כלומר תוכנה שנבנתה בכדי לרוץ על חומרה ייחודית ומיועדת להעניק אופטימיזציה בעבור פונקציונליות מסוימת.
היא יכולה להיות פשוטה ביכולותיה ומיועדת לבצע פעולה אחת ויחידה או שתהיה מורכבת ובעבור ריבוי משימות תצטרך לעבוד בשילוב עם מערכת הפעלה (כגון Embedded Linux).

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

איך עובדת Embedded System?

מערכות Embedded מנוהלות על-ידי ליבות עיבוד בודדות או מרובות Microprocessors או Microcontrollers. הכוללת בסופו של עניין את לב המוצר ה- CPU.
ה CPU הוא מעגל משולב (IC) שיודע לבצע בין 150-300 פקודות ייחודיות (בהתאם לסוג הCPU).

תהליך ההרצה:

תחילה המתכנת כותב קוד בשפה עילית (C\C#\C++\JAVA\Python) לאחר הידור (Compilation) הקוד מקור מתורגם לקוד בשפת מכונה הידועה גם בשמה Opcodes (אותם פקודות שה CPU מכיר) ונשמר כקובץ הרצה.
בעת "הרצת הקובץ" פקודות ה Opcodes עולים לזיכרון ה RAM והמעבד מבצע את הפעולות הבאות בעבור כל פקודת מעבד שהוא רואה:

  • Fetch – העברת הפקודה מהזיכרון למעבד
  • Decode – תרגום הפקודה (מה בדיוק צריך לבצע)
  • Run – הרצת הפקודה

תכונת המפתח של מערכת Embedded היא ההקדשה לפונקציה ספציפית שבדרך כלל דורשת מעבדים ייחודיים למטרות כלליות. לדוגמה – ניהול Smart Home – כוללת בין השאר מתגי כיבוי והדלקה של מערכות חשמל, ניהול תצרוכת המים, ניהול המזגן מרחוק, זיהוי דירי הבית וכו' ,
אכן את כל הדרישות הנ"ל ניתן לבצע גם עם מחשב Windows מבוסס Intel לדוגמה – אז היכן באה לידי ביטוי הייחודיות של Embedded ?
מערכת Embedded מתוכננות להיות אופטימליות בעבור פונקציונליות ייחודית, מספר סופי של פעולות שהיא יודעת לעשות במהירות מקסימלית תוך כדי חיסכון במשאבים (זיכרון, מחיר,גודל) בעוד שמערכות מיחשוב גנריות מיועדות לבצע פעולות רבות יותר (חלקן אף מורכבות יותר) אך מכיוון שמלכתחילה מערכת גנריות לא תוכננו לעבוד באופן אופטימלי למשימות ספציפיות אלה מן הסתם לא יתנו את אותן תוצאות כמו המערכת האמבדד.

איך עובדת Real Time Embedded System?

תנו לנו להפתיע אתכם, לא כל מערכת Real-Time היא בהכרח מערכת Embedded. אתם יכולים למצוא מערכות Real-Time המבוססות על PC או על מערכות המבוססות על חומרה בלבד.

נסביר תחילה מהי מערכת Real-Time – מערכת Real Time הן מערכות שזמן התגובה שלהן הוא מיידי ותחום בטווח זמן מסוים. כלומר, משך העיבוד מרגע מתן הפקודה עד לתגובת המערכת חייב להיות תחום בזמן, ולרוב מדובר על זמן קצר.

ניתן להבחין בין שני סוגים עיקריים במערכות Real-Time:

  • Hard Real Time – אלו מערכות שבהן זמן תגובה מסוים, לרוב זמן תגובה קצר, הוא קריטי. כלומר, מערכות שטיב הביצוע שלהן או הצלחה בתגובת המערכת תלוי בכך שהמערכת תגיב בפרק זמן שנקבע מראש (לרוב מיידי), לדוגמה – יירוט טיל. אם המערכת לא תבצע בזמן את הפקודה זה ייחשב לכישלון.
  • Soft Real Time – במערכות מהסוג הזה אין זמן מסוים לביצוע הפקודה, המערכת מצופה לעשות את "הטוב ביותר שלה" (Best Effort). מערכות אלו הן דווקא אופטימליות יותר מבחינת התגובה שלהן אך זמן התגובה שלהן איטי יותר, לדוגמה – יישומים של מולטימדיה- VOIP.

ארכיטקטורות ל-Embedded ומערכות הפעלה

מערכות Embedded הן מערכות שדורשות פיתוח Low level, הן יכולות להופיע על החומרה בתצורות הבאות:

      1. Bare-board או Bare-Metal
      הכוונה היא לכך שהתכנית (הפקודות Opcode) רצה ישירות על המעבד. היות ואין שימוש במערכות הפעלה מתייחסים אל זה בשם "לוח ערום" (Bare-Board).
      ברוב המקרים בעת הדלקת המערכת ירוץ ה Boot-Loader (קוד ראשוני אשר ידע להגדיר את החומרה של מערכת האמבדד – זכרון, CPU וכן I\O) לאחר מכן ירוץ ה User-Program התכנית העיקרית אשר מיישמת את הפעולה אשר נדרשנו לבצע.

      כל מערכת אמבדד מורכבת ע"פ ארכיטקטורות חומרה ייחודית, קיימות כיום אלפי (אם לא עשרות אלפי) ארכיטקטורת CPU כגון ARM, SPARCM,PIC,INTEL,AMD וכו'
      אחת מהארכיטקטורות השכיחות ביותר היא ארכיטקטורת ARM (או בשמה המלא- Acorn RISC Machine). על כך נלמד במסגרת קורס ARM.
      ארכיטקטורות מסוג כזה דורשות לרוב ידע בשפות תכנות בסיסיות כמו שפת C או שפת C++.

      2. OS Based
      מבוססות מערכות הפעלה. כאשר אנו מפתחים מערכת שצריכה לבצע מספר פעולות – Multi tasking – אנו זקוקים למערכת Embedded המאפשרת הרצת מערכת הפעלה- בד"כ תצטרך רכיב MMU לניהול הזיכרון. בנוסף, בעת שימוש במערכות הפעלה מתאפשרת לנו היכולת הפרדה בין פיתוח התכנית הנדרשת (האפליקציה או האלגוריתם) לבין הDriver (מנהל התכנים שלנו) בעבור החומרה, היתרון בא לידי ביטוי בכך ששינוי בחומרה לא יהווה שינוי משמעותי בפיתוח האפליקציה.

      מערכת ההפעלה הפופולרית ביותר היום היא Linux.- בעבור מערכות אמבדד – Embedded Linux מערכת הפעלה Linux היא מערכת מבוססת קוד פתוח המאפשרת התאמה למעבדים שונים ופלטפורמות שונות. Linux מעניקה יציבות ותומכת ברוב התקני החומרה הקיימים כיום בתעשייה. נלמד על כך לעומק בקורס Embedded Linux

שפות תכנות למערכות Embedded

במערכות Embedded בחירת שפת התכנות מוכרעת על ידי מספר גורמים שיש לקחת בחשבון:

  • גודל זיכרון ה RAM – זהו הזיכרון הנדיף, כולל את ה Data & Instructures אליו עולים קבצי הרצה.
  • גודל הזיכרון Flash – זהו אמצעי לאחסון נתונים שנכתבו עליו, לדוגמה בעת הייצור, ניתן לכתוב עליו מספר רב של פעמים.
  • מהירות CPU – מהירה או איטית?
  • ניידות- האם זו תוכנה שניתן להתקין על מעבדים שונים או פלטפורמות שונות?
  • קלות הטמעה ותחזוקה פשוטה.
  • User Friendly – שימוש פשוט למשתמש

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

אולי יעניין אותך גם:

אני מאשר קבלת מבצעים ועדכונים מחברת RT-GROUP בכפוף לתקנון

את/ה במרחק נגיעה מלהתחיל את הקריירה שלך בהייטק!

בוא/י לבדוק התאמתך למקצועות ההייטק.

מבחן התאמה למקצועות הייטק

מדד ידע שכבר ברשותך שיכול להועיל לך להמשך הדרך

הדרכה וסיוע בפרויקט גמר הנחשב בתור ניסיון מעשי

הפגישה הינה ללא תשלום או התחייבות

השאר פרטים עכשיו ונציג יחזור אלייך
אני מאשר קבלת מבצעים ועדכונים מחברת RT-GROUP בכפוף לתקנון