- ابدأ بمتطلبات المشروع
- انظر إلى المعلمات المميزة
- طاقة كهربائية شغالة
- موصلات الهدف
- واجهات متقدمة
- بيئة التطوير
- السعر والتوافر
- ميزات أخرى
- استنتاج
عندما يتعلق الأمر باختيار الميكروكونترولر ، فهذه مهمة مربكة حقًا نظرًا لوجود العديد من وحدات التحكم الدقيقة المتوفرة في السوق بنفس المواصفات. لذلك تصبح كل معلمة مهمة عندما يتعلق الأمر باختيار متحكم دقيق. نحن هنا نقارن بين اثنين من المتحكمين الأكثر استخدامًا - متحكم PIC و متحكم AVR. هنا تتم مقارنتها على مستويات مختلفة والتي ستكون مفيدة في اختيار متحكم دقيق لمشروعك.
ابدأ بمتطلبات المشروع
اجمع كل المعلومات حول مشروعك لتبدأ قبل البدء في اختيار أي متحكم. من المهم جدًا أن يتم جمع المعلومات قدر الإمكان لأن ذلك سيلعب دورًا مهمًا في اختيار وحدة التحكم الدقيقة المناسبة.
- اجمع معلومات عن المشروع مثل حجم المشروع
- عدد الأجهزة الطرفية وأجهزة الاستشعار المستخدمة
- متطلبات الطاقة
- ميزانية المشروع
- متطلبات الواجهات (مثل USB و SPI و I2C و UART وغيرها) ،
- قم بعمل مخطط كتلة الأجهزة الأساسية ،)
- قم بتدوين عدد GPIO المطلوب
- المدخلات التناظرية إلى الرقمية (ADC)
- PWMs
- حدد العمارة الصحيحة المطلوبة ، أي (8 بت ، 16 بت ، 32 بت)
- التعرف على متطلبات الذاكرة الخاصة بالمشروع (RAM ، Flash ، إلخ)
انظر إلى المعلمات المميزة
عندما يتم جمع كل المعلومات ، فهذا هو الوقت المناسب لاختيار وحدة التحكم الدقيقة. في هذه المقالة ، ستتم مقارنة علامتي التحكم الدقيق المتنافستين PIC و AVR على مجموعة متنوعة من المعلمات. اعتمادًا على حاجة المشروع للمقارنة بين الاثنين ، انظر إلى المعلمات التالية مثل ،
- التردد: السرعة التي سيعمل بها الميكروكونترولر
- عدد منافذ الإدخال / الإخراج: المنافذ والأطراف المطلوبة
- RAM: جميع المتغيرات والمصفوفات المعلنة (DATA) في معظم MCUs
- ذاكرة فلاش: أي كود تكتبه يذهب هنا بعد التجميع
- واجهات متقدمة: واجهات متقدمة مثل USB و CAN و Ethernet.
- جهد العمل: جهد عمل MCU مثل 5V ، 3.3V أو الجهد المنخفض.
- الموصلات المستهدفة: الموصلات لسهولة تصميم الدوائر وحجمها.
معظم المعلمات متشابهة في كل من PIC و AVR ولكن هناك بعض المعلمات التي تختلف بالتأكيد عند المقارنة.
طاقة كهربائية شغالة
مع المزيد من المنتجات التي تعمل بالبطاريات ، تمكنت PIC و AVR من تحسين عمليات الجهد المنخفض. تشتهر AVR بالتشغيل بالجهد المنخفض أكثر من سلسلة PIC الأقدم مثل PIC16F و PIC18F لأن هذه السلسلة PIC تستخدم طريقة محو الرقاقة التي تحتاج على الأقل 4.5 فولت للتشغيل ، ويجب على مبرمجي الموافقة المسبقة عن علم أقل من 4.5 فولت استخدام خوارزمية محو الصف لا يمكن محو الجهاز المقفل. ولكن هذا ليس هو الحال في AVR.
قامت AVR بتحسين وإطلاق أحدث متغيرات P (pico-power) مثل ATmega328P وهي منخفضة الطاقة للغاية. كما تم تحسين ATtiny1634 الحالي ويأتي مع أوضاع السكون لتقليل استهلاك الطاقة عند استخدام اللون البني وهو أمر مفيد للغاية في الأجهزة التي تعمل بالبطاريات.
الاستنتاج هو أن AVR كان يركز على الجهد المنخفض سابقًا ولكن تم تحويل PIC الآن لتشغيل الجهد المنخفض وأطلقت بعض المنتجات على أساس picPower.
موصلات الهدف
تعتبر الموصلات المستهدفة مهمة للغاية عندما يتعلق الأمر بالتصميم والتطوير. حددت AVR واجهات 6 و 10-way ISP ، مما يجعلها سهلة الاستخدام بينما لا تمتلكها PIC ، لذلك يأتي مبرمجو PIC مع خيوط طيارة أو مقابس RJ11 يصعب وضعها في الدائرة.
الاستنتاج هو أن AVR جعلها بسيطة من حيث تصميم الدائرة وتطويرها مع الموصلات المستهدفة بينما لا يزال PIC بحاجة إلى تصحيح ذلك.
واجهات متقدمة
فيما يتعلق بالواجهات المتقدمة ، فإن PIC هو بالتأكيد الخيار لأنه قد حصل على ميزات متقدمة مثل USB و CAN و Ethernet وهذا ليس هو الحال في AVR. ومع ذلك ، يمكن للمرء استخدام رقائق خارجية ، مثل FTDI USB للرقائق التسلسلية ، أو وحدات تحكم Microchip Ethernet أو رقائق Philips CAN.
الخلاصة هي أن الموافقة المسبقة عن علم لديها بالتأكيد واجهات متقدمة من AVR.
بيئة التطوير
بخلاف ذلك ، هناك ميزات مهمة تجعل كل من وحدة التحكم الدقيقة مختلفة عن بعضها البعض. سهولة بيئة التطوير مهم جدا. فيما يلي بعض المعلمات المهمة التي ستوضح سهولة بيئة التطوير:
- تطوير IDE
- المجمعين C
- المجمعين
IDE التطوير:
يأتي كل من PIC و AVR مع IDEs للتطوير الخاص بهما . يتم تطوير PIC على MPLAB X ، والذي يُعرف بأنه IDE المستقر والبسيط مقارنةً بـ AVR's Atmel Studio7 والذي يبلغ حجمه 750 ميجا بايت وهو ثقيل بعض الشيء مع المزيد من الميزات الإضافية مما يجعل الأمر صعبًا ومعقدًا للهواة الإلكترونية المبتدئين.
يمكن برمجتها الموافقة المسبقة عن علم من خلال أدوات رقاقة PicKit3 وMPLAB X . تمت برمجة AVR من خلال استخدام أدوات مثل JTAGICE و AtmelStudio7. ومع ذلك ، يقوم المستخدمون بالتبديل إلى الإصدارات الأقدم من AVR Studio مثل 4.18 مع حزمة الخدمة 3 لأنها تعمل بشكل أسرع ولديها ميزات أساسية للتطوير.
الاستنتاج هو أن PIC MPLAB X أسرع قليلاً وسهلة الاستخدام من AtmelStudio7.
المجمعين C:
كل من PIC و AVR يأتيان مع XC8 و WINAVR C Compilers على التوالي. اشترت PIC Hi-tech وأطلقت برنامج التحويل البرمجي XC8 الخاص بها. تم دمج هذا تمامًا في MPLAB X ويعمل بشكل جيد. لكن WINAVR هو ANSI C استنادًا إلى مترجم دول مجلس التعاون الخليجي مما يجعل من السهل إدخال التعليمات البرمجية واستخدام المكتبات القياسية. يوفر الإصدار المحدود من برنامج IAR C Compiler المجاني 4KB نكهة للمجمعين المحترفين الذي يكلف الكثير. نظرًا لأن AVR مصمم لـ C في البداية ، فإن إخراج الكود صغير وسريع.
يحتوي PIC على العديد من الميزات التي تجعله جيدًا مقارنةً بـ AVR ولكن رمزه يصبح أكبر بسبب هيكل PIC. النسخة المدفوعة متاحة بمزيد من التحسين ولكن النسخة المجانية ليست محسنة بشكل جيد.
الاستنتاج هو أن WINAVR جيد وسريع من حيث المجمعين من PIC XC8.
المجمعون:
من خلال ثلاثة سجلات مؤشر 16 بت التي تبسط عمليات العنونة والكلمات ، تكون لغة التجميع AVR سهلة للغاية مع الكثير من الإرشادات والقدرة على استخدام جميع السجلات 32 كمراكم. في حين أن مجمع PIC ليس جيدًا مع كل شيء مجبر على العمل من خلال المجمع ، فإنه يجبر على استخدام التحويل المصرفي طوال الوقت للوصول إلى جميع سجلات الوظائف الخاصة. على الرغم من أن MPLAB يتضمن وحدات ماكرو لتبسيط التحويل المصرفي ، إلا أنه شاق ويستغرق وقتًا طويلاً.
أيضًا عدم وجود تعليمات الفرع ، ما عليك سوى تخطي و GOTO ، مما يفرض على الهياكل المعقدة والتعليمات البرمجية المربكة بعض الشيء. تحتوي سلسلة PIC على بعض سلاسل وحدات التحكم الدقيقة بشكل أسرع بكثير ولكنها تقتصر مرة أخرى على مجمع واحد.
الخلاصة أنه على الرغم من أن بعض المتحكمات الدقيقة PIC أسرع ولكن من الأفضل العمل على AVR من حيث المجمعات.
السعر والتوافر
عند الحديث عن السعر ، فإن كلا من PIC و AVR متشابهان كثيرًا. كلاهما متوفر بنفس السعر في الغالب. من حيث التوفر ، فقد تمكنت PIC من تسليم المنتجات في الوقت المحدد مقارنة بـ AVR حيث أن Microchip كانت لديها دائمًا سياسة فترات زمنية قصيرة. واجهت Atmel بعض الأوقات الصعبة حيث أن نطاق منتجاتها الواسع يعني أن AVRs هي جزء صغير من أعمالها ، لذلك يمكن للأسواق الأخرى أن تأخذ الأولوية على AVRs للقدرة الإنتاجية. لذلك فمن المستحسن استخدام الموافقة المسبقة عن علم من حيث جداول التسليم بينما يمكن أن تكون AVR حاسمة للإنتاج. تميل أجزاء الرقائق إلى أن تكون متاحة بسهولة أكبر خاصة بكميات صغيرة.
ميزات أخرى
يتوفر كل من PIC و AVR في مجموعة متنوعة من الحزم. يطرح PIC إصدارات أكثر من AVR. يمكن أن يكون لطرح هذا الإصدار إيجابيات وسلبيات اعتمادًا على التطبيقات ، مثل المزيد من الإصدارات ، مما يؤدي إلى حدوث ارتباك في اختيار النموذج المناسب ولكنه في نفس الوقت يوفر مرونة أفضل. أحدث نسخة من كل من PIC و AVR منخفضة الطاقة وتعمل في مجموعة متنوعة من نطاق الجهد. تعد ساعات PIC وأجهزة ضبط الوقت أكثر دقة ولكن من حيث السرعة فإن PIC و AVR متماثلان إلى حد كبير.
أضاف Atmel Studio 7 ملفات ELF للإنتاج ، والتي تتضمن بيانات EEPROM و Flash و fuse في ملف واحد. في حين أن AVR قد دمجت بيانات الدمج في تنسيق ملفها السداسي بحيث يمكن ضبط الصمامات في الكود. وهذا يمكن الموافقة المسبقة عن علم على نقل المشروع إلى الإنتاج.
استنتاج
PIC و AVR كلاهما من الأجهزة الممتازة منخفضة التكلفة والتي لا تستخدم فقط في الصناعات ولكن أيضًا خيار شائع بين الطلاب والهواة. كلاهما مستخدم على نطاق واسع ولهما شبكات جيدة (منتديات ، أمثلة التعليمات البرمجية) مع وجود نشط على الإنترنت. يتمتع كلاهما بوصول ودعم جيد للمجتمع وكلاهما متاح بأحجام كبيرة وعامل شكل مع الأجهزة الطرفية الأساسية المستقلة. استحوذت Microchip على Atmel وهي الآن تهتم بكل من AVR و PIC. في النهاية ، من المفهوم جيدًا أن تعلم وحدة التحكم الدقيقة يشبه تعلم لغات البرمجة ، حيث سيكون تعلم لغة أخرى أسهل بكثير بمجرد أن تتعلم واحدة.
بغض النظر عمن يفوز ، ولكن في جميع فروع الهندسة تقريبًا ، لا توجد كلمة مثل "الأفضل" في حين أن العبارة "الأكثر ملاءمة للتطبيق" مناسبة تمامًا. كل هذا يتوقف على متطلبات منتج معين وطريقة التطوير وعملية التصنيع. بناءً على المشروع ، يمكن للمرء اختيار متحكم دقيق مناسب تمامًا من PIC و AVR.