مقایسه میکروکنترلر با میکروپروسسور

مقایسه میکروکنترلر با میکروپروسسور

مقایسه میکروکنترلر با میکروپروسسور

قبل از این که بخواهیم به معرفی میکروکنترلر ها بپردازیم ابتدا به این سوال پاسخ می دهیم که با وجود پروسسورها که توانایی و قابلیتهای زیادی نسبت به میکروکنترلرها داشتند چرا استفاده از میکروکنترلرها عملاً استفاده از پروسسورها را محدود به پروژه های خاص کرده است و استفاده از آنها بسیار کم شده است؟

برای پاسخ ابتدا باید تفاوت پروسسور و میکروکنترلر را بدانیم. پروسسورها در واقع همان CPU ها هستند. می دانید که CPU بدون قطعاتی چون RAM، ROM، اسیلاتور یا نوسانساز و پروتهای ورودی و خروجی عملاً کاربردی ندارد. بنابراین در مدارات پروسسوری بایستی میزان RAM و ROM مورد نیاز را تأمین کرده و اتصال خطوط آدرس و داده را به آن برقرار نمود. همچنین برای کارکرد مناسب باید مداری برای تولید نوسان ساخت یا از IC هایی که بدین منظور طراحی شده اند استفاده کرد. فرض کنید هیچ کار خاصی را از پروسسور نخواهیم. ابتدا به ساکن بایستی مدارات زیر را طراحی کنیم:

اسیلاتور با فرکانس مناسب برای پروسسور

RAM با میزان فضای حافظه مناسب (به صورت IC جداگانه)

ROM  با میزان فضای حافظه مناسب (به صورت IC جداگانه)

مدارات واسط برای اتصال خطوط آدرس پروسسور به RAM و ROM

یعنی برای ساده ترین کار نیز بایستی این مدارات را آماده کرد. تازه از سوی دیگر به دلیل همین مدارات، حجم برد زیادتر خواهد شد. شکل زیر را ببینید. یک پروسسور با RAM و ROM و مدارات واسط جهت خطوط آدرس و مدارا نوسان ساز به همراه ارتباط سریال با خارج نشان داده شده است. مشاهده می شود که چقدر حجم مدارات زیاد است و همچنین قیمت هر کدان از IC های نام برده به تنهایی از میکرو کنترلرها گران تر است!!! تازه از جمله مشکلات دیگر بحث پروگرام کردن آنها و از آن مهم تر دیباگ کردن برنامه می باشد. به علاوه تمام اینها به شرطی است که شما تجربه کافی برای طراحی و ساخت چنین مداراتی را داشته باشید. حتماً تا به حال مدارات آماده ساده را دیده اید که وقتی به هم متصل می کنید جواب نمی دهد یا با کوچکترین مشکل می سوزد! فاجعه آنجاست که مشکل سوختن برای یکی از این مدارات پروسسوری پیش بیاید! زمان می برد تا اشکال پیدا شده و حل شود.

 

برای مداراتی مثل Motherboard کامپیوتر که کاربردهای زیادی دارند بردهای آماده طراحی و ساخته شده و قطعات مختلف هماهنگ با آنها نیز آماده و تولید گردیده است. ولی آیا برای همه پروژه ها می توان از آنها استفاده کرد؟ پاسخ به میزان هزینه ای که برای هر پروژه می توان صرف نمود باز می گردد. معمولاً برای پروژه هایی که بودجه محدودی دارند استفاده از بردهای آماده مقرون به صرفه نیست. این مسأله و همچنین نیاز زیاد به این نوع مدارات، تولید کننده های پروسسور را بر آن داشت که در صدد حل این مشکل برآیند.

میکروکنترلر در این مقطع متولد شد. مداری مجتمع شامل پروسسور، RAM، ROM، اسیلاتور، پورتهای ورودی و خروجی و امکانات جانبی متعدد دیگری که بنابر نوع میکروکنترلرها متغیر است. با استفاده از میکروکنترلرها دیگر مشکلاتی از قبیل وصل کردن وسایل جانبی ابتدایی به پروسسور نداریم ولی از طرف دیگر توانایی تغییر میزان حافظه RAM یا ROM را نیز نداریم که تولید کننده ها انواع مختلف با طیف وسیعی از میزان حافظه در میکروکنترلرها را تولید کرده اند و نیاز طراحان را مرتفع ساخته اند. امروزه با توجه به افزایش فرکانس میکروکنترلرها و امکانات جانبی متعدد آنها از جمله مبدل های A/D با سرعت بالا، استفاده از آنها در پروژه های پیچیده تر نیز مرسوم شده است. در شکلهای زیر مقایسه ای بین یک مدار پروسسوری با یک میکروکنترلر خانواده AVR که قیمتی ناچیز دارد انجام گرفته است.

 

 

همانطور که در این دو شکل نشان داده شده است برای استفاده از پروسسورها باید امکاناتی را که نیاز داریم به صورت جداگانه به پروسسور بیافزاییم ولی در میکروکنترلرها این امکانات از ابتدا وجود دارد.

در استفاده از میکروکنترلرها دیگر مشکل مدارات ابتایی برای راه اندازی را نداریم. به علاوه امکانات جانبی متعددی در هر میکروکنترلر برای این منظر طراحی شده است. امکاناتی مثل:

  • I/O ها یا پین های ورودی و خروجی
  • مبدل های آنالوگ به دیجیتال
  • انواع پروتکلهای ارتباطی مثل:
    • SPI
    • I2C
    • USART
  • Timer & Counter
  • Interrupt ها
  • EEPROM
  • Analog Comparator

و بسیاری امکانات دیگر که در میکروکنترلرهای خاص می توان یافت. امکاناتی مانند USB Master، CAN، Advanced PWM.

 

ارسال نظر
    محمدجواد شهبازی
    4شهریور
    اشتراک گذاری در شبکه های اجتماعی