- התחל עם דרישת הפרויקט
- עיין בפרמטרים המוצגים
- מתח עבודה
- מחברים מכוונים
- ממשקים מתקדמים
- סביבת פיתוח
- מחיר וזמינות
- תכונות אחרות
- סיכום
בכל מה שקשור לבחירת מיקרו-בקר, זו באמת משימה מבלבלת שכן קיימים בשוק מיקרו-בקרים שונים עם מפרט זהה. כך שכל פרמטר הופך להיות חשוב בכל הנוגע לבחירת מיקרו-בקר. כאן אנו משווים שני מיקרו-בקר - מיקרו-בקר PIC ומיקרו-בקר AVR. כאן הם מושווים ברמות שונות שיעזרו בבחירת מיקרו-בקר לפרויקט שלך.
התחל עם דרישת הפרויקט
אסוף את כל המידע אודות הפרויקט שלך כדי להתחיל לפני שתתחיל לבחור מיקרו-בקר כלשהו. חשוב מאוד שהמידע ייאסף עד כמה שניתן מכיוון שזה ישחק תפקיד חשוב בבחירת המיקרו-בקר הנכון.
- אסוף מידע על פרויקט כגון גודל הפרויקט
- מספר ציוד היקפי וחיישנים בשימוש
- דרישת חשמל
- תקציב הפרויקט
- דרישת ממשקים (כמו USB, SPI, I2C, UART וכו '),
- ערכו דיאגרמת חסימות חומרה בסיסית,)
- ציין כמה GPIO דרוש
- כניסות אנלוגיות לדיגיטליות (ADC)
- PWMs
- בחר את הארכיטקטורה הנכונה הדרושה כלומר (8 סיביות, 16 סיביות, 32 סיביות)
- זיהוי דרישת הזיכרון של הפרויקט (זיכרון RAM, פלאש וכו ')
עיין בפרמטרים המוצגים
כאשר כל המידע נאסף, זה הזמן הנכון לבחור את המיקרו-בקר. במאמר זה ישוו בין שני מותגי המיקרו-בקרים המתחרים PIC ו- AVR במגוון פרמטרים. בהתאם לצורך של פרויקט להשוות בין השניים, עיין בפרמטרים הבאים כגון,
- תדר: מהירות הפעלת המיקרו-בקר
- מספר סיכות קלט / פלט: יציאות ופינים נדרשים
- זיכרון RAM: כל המשתנים והמערכים שהוכרזו (DATA) ברוב ה- MCU
- זיכרון פלאש: לא משנה מה הקוד שתכתוב הולך לכאן לאחר הידור
- ממשקים מתקדמים: ממשקים מתקדמים כגון USB, CAN ו- Ethernet.
- מתח עבודה: מתח עבודה של MCU כגון 5V, 3.3V או מתח נמוך.
- מחברי יעד: המחברים להקלת עיצוב וגודל המעגלים.
רוב הפרמטרים דומים גם ב- PIC וגם ב- AVR, אך ישנם פרמטרים שבוודאי שונים זה מזה בהשוואה.
מתח עבודה
עם יותר מוצרים המופעלים באמצעות סוללות, ה- PIC וה- AVR הצליחו להשתפר עבור פעולות המתח הנמוך. AVR ידועים יותר בתפעול מתח נמוך מאשר בסדרות ה- PIC הישנות יותר כגון PIC16F ו- PIC18F מכיוון שסדרות PIC אלה השתמשו בשיטה שנמחקה בשבבים שזקוקה לפחות 4.5 וולט להפעלה, ומתחת 4.5V מתכנתי PIC צריכים להשתמש באלגוריתם של מחיקת שורות. שלא יכול למחוק את המכשיר הנעול. עם זאת זה לא המקרה ב- AVR.
AVR שיפרה והשיקה את הגרסאות העדכניות ביותר (Pico-power) כגון ATmega328P שהן בעלות הספק נמוך במיוחד. כמו כן ה- ATtiny1634 הנוכחי השתפר ומגיע עם מצבי שינה כדי להפחית את צריכת החשמל כאשר נעשה שימוש בחום, וזה מאוד שימושי במכשירים המופעלים על ידי סוללות.
המסקנה היא כי ה- AVR התמקדו בעבר במתח נמוך, אך ה- PIC עבר כעת שינוי לפעולה במתח נמוך והשיקה כמה מוצרים המבוססים על picPower.
מחברים מכוונים
מחברי יעד חשובים מאוד בכל הנוגע לעיצוב ופיתוח. AVR הגדיר ממשקי ISP בני 6 ו -10 כיוונים, מה שמקל על השימוש ואילו ל- PIC אין את זה, ולכן מתכנתי PIC מגיעים עם מובילים מעופפים או שקעי RJ11 שקשה להתאים אותם למעגל.
המסקנה היא שה- AVR עשה את זה פשוט מבחינת תכנון ופיתוח מעגלים עם מחברי היעד ואילו PIC עדיין צריכה לתקן זאת.
ממשקים מתקדמים
במונחים של ממשקים מתקדמים, אז ה- PIC הוא ללא ספק האפשרות שכן הוא עשה את פעולתו עם תכונות מתקדמות כגון USB, CAN ו- Ethernet, וזה לא המקרה ב- AVR. עם זאת ניתן להשתמש בשבבים חיצוניים, כגון FTDI USB לשבבים סדרתיים, בקרי אתרנט Microchip או שבבי CAN של פיליפס.
המסקנה היא ש- PIC בוודאי קיבלה את הממשקים המתקדמים מאשר ה- AVR.
סביבת פיתוח
מלבד זאת יש תכונות חשובות שהופכות את שניהם את המיקרו-בקר זה מזה. קלות סביבת הפיתוח חשובה מאוד. להלן מספר פרמטרים חשובים שיסבירו את קלות סביבת הפיתוח:
- פיתוח IDE
- ג מהדרים
- מכלולים
פיתוח IDE:
גם PIC וגם AVR מגיעים עם מזהי פיתוח משלהם . פיתוח PIC מתבצע ב- MPLAB X, הידוע כ- IDE היציב והפשוט בהשוואה ל- Atmel Studio7 של AVR, שגודלו 750MB גדול ומגושם מעט עם תכונות תוספת נוספות שמקשות ומסובכות על חובבים אלקטרוניים מתחילים..
את התמונות ניתן לתכנת באמצעות כלים שבב אלקטרוני PicKit3 ו MPLAB X . ה- AVR מתוכנת באמצעות כלים כמו JTAGICE ו- AtmelStudio7. עם זאת המשתמשים עוברים לגרסאות הישנות יותר של AVR Studio כמו 4.18 עם Service Pack3 מכיוון שהוא פועל הרבה יותר מהר ויש לו תכונות בסיסיות לפיתוח.
המסקנה היא ש- PIC MPLAB X הוא קצת יותר מהיר וידידותי למשתמש מאשר AtmelStudio7.
מהדרים ג:
גם PIC וגם AVR מגיעים עם מהדרים XC8 ו- WINAVR C בהתאמה. ה- PIC רכש את היי-טק והשיק מהדר משלו XC8. זה משולב לחלוטין ב- MPLAB X ומתפקד היטב. אבל WINAVR הוא ANSI C המבוסס על מהדר GCC שמקל על נמל קוד ושימוש בספריות סטנדרטיות. הגרסה החינמית המוגבלת 4KB של IAR C Compiler נותנת טעם של מהדרים מקצועיים שעולה הרבה. מכיוון שה- AVR תוכנן עבור C בהתחלה, פלט הקוד קטן ומהיר.
ל- PIC תכונות רבות שעושות את זה טוב בהשוואה ל- AVR, אך הקוד שלה הופך להיות גדול יותר בגלל מבנה ה- PIC. הגרסה בתשלום זמינה עם אופטימיזציה רבה יותר אולם הגרסה החינמית אינה מותאמת היטב.
המסקנה היא ש- WINAVR הוא טוב ומהיר מבחינת מהדרים מאשר PIC XC8.
מכלולים:
עם שלושה רושמים מצביעים של 16 סיביות המפשטים את פעולות הטיפול ואת פעולות התמלילים, שפת הרכבת ה- AVR קלה מאוד עם הרבה הוראות ויכולת להשתמש בכל 32 הרשמים כמצבר. בעוד שמאסף PIC אינו כל כך טוב עם כל מה שנאלץ לפעול דרך המצבר, הוא מכריח להשתמש במיתוג בנקאי כל הזמן כדי לגשת לכל רושמי הפונקציות המיוחדות. MPLAB אומנם כולל פקודות מאקרו לפשט את המעבר בין הבנקים אבל זה מייגע וגוזל זמן.
גם היעדר הוראות סניף, פשוט דלג ו- GOTO, שנאלץ למבנים מפותלים וקוד קצת מבלבל. בסדרת PIC יש כמה סדרות מיקרו-בקר הרבה יותר מהירות אבל שוב מוגבלות לצבר אחד.
המסקנה היא שלמרות שחלק ממיקרו בקרי ה- PIC מהירים יותר, אך עדיף לעבוד על AVR מבחינת הרכבים.
מחיר וזמינות
אם מדברים במונחים של מחיר, אז גם PIC וגם AVR דומים הרבה. שניהם זמינים במחיר זהה בעיקר. מבחינת זמינות, אז הצליחה PIC לספק את המוצרים בזמן שנקבע בהשוואה למכשיר ה- AV, שכן למיקרו-צ'יפ תמיד הייתה מדיניות של זמני עופרת קצרים. אטמל עברה תקופות קשות מכיוון שמגוון המוצרים הרחב שלהם פירושו שמכשירי הרייטינג הם חלק קטן מהעסק שלהם, כך ששווקים אחרים יכולים לקבל עדיפות על פני מכשירי הנגינה ביכולת הייצור. לכן מומלץ להשתמש ב- PIC מבחינת לוחות הזמנים למשלוח ואילו AVR יכול להיות קריטי לייצור. חלקי שבבים נוטים להיות זמינים יותר בקלות במיוחד בכמויות קטנות.
תכונות אחרות
הן PIC והן AVR זמינים במגוון חבילות. ה- PIC מציג גרסאות רבות יותר מאשר ה- AVR. הפעלת גרסאות זו עשויה להיות בעלת יתרונות וחסרונות בהתאם ליישומים כמו שגרסאות רבות יותר יוצרות בלבול בבחירת המודל המתאים אך יחד עם זאת היא מספקת גמישות טובה יותר. הגרסה האחרונה של PIC ו- AVR הן בעלות עוצמה נמוכה מאוד ופועלות במגוון טווחי מתח. שעוני PIC וטיימרים מדויקים יותר אך מבחינת מהירות ה- PIC וה- AVR זהים מאוד.
Atmel Studio 7 הוסיף קבצי ELF Production, הכוללים נתוני EEPROM, Flash ו- fuse בקובץ אחד. בעוד ש- AVR שילבה נתוני נתיכים בפורמט הקובץ המשושה שלהם, כך שניתן להגדיר נתיך בקוד. זה מאפשר העברת פרויקט לייצור קלה יותר עבור PIC.
סיכום
PIC ו- AVR שניהם הם מכשירים נמוכים ומעולים המשמשים לא רק בתעשיות אלא גם בחירה פופולרית בקרב סטודנטים וחובבים. שניהם נמצאים בשימוש נרחב ויש להם רשתות טובות (פורומים, דוגמאות קוד) עם נוכחות מקוונת פעילה. לשתיהן טווח הגעה ותמיכה טובים בקהילה ושניהם זמינים בגדלים רחבים ובגורם צורה עם ציוד היקפי בלתי תלוי. שבב המיקרו השתלט על אטמל וכעת מטפל הן ב- AVR והן ב- PIC. בסוף, זה מובן היטב שלימוד מיקרו-בקר הוא כמו לימוד שפות תכנות, שכן למידה אחרת תהיה הרבה יותר קלה לאחר שלמדת אחת.
אין זה משנה לומר שמי שמנצח, אך כמעט בכל ענף ההנדסה, אין מילה כמו "הטוב ביותר" ואילו הביטוי "המתאים ביותר ליישום" מתאים מאוד. הכל תלוי בדרישות של מוצר מסוים, שיטת פיתוח ותהליך ייצור. אז בהתאם לפרויקט, אפשר לבחור מיקרו-בקר מתאים מאוד מתוך PIC ו- AVR.