یکی از پرسشهایی که بسیاری از افراد برایشان ایجاد میشود، این است که «تفاوت بین میکروکنترلر و میکروپروسسور چیست؟» همچنین، بسیار پیش میآید که این دو کلمه به اشتباه به جای یکدیگر به کار میروند. در ادامه، با تفاوتهای میکروکنترلر و میکروپروسسور آشنا میشویم.
«میکروکنترلر» یا «ریزکنترلگر» (Microcontroller) یک کامپیوتر کوچک بر روی تراشه مدار مجتمع یا آیسی نیمههادی است. این قطعه یک کامپیوتر کامل است و تمام اجزای ضروری مورد نیاز در یک تراشه مانند واحد پردازش، رام (ROM)، رم (RAM)، پورتهای ورودی-خروجی (I/O)، پورتهای سریال، تایمر و غیره را دارد.
میکروکنترلر برای عملکرد خود نیازی به اجزای خارجی ندارد و همین امر آن را به عنوان گزینه مناسبی برای تجهیزات تعبیهشده و فشرده در صنایع مختلف تبدیل مطرح کرده است. از متداولترین سری میکروکنترلرها میتوان به PIC ،8051 ،ARM ،AVR و... اشاره کرد.
«میکروپروسسور» یا «ریزپردازنده» (Microprocessor) نوعی آیسی است که فقط واحد پردازش مرکزی (CPU) دارد و فاقد سایر اجزای لازم در داخل آیسی است. در واقع، بستهبندی این قطعه شامل رم، رام و سایر اجزای مورد نیاز برای انجام یک کار مشخص نیست. به همین دلیل برای تکمیل آن به اجزا و قطعات خارجی نیاز است.
به همین دلیل است که دستگاههای ساخته شده از ریزپردازندهها حجیم و پرمصرف هستند. البته آنها دارای حافظه قابل ارتقا بوده و قابلیت پردازش بالا برای انجام کارهای پیچیده مانند بازیها، توسعه وبسایت و نرمافزار و غیره را دارند.
برخی از تفاوتهای میکروکنترلرها و میکروپروسسورها به شرح زیر است:
در ادامه، برخی از این موارد را با جزئیات بیشتری شرح میدهیم.
تفاوت در لوازم جانبی خارجی
تفاوت اصلی بین میکروکنترلر و میکروپروسسور وجود تجهیزات جانبی یا اجزایی مانند رم (RAM)، رام (ROM)، ایایپیرام (EEPROM) و غیره در داخل تراشه آیسی است.
به دلیل طراحی جمعوجور میکروکنترلرها، از آنها در اسباببازیهای کوچک و دستگاههای الکترونیکی قابل حمل استفاده میشود. در حالی که سیستمهای مبتنی بر میکروپروسسور به دلیل وجود تجهیزات جانبی، حجیم و سنگین هستند و به همین دلیل در دستگاههای کوچک به کار نمیروند و گزینه مناسبی نیستند.
تفاوت در مصرف برق
میکروکنترلر دارای ویژگی صرفهجویی در مصرف برق داخلی است و تجهیزات جانبی داخلی نیز در کم بودن مصرف برق تأثیر بسزایی دارند. تجهیزات جانبی خارجی مورد استفاده در کنار میکروپروسسورها، مصرف برق سیستم را افزایش میدهند. بنابراین دستگاههای مبتنی بر میکروکنترلر (MCU) با استفاده از باتریهایی با طول عمر بالا تغذیه میشوند، در حالی که دستگاههای مبتنی بر میکروپروسسور (MPU) برای کار با انرژی ذخیره شده مناسب نیستند.
تفاوت دیگر نیاز به ریلهای ولتاژ چندتایی است. میکروکنترلر به یک ریل تک ولتاژ نیاز دارد. با این حال، لوازم جانبی خارجی متصل به میکروپروسسور به سطوح ولتاژ متفاوتی نیاز دارند. بنابراین آنها به یک منبع تغذیه پیچیده نیاز دارند که بتواند ریلهای توان را با سطح ولتاژ متفاوت فراهم کند.
سیستمهای مبتنی بر ریزپردازنده به دلیل نیاز به رم، رام و... خارجی نسبتاً گران هستند، در حالی که میکروکنترلر یک تراشه ارزان است که میتواند به تنهایی وظیفه مورد نظر را انجام دهد.
تفاوت در حافظه و قابلیت ارتقا
حافظه داخلی سریعتر از حافظه خارجی است، زیرا در تراشه نیمههادی تعبیه شده است. سرعت حافظه فلش داخلی میکروکنترلر از حافظه خارجی میکروپروسسور بیشتر است. بنابراین میکروکنترلر کد برنامه را سریع بارگیری و اجرا میکند. دستگاه های مبتنی بر میکروکنترلر بلافاصله کار میکنند، در حالی که کار سیستم مبتنی بر میکروپروسسور در هنگام راهاندازی مدتی طول میکشد.
میکروکنترلر دارای یک فلش یا حافظه ثابت داخلی است که قابل ارتقا نیست. این در حالی است که میتوان حافظه سیستم مبتنی بر میکروپروسسور را برای پاسخگویی الزامات ارتقا داد. این امر به یک سیستم مبتنی بر ریزپردازنده منجر میشود تا عملکرد و اجرای کارهای پیچیده را نسبت به میکروکنترلر بهبود دهد.
میکروکنترلرها برای انجام یک کار خاص طراحی شدهاند به همین دلیل به عنوان مدار مجتمع با کاربرد خاص (ASIC) شناخته میشوند و برای انجام یک کار واحد به سرعت پردازش و حافظه بالایی نیاز ندارد. در حالی که ریزپردازندهها قطعاتی با اهداف عمومی هستند و میتوانند وظایفی را انجام دهند که به منابع زیادی نیاز دارند و میتوانند عملکرد بهتری داشته باشند.
تفاوت در سرعت پردازش
پردازش سریع میکروپروسسور بهتر از میکروکنترلر است. سرعت پردازش اولی از ۱ گیگاهرتز تا ۴ گیگاهرتز است، در حالی که سرعت دومی تقریباً ۸ مگاهرتز تا ۵۰ مگاهرتز است. ریزپردازنده بسیار سریعتر کار میکند و میتواند کارهای پیچیدهای مانند صوتی، تصویری، محتوای انیمیشن، ویرایش یا طراحی و غیره را سریعتر انجام دهد.
انتخاب بین میکروکنترلر و میکروپروسسور به پروژهای بستگی دارد که قصد انجام آن را داریم. به طور کلی، در نظر گرفتن موارد زیر در انتخاب بین میکروکنترلر و میکروپروسسور میتواند مفید باشد:
از نکات بالا میتوان چنین نتیجه گرفت که میکروپروسسور برای پردازش حجم زیاد داده، داشتن سرعت پردازش بالا، پشتیبانی از وضوح بیشتر از 720p (شامل رابط کاربر گرافیکی با وضوح بالا) و پشتیبانی از USB 3.0، گزینه بهتری است.
اگر عملکرد مورد نظر نیازمند حافظه کم برای کاربردهایی مانند کنترل سنسورها، محرکها و موتورها جهت انجام یک کار خاص و با هزینه مقرون به صرفه باشد، استفاده از میکروکنترلر منجر به محصولی مقرون به صرفه و جمع و جور خواهد شد که میتواند با باتری کار کند.
برای پروژههای معمولی، انتخاب شما بین میکروکنترلر و ریزپردازنده باید میکروکنترلر باشد، زیرا تقریباً هر پروژهای را میتوان با استفاده از میکروکنترلرهایی مانند آردوینو به شکل مقرون به صرفهای اجرا کرد.
البته در بعضی از پروژهها، برای انجام کارهای پیچیدهای مانند تشخیص گفتار، تشخیص چهره (پردازش تصویر)، هوش مصنوعی (AI) و... به حجم زیادی حافظه نیاز است که در این صورت باید از میکروپروسسور استفاده کرد.
همچنین میتوان از هر دو قطعه به طور جداگانه در پروژه استفاده کرد تا موارد مورد نظر به نحو مطلوب به دست آیند. مثلاً میتوان برای کنترل سنسورها و موتورها در یک ربات با استفاده از میکروکنترلر استفاده کرد و پردازش حجم زیاد دادههای دوربین و میکروفن را با میکروپروسسور انجام داد.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
منبع [+]