میکروکنترلر یک مدار مجتمع است که برای کنترل و تسلط بر کار خاص یا گوشهای از کار درون سیستمی دیگر طراحی شدهاست
میکروکنترلرها در همه جا اعم از هنگام رانندگی اتومبیلتان، هنگام خواندن همین مطلب در کامپیوتر (یا گوشی هوشمند و تبلتان) و هنگامی که با دستگاه قهوهساز در حال درست کردن قهوه هستید، یافت میشوند. با رشد سریع اینترنت اشیا و جمعآوری پیوسته دیتا، میکروکنترلرها نقش عظیمی در دنیای امروز بازی میکنند.
یک میکروکنترلر یک مدار مجتمع است که برای کنترل و تسلط بر کار خاص یا گوشهای از کار درون سیستمی دیگر طراحی شدهاست. همچنین مغز سیستم نیز نامیده میشود زیرا با توجه به وظیفه محول شده سیستم، باید دستورات لازم را صادر کند. میکروکنترلرها در بسیاری از وسایل الکترونیکی مثل لپتاپها، تلفنهای همراه، رباتها و غیره یافت میشوند.
اجزای اصلی میکروکنترلر
در شکل زیر اجزای اصلی یک میکروکنترلر را مشاهده میکنید، در ادامه به معرفی کوتاه هر بخش میپردازیم.
معمولاً میکروکنترلرها دستگاهها یا زیرسیستمهای مختلف را کنترل میکنند. با ادغام ریزپردازنده (میکروپروسسور)، مموری و ورودی/خروجی، میکروکنترلرها هزینهها را کاهش داده و توسعه را آسانتر می کنند.
CPU چیست؟
سی پی یو واحد پردازش مرکزی (Central Processing Unit) میکروپروسسور است که دیتای ورودی را تفسیر و پردازش کرده و دستورات را اجرا میکند. CPU از دو بخش کلی تشکیل میشود:
1. واحد منطقی – محاسباتی (ALU):
تمامی عملیات منطقی و محاسباتی را انجام میدهد.
2. واحد کنترل (CU):
اجرای دستورات پردازشگر را بر عهده دارد.
RAM چیست؟
RAM جزئی از میکروکنترلر است که برای ذخیره کردن موقت اطلاعات استفاده میشود و در زمان اجرای برنامه توسط میکروکنترلر، دسترسی آسانی به آن وجود دارد. زمانی که میکروکنترلر خاموش میشود، محتویات داخل حافظه RAM هم همواره پاک میشوند.
حافظه فلش یا فلش مموری چیست؟
فلش مموری جزئی است که دیتا را طولانیتر از RAM ذخیره میکند و زمانی که میکروکنترلر خاموش شود باز هم دیتا را در خود نگه میدارد. وقتی که برنامه از کامپیوتر در میکروکنترلر آپلود میشود، در این حافظه ذخیره میشود.
EEPROM چیست؟
حافظهی ای ای پرام EEPROM ( مخفف : Electrically Erasable Programmable Read-Only Memory) شبیه فلش مموری است. تنها تفاوتش این است که EEPROM میتواند در هر لحظه کل بیتهای حافظه را پاک کند اما فلش مموری فقط میتواند بخشی (بلوکی) از حافظه را در زمان مشخص پاک کند و مانند فلش مموری با رفتن برق اطلاعات آن پاک نخواهد شد.
رابط باس (Bus) سریال چیست؟
یک واسط ارتباطی سری است که دیتا را بیت به بیت ارسال میکند. از آن برای اتصال مدارهای مجتمع (آی سی) در بردهای مدارچاپی (PCB) استفاده میشود. در آیسیها، رابط باس سریال، برای انتقال دیتا استفاده میشود تا تعداد پینها کمتر شده و از نظر هزینه مقرونبهصرفه باشد. نمونههایی از گذرگاههای سریال در ایسیها SPI یا I2C هستند.
پورت ورودی خروجی چیست؟
میکروکنترلر از پورتهای ورودی و خروجی برای برقراری ارتباط با دنیای اطرافش استفاده میکند. پورتهای ورودی به کمک سنسورها دیتای ورودی را از محیط پیرامون دریافت میکنند. دیتای ورودی توسط CPU پردازش و مدیریت میشود و این دیتای پردازششده به سمت پورتهای خروجی فرستاده میشود. پورتهای خروجی به میکروکنترلر اجازه میدهند محرکهایی همچون LEDها، موتورها و غیره را کنترل کنند. (شکل زیر را نگاه کنید)
مولد کلاک یا سیگنال ژنراتور چیست؟
مولد یا ژنراتور سیگنال یکی از بخشهای داخلی میکروکنترلر است که کارکرد همزمان میکروکنترلر با دیگر اجزا را تضمین میکند.
میکروکنترلرها در بخش وسیعی از سیستمها و وسایل استفاده میشوند. آنها معمولا از چند میکروکنترلر که باهم هماهنگ هستند بهره میگیرند تا کارهای محوله را اجرایی کنند.
مثلا، یک اتومبیل ممکن است میکروکنترلرهای متنوعی برای کنترل تکتک سیستمها مثل سیستم ترمز ضدقفل، کنترل نیروی رانش، میزان تزریق سوخت و کنترل سیستم تعلیق داشته باشد. تمامی میکروکنترلرها با یکدیگر ارتباط دارند تا دستورات و وظایف درست را به اطلاع هم برسانند. برخی از آنها ممکن است در داخل اتومبیل با یک کامپیوتر مرکزی پیچیده در ارتباط باشند و برخی دیگر ممکن است فقط با دیگر میکروکنترلرها در ارتباط باشند. آنها از طریق پورتهای ورودی-خروجی دیتا دریافت کرده، آنها را برای انجام کارهای محولهشان پردازش و ارسال میکنند.
پردازشگر (پروسسور) یک میکروکنترلر با توجه به کارکرد میتواند متفاوت باشد. انتخابهای ما از پردازشگرهای سادهی 4بیت، 8بیت یا 16بیتی شروع شده و تا پردازشگرهای پیچیده همچون 32 بیت و 64 بیتی را شامل میشوند. میکروکنترلرها میتوانند از حافظههای فرار مانند حافظه دسترسی تصادفی (RAM) و حافظههای غیرفرار همچون فلش مموری، حافظه قابل برنامهریزی پاکشدنی فقط خواندنی (EPROM) و حافظه قابل برنامهریزی پاکشدنی فقط خواندنی الکتریکی (EEPROM) استفاده کنند.
میکروکنترلر چطور کار میکند؟
میکروکنترلر برای کنترل و نظارت یک وظیفهی خاص درون یک وسیله قرار میگیرد. این کار را با تفسیر یا پردازش دیتای ورودی رسیده از سنسورها از پورت ورودی، به کمک پردازشگر مرکزی انجام میدهد. دیتایی که میکروکنترلر دریافت میکند، در حافظه دیتا ذخیره میشود که به راحتی توسط پردازشگر مرکزی قابل دسترسی است. CPU دیتا را پردازش کرده و به پورت خروجی میفرستد. این دیتای پردازششده برای کنترل محرکهایی چون LED، موتور و غیره استفاده میشود.
انواع میکروکنترلر
میکروکنترلرها بر اساس پهنای گذرگاه (باس)، دستورالعمل ها و ساختار حافظه شان دسته بندی میشوند. در شکل زیر 3 دسته اصلی میکروکنترلرها شامل 8051، AVR و PIC را مشاهده میکنید :
مزایا و معایب میکروکنترلرها
مزایا
معایب
- مقرون به صرفهاند.
- کار با آنها راحت است.
- برای انجام عملیات به زمان کمتری نیاز دارند.
- تمام کارها را مفید و موثر انجام میدهند.
- اندازه کوچکی دارند و انعطافپذیر هستند.
- ساختار پیچیدهای دارند.
- تعداد دستورات ورودی برای اجرا شدن محدود هستند.
- اگر برنامهریزی شوند، فرصت برنامهریزی مجدد وجود ندارد.
- نمیتوانند با قطعات توان بالا در تماس مستقیم باشند.