אז מה נסגר, PIC או AVR?

נבואות הזעם על מותה הקרוב של ארכיטקטורת AVR התבדו, והשאלה עתיקת היומין – מה עדיף, PIC או AVR – חזרה להיות רלוונטית. האם התשובה השתנתה לאור ההתפתחויות האחרונות?

כש-Microchip השלימה את רכישת Atmel לפני כשנה, רבים – ואני ביניהם – שיערו שזו תחילת הסוף של ארכיטקטורת AVR. שתי החברות הרי היו בתחרות ישירה זו עם זו, והרושם היה ש-Microchip פשוט מנצלת את יתרונה הכלכלי כדי לחסל אחת ולתמיד את היריבה.

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

אלא שאז התחילו להופיע סימנים לכך שזה לא המצב. תחילה יצאו לשוק שני דגמי ATtiny חדשים. לאחר מכן, לקראת סוף 2016, הועלתה לרשת הרצאה של מנכ"ל Microchip, סטיב סנגי, בה התייחס מפורשות לנושא. יש אנשים שחושבים – כך אמר – שהוא פחד מ-AVR ורצה לחסל אותה, אבל רק החלק הראשון נכון: זו הייתה הארכיטקטורה היחידה שהוא ראה בה איום, כיוון שהיא הייתה טובה – וכעת כשהיא ברשותו, הוא לא מתכוון לזרוק לפח נכס שכזה אלא דווקא לפתח ולקדם אותו. זמן קצר לאחר מכן התחילו לצוץ בערוץ יוטיוב של Microchip סרטונים שעוסקים במוצרי Atmel-לשעבר, ואפילו סרטוני הדרכה בסיסיים על AVR (חפשו "AVR Insights"). המסמר האחרון – לדעתי – בארון של תיאוריית החיסול היה כניסתם של רכיבי AVR לחנות המקוונת של Microchip, במחירים קרובים מאוד למחיריהם בתקופת Atmel.

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

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

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

כפי שקוראי הבלוג הזה בוודאי כבר שמו לב, אני מבצע יותר ויותר פרויקטים עם PIC, ובעיקר עם דגמים חדשים יחסית, פשוט כי יש להם הרבה תכונות שימושיות. למשל, כמו שסיפרתי בפוסט הקודם, האפשרות לנתב תקשורת UART לפינים שונים בזמן ריצה, או היכולת לפעול גם במתח של 5V (יכולת שהולכת ונעשית נדירה במיקרו-בקרים מודרניים, אבל עדיין שימושית בהרבה מצבים). נכון שהייתי מעדיף לעבוד בשפת C++ עם אופטימיזציה מלאה בקומפיילר, ונכון שהייתי מעדיף לכתוב פונקציה נפרדת לכל פסיקה (מה שיגיע בקרוב, אגב, ל-PIC18F), אבל כל עוד אין ל-AVR את הגמישות הזו, המעשיות פשוט מנצחת את הנוחות.

יחד עם זאת, המחשבה על שימוש רציני ב-AVR כבר לא נראית לי מופרכת כפי שנראתה לפני שנה. אם Microchip תמשיך בדרך הנוכחית, תפתח את AVR ותיתן למיקרו-בקרים החדשים יכולות כמו ל-PIC, אין ספק ש-AVR תחזור להיות אופציה רצינית מאוד למפתחים…

…עד שמיקרו-בקרי 32 ביט בארכיטקטורת ARM יסלקו מהשוק סופית את ה-8 ביט, כפי שנביאי הזעם מבטיחים לנו כבר שנים 🙂

2 thoughts on “אז מה נסגר, PIC או AVR?”

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *