میکروکنترلر چیست؟
میکروکنترلر(Microcontroller) نوعی IC است که قابلیت برنامهریزی دارد و عملکرد آن از پیش تعیین شده است.
آی سی(IC) یک پکیج متشکل از تعدادی مدار، ترانزیستور، گیتهای منطقی و … است. کاربرد این قطعه به گونهای گسترده است که به جرات میتوان گفت غالب وسایل الکترونیکی که در زندگی روزمره از آنها استفاده میکنیم، از جمله ماشینهای اداری، لوازم خانگی و بسیاری دیگر از وسایل از IC برخوردارند.
میکروکنترلر را میتوان کامپیوترهایی با ابعاد کوچکتر و قدرت کمتر دانست که برای کنترل و تصمیمگیری براساس الگوریتم استفاده میشوند. در ادامه این مقاله آسمان ایکس سعی کرده است تا شما را بیشتر با این کامپیوتر کوچک آشنا کند.
تاریخچه میکروکنترلر
گری بون و مایکل کوکران در سال 1971 اولین میکرکنترلر جهان را با نام TMS 1000 توسعه دادند که این میکروکنترلر در سال 1974 به صورت تجاری منتشر شد.
اجزای تشکیل دهنده میکروکنترلر
در حال حاضر انواع مختلفی از میکروکنترلر با طول کلمههای 4،8،64،128 بیتی در بازار موجود است و همگی از بخشهای یکسانی که به مهمترین آنها اشاره میکنیم، تشکیل شدهاند.
CPU
شاید با شنیدن نام این بخش بیشتر بتوانید شباهت میکروکنترلرها را با کامپیوتر درک کنید! CPU همان واحد پردازش است که اصلیترین وظیفه در میکروکنترلر، یعنی استخراج دادهها و رمزگشایی آنها را بر عهده دارد.
درگاه(Port)
پورت هر میکروکنترلر در واقع دریچهای برای ارتباط ریزکنترلگر با دنیای بیرون از آن است. کامپیوترها یا قطعات الکترونیکی از جمله LED، LCD، سنسورها و… همگی از طریق پورت میکروکنترلر به یکدیگر متصل میشوند.
گاهی اوقات نیازی برای انتقال فرمان از سمت کامپیوتر به میکروکنترلر پیش میآید، که برای این منظور باید میکروکنترلر قابلیت پشتیبانی از دو پورت USB و UART را داشته باشد تا برنامه نویس بدون مشکل و با توجه به نیاز برنامه، بتواند انتخاب کند کدام یک را راهاندازی کند.
Timer
مسئولیت برنامهریزی زمانی در میکروکنترلر برعهده تایمر است؛ به این شکل که میتوان پس از فعالسازی تایمر برای ثانیه به ثانیه عملکرد ریزکنترلگر برنامه مشخصی را طراحی کرد.
حافظه(Memory)
حافظه یا مموری میکروکنترلر وظیفه ذخیرهسازی الگوها و برنامههای تعریف شده برای آن را بر عهده دارد. علاوه بر مموری دو بخش RAM و ROM یا همان کش (حافظه موقت) نیز در فرایندهای ذخیرهسازی برنامههای تعریف شده برای میکروکنترلرها کاربردی هستند.
از دیگر بخشهای میکروکنترلرها میتوان به مبدلهای آنالوگ به دیجیتال و دیجیتال به آنالوگ، حافظه فلش، واحد PGA، انواع پروتکلهای ارتباطی و تعدادی موارد دیگر نیز اشاره کرد.
همچنین بخوانید: فلایت کنترلر چیست؟
ریزکنترلگرها چگونه برنامهریزی میشوند؟
میکروکنترلرها کامپایلرهای خاصی دارند که به کمک آنها و با قرار دادنشان در Programmer و اتصال آن با کابل به یکی از درگاههای کامپیوتر، میتوان برای آن برنامه نوشت و در حافظه Rom ذخیره کرد.
انواع Programmer
انواع Programmer هایی که برای برنامهریزی ریزکنترلگرها استفاده میشوند را میتوان به سه دسته تقسیم کرد:
1. Programmer هایی که به وسیله پورتهای موازی برنامه ریزی میشوند.
2. Programmer هایی که به وسیله پورتهای سریال برنامه ریزی میشوند.
3. Programmer هایی که به وسیله دستگاه و با USB برنامه ریزی میشوند.
همچنین بخوانید:آردوینو چیست؟
دسته بندی انواع میکروکنترلر
انواع میکروکنترلرها را میتوان با توجه به نوع معماری، بیت، مموری و مجموعه دستورالعملها تقسیم بندی کرد:
دستهبندی بر اساس نوع معماری
میکروکنترلرها بر اساس ساختار معماری به دو دسته Harvard و Von Neumann تقسیم میشوند.
معماری Harvard:
در این ساختار، برای ذخیرهسازی داده و کانالهای سینگال هر مجموعه، دستورالعملهایی به صورت جداگانه در نظر گرفته شده است. در ساختار Harvard وظیفه ذخیره کلیه دادهها بر عهده CPU است و هیچ راهی برای ذخیره دستورالعملها به عنوان داده وجود ندارد، اما امکان دسترسی همزمان به دادههای ذخیره شده و دستورالعملها در این ساختار فراهم شده است.
معماری Von Neumann:
در این معماری، برای دستورالعمل و داده تنها یک کانال در نظر گرفته شده است و لازم است CPU یک عمل را تنها در یک زمان انجام دهد؛ بنابراین عمل استخراج داده و خواندن و نوشتن روی داده نمیتواند در یک زمان انجام شود.
دستهبندی میکروکنترلر بر اساس بیت
در موارد مختلف میتوان از انواع مختلف میکروکنترلر استفاده کرد. به عنوان مثال میکروکنترلر 8 بیتی معمولا برای اجرای عملیاتهای منطقی و محاسباتی استفاده میشود؛ یا میکروکنترلرهای 16 بیتی که با دقت بالاتر و عملکرد دقیقتری این عملیات را انجام میدهند و ریزکنترلگرهای 32 بیتی که تمام عملیات منطقی و محاسباتی را در دستگاههای خودکار انجام میدهند.
مموری
در این نوع طبقهبندی، میکروکنترلرها به دو دسته External Memory Microcontroller و Embedded Memory Microcontroller تقسیم میشوند که در نوع اول ریزکنترلگر با حافظه خارجی نوعی از تراشهها است که شامل تمام بلوکهای توابع نیست و نوع دوم که همراه با حافظه است، تمام بلوکهای توابع در آن تعبیه شدهاند.
خانوادههای مختلف میکروکنترلر
هر یک از میکروکنترلرهای موجود در بازار از یکی از خانوادههای 8051، AVR و یا PIC هستند.
میکروکنترلر خانواده 8051:
بیشترین استفاده در بین میکروکنترلرها مربوط به میکروکنترلرهای خانواده 8051 است. کیفیت مناسب و قدیمی بودن این محصول، میتواند دلیل پر طرفدار بودن این خانواده دانست. لازم به ذکر است که ریزکنترلگرهای این خانواده به نوسانساز نیازمند هستند و در مقابل دیگر خانوادههای میکروکنترلر از امکانات کمتری برخوردار میباشند. معروفترین کامپایلر برای این خانواده Franklin میباشد و از پرطرفدار ترین آی سیهای این خانواده میتوان به 89S51 و 89C51 اشاره کرد.
خانواده AVR:
در سال 1966 برای اولین بار سرویس Atmel میکروکنترلری با عنوان AVR که بر اساس معماری Harvard طراحی شده بود را ارائه کرد. خانواده AVR علاوه بر تمامی امکانات خانواده 8051، از امکانات دیگری همچون مبدل تبدیل آنالوگ به دیجیتال و دیجیتال به آنالوگ، نوسانسازی داخلی با قدرت و سرعت بیشتر بهرهمند هستند. یکی از ویژگیهای منحصر به فرد این خانواده را میتوان سه نوع حافظه به کار رفته در آن دانست؛ حافظه فلش که برنامه اصلی را در خود ذخیره میکند، حافظه SRAM که برای اجرای برنامه استفاده میشود و حافظه EEPROM که حافظه ای داخلی و دائمی برای ذخیره اطلاعات است. مهمترین آی سیهای این خانواده، AVR Classic، ATtiny و ATmega نام دارند.
خانواده PIC:
از اولین تولید کنندگان خانواده PIC (Peripheral Interface Controller) میکروکنترلرها میتوان به شرکت میکروچیپ اشاره کرد که ساختاری بر پایه معماری Harvard دارند. از آنجایی که این تراشهها از برنامهنویسی C و اسمبلی پشتیبانی میکنند، در بین صنعتگران بسیار محبوب هستند؛ همچنین به دلیل به روزرسانیهای مداومشان توانستهاند در صنعت لوازم خانگی از محبوبیت زیادی برخوردار شوند. از بهترین میکروکنترلرهای این خانواده نیز میتوان به PIC04 و PIC12F اشاره کرد.
در پایان امیدواریم توانسته باشیم با اطلاعات داده شده در دستهبندیهای مختلف میکروکنترلرها دیدگاه بهتری برای انتخاب بهتر قطعه مد نظر به شما داده باشیم.
همچنین بخوانید: مفهوم اولیه محاسبات رباتیک
تولیدکنندگان مطرح میکروکنترلرها شرکت های Atmel،TI و موتورولا و فیلیپس هستند که به تولید میکروکنترلرهای سری AVR و ۸۰۵۱ میپردازند؛ در حالی که در ایران سری ARM در حال فراگیر شدن است که تولید آن توسط شرکت NXP،Atmel و ST انجام میشود.
میکروکنترلر ARM
معماری میکروکنترلر ARM از نوع انتقال داده (load and store) است. در این نوع معماری پردازش داده به جای اینکه به طور مستقیم در حافظه انجام شود تنها بر روی محتوای رجیسترها انجام میگیرد، از این رو دستورات پردازش داده بر روی رجیسترها متفاوت میباشند.
مجموعه دستورات ARM یکسان و دارای طول ثابت هستند. پردازندههای ARM 32 بیتی دو مجموعه دستورالعمل دارند: مجموعه دستورات کلی 32 بیتی ARM و مجموعه دستورات 16 بیت Thumb.
دیدگاهتان را بنویسید
می خواهید در گفت و گو شرکت کنید؟خیالتان راحت باشد :)