ریزکنترلگر
میکروکُنترولر (به انگلیسی: Microcontroller) گونهای ریزپردازنده است که دارای حافظهٔ دسترسی تصادفی (RAM) و حافظهٔ فقطخواندنی (ROM)، تایمر، پورتهای ورودی و خروجی (I/O) و درگاه ترتیبی (Serial Port پورت سریال)، درون خود تراشه است، و میتواند به تنهایی ابزارهای دیگر را کنترل کند. به عبارت دیگر یک میکروکنترلر، مدار مجتمع کوچکی است که از یک CPU کوچک و اجزای دیگری مانند تایمر، درگاههای ورودی و خروجی آنالوگ و دیجیتال و حافظه تشکیل شدهاست.
در واقع یک ریزپردازنده درون میکروکنترولر قرار گرفتهاست که با استفاده از آن میتواند محاسبات منطقی و حسابی را انجام دهد.
وجود RAM و ROM و پورتهای I/O در میکروکنترلرها آنها را یک انتخاب ایدهآل برای کاربردهایی میکند که قیمت و اندازه در آنها مهم است. در بسیاری از کاربردها مثل کنترل از راه دور تلویزیون نیازی به محاسبات سنگین در حد یک ۴۸۶ یا حتی ۸۰۸۶ وجود ندارد. در این گونه موارد و بسیاری دیگر از کاربردها فضای مورد استفاده توان مصرفی و قیمت هر واحد مهم تر از قدرت محاسبات است. در این گونه موارد اغلب لازم است تعدادی I/O خوانده شده و بیتهای مشخصی را خاموش یا روشن کند. به همین دلیل این گونه پردازندهها را (IBP (ITTY-BITTY PROCESSOR نیز مینامند.
میکروکنترلرها عموماً برای کاربردهای کوچک طراحی میشوند، بنابراین برخلاف ریزپردازندهها در اینجا مهمترین مسائل، سادگی و مصرف کم توان است.[1]
اجزا
یک میکروکنترلر از بخشهایی مانند پردازنده، RAM، ROM و یک سری پایانه (پورت، درگاه) تشکیل شدهاست.
از سوی دیگر، از آنجا که میکروکنترلر معمولاً برای مقاصد کنترلی استفاده میشوند، نیاز به برقراری ارتباط با دستگاه تحت کنترل خود دارند. اما از آنجا که اکثر سیگنالهای لازم برای این منظور سیگنالهای آنالوگ هستند، باید ابتدا این سیگنالها به صورت دودویی تبدیل شوند تا برای پردازنده قابل درک باشند. این کار توسط مبدل آنالوگ به دیجیتال صورت میگیرد. همچنین در برخی از میکروکنترلرها مبدل دیجیتال به آنالوگی هم وجود دارد که امکان فرمان دادن میکروکنترلر به دستگاههای با ورودی آنالوگ را فراهم میکند.
از دیگر اجزای معمول و پرکاربرد در میکروکنترلرها، تایمرها هستند. تایمرها عموماً از یک شمارنده تشکیل میشوند که پس از تعداد مشخصی از شمارش، یک وقفه تولید میکنند که میتواند برای انجام متوالی یک کار مورد استفاده قرار گیرد.
بسیاری از میکروکنترلرها از واحد تولید مدولاسیون عرض پالس نیز برخوردارند. این واحد به خصوص در کاربردهای الکترونیک قدرت و کنترل موتور و نیز به عنوان مبدل دیجیتال به آنالوگ کاربرد دارد.[2]
میکروکنترلرهای رایج
از مهمترین و بزرگترین تولیدکنندگان میکروکنترلرها میتوان از شرکت اَتمِل (به انگلیسی: Atmel) نام برد که در حال حاضر سری ایویآر و ۸۰۵۱ میکروکنترلرهای این شرکت در ایران به دلیل سهولت استفاده مورد توجهاست.
برنامهریزی میکروکنترلرهای AVR بیشتر با زبان C و با کامپایلر codevision، یا با زبان بیسیک و توسط نرمافزار BASCOM انجام میشود. یکی دیگر از تولیدکنندگان بزرگ میکروکنترلرها شرکت Microchip است که میکروکنترلرهای این شرکت با نامهای تجاری PIC و dsPIC نیز از محبوبیت زیادی برخوردار است.[3]
شرکتهای بزرگ دیگری نیز در زمینه تولید میکروکنترلر فعالیت میکنند که از آن جمله میتوان بهTI، موتورولا و فیلیپس اشاره کرد. شرکت intel هم نقش بسیار مهمی در تولید میکروکنترلرهای خانوادهٔ ۸۰۵۱ دارد.
البته اخیراً با قدرتنمایی میکروکنترلرهای آرم، این میکروکنترلرهای ۳۲ بیتی با شدت بسیار زیادی در حال فراگیر شدن است و از رشد بسیار زیادی در بازار برخوردار است. میکروکنترلرهای آرم موجود در ایران توسط سه شرکت انایکسپی، اتمل و ST تولید میشوند، که در این میان سهم میکروکنترلرهای ST بیشتر است.
تفاوت میکروکنترولر و ریزپردازنده
میکروکنترولر و ریزپردازنده (میکروپروسسور) تقریباً از یک شاخهٔ فناورانه (تکنولوژیک) و ساختاری هستند، اما در اجزا، با هم تفاوتهای عمده دارند. در ریزپردازندهها فقط واحد پردازش به صورت مجزا به صورت یک آیسی وجود دارد که رم و رام و حتی رجیسترها در آیسیهای مجزا به ریزپردازنده وصل و تشکیل یک ریزرایانه میدهند، اما در میکروکنترلر تمام واحدها، از جمله رم و رام و رجیسترها، درون یک آیسی به نام میکروکنترلر وجود دارد که معمولاً در دستگاههای تجاری برای کاهش قیمت دستگاه مانند تلویزیون و ماکروویو و غیره استفاده میشود.[4]
میکروپرسسورها بر خلاف میکروکنترلرها فاقد RAM و ROM و پورتهای I/O درون خود تراشه هستند بنابراین برای اینکه بتوان سیستمی مبتنی بر میکروپرسسور را طراحی کرد باید RAM و ROM و پورتهای I/O و تایمرها به آن اضافه شود. با توجه به اینکه طراح میتواند روی مقدار RAM و ROM و پورتهای I/O اعمال نظر نماید، این سیستمها انعطافپذیری بشتری دارند. و به آنها سیستمهای چند منظوره میگویند. میکروکنترلرها شامل یک CPU به همراه مقدار ثابتی از RAM، ROM، پورتهای I/O وتایمر هستند که همگی این اجزا در یک تراشه جای داده شدهاند و طراح سیستم نمیتواند یک حافظه، I/O یا تایمر را بدون گسترش لازم از بیرون اضافه کند. بنابراین میکروکنترلرها انعطافپذیری میکروپرسسورها را ندارند.
کاربرد میکروکنترلرها
میکروکنترلر برای کاربردهایی که در آنها قیمت و اندازه سیستم مهم است، مناسب است. زیرا اضافه کردن حافظه، پورت I/O تایمرها و مدار واسط لازم به میکرپروسسور سبب افزایش قیمت و اندازه سیستم میشود. میکروکنترلرها بهطور گستردهای در تولید سیستمهای تکمنظوره به کار میروند. منظور از سیستم تکمنظوره سیستمی است که از میکروکنترلر یا میکرپروسسور فقط برای یک کار استفاده میکند. مانند پردازنده درون یک موس که تنها به منظور یافتن مکان اشاره گر موس و ارسال آن به PC برنامهریزی شدهاست. این سیستمها در مقابل سیستمهای چند منظوره قرار میگیرند. که نمونه بارز آن یک PC است که میتواند برای کاربردهای متعدد و گوناگونی همچون واژهپردازی، بازیهای ویدئویی، سرویس شبکه و ... مورد استفاده قرار گیرد. این توانایی PC در اجرای کارهای گوناگون به دلیل وجود سیستم عاملی است که نرمافزار کاربردی را در RAM بار می کند تا PC بتواند آن را اجرا کند. اما در یک سیستم تکمنظوره تنها یک نرمافزار کاربردی موجود است که معمولاً درROM نوشته میشود. چند نمونه ساده از وسایلی که در ساخت آنها از میکروکنترلرها استفاده شدهاست، عبارت اند از کنترل از راه دور تلویزیون، تلفن، دوربین فیلمبرداری، فاکس، چاپگر، دستگاه فتوکپی،سیستمهای حفاظتی، دزدگیر و سیستمهای کنترل صنعتی.
بهطور کلی میتوان کاربرد میکروکنترلرها را در طراحی مدارهای کنترل و اتوماسیون خلاصه کرد .
منابع
- ویکیپدیای انگلیسی
- ویکیپدیای انگلیسی
- "Microchip Technology Delivers Six Billionth PIC Microcontroller", Microchip Technology, 2008-02-27
- (منبع: میکروکنترولر ۸۰۵۱، نویسنده: محمد علی مزیدی، ص۲۲)