سلام
در کل این دو خانواده تفاوت زیادی با هم ندارند . AVR ها از نظر سرعت کاری
در حالت بهتری نسبت به PIC ها قرار دارند ، اما PIC ها از نظر مقاومت در
برابر نویز دارای استقامت بیشتری هستند . و همچنین AVR ها دارای قیمت پائین
تری هستند که یه قسمتی از این به خاطر پائین بودن کیفیت میکروهای وارد شده
هست و حافظه نسبتا بالاتری هم دارند ، اما PIC ها دارای تنوع خیلی بیشتر و
ماژول های داخلی بیشتری هستند .
اما تو باقی موارد میشه گفت در یک سطح قرار داند .
AVR سری tiny رو داره ، PIC هم در مقابل PIC 12 XXX رو داره .
AVR سری AT90S رو داره ، PIC هم در مقابل PIC 16 XXX رو داره .
AVR سری MEGA رو داره ، PIC هم در مقابل PIC 18 XXX رو داره .
علاوه بر اینها PIC ها سری 10 رو هم دارند که میکروهای 6 پایه هستند +
میکروهای پردازش سیگنال دیجیتال (dsPIC) و میکروهای مجهز به فرستنده
رادیویی داخلی هستند (rfPIC) .
البته AVR هم تا حدی در مورد فرستنده رادیویی پیشرفت کرده (البته به گفته
یکی از دوستان) و مدل های مخصوصی برای کار های شبکه و .. هم دارند .
به جز این موارد هر دو خانواده میکروهای 16 و 32 بیتی هم دارند . که در کل
تفاوت زیادی ندارند و بیشتر بستگی به شرایط ، بودجه کاری ، نیاز مدار و ...
داره که چه میکرویی انتخاب بشه .
و در مورد سادگی کار هم باید گفت که باز هم تفاوتی نداره ، چون این
کامپایلر و زبان برنامه نویسی هست که سختی یا راحتی رو تعیین میکنه و سخت
افزار تو این حالت دخالتی چندانی نداره و بیشتر به برنامه نویسی اسمبلی
مربوط میشه که در حال حاضر کمتر کسی به اسمبلی برنامه می نویسه . کما اینکه
اگر اسمبلی هم بود باز هم تفاوت زیادی بین این دو نبود .
در مورد تعداد دستور العمل های PIC هم باید گفت که برای هر سری فرق داره که
از پائین به ترتیب اضافه میشه . مثلا سری 10 و 12 کمترین تعداد دستور
العمل را دارند ، اما سری 18 در حدود 75 دستور العمل دارند .
در مورد سرعت هم در سری 18 و بالاتر به خوبی جبران شده . به صورتی که تا
حدود 50 مگ هم بال رفته و حتی با اسیلاتور داخلی هم میشه فرکانس 15 مگ رو
تولید کرد .
در مورد A/D و استانداردهای ارتباطی هم PIC تعداد بیشتری ماژول داخلی نظیر
A/D و ... داره و همچنین استاندارهای بیشتری رو هم پشتیبانی می کنه (تقریبا
همه استانداردهای مورد نیاز) .
در مورد اجرای دستورات به صورت تک سیکلی ، AVR هم به همین صورت عمل می کنه که مربوط به معماری RISC هست .
میکرویی
مثل PIC16F877A هم که از نظر امکانات در سطح خیلی پائین تری نسبت به سری
18 هست ، قیمت 3000 تومان داره ، اما امکاناتی که داره به این صورت هست :
- 6 حالت برای اسیلاتور که دو حالت اسلاتور RC داخلی از نوع کالیبره شده هست .
- حداکثر فرکانس اسیلاتور 20 مگ که در اصل میشه 5 مگ
- 15 ورودی وقفه
- WDT با اسیلاتور داخلی و پرسکالر مخصوص که عملکرد بسیار مناسبی داره و بر
خلاف اکثر میکروها دیگه که بعد از ریست wdt ، اطلاعات موقت هم از بین میره
، تنها رجیسترهای کنترلی به مقدارهای پیش فرض بر می گردند ، اما مقادیر
تایمرها و ... حفظ میشه .
- ولتاژ کاری 2 تا 5.5 ولت
- حالت پروگرام کردن SPI در مدار
- 2 تایمر 8 بیتی با منابع داخلی و خارجی برای کلاک و پرس کالر و پست
اسکالر مخصوص و یک تایمر 16 بیتی با پرس کالر و منابع کلاک مختلف و همچنین
قابلیت استفاده از اسیلاتور LP مخصوص برای خود .
- مبدل آنالوگ به دیجیتال با 8 کانال ورودی و دقت 10 بیت .
- 5 پورت ارتباطی ساده (35 پایه i/o) .
- پورت موازی تابع یا PSP برای یک ارتباط موازی و دو طرفه با سرعت و اطمینان بالا بین میکرو ها و یا پورت پرینتر و ...
- ماژول داخلی ارتباطات سریال MSSP برای پیاده سازی SPI و I2C به صورت پیشرفته و با دقت و سرعت بالا
- ماژول AUSART برای ارتباطات سریال همزمان و غیر همزمان با دقت بالا و همراه با آدرس دهی .
- ماژول مقایسه کننده های داخلی (2 مقایسه گر آنالوگ) .
- ماژول CCP برای پیاده سازی حالت های مقایسه ، کپی گیری و تولید پالس های PWM و 2 کاناله با کمک تایمرها .
- حالت capture با حداکثر زمان پاسخ دهی 12.5 نانو ثانیه
- حالت compare با حداکثر زمان پاسخ دهی 200 نانو ثانیه
- و حالت PWM با دقت 10 بیت .
- 8KW حافظه برنامه (معادل 14KB) از نوع فلش و با قابلیت برنامه ریزی حداقل 1000 بار .
- 256 بایت eeprom داخلی که اطلاعاتش تا 40 سال هم محفوظ می مونه و قابلیت 1.000.000 بار پاک و نوشته شدن رو داره .
- حالت محافظت از کدهای داده و برنامه (CPD و CP) که دارای امنیت بسیار عالی هست .
- 368 بایت حافظه ram داخلی
- قابلیت نوشتن و خواندن اطلاعات از حافظه برنامه که این امکان رو میده تا
خود میکرو برنامه کاری خودش رو تغییر بده و یا به یک قطعه دیگه ارسال کنه .
- آشکار ساز حالت کم بودن تغذیه
- جریان بالای پایه برای راه اندازی مستقیم LED (ورودی 25 میل و خروجی 20 میل)
- power up timer
- حالت پروگرام شدن با ولتاژ پائین
- مقاومت های پول آپ داخلی برای پایه های I/O
- قابلیت تشخیص انواع ریست هایی که رخ میده
- جریان حالت کاهش توان در حدود 0.7 میکرو آمپر
حالا این یک میکروی معمولی از خانواده PIC هست که در حد رقابت با AT90s هست
نه MEGA . حالا میکروهای سری 18 از نظر قدرت و ماژول های داخلی و ... در
سطح بالاتری هستند .
در مورد قیمت هم درسته ، اما PIC مرتب داره قیمتش کم میشه و البته آی سی
های وارده کیفیت خیلی بهتری نسبت به AVR های وارده به ایران دارند . حدود 3
سال پیش همین میکرو 877 ، 5000 تومن قیمتش بود ، اما الان رسیده به 3000
تومن . با همون کیفیت و ...
نقل قولی بود از حامد مظاهری