הוסיפו קורטוב של FPGA לתמהיל לוחות הפיתוח של Arduino ו- Raspberry Pi
לוחות הפיתוח של Arduino ו- Raspberry Pi - Dev Boards - נמצאים בשיא המהפכה בדרך שבה מהנדסים מפתחים מערכות משובצות. בעבר, התחלת הפיתוח של מערכת משובצת הייתה עם החומרה. אלו היו שלבי הפרויקט, באופן כללי:
- הגדרת מפרט דרישות המערכת כולל הערכה גסה של מהירות העיבוד ודרישות ה- I/O.
- בחירת מיקרו-בקר או מעבד מתאים העומד בדרישות ההספק, הביצועים והמחיר.
- חיווט אב-הטיפוס בחומרה.
- ניפוי-שגיאות של אב-הטיפוס בחומרה. כתיבת קוד דוחף קצר במידה וצריך כדי לנענע את השורות.
- לאחר שהחומרה פועלת, מתחילים להריץ את הקוד.
- ניפוי-שגיאות הקוד.
- משלוח!
כיום, הדברים אינם כל כך פשוטים. ראשית, יש ממש אלפי מעבדים ומיקרו-בקרים שיש לבחור מתוכם - הזמינים אצל ספקים רבים. אף אחד לא יכול לזכור בראשו את כל החלופות האלו.
שנית, שלב מספר שלוש לעיל (חיווט אב-הטיפוס בחומרה) מציג בעיה אמיתית מאחר והעולם התפתח לטכנולוגיית הרכבה משטחית לפני שלושה עשורים. חיווט ידני, ואפילו טכנולוגיית ליפוף חוטים שהייתה כה נפוצה כטכניקת בניית אב-טיפוס בשנות ה- 1970, דומה היום לנפחות עבור הנדסת חשמל. זה נדיר היום. האם אתם באמת צריכים לתכנן, לייצר ולהלחים את לוח ה- PCB של אב-הטיפוס? ולמי יש זמן לכך אם יש חלופה טובה יותר (מהירה יותר ובעלות נמוכה יותר)?
מצב זה יצר הזדמנות עבור לוחות פיתוח המקצרים שלבים 1-4 לעיל. שניים מלוחות הפיתוח המפורסמים ביותר בשוק כיום הם Uno Arduino (והווריאנטים הרבים שלו) ו- Raspberry Pi. הדגם העדכני ביותר של Raspberry Pi הוא +Raspberry Pi 3 Model B. למרות שהם מוזכרים לעתים קרובות באותה נשימה, לוחות Arduino ו- Raspberry Pi אינם דומים כלל וכלל.
Arduino הוא שם של חברת חומרה ותוכנה של מחשבים בקוד פתוח, פרויקט קהילת קוד פתוח, קהילת המשתמשים המתכננת ומייצרת את לוחות הפיתוח של Arduino, סביבת פיתוח משולבת (IDE), ולוח המיקרו-בקר Arduino עצמו. (השם Arduino מגיע מ- Ivrea, איטליה, שם נפגשו כמה מהמייסדים המקוריים של פרויקט Arduino).
איור 1: Arduino Uno, לוח פיתוח ברמת-התחלה המבוסס על מיקרו-בקר bit-8 של חברת Atmel עם כמה יכולות I/O פשוטות, המשמש כפלטפורמת פיתוח עבור תכנים משובצים שאינם זקוקים לביצועים עיליים. (מקור התמונה: Arduino)
לוחות הפיתוח הראשונים של Arduino היו מבוססים על מיקרו-בקרים AVR של חברת Atmel. פיתוח הקוד נעשה בעזרת Arduino IDE, המבצעת גם את הקומפילציה של הקוד וטוענת אותו לתוך זיכרון Flash של המיקרו-בקר שעל הלוח. ה- Arduino IDE תומכת בשפות C ו- ++C עם כללי מבנה קוד מיוחדים שהם ייחודיים ל- Arduino IDE. מאחר והקונספט של Arduino גדל והתרחב מאד, וואריאנטים חדשים של Arduino השתדרגו למיקרו-בקרים המבוססים על 32-bit Arm® Cortex®-M0 לטובת השגת ביצועים נוספים (איור 1).
מאחר והם תוכננו כלוחות פיתוח מיקרו-מעבדים ברמת-מבוא עבור בקרת מערכות משובצות פשוטות יחסית, ללוחות הפיתוח של Arduino יש יכולות I/O פשוטות. לצד כמה פסי-פינים של 0.1 אינץ' עם פיני כניסות I/O דיגיטליות ואנלוגיות פשוטות, ללוחות הפיתוח Arduino Uno יש נקודת-חיבור USB ומעט נורות LED על-הלוח עבור חיוויים מהבהבים. זה הכול. פיני ה- I/O הם תחת בקרת תוכנה, כך שלא תוכלו לקבל מהם הרבה ביצועים.
משתדרגים ל- Raspberry Pi
אם התכנים המשובצים שלכם צריכים יותר ביצועים, אזי לוח הפיתוח Raspberry Pi 3 הוא שדרוג משמעותי לעומת ה- Arduino (איור 2). הנה המאפיינים החשובים שלו:
- Broadcom BCM2837B0, Cortex®-A53 (Arm®v8) 64-bit SoC @ 1.4 GHz
- 1 GB LPDDR2 SDRAM
- 2.4 GHz and 5 GHz IEEE 802.11.b/g/n/ac Wireless LAN, Bluetooth 4.2, BLE
- Gigabit Ethernet על-גבי USB 2.0 (קצב העברה מקסימלי של Mbps 300)
- פס-פינים GPIO מורחב עם 40 פינים
- HDMI בגודל-מלא
- ארבע נקודות-חיבור USB 2.0
- פס-פינים GPIO מורחב עם 40 פינים
- נקודת-חיבור מצלמה CSI עבור חיבור מצלמה Raspberry Pi
- נקודת-חיבור Display Port עבור חיבור צג מסך מגע Raspberry Pi
- יציאות סטריאו 4-קטבים ונקודת-חיבור וידאו משולב (Composite)
- נקודת-חיבור Micro-SD עבור טעינת מערכת ההפעלה ואחסון נתונים
- כניסת הספקת-כוח DC 5 V/2.5 A
- תמיכת (Power Over Ethernet (PoE (דורשת PoE HAT נפרד)
איור 2: ה- +Raspberry Pi 3 Model B משמש כפלטפורמת פיתוח חומרה משובצת מצוינת עם ארבע ליבות, מעבד יישומים 64-bit Arm, Gbyte 1 של זיכרון SDRAM ויכולות I/O נרחבות. מקור התמונה: Raspberry Pi)
אתם יכולים לעשות המון עם כל-כך הרבה כוח עיבוד, זיכרון ויכולות I/O. לוח הפיתוח +Raspberry Pi 3 Model B פועל עם Linux וישנה קהילת תמיכה עצומה סביב המוצר. בהתחשב במחיר הנמוך שלה, ה- +Raspberry Pi 3 Model B היא פלטפורמת חומרה מעולה עבור פרויקטי פיתוח מערכות משובצות רבים.
מה קורה כאשר אתם מרגישים את הצורך במהירות?
אם ה- +Raspberry Pi 3 Model B עומד בכל דרישות התכנון של המערכת המשובצת שלכם, אתם לא צריכים ללכת מעבר לזה. בהתחשב במחיר הנמוך של לוח רב-יכולות זה, למה לטרוח? עם זאת, אם המערכת המשובצת שלכם זקוקה ליכולות I/O מיוחדות מעבר למשאבי ה- I/O הרבים של ה- +Raspberry Pi 3 Model B, מה אז?
במצב זה כדוגמה אתם צריכים את יכולות הביצועים העיליים של מערכי FPGA, המצטיינים בלאפשר לכם להגדיר סוגים חדשים של ממשקים במהירות גבוהה, המוגדרים באמצעות תוכנה בלבד. אין צורך בחיווט נוסף. בנוסף, אתם יכולים להשיג יכולות FPGA שכבר מובנות לתוך גורם-הצורה של ה- Raspberry Pi Model 2 עם לוח הפיתוח TE0726-03M מבית Trenz Electronic - ה- ZynqBerry (איור 3).
איור 3: לוח הפיתוח ZynqBerry TE0726-03M מבית Trenz אורז SoC Zynq Z-7010 מבית Xilinx בגורם-צורה של Raspberry Pi Model 2 עבור תכנים משובצים הזקוקים לביצועי I/O נוספים. (מקור התמונה: Trenz Electronic)
ה- ZynqBerry מבוסס על Xilinx Zynq Z-7010 SoC, אשר ממזג מיקרו-מעבד עם שתי ליבות Arm® Cortex®-A9 32-bit עם FPGA, כשהתוצאה היא התקן היכול לטפל במשימות רבות יותר עם ביצועים עיליים לעומת מעבד יחיד (או אפילו ארבעה מעבדים הפועלים ב- 1.4 GHz). אתם מתכנתים את ה- Trenz ZynqBerry עם חבילת כלי Xilinx Vivado הניתנת-להורדה, המספקת IDE עבור צידי התוכנה (מעבד) והחומרה (FPGA) גם יחד של ה- Zynq SoC.
מעדיפים את גורם-הצורה של Arduino?
אבל מה אם אתם מעדיפים את גורם-הצורה של Arduino Uno? חברת Trenz Electronic דואגת לכך שתהיו גם כן מכוסים עם ה- TE0723-03M ArduZynq (איור 4).
איור 4: ה- TE0723-03M ArduZynq מבית Trenz Electronic מוסיף את ה- Xilinx Zynq SoC לתוך גורם-צורה של לוח הפיתוח Arduino עבור פרויקטי Arduino הזקוקים למעבד וביצועי I/O נוספים. (מקור התמונה: Trenz Electronic)
בדומה ל- Trenz ZynqBerry, אתם מתכנתים את ה- Trenz ArduZynq עם חבילת כלי Xilinx Vivado הניתנת-להורדה.
לוחות כמו Arduino Uno ו- Raspberry Pi מפשטים את בחירות הפיתוח הרבות של מערכות משובצות, אך הם אינם מסוגלים לעמוד בכל אתגרי התכנון של מערכות משובצות. כאשר הדרישות שלכם עולות מעבר ליכולות של לוחות אלה, אין צורך לשנות את גורם-הצורה של הלוח. כל שעליכם לעשות הוא להוסיף FPGA קטן לתמהיל.

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum