ریزکنترلگر

میکروکُنترولر (به انگلیسی: Microcontroller) گونهای ریزپردازنده است که دارای حافظهٔ دسترسی تصادفی (RAM) و حافظهٔ فقطخواندنی (ROM)، تایمر، پورتهای ورودی و خروجی (I/O) و درگاه ترتیبی (Serial Port پورت سریال) درون خود تراشه است، و میتواند به تنهایی ابزارهای دیگر را کنترل کند. به عبارت دیگر یک میکروکنترلر، مدار مجتمع کوچکی است که از یک CPU کوچک و اجزای دیگری مانند تایمر، درگاههای ورودی و خروجی آنالوگ و دیجیتال و حافظه تشکیل شدهاست که برای اجرای دستورالعمل های داده شده به یک سیستم بزرگ تر استفاده می شود. آنها معمولا نسبت به یارانهها از انرژی کمتری استفاده میکنند. در حالی که یارانهها میتوانند طیف وسیعی از فعالیتهای مختلف را انجام دهند، میکروکنترلرها برای انجام کارهای مشخص شده و خاص مناسب هستند.
در واقع یک ریزپردازنده درون میکروکنترولر قرار گرفتهاست که با استفاده از آن میتواند محاسبات منطقی و حسابی را انجام دهد.
وجود RAM و ROM و پورتهای I/O در میکروکنترلرها آنها را یک انتخاب ایدهآل برای کاربردهایی میکند که قیمت و اندازه در آنها مهم است. در بسیاری از کاربردها مثل کنترل از راه دور تلویزیون نیازی به محاسبات سنگین در حد یک ۴۸۶ یا حتی ۸۰۸۶ وجود ندارد. در این گونه موارد و بسیاری دیگر از کاربردها فضای مورد استفاده توان مصرفی و قیمت هر واحد مهم تر از قدرت محاسبات است. در این گونه موارد اغلب لازم است تعدادی I/O خوانده شده و بیتهای مشخصی را خاموش یا روشن کند. به همین دلیل این گونه پردازندهها را (IBP (ITTY-BITTY PROCESSOR نیز مینامند.
میکروکنترلرها عموماً برای کاربردهای کوچک طراحی میشوند، بنابراین برخلاف ریزپردازندهها در اینجا مهمترین مسائل، سادگی و مصرف کم توان است.[۱]
اجزا[ویرایش]
یک میکروکنترلر از بخشهایی بسیار زیادی مانند پردازنده، RAM، ROM و FLASH وPORT و TIMER و USART و ADC و DAC و USB و CAN و ISP و و بخش های بسیاری دیگر تشکیل شدهاست. در اینجا سعی میکنیم که توضیح مختصری در مورد هرکدام از آن ها بنویسیم .
حافظه Flash
این نوع حافظه برای ذخیره سازی کد های کامپایلر شده میکروکنترلر می باشد که هر چه بزرگتر باشد قیمت بیشتری باید بپردازید البته فاکتور های بسیار زیادی در قیمت تاثیرگذار هستند
Port
این بخش وظیفه ارتباط با دنیای بیرون از میکروکنترلر را بر عهده دارد از قطعات الکترونیکی مانند LED ,7Segment ,Sensor ,LCD , Keypad گرفته تا کامپیوتر و یا هر چیزی که در ذهن شماست باید از این طریق به میکروکنترلر وصل شوند . حتی از طریق پورت میتوان دو یا چند میکروکنترلر را به همدیگر متصل کرد .
تایمر (Timer)
این واحد کار اندازه گیری زمان را انجام میدهد فرض کنید میخواهید هر یک ثانیه کار خاصی را انجام دهید برای اینکار باید واحد تایمر را فعال کرده و تنظیمات آن را انجام دهید
USB
گاهی اوقات نیاز دارید فرمانی را از سمت کامپیوتر به میکروکنترلر بفرستید برای اینکار دو پورت USB و UART را میتوانید انتخاب کنید که برنامه نویس براساس نیاز پروژه تشخیص می دهد کدام را راه اندازی نماید همجنین این بخش به چند نوع قابل پیکره بنده هست مثل Host , Device , ......
USART
برای ارتباط بین کامپیوتر و میکروکنترلر میتوانید از این واحد استفاده نمایید بعد از فعال و پیکره بندی آن میتوانید دستوری یا کاراکتر را از کامپیوتر دریافت و یا به کامپیوتر ارسال کنید
بخش ADC/DAC
از آنجا که میکروکنترلر معمولاً برای مقاصد کنترلی استفاده میشوند، نیاز به برقراری ارتباط با دستگاه تحت کنترل خود دارند. اما از آنجا که اکثر سیگنالهای لازم برای این منظور سیگنالهای آنالوگ هستند، باید ابتدا این سیگنالها به صورت دودویی تبدیل شوند تا برای پردازنده قابل درک باشند. این کار توسط مبدل آنالوگ به دیجیتال صورت میگیرد. همچنین در برخی از میکروکنترلرها مبدل دیجیتال به آنالوگی هم وجود دارد که امکان فرمان دادن میکروکنترلر به دستگاههای با ورودی آنالوگ را فراهم میکند.
از دیگر اجزای معمول و پرکاربرد در میکروکنترلرها، تایمرها هستند. تایمرها عموماً از یک شمارنده تشکیل میشوند که پس از تعداد مشخصی از شمارش، یک وقفه تولید میکنند که میتواند برای انجام متوالی یک کار مورد استفاده قرار گیرد.
بخش PWM
بسیاری از میکروکنترلرها از واحد تولید مدولاسیون عرض پالس نیز برخوردارند. این واحد به خصوص در کاربردهای الکترونیک قدرت و کنترل موتور و نیز به عنوان مبدل دیجیتال به آنالوگ کاربرد دارد.[۲]
میکروکنترلرهای رایج در ایران[ویرایش]
از مهمترین و بزرگترین تولیدکنندگان میکروکنترلرها میتوان از شرکت اَتمِل (به انگلیسی: Atmel) نام برد که در حال حاضر سری ایویآر و ۸۰۵۱ میکروکنترلرهای این شرکت در ایران به دلیل سهولت استفاده مورد توجه است.
برنامهریزی میکروکنترلرهای AVR بیشتر با زبان C و با کامپایلر codevision یا کامپایلر Atmel studio ، یا با زبان بیسیک و توسط نرمافزار BASCOM و یا با زبان اسمبلی انجام میشود. یکی دیگر از تولیدکنندگان بزرگ میکروکنترلرها شرکت Microchip است که میکروکنترلرهای این شرکت با نامهای تجاری PIC و dsPIC نیز از محبوبیت زیادی برخوردار است.[۳]
شرکتهای بزرگ دیگری نیز در زمینه تولید میکروکنترلر فعالیت میکنند که از آن جمله میتوان به TI، موتورولا و فیلیپس اشاره کرد. شرکت intel هم نقش بسیار مهمی در تولید میکروکنترلرهای خانوادهٔ ۸۰۵۱ دارد.
البته اخیراً با قدرتنمایی میکروکنترلرهای آرم، این میکروکنترلرهای ۳۲ بیتی با شدت بسیار زیادی در حال فراگیر شدن است و از رشد بسیار زیادی در بازار برخوردار است. میکروکنترلرهای آرم موجود در ایران توسط سه شرکت انایکسپی، اتمل و ST تولید میشوند؛ که در این میان سهم میکروکنترلرهای ST بیشتر است.
تفاوت میکروکنترولر و ریزپردازنده[ویرایش]
میکروکنترولر و ریزپردازنده (میکروپروسسور) تقریباً از یک شاخهٔ فناورانه (تکنولوژیک) و ساختاری هستند، اما در اجزا، با هم تفاوتهای عمده دارند. در ریزپردازندهها فقط واحد پردازش به صورت مجزا به صورت یک آیسی وجود دارد که رم و رام و حتی رجیسترها در آیسیهای مجزا به ریزپردازنده وصل و تشکیل یک ریزرایانه میدهند، اما در میکروکنترلر تمام واحدها، از جمله رم و رام و رجیسترها، درون یک آیسی به نام میکروکنترلر وجود دارد که معمولاً در دستگاههای تجاری برای کاهش قیمت دستگاه مانند تلویزیون و ماکروویو و غیره استفاده میشود.[۴]
میکروپرسسورها بر خلاف میکروکنترلرها فاقد 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
- ↑ (منبع: میکروکنترولر ۸۰۵۱، نویسنده: محمد علی مزیدی، ص۲۲)