مقالات

26
هر موقع که موضوع مقایسه میکروکنترلرهای AVR و PIC در گروه ها مطرح می شود، بحث داغی به وجود می آید. اینگونه بحث در مورد پردازنده ها از قبل ها بوده، مانند مقایسه ۶۵۰۲ با Z80 و خیلی مقایسه پردازنده های دیگر.
اینگونه بحث ها با اینکه در تمامی رشته های مهندسی وجود دارد، ولی در عمل چیزی به نام بهترین وجود ندارد. بهتر است بگوییم مناسب ترین میکروکنترلر برای هر پروژه کدام است. اگر بخواهیم به طور كلی مقایسه ای انجام بدهیم٬‌ باید گفت این دو فرق آنچنانی ندارند بلكه به گونه ای در حال رقابت با همدیگر هستند.
اولین بحثی که پیش می آید این است که برای مبتدیان و کسانی که تازه می خواهد کار با میروکنترلرها را شروع کنند کدام مورد مناسب است؟ بیشتر کسانی که با هر دوی این میکروکنترلر ها کار کرده اند، AVR را برای شروع مناسب می دانند.
معماري PIC نوع اصلاح شده معماري هاروارد است كه باعث شده تا اين ميكرو در برابر نويز مصونيت پيدا كند ٬ در واقع در اين مسئله ميتوان تا حدودي شاهكار ميكروچيپ رو برتر دانست.
در مورد packag های میکروکنترلر های می باشد که هردو میکرو کنترلر AVR و PIC هم packagنوع DIP دارند و هم package نوع SMD .
یکی از مزیت های AVR این است که حالت Watchdog را می توان به صورت نرم افزاری خاموش نمود. در میکروهای PIC فعال کردن Watchdog با دستورالعم SLEEP باعث به حالت خواب رفتن یا همان sleep  میکرو می شود در صورتی که این کار در AVR  باعث ریست میکرو می شود که کمی کار را پیچیده می کند.
در برنامه نويسي و تعداد دستورات قابل فهم توسط CPU خيلي باهم فرق دارند به عنوان مثال PICتقريبا ۳۰ دستور و AVR تقريبا ۱۳۰ دستور ( البته در زبان اسمبلي).در واقع هرچه دستورات كمتر باشند به فضاي حافظه كمتري هم نياز داريد ٬‌مقايسه حافظه هاي اين دو ميكرو كاملا اين مسئله را نشان ميدهد.
شما يك Atmega32 و يك PIC16F877a رو در نظر بگيرید .
ATmega  تقريبا ۳۲ كيلوبایت حافظه دارد در حالي كه PIC16F877A حافظه اي در حدود ۸ كيلو دارد٫  حال این بحث یعنی چه؟
يعني اينكه برنامه ها در PIC به علت تعداد مجموعه دستورات نسبت به AVR از حجم كمتري برخوردار هستند در نتيجه به حافظه كمتري نياز دارند.
PIC های اخیر ( سری ۱۲Fxxx و …) اسیلاتور های RC آنها به صورت دقیق تر کالیبره شده است.
در مورد ADC ، سرعت تبدیل ADC در میکروکنترلرهای PIC بیشتر از AVR می باشد.
در مقایسه و جنگ تن به تن این دو میروکنترلر:
AVR سری tiny را دارد ، PIC هم در مقابل PIC 12 XXX را دارد.
AVR سری AT90S را دارد ، PIC هم در مقابل PIC 16 XXX را دارد.
AVR سری MEGA را دارد ، PIC هم در مقابل PIC 18 XXX را دارد.
علاوه بر اینها PIC ها سری ۱۰ را هم دارند که میکروهای ۶ پایه هستند و همچنین  میکروهای پردازش سیگنال دیجیتال (dsPIC)  و میکروهای مجهز به فرستنده رادیوییداخلی هستند (rfPIC) .
هر دو میکروکنترلر، خانواده میکروهای ۱۶ و ۳۲ بیتی دارند . که در کل تفاوت زیادی ندارند و بیشتر بستگی به شرایط ، بودجه کاری ، نیاز مدار و … دارد که چه میکروکنترلری انتخاب بشود.
Pic ها داراي ويژگي هاي جالب هستند كه در AVR ديده نميشود؛ مثلا:
–  با دستور DTMFOUT ميتوان روي هر پايه دلخواهي سيگنال سازگار با خط تلفن را توليد كرد
– با دستور POT ميتوانيم يك پتانسيومتر (يا فتوسل) به يك پايه وصل كرده و آن را مقياس بندي كنيم
– تنها با دستور PWM ميتوان موج PWM توليد كرد ولي در AVR به اين راحتي نيست
– از همه مهمتر اينكه در PIC هر پين ميتواند هر عملكردي را ارائه دهد .به عنوان مثال ما در PICميتوانيم موج PWM را روي هر پايه دلخواهي داشته باشيم اما AVR پايه هاي مخصوصي(يا محدودي) را براي اين كار قرار داده .
–  در كاربردهاي صنعتي و حساس بيشتر از PIC استفاده شده
ولی اگر دو میکروکنترلر از خانواده AVR و PIC با امکانات مشابه هم داشته باشیم قیمت خانوادهAVR نسبت به PIC مناسب تر می باشد.
امیدواریم این بحث برای شما مفید باشد تا بتوانید در پروژه هایتان میکروکنترلر مناسب را انتخاب نمایید.

نظر ها

در حال حاضر هیچ نظری ثبت نشده است. شما می توانید اولین نفری باشید که نظر می دهید.

ثبت نظر

نام

ایمیل

وب سایت