יום רביעי, 2 במאי 2012

הרצה קלה על חומרה

"הרשו לי לפנות את הבמה בפוסט הזה לטובת בלוגר אורח – רוני פאר, אשר התארח בבלוג הזה מספר פעמים, האחרונה שבהן – לפני חודשיים. רוני עובד יחד עמי בחברת סיסטמטיקס, ומתמחה בכלי MathWorks לתחומי מערכות הבקרה והמידול הפיסי"

כפי שכתב רועי בסקירה שלו על החידושים בגירסת R2012a, בחודש מרץ 2012 הודיעה חברת MathWorks על הוספה של תמיכה מובנית ב-Simulink למעבדים:
Arduino
BeagleBoard
ו-LEGO Mindstorms NXT.
כלומר, בלחיצת כפתור אחת ניתן לבחון את אופן הפעולה של אלגוריתם הבקרה או עיבוד האות – ישירות על חומרה.

בעבר היה צורך ברישיון מיוחד לכלי יצירת קוד שנקרא Embedded Coder, אשר מאפשר יצירת קוד יעיל לחומרה הסופית. כיום, התמיכה היא ישירות מתוך Simulink, ואין צורך באף כלי נוסף. החיסרון הוא שללא רישיון ל-Embedded Coder לא ניתן לראות את קוד ה-C הנוצר לפני הורדתו לחומרה, אך במידה וזהו עדיין שלב ניסיוני בהליך הפיתוח – אין בכך צורך של ממש.

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



התקנת כל תוספי התוכנה הדרושים לצורך העברת האלגוריתם מ-Simulink למעבד הסופי נעשית בקלות ישירות מתוך Simulink – אין צורך לחפש קבצים באתרים שונים או לוודא התאמת גרסאות וכדומה. כל שיש לעשות הוא להקיש את הפקודה "targetinstaller" בתוך חלון הפקודות של MATLAB, וממשק גרפי ייעודי ילווה אתכם לאורך כל שלב ההורדה וההתקנות של התוכנות הייעודיות. תוכנות אלו נדרשות לרוץ ברקע בשלב החיבור למעבד הסופי, יצירת קוד והעברתו דרך הליך Compile/Link/Deploy הייחודי למעבד זה.

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

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

יצא לכם להשתמש בפיצ'ר החדש? מה דעתכם עליו?

2 comments:

  1. על מה מדובר בדיוק שאתם אומרים, "עלות נמוכה" ?
    תודה

    השבמחק
  2. אהלן,

    הכוונה היא לכך שבמקום להוציא סדר גודל של 500$ על לוח אבלואציה, ניתן לרכוש Arduino בכ-30$, BeagleBoard בכ-90$ ולוח של NXT בעלות של כ-150$ (ללא כל התוספות).
    ניתן לרכוש ב-Amazon ויש לא מעט ספקים גם בארץ - פשוט לחפש ברשת.

    רוני.

    השבמחק