میکروکنترلر چیست و چه کاربردی دارد؟

میکروکنترلر (به انگلیسی: Microcontroller ) و به اختصار MCU ، یک مدار مجتمع فشرده است که برای کنترل یک عملیات خاص در یک سیستم تعبیه شده طراحی شده است. یک میکروکنترلر معمولی شامل یک پردازنده، حافظه و تجهیزات جانبی ورودی/خروجی (I/O) روی یک تراشه است.

 در واقع می توان گفت میکروکنترلر یک مینی کامپیوتر ساده است که بر روی یک تراشه یکپارچه تعبیه شده است، به بسیاری از اجزای اساسی مانند یک کامپیوتر بزرگتر و پیچیده تر نیاز دارد.

امروزه انواع مختلفی از میکروکنترلرها با طول کلمات مختلف مانند میکروکنترلرهای ۴ بیتی ، ۸ بیتی ، ۶۴ بیتی و ۱۲۸ بیتی در بازار موجود است. آنها اساساً رایانه‌های شخصی مینیاتوری ساده‌ای هستند که برای کنترل ویژگی‌های کوچک یک جزء بزرگ‌تر، بدون سیستم‌عامل (OS) پیچیده طراحی شده‌اند.

میکروکنترلرهای پیچیده‌تر عملکردهای حیاتی را در هواپیما، فضاپیما، کشتی‌های اقیانوس پیما، وسایل نقلیه، سیستم‌های پزشکی و پشتیبانی حیات و همچنین در روبات‌ها انجام می‌دهند. در سناریوهای پزشکی، میکروکنترلرها می توانند عملکرد قلب مصنوعی، کلیه یا سایر اندام ها را تنظیم کنند. آنها همچنین می توانند در عملکرد دستگاه های مصنوعی موثر باشند.

اجزای یک میکروکنترلر

در یک میکروکنترلر  بخش‌های بسیار زیادی مانند پردازنده، RAM، ROM و FLASH وPORT و TIMER و USART و ADC و DAC و USB و CAN و ISP و بخش های بسیاری دیگر تشکیل شده‌است. موارد زیر اجزای ضروری میکروکنترلر هستند:

پردازنده (CPU)

یک پردازنده را می توان مغز دستگاه در نظر گرفت. دستورات مختلفی را که عملکرد میکروکنترلر را هدایت می کند، پردازش می کند و به آنها پاسخ می دهد. این جزء شامل واحد منطق حسابی و رجیسترها، اشاره گر پشته، شمارنده برنامه، رجیستر انباشت کننده، فایل ثبت و غیره است.همچنین عملیات انتقال داده را انجام می دهد که دستورات را به اجزای دیگر در سیستم جاسازی شده بزرگتر منتقل می کند.

حافظه (Memory)

یک میکروکنترلر دو نوع حافظه دارد. حافظه برنامه (Program memory) و حافظه داده (Data memory). حافظه برنامه که به نام فلش مموری نیز شناخته می شود، کدی را که میکروکنترلر اجرا می کند، نگه می دارد. حافظه داده که به عنوان RAM نیز شناخته می شود، متغیرها و داده هایی را که میکروکنترلر در حین کار استفاده می کند، در خود نگهداری می کند.میکروکنترلرهایاریزپردازنده ها با سه نوع حافظه تولید می شوند:

  • حافظه FLASH
  • حافظه RAM
  • حافظه EEPROM
پورت های ورودی/خروجی (I/O Ports)

میکروکنترلرها دارای تجهیزات جانبی ورودی/خروجی مختلفی هستند که به آنها اجازه می دهد با دنیای خارج ارتباط برقرار کنند. اینها شامل پین‌های ورودی/خروجی دیجیتال و آنالوگ، تایمرها، شمارنده‌ها، رابط‌های ارتباطی (مانند UART، SPI، I2C و USB) و خروجی های PWM برای تولید سیگنال های آنالوگ استفاده می شود.

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

پورت های سریال (Serial port)

