به دنیای میکروکنترلرها خوش آمدید، یک دستگاه کوچک (و در عین حال بسیار قدرتمند) که چهره سیستم های جاسازی شده یا امبدد را تغییر داده. در این آموزش بنا داریم تا با تاریخچه ظهور و مبانی میکروکنترلرها، ساختار میکروکنترلرها و همچنین تفاوت های اندک بین میکروپروسسور و میکروکنترلر آشنا خواهید شد.
قبل از پرداختن به جزئیات مبانی میکروکنترلرها، باید بدانید که میکروکنترلر چیست. میکروکنترلرها شباهت زیادی به میکروپروسسورها دارند، و تفاوت آنها با میکروپروسسور اجزای اضافی هستند که در داخل خود دارند.
بیشتر بخوانید: انواع میکروکنترلر
میکروکنترلر چیست؟
میکروکنترلر یک مدار مجتمع VLSI (ادغام در مقیاس بسیار بزرگ) است که دارای واحد محاسبات الکترونیکی و واحد منطق که مجموعاً به عنوان CPU شناخته میشود و همچنین واحد حافظه (حافظه برنامه و حافظه داده)، پورتهای ورودی/خروجی و چند جزء دیگر است که روی یک تراشه به صورت یکپارچه در آمده است.
گاهی اوقات، میکروکنترلر به عنوان یک رایانه روی یک تراشه یا یک رایانه تک تراشهای نیز نامیده میشود. از آنجایی که میکروکنترلر و مدارهای پشتیبانی کننده آن اغلب در دستگاهی که آن را کنترل می کند تعبیه شده است، میکروکنترلر به عنوان کنترلر امبدد نیز نامیده میشود.
میکروکنترلرها در همه جا حضور دارند. اگر یک دستگاه عملیات اندازه گیری، ذخیره، محاسبه، کنترل یا نمایش اطلاعات را بر عهده داشته باشد، به طور حتمی دارای یک میکروکنترلر است. اجازه دهید برخی از جاهایی که در آن میکروکنترلرها استفاده می شود را ببینیم.
بزرگترین کاربر میکروکنترلرها احتمالاً صنعت خودرو است. تقریباً هر خودرویی که از کارخانه خارج میشود دارای حداقل یک میکروکنترلر برای کنترل موتور است. همچنین در خودروهای امروزی شما میتوانید میکروکنترلرهای بیشتری را برای کنترل سیستم های اضافی پیدا کنید. لوازم الکترونیکی جای دیگری است که از میکروکنترلر در آن استفاده میشود. میکروکنترلرها بخشی از دوربینهای دیجیتال، دوربینهای فیلمبرداری، دستگاه های پخش سی دی و دی وی دی، ماشین لباسشویی، اجاق گاز و غیره هستند.
میکروکنترلرها همچنین در تجهیزات تست و اندازه گیری مانند مولتی متر، اسیلوسکوپ، فانکشن ژنراتور و غیره استفاده می شوند. همچنین می توانید میکروکنترلرهایی را در نزدیکی رایانه رومیزی خود مانند چاپگر، روتر، مودم، صفحه کلید و غیره پیدا کنید.
تعاریف فوق از میکروکنترلر ممکن است برای مبتدیان در الکترونیک یا سیستم های امبدد، پیچیده یا گیج کننده به نظر برسد، اما با حرکت رو به جلو این مفهوم روشن می شود.
ابتدا، ظهور میکروکنترلرها را خواهیم دید، جایی که میتوانید نحوه توسعه میکروکنترلر را بیابید.
بیشتر بخوانید: میکروکنترلر AVR چیست
ظهور میکروکنترلرها
ریزپردازنده، اختراعی که طوفانی در حوزه محاسبات به پا کرده است. ریزپردازنده یک مدار مجتمع (IC) است که شامل واحد پردازش مرکزی (CPU) است. اولین ریزپردازنده های شناخته شده مدل 4004 اینتل و TMS1000 تگزاس اینسترومنتز هستند.
از آن زمان، توان محاسباتی، پیچیدگی و مصرف انرژی به منظور ارائه عملکرد نهایی بهبود چشمگیری پیدا کرده است.
برای اینکه یک میکروکنترلر کار کند، به یک سری اجزا نیاز دارد، سخت افزارهایی مانند حافظه، آیسیهای جانبی و غیره.
در ابتدا، توانایی میکروکنترلرها برای کنترل تجهیزات الکترونیکی مانند دستگاه فتوکپی به کار گرفته شد.
در این موارد نیاز به قدرت محاسباتی بالا نیاز نبود، بلکه تاکید بر مکانیزم کنترلی با سخت افزار کوچکتر و افزایش قابلیت اطمینان مد نظر بود. این نیاز راه را برای ادغام سخت افزارهای حداقلی مورد نیاز برای عملکرد کامل یک پردازنده روی یک تراشه منفرد یعنی همان تراشه پردازنده، هموار کرد.
این نیاز باعث ظهور میکروکنترلرها شد، یک مدار مجتمع به شکل یک آیسی که شامل تمام عملکردها و سخت افزارهای مورد نیاز برای ایجاد یک سیستم کامپیوتری کامل، در این مرحله قدرت محاسباتی دستگاه نسبت به ادغام تمامی اجزا از جمله حافظه اهمیت کمتری داشت.
اجزای میکروکنترلر چیست؟
اصولا یک میکروکنترلر از اجزای زیر تشکیل شده است.
- واحد پردازش مرکزی (CPU)
- حافظه برنامه (ROM - حافظه فقط خواندنی)
- حافظه داده (RAM - حافظه دسترسی تصادفی)
- تایمر و شمارنده
- پورت های ورودی/خروجی (I/O)
- رابط ارتباطی سریال
- مدار کلاک (مدار نوسانگر)
مکانیسم وقفه
همچنین اکثر میکروکنترلرهای مدرن ممکن است دارای تجهیزات جانبی بیشتری مانند رابط SPI ، رابط I2C ، واحد ADC (مبدل آنالوگ به دیجیتال)، واحد DAC (مبدل دیجیتال به آنالوگ)، رابط CAN، رابط USB و بسیاری امکانات دیگر باشند.
CPU (واحد پردازش مرکزی) در یک میکروکنترلر عملکردهای محاسباتی، منطقی، ریاضی و داده محور را انجام می دهد، مشابه CPU در ریزپردازنده. تفاوت بین ریزپردازنده و میکروکنترلر در این است که یک میکروپروسسور برای کار کردن به عنوان یک کامپیوتر باید با حافظه خارجی و سایر رابط های ورودی/خروجی ارتباط داشته باشد، در حالی که یک میکروکنترلر تمام تجهیزات جانبی مورد نیاز روی همان تراشه وجود دارد.
ادغام امکاناتی مانند ADC، DAC و غیره بر روی میکروکنترلر، کارآمدتر و ارزان تر از استفاده از یک تراشه ADC جداگانه است.
توسعه یک سیستم کنترلی کامپیوتری شامل طراحی سخت افزار و همچنین نوشتن یک برنامه نرم افزاری کارآمد است.
از آنجایی که یک میکروکنترلر دارای تمام سخت افزارهای لازم برای ساخت یک سیستم کنترلی کامپیوتری بر روی یک تراشه است، میکروکنترلر به شدت تلاش و زمان صرف شده برای طراحی سخت افزار و سیم کشی را کاهش می دهد.
بیشتر بخوانید: میکروکنترلر ARM چیست
ساختار اصلی یک میکروکنترلر
شاید ساختار اصلی یک میکروکنترلر را بارها دیده باشید. اگر قبلاً ساختار میکروکنترلر و اجزای اصلی یک میکروکنترلر را دیدهاید، این را به عنوان یک تجدید نظر در نظر بگیرید. اگر آن را ندیده اید، پس بسیار مهم است که در مورد ساختار اصلی یک میکروکنترلر ایده بگیرید.
تصویر زیر ساختار پایه یک میکروکنترلر را نشان می دهد.
از تصویر بالا می توانید متوجه شوید که سه جزء مهم (یا اصلی) یک میکروکنترلر عبارتند از:
- واحد پردازش مرکزی
- حافظه
- پورت های ورودی/خروجی
این بدان معنا نیست که سایر اجزا از اهمیت کمتری برخوردار هستند. اما این ها را می توان به عنوان دستگاه های پشتیبانی در نظر گرفت. اکنون هر یک از اجزای اصلی یک میکروکنترلر را که در ساختار فوق ذکر شده است، بررسی میکنیم.
CPU
واحد پردازش مرکزی یا CPU مغز میکروکنترلر است. CPU شامل یک واحد منطق حسابی (ALU) و یک واحد کنترل (CU) است. یک CPU دستورات را برای انجام عملیات حسابی، منطقی و انتقال داده فراخوانی، رمزگشایی و اجرا می کند.
حافظه
هر سیستم محاسباتی به دو نوع حافظه نیاز دارد: حافظه برنامه و حافظه داده. حافظه برنامه همانطور که از نام آن پیداست حاوی برنامه است، یعنی دستورالعمل هایی که باید توسط CPU اجرا شوند. از سوی دیگر، حافظه داده برای ذخیره موقت دادهها در حین اجرای دستورالعمل ها مورد نیاز است.
معمولاً حافظه برنامه یک حافظه فقط خواندنی یا ROM است و حافظه داده یک حافظه RAM یا حافظه دسترسی تصادفی است. حافظه داده گاهی اوقات به عنوان حافظه خواندنی و نوشتی (R/W M) نامیده میشود.
پورت های ورودی/خروجی
رابطه میکروکنترلر با دنیای خارجی توسط پورت های I/O یا پورت های ورودی/خروجی انجام میشود. دستگاههای ورودی مانند سوئیچها، صفحهکلیدها و غیره اطلاعاتی را در قالب دادههای باینری از کاربر به CPU ارائه میکنند.
CPU با دریافت داده ها از دستگاه های ورودی، دستورالعمل های مناسب را اجرا می کند و از طریق دستگاه های خروجی مانند LED، نمایشگر، چاپگر و غیره پاسخ می دهد.
باس یا گذرگاه ارتباطی
یکی دیگر از اجزای مهم یک میکروکنترلر، که به ندرت مورد بحث قرار می گیرد، گذرگاه سیستم است. گذرگاه سیستم گروهی از سیم های اتصال است که CPU را با سایر تجهیزات جانبی مانند حافظه، پورت های ورودی/خروجی و سایر اجزای پشتیبانی کننده متصل می کند.
تایمر / شمارنده
یکی از اجزای مهم یک میکروکنترلر تایمرها و شمارنده ها هستند. آنها عملیات تاخیر زمانی و شمارش رویدادهای خارجی را کنترل می کنند. علاوه بر این، تایمرها و شمارنده ها میتوانند کنترل عملکرد مدولاسیون عرض پالس، کنترل ساعت و غیره را ارائه دهند.
درگاه سریال
یکی از ملزومات مهم یک میکروکنترلر، برقراری ارتباط با سایر دستگاه ها و تجهیزات جانبی (خارجی) است. پورت سریال چنین رابطی را از طریق ارتباط سریال ایجاد می کند. رایج ترین ارتباط سریالی که در میکروکنترلرها وجود دارد، رابط سریال UART است.
واحد مدیریت وقفه
یکی از ویژگی های بسیار مهم یک میکروکنترلر، وقفه ها و مکانیسم مدیریت وقفه آن است. وقفه ها می توانند خارجی، داخلی، سخت افزاری یا نرم افزاری باشند.
ADC (مبدل آنالوگ به دیجیتال)
مبدل آنالوگ به دیجیتال یا ADC مداری است که سیگنال های آنالوگ را به سیگنال دیجیتال تبدیل میکند. مدار ADC رابط بین دستگاه های ورودی آنالوگ خارجی و CPU میکروکنترلر را تشکیل می دهد. تقریباً همه سنسورها دستگاههایی آنالوگ هستند و دادههای آنالوگ این سنسورها باید به دادههای دیجیتال تبدیل شوند تا CPU بتواند آن را پردازش کند.
DAC (تبدیل دیجیتال به آنالوگ)
مبدل دیجیتال به آنالوگ یا DAC مداری است که برخلاف ADC کار می کند، یعنی سیگنال های دیجیتال را به سیگنال های آنالوگ تبدیل می کند. DAC پل بین CPU میکروکنترلر و دستگاه های آنالوگ خارجی را تشکیل می دهد.
سخن پایانی
امروزه میکرو کنترلرهای زیادی در بازار و واردات قطعات الکترونیک وجود دارند که هر شخص با توجه به کاربرد و نیاز خود، میکروکنترلر مورد نیاز خود را انتخاب میکند. خانواده میکروکنترلر AVR و خانواده میکروکنترلر آرم از پرکاربرد ترین خانوادههای میکروکنترلر در بازار ایران است. این دو خانواده از میکروکنترلرها شامل چند صد عضو هستند که تقریبا تمامی موارد مورد نیاز کاربران خود را پاسخگو هستند. در هنگام خرید قطعات الکترونیک اورجینال ابتدا باید نیاز خود را مشخص کنید و سپس با بررسی قیمت میکروکنترلر AVR و با مقایسه انواع میکروکنترلرها، مدل مطلوب خود را انتخاب کنید.
نظرات کاربران