ראשי מאמרים השוואה בין מיקרו-בקרים מסידרת PIC של חברת Microchip לבין בקרים מסידרת AVR של חברת ATMEL.
השוואה בין מיקרו-בקרים מסידרת PIC של חברת Microchip לבין בקרים מסידרת AVR של חברת ATMEL.

ATMEL Logo

Microchip LOGO

מאמר זה סוקר את ההבדלם העיקריים בין שתי סדרות של בקרים מתוכנתים של שתים מהחברות המובילות בשוק בקרי ה 8 ביט - ATMEL ו-MicroChip. הסקירה תתמקד בקבוצה זו של במיקרו-בקרים המתאפינים במחיר זול יחסית (1-7$), צריכת הספק נמוכה ושטח קטן, והינם בעלי יכולות מגוונות, המספיקות למערכות רבות שאינן דורשות יכולות עיבוד אותות גבוהות. תחילה אסקור את ההבדלים העיקריים בין הטכנולוגיות של החברות ולאחר מכן אשווה קריטריונים שונים בין שני רכיבים דומים משתי החברות.

 

ארכיטקטורת מעבד

זיכרון

זיכרון הנתונים במעבדי PIC מחולק לבנקים שונים (כתלות בגודל הזיכרון) מה שמצריך שינוי של מצביע הבוחר את הבנק זיכרון הנוכחי איתו עובדים בכל גישה לזיכרון. דבר זה מקשה מאוד כשעובדים עם מבנה נתונים שגולש מגודל הבנק. (כאשר עובדים עם קומפיילר C מנגנון זה "מטופל" ע"י הקומפיילר). ב AVR כל זיכרון ה DATA ניתן לגישה באופן ישיר.

מנגנון פסיקות

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

מבנה הרגיסטרים ואוצר פקודות

ל PIC יש רק גריסטר לשימוש כללי אחד, בעוד של AVR יש 32 רגיסטרים. יתרון זה יכול לקצר חישוב של פעולות מורכבות, שכן ניתן לשמור נתונים זמניים על יותר רגיסטרים ובכך להקטין את מחזורי השעון הנדרשים לפעולה. לרכיבי AVR אוצר פקודות גדול יותר הממומש בחומרה, המתבצעות ב1-2 מחזורי שעון, מה שיכול להאיץ את ביצועי המעבד.

צריכת הספק

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

מחיר

בקרי ממשפחת PIC נחשבים לזולים יותר בכמויות קטנות, לכן נוחים יותר מבחינת עלויות פיתוח ויצור ל מוצרים בכמות קטנה.

צורבים, כלי איתור שגיאות (debug) ופיתוח

ICD2 DebuggerATMel AVR JTAG MicroChip משתמשת בפרוטוקול עצמאי שלה עבור כלי איתור השגיאות שלה (debugger) הנקרא ICD- In Circuit Debugger, בעוד ש ATMEL עושה שימוש בפרוטוקול JTAG הסטנדרטי.

בנוסף, לרכיבי PIC יש אפשרות לתכנות של עד שלוש נקודות עצירה (BreakPoints) -  מה שאומר שניתן לראות את מצב הרגיסטרים במערכת רק ב 3 נקודות שונות בכל הרצה. זוהי מגבלה מהותית שמנסיוני האישי מקשה את פעולת איתור השגיאות. בבקרים של חברת ATMEL אין הגבלה כזו הדוקה, כך שתהליך האיתור השגיאות קל משמעותית.

סביבת פיתוח וקומפיילרים

ATMEL AVR Studio

MicroChip's MPLABחברת MicroChip מציעה את סביבת הפיתוח (IDE) שלה הנקראת MPLAB. בסביבה זו ניתן לעבוד עם קומפיילר אסמבלר חינמי ועם סידרה של קומפילרים לשפת C עבור ארכיטקטורות מעבד השונות -  C18,C30 הכוללות ספריות נוחות מאוד לשימוש עבור התקנים הפריפריאליים של הבקרים.

ישנם עוד חברות רבות המציעות קומפיילי C עבור מעבדי PIC כגון HighTech ועוד.
מנסיוני האישי, סביבת פיתוח זו אינה נוחה (ונחותה בהרבה מסביבות פיתוח קוד ל PC כגון סביבת הפיתוח  VisualStudio של מייקרוסופט)

ATMEL מציעה את סביבת הפיתוח שלה AVR STUDIO  שהיא נוחה למדי, אך קצת כבדה ומסורבלת.
יש גם את IAR שהיא סביבה מצויינת. יש לא מעט קומפילרים ל C עבור בקרי AVR ואף קומפיילר gcc.

 

 

 

 

 

 

 

 

 

 

 

 

 

השוואה בין שני רכיבים ספציפיים משתי החברות

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

הקריטריונים המרכזיים שחיפשתי היו:

1. מחיר בסביבות ה 4$
2. גודל הזיכרון הפנימי: כמות הקוד שניתן לכתוב לבקר. 
3. ממשק תקשורת מהר - במידה והחומרה שבליבה הבקר תתממשק למחשב, רצוי שיהיה לה ממשק בעל קצב העברת נתונים גבוה ואמין, לכן בחרתי ברכיבים להם יכולת מובנת לממשק USB.

הרכיבים שבחרתי הם:  ATMega32U של Atmel ו PIC18F4550 של Microchip.

להלן טבלה המפרטת את נפח הזיכרונות והרכיבים הפריפריאלים העיקריים הממומשים בכל אחד מהבקרים:

 

ATMega32U4 PIC18F4550 Microcontroller
ATMEL Microchip Company
AVR PIC Series
32K x 8bit 16K x 16bit Program Memory
2.5Kbyte 2kbyte Data Memory - RAM
26 35 Number of I/O
44TQFP 44TQFP Package
16Mhz 48Mhz Speed
16 12 MIPS - Million instructions/sec
1kByte 2kbyte EEPROM emory Size
12X 10bit 13X 10bit Analog To Digital Conversion
1 1 timers: 8 bit
3 3 timers: 1 bit
4 2 PWM channels
1 1 SPI
1 1 I2C
1 1 USB 2.0 Full Speed 12Mbps
2.7-5.5V 4.2-5.5V Voltage
1-3uA 0.1-2uA sleep mode current 5V 25Deg
3.5$ 4.1$ Price @ 100qu

רואים כי אין הבדלים גדולים בין שני הרכיבים. יתרון קל ל PIC בצריכת הספק במצב שינה, ומספר פיני I/O. 
יתרון ל AVR בנפח זכרון, בתכנון יותר נכון של ארכיטקטורת ה ADC והטיימרים.

סיכום

היתרונות הבולטים של רכיבי AVR הם בסביבת פיתוח נוחה יותר, בעיקר בגלל ה debugger המוגבל של MicroChip ובגלל ארכיטקטורת מערכת נכונה יותר.

היתרונות של מעבדי PIC הם סף כניסה נמוך יותר, צריכת זרם נמוכה, וכמות I/O גדולה יותר לאריזה.

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



Add this page to your favorite Social Bookmarking websites
Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! StumbleUpon! TwitThis Joomla Free PHP


תגובות
הוסף תגובה
הוסף תגובה
שם:
דואל:
 
כותרת:

!joomlacomment 4.0 Copyright (C) 2009 Compojoom.com . All rights reserved."

 

תיוג אוטומטי

microchip pic - סף כניסה נמוך - צורב מיקרו בקרים - microchip ICD 3 - מיקרו בקרים njhr - PIC18 השוואה - בקר PIC - מיקרו בקר microchip - חברת AVR - השוואה בין 8051 ל AVR - צורב usb למיקרו בקרים - microcontroller מחיר - PIC מיקרו - PIC מעבד מחיר - pic מה זה - USB ל JTAG - mplab בניית צורב - השוואה בין מיקרו בקרים - השוואת מיקרובקרים - PIC 32 פקודות

כתבות קשורות