پورت سریال نمونه ای از پورت ورودی/خروجی است که به میکروکنترلر اجازه می دهد تا به اجزای خارجی متصل شود. عملکردی مشابه USB یا پورت موازی دارد اما در نحوه تبادل بیت ها متفاوت است.

مبدل آنالوگ به دیجیتال (ADC)

یک ADC (Analog to Digital Converter)مداری است که سیگنال های آنالوگ را به سیگنال دیجیتال تبدیل می کند. این اجازه می دهد تا پردازنده در مرکز میکروکنترلر با دستگاه های آنالوگ خارجی مانند سنسورها ارتباط برقرار کند.

مبدل دیجیتال به آنالوگ (DAC)

یک DAC (Digital to Analog Converter)عملکرد معکوس یک ADC را انجام می دهد و به پردازنده در مرکز میکروکنترلر اجازه می دهد تا سیگنال های خروجی خود را به اجزای آنالوگ خارجی منتقل کند.

کنترل کننده وقفه (Interrupt Controller)

با تنظیم بیت های مربوطه در رجیسترهای کنترل کننده وقفه، یک کنترل کننده وقفه یک خط مشی حاکم قابل برنامه ریزی را ارائه می دهد که به نرم افزار امکان می دهد انتخاب کند کدام وسیله جانبی یا دستگاه می تواند پردازنده را در هر زمان معین قطع کند.

تایمر ها /شمارنده ها (Timer / Counter)

اکثر کنترلرها حداقل یک یا چند تایمر / شمارنده دارند. تایمر نوعی ساعت است که برای اندازه گیری فواصل زمانی استفاده می شود. شمارنده دستگاهی است که تعداد دفعاتی که یک رویداد یا فرآیند خاص در مورد یک سیگنال ساعت رخ داده است را ثبت می کند. آن ها برای عملیات مختلفی مانند تولید پالس، شمارش پالس های خارجی، تعدیل، نوسان و غیره مورد نیاز هستند.

گذرگاه سیستم (System bus)

گذرگاه سیستم سیم اتصالی است که تمام اجزای میکروکنترلر را به یکدیگر متصل می کند.

میکروکنترلرها چگونه کار می کنند؟

یک میکروکنترلر در داخل یک سیستم تعبیه شده است تا یک عملکرد واحد را در یک دستگاه کنترل کند. این کار را با تفسیر داده هایی که از دستگاه های جانبی I/O خود با استفاده از پردازنده مرکزی خود دریافت می کند، انجام می دهد. اطلاعات موقتی که میکروکنترلر دریافت می کند در حافظه داده آن ذخیره می شود، جایی که پردازنده به آن دسترسی پیدا می کند و از دستورالعمل های ذخیره شده در حافظه برنامه خود برای رمزگشایی و اعمال داده های دریافتی استفاده می کند. سپس از تجهیزات جانبی ورودی/خروجی خود برای برقراری ارتباط و اجرای اقدام مناسب استفاده می کند.میکروکنترلرها در مجموعه وسیعی از سیستم ها و دستگاه ها استفاده می شوند. دستگاه ها اغلب از چندین میکروکنترلر استفاده می کنند و با هم در داخل دستگاه کار می کنند تا وظایف مربوطه خود را انجام دهند.به عنوان مثال، یک خودرو ممکن است دارای میکروکنترلرهای زیادی باشد که سیستم‌های مختلف را در داخل خود کنترل می‌کنند، مانند سیستم ترمز ضد قفل، کنترل کشش، تزریق سوخت یا کنترل تعلیق. همه میکروکنترلرها برای اطلاع از اقدامات صحیح با یکدیگر ارتباط برقرار می کنند. برخی ممکن است با یک کامپیوتر مرکزی پیچیده تری در داخل خودرو ارتباط برقرار کنند و برخی دیگر ممکن است فقط با سایر میکروکنترلرها ارتباط برقرار کنند. آنها داده ها را با استفاده از تجهیزات جانبی ورودی/خروجی خود ارسال و دریافت می کنند و این داده ها را برای انجام وظایف تعیین شده خود پردازش می کنند.

انواع رایج میکروکنترلر

میکروکنترلرهای رایج به انواع زیر تقسیم می شوند:

