میکروکنترلر چیست و انواع آن کدام است؟ میکروکنترلرها همه جا هستند، چه در حال رانندگی با ماشین خود، چه در رایانه در حال خواندن این مطلب (یا گوشی هوشمند\تبلت) یا درست کردن یک فنجان قهوه با دستگاه قهوه ساز. بهتر است بگوییم که، با افزایش سریع اینترنت اشیا و جمع آوری داده ها، میکروکنترلرها بخش بزرگی از دنیای مدرن هستند.
میکروکنترلر نقش اساسی – حتی می توان گفت غالب – را در انقلاب تکنولوژیکی که زندگی مدرن را شکل داده، ایفا کرده است. میکروکنترلرها دستگاه های کوچک، همه کاره و ارزان قیمتی هستند که نه تنها توسط مهندسان برق با تجربه بلکه توسط علاقمندان، دانشجویان و متخصصان رشته های دیگر می توانند با موفقیت پیاده سازی و برنامه ریزی شوند.
برگزاری دوره آموزش طراحی برد الکترونیکی و آموزش تعمیرات برد الکترونیکی در مجتمع فنی پایتخت زیر نظر اساتید باتجربه و فنی بصورت کاملا عملی همراه با ارائه مدرک فنی پس از پایان دوره.
لیست کاربردهای ممکن میکروکنترلرها به قدری طولانی است که به عنوان مثال عبارتند از: پوشیدنیهای ارزانقیمت، تجهیزات پزشکی، لوازم الکترونیکی مصرفی پیشرفته، دستگاههای صنعتی مقاوم، سیستمهای نظامی و هوافضای پیشرفته – این اجزای سازگار، مقرونبهصرفه و کاربرپسند افزودهای خوشآمد برای تقریباً هر محصول الکترونیکی هستند.
فهرست مطالب :
میکروکنترلر (که گاهی اوقات MCU یا Microcontroller Unit نامیده می شود) یک مدار مجتمع (IC) است که معمولاً برای یک برنامه خاص استفاده می شود و برای اجرای وظایف خاصی طراحی شده است. محصولات و دستگاههایی که باید در موقعیتهای خاص بهطور خودکار کنترل شوند، مانند وسایل برقی، ابزارهای برقی، سیستمهای کنترل موتور خودرو و رایانهها نمونههای خوبی هستند، اما میکروکنترلرها بسیار فراتر از این برنامهها هستند.
اساساً یک میکروکنترلر ورودی را جمع آوری می کند، این اطلاعات را پردازش می کند و بر اساس اطلاعات جمع آوری شده اقدام خاصی را خروجی می دهد. میکروکنترلرها معمولاً در سرعتهای پایینتر، در حدود 1 مگاهرتز تا 200 مگاهرتز کار میکنند و باید طوری طراحی شوند که انرژی کمتری مصرف کنند، زیرا در دستگاههای دیگری تعبیه شدهاند که میتوانند مصرف برق بیشتری در مناطق دیگر داشته باشند.
“ Microcontroller” نامی است که به خوبی انتخاب شده است زیرا بر ویژگی های تعریف این دسته از محصولات تأکید دارد. پیشوند micro” ” دلالت بر کوچک بودن و اصطلاح “کنترل کننده” در اینجا به معنای افزایش توانایی برای انجام عملکردهای کنترلی است. همانطور که در بالا گفته شد، این عملکرد نتیجه ترکیب یک پردازنده دیجیتال و حافظه دیجیتال با سخت افزار اضافی است که به طور خاص برای کمک به میکروکنترلر در تعامل با سایر اجزا طراحی شده است.
میکروکنترلرها را می توان برای تکمیل هر کاری با رابط سنسورها، محرک ها، موتورها و لوازم خانگی و غیره استفاده کرد. آنها در برنامه های کاربردی مبتنی بر سیستم های تعبیه شده برای کنترل خودکار یک کار خاص استفاده می شوند.
تلفن های هوشمند و دستگاه های تلفن همراه دستی
گاهی اوقات افراد هنگام اشاره به یک میکروکنترلر از اصطلاح “ریز پردازنده” یا “” MPU استفاده می کنند، اما این دو دستگاه لزوما یکسان نیستند. میکروپروسسور ها و میکروکنترلرها هر دو به عنوان سیستم های کامپیوتری کوچک و بسیار یکپارچه عمل می کنند، اما ممکن است اهداف متفاوتی داشته باشند.
یک میکروکنترلر را می توان به عنوان یک کامپیوتر کوچک دید، و این به دلیل اجزای ضروری داخل آن است. واحد پردازش مرکزی (CPU)، حافظه با دسترسی تصادفی (RAM)، حافظه فلش، رابط گذرگاه سریال، درگاههای ورودی/خروجی (I/O)، و در بسیاری از موارد، حافظه فقط خواندنی قابل برنامه ریزی با قابلیت پاک کردن الکتریکی (EEPROM). شکل زیر نمودار بزرگی از قطعات اصلی و همچنین سایر قسمت های میکروکنترلر را نشان می دهد. بیایید در هر یک از این اجزا غوطه ور شویم و ببینیم که چگونه در داخل میکروکنترلر کار می کنند.
به طور کلی، استفاده از واژههای «میکروپروسسور» و «میکروکنترلر» به جای یکدیگر، زمانی که به طور غیررسمی صحبت میکنیم یا زمانی که میخواهیم از تکرار یک کلمه اجتناب کنیم، مشکل بزرگی نیست. با این حال، در زمینه یک بحث فنی، حفظ تمایز بین این دو مفهوم مهم است.
جدول زیر تفاوت های بین ریزپردازنده و میکروکنترلر را نشان می دهد.
میکروکنترلر | میکروپروسسور |
میکروکنترلرها برای اجرای یک وظیفه در یک برنامه استفاده می شوند. | ریزپردازنده ها برای کاربردهای بزرگ استفاده می شوند. |
هزینه طراحی و سخت افزار آن کم است. | هزینه طراحی و سخت افزار آن بالاست. |
تعویض آن آسان است. | تعویض آن چنان آسان نیست. |
این با تکنولوژی CMOS ساخته شده است که برای کارکردن به انرژی کمتری نیاز دارد. | مصرف برق آن زیاد است زیرا باید کل سیستم را کنترل کند. |
از پورت های CPU، RAM، ROM، I/O تشکیل شده است. | این شامل درگاه های RAM، ROM، I/O نیست. از پین های خود برای اتصال به دستگاه های جانبی استفاده می کند. |
یک میکروکنترلر از یک واحد پردازش مرکزی (CPU)، حافظه غیرفرار، حافظه فرار، تجهیزات جانبی و مدار پشتیبانی تشکیل شده است.
CPU عملیات حسابی را انجام می دهد، جریان داده ها را مدیریت می کند و سیگنال های کنترلی را مطابق با توالی دستورالعمل های ایجاد شده توسط برنامه نویس تولید می کند. مدار بسیار پیچیده مورد نیاز برای عملکرد CPU برای طراح قابل مشاهده نیست. در واقع، به لطف محیط های توسعه یکپارچه و زبان های سطح بالا مانند C، نوشتن کد برای میکروکنترلرها اغلب یک کار نسبتاً ساده است.
حافظه غیرفرار برای ذخیره برنامه میکروکنترلر استفاده میشود، به عنوان مثال، فهرست (اغلب بسیار طولانی) دستورالعملهای زبان ماشین که به CPU میگوید دقیقاً چه کاری انجام دهد. شما معمولاً کلمهFlash که به شکل خاصی از ذخیره سازی داده های غیرفرار اشاره دارد را به جای “حافظه غیرفرار” خواهید دید.
حافظه فرار(RAM) برای ذخیره سازی موقت داده ها استفاده می شود. این داده ها با قطع برق میکروکنترلر از بین می روند. ثباتهای داخلی نیز ذخیرهسازی موقت دادهها را فراهم میکنند، اما ما آن ها را به عنوان یک بلوک عملکردی جداگانه در نظر نمیگیریم زیرا در CPU یکپارچه شدهاند.
ما از کلمه “لوازم جانبی” برای توصیف ماژول های سخت افزاری استفاده می کنیم که به میکروکنترلر کمک می کند تا با سیستم خارجی تعامل داشته باشد. موارد زیر دسته بندی های مختلف لوازم جانبی را مشخص کرده و نمونه هایی را ارائه می دهند.
مبدل های داده: مبدل آنالوگ به دیجیتال، مبدل دیجیتال به آنالوگ، ژنراتور ولتاژ مرجع
تولید کلاک: نوسان ساز داخلی، مدار درایو کریستالی، حلقه قفل فاز
زمان بندی: تایمر همه منظوره، ساعت بیدرنگ، شمارنده رویداد خارجی، پالس با مدولاسیون
پردازش سیگنال آنالوگ: تقویت کننده عملیاتی، مقایسه کننده آنالوگ
ورودی/خروجی: پورت های I/O همان چیزی است که میکروکنترلر برای اتصال به برنامه های کاربردی دنیای واقعی استفاده می کند. ورودیها تغییراتی را در دنیای واقعی دریافت میکنند، از سنجش دما، تا حسگر حرکت، تا فشار دادن دکمهها و بسیاری موارد دیگر. سپس ورودی به CPU می رود و تصمیم می گیرد که با آن اطلاعات چه کاری انجام دهد. هنگامی که زمان انجام یک فرمان خاص بر اساس مقدار مشخصی از ورودی فرا می رسد، سیگنالی به درگاه های خروجی ارسال می کند، جایی که می تواند از خاموش شدن یک چراغ LED ساده گرفته تا راه اندازی یک موتور برای یک قسمت خاص و بسیاری موارد دیگر را شامل شود. شکل زیر برخی از اجزای ورودی و خروجی رایج را نشان می دهد.
ارتباط سریال: UART، SPI، I2C، USB
میکروکنترلرها انواع بلوک های کاربردی را در خود جای داده اند که نمی توان آنها را به عنوان تجهیزات جانبی طبقه بندی کرد زیرا هدف اصلی آنها کنترل، نظارت یا برقراری ارتباط با اجزای خارجی نیست. با این حال، آنها بسیار مهم هستند – از عملکرد داخلی دستگاه پشتیبانی می کنند، پیاده سازی را ساده می کنند و روند توسعه را بهبود می بخشند.
میکروکنترلرها بر اساس حافظه، معماری، بیت ها و مجموعه دستورالعمل ها به دسته های مختلفی تقسیم می شوند. در زیر لیستی از انواع آنها آمده است.
میکروکنترلر 8 بیتی – این نوع میکروکنترلر برای اجرای عملیات حسابی و منطقی مانند جمع، تفریق، تقسیم ضرب و غیره استفاده می شود. به عنوان مثال، 8031 و 8051 اینتل میکروکنترلرهای 8 بیتی هستند.
میکروکنترلر 16 بیتی – این نوع میکروکنترلر برای انجام عملیات حسابی و منطقی در مواردی که به دقت و عملکرد بالاتری نیاز است استفاده می شود. به عنوان مثال، Intel 8096 یک میکروکنترلر 16 بیتی است.
میکروکنترلر 32 بیتی – این نوع میکروکنترلر به طور کلی در وسایل کنترل خودکار مانند ماشین های عملیاتی اتوماتیک، لوازم پزشکی و غیره استفاده می شود.
بر اساس پیکربندی حافظه، میکروکنترلر به دو دسته تقسیم می شود.
میکروکنترلر حافظه خارجی – این نوع میکروکنترلرها به گونه ای طراحی شده اند که حافظه برنامه ای روی تراشه ندارند. از این رو به عنوان میکروکنترلر حافظه خارجی نامگذاری شده است. به عنوان مثال: میکروکنترلر اینتل 8031.
میکروکنترلر حافظه جاسازی شده – این نوع میکروکنترلر به گونه ای طراحی شده است که میکروکنترلر دارای تمامی برنامه ها و حافظه داده ها، شمارنده ها و تایمرها، وقفه ها، پورت های I/O بر روی تراشه تعبیه شده است. به عنوان مثال: میکروکنترلر اینتل 8051.
بر اساس پیکربندی مجموعه دستورالعمل، میکروکنترلر بیشتر به دو دسته تقسیم می شود.
CISC – CISC مخفف مجموعه دستورات پیچیده کامپیوتر است. این به کاربر اجازه می دهد تا یک دستورالعمل را به عنوان جایگزینی برای بسیاری از دستورالعمل های ساده درج کند.
RISC – RISC مخفف عبارت Reduced Instruction Set Computers است. با کوتاه کردن چرخه ساعت (کلاک) در هر دستورالعمل، زمان عملیاتی را کاهش می دهد.
PIC مخفف کنترلر رابط جانبی است و بر اساس معماری هاروارد است. این عمدتا برای توسعه سیستم های الکترونیکی تعبیه شده در وسایل نقلیه، رباتیک، دستگاه های پزشکی، ماشین های فروش خودکار، ماشین های اداری و دستگاه های مختلف دیگر استفاده می شود. این نوع میکروکنترلر یک خانواده از میکروکنترلرهای ساخته شده توسط فناوری Microchip است. می توان آن را به راحتی از طریق نرم افزار با استفاده از زبان Assembly، C یا Basic C برای انجام یک کار خاص برنامه ریزی کرد.
اکثر PIC ها دارای نوسان ساز داخلی معمولاً 8 مگاهرتز یا 16 مگاهرتز هستند. آنها در 8 بیت، 16 بیت و آخرین مدل های آنها در یک گذرگاه داده گسترده 32 بیتی موجود هستند. مجموعه دستورالعمل های میکروکنترلرهای PIC از 35 دستورالعمل در MCU های رده پایین تا 80 دستورالعمل در MCU های سطح بالا متفاوت است. عرض مجموعه دستورالعمل برنامه می تواند 12، 14، 16 و 24 بیت باشد. بسته به خانواده و مدل میکروکنترلر PIC متفاوت است. آنها در هر دو بسته بندی SMD دستگاه نصب سطحی بسته داخلی دوگانه با حداقل 6 تا حداکثر 144 پین موجود هستند. به دلیل هزینه کم، مصرف برق کم و سرعت بالا، تقریباً در هر دستگاه الکترونیکی استفاده می شود.
8051 رایج ترین و ارزان ترین میکروکنترلر ساخته شده توسط شرکت اینتل در سال 1981 است. این میکروکنترلر بر اساس معماری CISC هاروارد برای داشتن برنامه ها و حافظه داده جداگانه ساخته شده است. بارزترین ویژگی های میکروکنترلرهای 8051 عبارتند از:
میکروکنترلر 8051 معمولاً در پروژه های الکترونیکی عمدتاً برای اهداف یادگیری استفاده می شود. برای انجام وظایف خاص مانند هشدارهای آتش، سنجش دما، کنترل موتور، خودروها، برنامه های کاربردی حسگر نور و برنامه های کنترل شده RTC استفاده می شود.
AVR مخفف Alf and Vegard’s RISC Processor است. این یک خانواده میکروکنترلر است که توسط Atmel از سال 1996 و میکروچیپ از سال 2016 توسعه یافته است. در این مقاله، ما میکروکنترلر را به عنوان دستگاهی تعریف کردیم که از یک هسته پردازشگر کوچک و کارآمد همراه با حافظه برنامه، حافظه داده، تجهیزات جانبی و اشکال مختلف مدار پشتیبانی و رفع اشکال تشکیل شده است.
این بر اساس معماری اصلاح شده هاروارد است که فضای ذخیره سازی جداگانه ای را برای برنامه ها و داده ها ارائه می دهد. AVR در مقایسه با میکروکنترلر PIC یا 8051 سرعت بسیار بالایی دارد. میکروکنترلرهای AVR به طور کلی در خانواده های زیر موجود هستند:
رایج ترین میکروکنترلرهای AVR متعلق به خانواده MegaAVR هستند که با نام های ATmega16، ATmega32 و ATmega64 شناخته می شوند. تفاوت بین این میکروکنترلرها فضای ذخیره سازی فلش 16 کیلوبایت، 32 کیلوبایت و 64 کیلوبایت است که با آخرین شماره در نام آنها مشخص می شود.
ویژگی مشترک میکروکنترلرهای AVR ATmega32 عبارتند از:
ARM مخفف Advanced RISC Machine است و خانواده ای از هسته ریزپردازنده است که در معماری مبتنی بر هاروارد و فون نویمان موجود است. معماری هاروارد دارای باس های جداگانه برای دسترسی به حافظه برنامه(ROM) و داده (RAM) است در حالی که معماری فون نویمان از یک حافظه واحد برای هر دو استفاده می کند و در نتیجه سرعت را به خطر می اندازد. اساسا هسته های ARM ریزپردازنده هایی هستند که برای استفاده در تراشه هایی مانند میکروکنترلرها طراحی شده اند.
پردازنده ARM بر اساس معماری RISC است که اجرای سریع دستورالعمل را ارائه می دهد. آنها یک انتخاب محبوب برای استفاده گسترده در دستگاه های الکترونیکی دستی مصرف کننده مانند تلفن های همراه، تبلت ها، پخش کننده های چند رسانه ای و سایر دستگاه های پوشیدنی هستند. انواع مختلفی از پردازنده های ARM وجود دارد که به طور خاص برای اهداف مختلف طراحی شده اند.
:Cortex-A این پردازنده ها برای سیستم عامل های پیشرفته ساخته شده اند و بهترین عملکرد را ارائه می دهند.
:Cortex-R این پردازنده ها زمان پاسخگویی سریعی دارند بنابراین برای برنامه های بلادرنگ استفاده می شوند.
:Cortex-Mپردازنده Cortex-M به طور خاص برای میکروکنترلرها ساخته شده است:
RENESAS مخفف Renaissance Semiconductor for Advanced Solutions است و میکروپروسسورها و میکروکنترلرهایی را ارائه می دهد که دارای بهترین ویژگی های عملکردی هستند، علاوه بر مصرف انرژی بسیار کم و بسته بندی فشرده آن. با توجه به در دسترس بودن بزرگترین محدوده ظرفیت حافظه و تعداد پین، آنها در برنامه های مختلف تعبیه شده کنترل پیشرفته خودرو استفاده می شوند. میکروکنترلرهای خانواده RL78 و RX در جایی محبوب هستند که اولی به دلیل ویژگی مصرف انرژی کم استفاده می شود در حالی که دومی به دلیل عملکرد بالا مشهور است. برخی از برجسته ترین ویژگی های میکروکنترلرهای خانواده RENESAS RL78 و RX عبارتند از:
امیدواریم این موضوع به شما ایده بهتری بدهد که میکروکنترلر چیست، و همچنین بینشی در مورد مهمترین بخش های یک میکروکنترلررا به شما ارائه بدهد.
مجتمع فنی پایتخت برگزار کننده دوره های فنی و مهارتی مانند: آموزش تعمیرات موبایل ، آموزش تعمیرات لوازم خانگی ، آموزش PLC ، آموزش برنامه نویسی AVR و … می باشد. جهت ثبت نام در هریک از دوره و یا دریافت مشاوره از کارشناسان آموزشگاه با شماره های : 02166489312 – 02166489312 تماس بگیرید.