پشتیبانی

مقایسه AVR و PIC

۱۳۹۵/۱۰/۲۷ دوشنبه
(2)
(1)
مقایسه AVR و PIC
مقایسه AVR و PIC

هر موقع که موضوع مقایسه میکروکنترلرهای AVR و PIC در گروه ها مطرح می شود، بحث داغی به وجود می آید. اینگونه بحث در مورد پردازنده ها از قبل ها بوده، مانند مقایسه 6502 با Z80 و خیلی مقایسه پردازنده های دیگر.
 
اینگونه بحث ها با اینکه در تمامی رشته های مهندسی وجود دارد، ولی در عمل چیزی به نام بهترین وجود ندارد. بهتر است بگوییم مناسب ترین میکروکنترلر برای هر پروژه کدام است. اگر بخواهیم به طور کلی مقایسه ای انجام بدهیم٬‌ باید گفت این دو فرق آنچنانی ندارند بلکه به گونه ای در حال رقابت با همدیگر هستند.
اولین بحثی که پیش می آید این است که برای مبتدیان و کسانی که تازه می خواهد کار با میروکنترلرها را شروع کنند کدام مورد مناسب است؟ بیشتر کسانی که با هر دوی این میکروکنترلر ها کار کرده اند، AVR را برای شروع مناسب می دانند.
معماری PIC نوع اصلاح شده معماری هاروارد است که باعث شده تا این میکرو در برابر نویز مصونیت پیدا کند ٬ در واقع در این مسئله میتوان تا حدودی شاهکار میکروچیپ رو برتر دانست.
در مورد packag های میکروکنترلر های می باشد که هردو میکرو کنترلر AVR و PIC هم packag نوع DIP دارند و هم package نوع SMD .
یکی از مزیت های AVR این است که حالت Watchdog را می توان به صورت نرم افزاری خاموش نمود. در میکروهای PIC فعال کردن Watchdog با دستورالعم sleep باعث به حالت خواب رفتن یا همان sleep  میکرو می شود در صورتی که این کار در AVR  باعث ریست میکرو می شود که کمی کار را پیچیده می کند.
در برنامه نویسی و تعداد دستورات قابل فهم توسط CPU خیلی باهم فرق دارند به عنوان مثال PIC تقریبا 30 دستور و AVR تقریبا 130 دستور ( البته در زبان اسمبلی).در واقع هرچه دستورات کمتر باشند به فضای حافظه کمتری هم نیاز دارید ٬‌مقایسه حافظه های این دو میکرو کاملا این مسئله را نشان میدهد.
شما یک Atmega32 و یک PIC16F877a رو در نظر بگیرید .
ATmega  تقریبا 32 کیلوبایت حافظه دارد در حالی که PIC16F877A حافظه ای در حدود 8 کیلو دارد ٫  حال این بحث یعنی چه؟
یعنی اینکه برنامه ها در PIC به علت تعداد مجموعه دستورات نسبت به AVR از حجم کمتری برخوردار هستند در نتیجه به حافظه کمتری نیاز دارند.
PIC های اخیر ( سری 12Fxxx و ...) اسیلاتور های RC آنها به صورت دقیق تر کالیبره شده است.
در مورد ADC ، سرعت تبدیل ADC در میکروکنترلرهای PIC بیشتر از AVR می باشد.
در مقایسه و جنگ تن به تن این دو میروکنترلر:

AVR سری tiny را دارد ، PIC هم در مقابل PIC 12 XXX را دارد.
AVR سری AT90S را دارد ، PIC هم در مقابل PIC 16 XXX را دارد.
AVR سری MEGA را دارد ، PIC هم در مقابل PIC 18 XXX را دارد.

علاوه بر اینها PIC ها سری 10 را هم دارند که میکروهای 6 پایه هستند و همچنین  میکروهای پردازش سیگنال دیجیتال (dsPIC)  و میکروهای مجهز به فرستنده رادیوییداخلی هستند (rfPIC) .
هر دو میکروکنترلر، خانواده میکروهای 16 و 32 بیتی دارند . که در کل تفاوت زیادی ندارند و بیشتر بستگی به شرایط ، بودجه کاری ، نیاز مدار و ... دارد که چه میکروکنترلری انتخاب بشود.
Pic ها دارای ویژگی های جالب هستند که در AVR دیده نمیشود؛ مثلا:
-  با دستور DTMFOUT میتوان روی هر پایه دلخواهی سیگنال سازگار با خط تلفن را تولید کرد
- با دستور POT میتوانیم یک پتانسیومتر (یا فتوسل) به یک پایه وصل کرده و آن را مقیاس بندی کنیم
- تنها با دستور PWM میتوان موج PWM تولید کرد ولی در AVR به این راحتی نیست
- از همه مهمتر اینکه در PIC هر پین میتواند هر عملکردی را ارائه دهد .به عنوان مثال ما در PIC میتوانیم موج PWM را روی هر پایه دلخواهی داشته باشیم اما AVR پایه های مخصوصی(یا محدودی) را برای این کار قرار داده .
-  در کاربردهای صنعتی و حساس بیشتر از PIC استفاده شده
ولی اگر دو میکروکنترلر از خانواده AVR و PIC با امکانات مشابه هم داشته باشیم قیمت خانواده AVR نسبت به PIC مناسب تر می باشد.
 


ایران الکترو
محمد حسین لطفیان

 

telegramaparat
شرکت سازنده