میکروکنترلر ۸۰۵۱

میکروکنترلر ۸۰۵۱ یک میکروکنترلر هشت بیتی است که در سال ۱۹۸۱ توسط شرکت اینتل راه اندازی شد. از این نوغ میکروکنترلرها در  زمینه های مختلفی ماندد مدیریت انرژی، صفحه نمایش لمسی، خودرو ها و دستگاه های پزشکی استفاده می شود. زبان برنامه نویسی مورد استفاده در این نوع زبان اسمبلی و C است.

میکروکنترلر PIC

PIC مخفف Peripheral Interface Controller است. این نوع از میکروکنترلرها یک رابط جانبی هستند که توسط تکنولوژی میکروالکترونیک ارائه شده است. از میکروکنترلرهای PIC در گوشی‌های هوشمند، لوازم جانبی صوتی و  بازی‌های ویدیویی، رباتیک، اسباب بازی ها و دستگاه ‌های پزشکی پیشرفته استفاده می شود. زبان برنامه نویسی مورد استفاده در این نوع میکروکنترلر زبان های سطح بالا مانند C، Basic و Pascal است.

میکروکنترلر AVR

میکروکنترلر AVR که مخفف (Advanced Virtual RISC)نیز شناخته می شود، یک میکروکنترلر تراشه انفرادی ۸ بیتی RISC معماری هاروارد است. در سال ۱۹۶۶ توسط Atmel اختراع شد. معماری هاروارد نشان می دهد که برنامه و داده ها در فضاهای مختلف جمع شده و به طور همزمان مورد استفاده قرار می گیرند. یکی از مهم ترین خانواده های میکروکنترلرها می باشد که از حافظه فلش روی تراشه برای ذخیره برنامه استفاده می کند. از این نوع میکروکنترلها در وسایل برقی که به صورت اتوماتیک کنترل می شوند مانند ماشین لباسشویی، مایکروفر، پرینتر، سیستم کنترل موتور در خودرو ها، تجهیزات پزشکی، اینترنت اشیا و … استفاده می شود. زبان برنامه نویسی مورد استفاده در این نوع میکروکنترلر استفاده از دستورهای برنامه نویسی اسمبلی  و همچنین زبانهای سطح بالا مانند C، JAVA  و Basic است.

میکروکنترلر ARM

ARM که مخفف Advanced Risk Module است و دارای معماری RISC 32 بیتی بوده که در سال ۱۹۸۰ توسط Acorn Computers Ltd توسعه داده شد. کاربرد این نوع میکروکنترلها در فلش مموری، دوربین فیلم برداری، کنترل تلویزیون و مودم ها  و سیستم های قابل حمل مانند تلفن های هوشمند،تبلت ها، لپ تاپ ها و ساعت های هوشمند است. میکروکنترلر ARM از زبان های سطح بالا مانند C پشتیبانی می کنند.

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

– میکروپروسسور فقط از یک واحد پردازش مرکزی تشکیل شده است، در حالی که میکرو کنترلر شامل یک CPU، حافظه، I/O است که همه در یک تراشه یکپارچه شده اند.

– میکروپروسسور در رایانه های شخصی استفاده می شود در حالی که میکرو کنترلر در یک سیستم تعبیه شده استفاده می شود.

– میکروپروسسورها بر اساس مدل فون نیومن ساخته شده اند. میکروکنترلرها بر اساس معماری هاروارد هستند.- میکروپروسسور پیچیده و گران است، با تعداد زیادی دستورالعمل برای پردازش، اما میکروکنترلر ارزان و ساده است و دستورالعمل های کمتری برای پردازش دارد.- سرعت پردازش میکروکنترلرها حدود ۸ مگاهرتز تا ۵۰ مگاهرتز است، اما سرعت پردازش میکروپروسسورها بالاتر از ۱ گیگاهرتز است، بنابراین عملکرد و کارکرد آنها بسیار سریع‌تر از میکروکنترلرها است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

قبلا حساب کاربری ایجاد کرده اید؟
گذرواژه خود را فراموش کرده اید؟
Loading...