میکروکنترلر چیست؟ (خانواده AVR)

آی سی هایی که قابل برنامه ریزی می باشد و عملکرد آنها از قبل تعیین شده است را میکروکنترلرگویند، میکروکنترلر ها دارای ورودی – خروجی و قدرت پردازش می باشد.این آی سی ها حکم یک کامپیوتر در ابعاد کوچک و قدرت کمتر را دارند بیشتر این آی سی ها برای کنترل و تصمیم گیری استفاده می شود چون طبق الگوریتم برنامه ی آن عمل می کند این آی سی ها برای کنترل ربات ها تا استفاده در کارخانه صنعتی کار برد دارد. امکانات میکرو کنترلرها یکسان نیست و هر کدام امکانات خاصی را دارا می باشند و در قیمت های مختلف عرضه می شود.بخشهای مختلف میکروکنترلر) میکروکنترلر ها از بخشهای زیر تشکیل شده اند؛Cpu واحد پردازشAlu واحد محاسباتI /O ورودی ها و خروجی هاRam حافظه اصلی میکروRom حافظه ای که برنامه روی آن ذخیره می گرددTimer برای کنترل زمان هاو…خانواده های میکروکنترلراز میکروکنترلر های رایج در ایران، می توان به خانواده های PIC, ARM, 8051 و AVR اشاره کرد، که خانواده AVR از محبوبیت بالایی نسبت به دیگر خانواده های میکروکنترولر برخوردار است. در این بخش قصد داریم تا شما را بصورت مختصر با ویژگی ها و امکانات این میکروکنترولر ها آشنا کنیم.خانواده AVR:میکروکنترلرهای AVR محصول شرکت Atmel می باشند که از میکروهای پرمصرف در بازار برق و الکترونیک هستند. این میکروها در کاربردهای گوناگون در صنعت و پروژه های دانشگاهی و تحقیقاتی استفاده زیادی دارند البته به خاطر فرکانس پایین این نوع میکروها در صنعت و پروژه های حساس با فرکانس بالا از این میکروکنترلرها استفاده کمتری می شود.این خانواده از میکروکنترولر ها دارای چهار زیرمجموعه اصلی می باشند؛1 – میکروکنترلرهای سری AT90S (سری کلاسیک)2 – مکروکنترلرهای سری AT tiny3 – میکروکنترلرهای سری ATmega4 – میکروکنترلرهای سری ATXmega (جدید)فناوری استفاده شده در ساخت این میکروکنترلرها شامل RISC و CISC می باشد که RISC مخفف کلمه ی Reduced Instruction Set Computer کامپیوتر با مجموعه دستورات کاهش یافته می باشد. در این معماری دستورات سریع تر اجرا می شوند اما نوشتن برنامه مشکل تر است. در معماری CISC مخفف complex Instruction Set Computer می باشد که دستورات پیچیده ولی نوشتن برنامه در این معماری آسان تر است.برنامه نویسی تمامی میکروکنترلرهای AVR به زبان C و بیسیک صورت می گیرد که برای هر کدام از زبان های برنامه نویسی کامپایلرهایی وجود دارد. از جمله کامپایلرهای معروف برای زبان C نرم افزار CodeVision AVR و برای برنامه نویسی به زبان بیسیک معمولا از نرم افزار BASCOM Avr استفاده می شود. تمامی برنامه های نوشته شده در این کامپایلرها برای تمام میکروکنترلرهای Atmel به شیوه یکسان ولی با رجیسترها و ثبات های متفاوتی می باشند. که برای برنامه نویسی این میکروکنترلرها باید به دیتاشیت مخصوص آن میکرو مراجعه کرد.امکانات:میکروکنترلرهای AVR دارای امکانات و ویژگی های خاصی هستند که معمولا در دیگر میکروها نیز استفاده می شود از امکانات این میکروها می توان به قابلیت استفاده از تایمرها، واحد آنالوگ به دیجیتال ADC ، سیستم ریست نرم افزاری، مقایسه کننده آنالوگ، رابط سریال USART، رابط سریال دو سیم TWI، وقفه ها، Boot Loader، رابط JTAG و برنامه اشکال زدایی Debug، مدیریت توان، ارتباط از طریق پورت USB، کارت های حافظه MMC/SD، صفحه نمایش های گرافیکی نام برد که هر کدام تنظیمات مخصوص به خودشان را دارند.خانواده میکرو ATtiny:این گروه از خانواده میکروکنترلر AVR برخلاف اسم کوچکی که دارند، دارای حافظه CPU قدرتمند و حافظه 4 کیلوبایتی فلش هستند، حافظه SRAM و حافظه EEPROM دارای 128 بایت است. به خاطر سایز کوچکی که دارند معمولا در مدارهایی که حجم آن مهم است استفاده می شوند.خانواده کلاسیک AT90S:این میکروها، امکانات و توانایی های بیشتری نسبت به خانواده tiny دارند که می توان به افزایش حافظه برنامه، حافظه داده و … اشاره کرد. از جمله مدل های این میکروها می توان از AT90S1200 ، AT90S2313 و AT90S2323 نام برد.خانواده میکرو ATmegaاز جمله فرزندان این خانواده می توان به ATmega8 ، ATmega16، ATmega32، ATmega64، ATmega128 می باشند که معروفترین در خانواده Atmega هستند. این میکروها از لحاظ امکانات و قابلیت ها در حالت کلی یکسان هستند اما در زمینه های جزیی مانند کانال های ADC، تایمر کانترها و در تعداد حافظه های میکرو با یکدیگر اختلاف دارند. عدد نوشته شده در کنار مدل میکرو، مقدار حافظه فلش موجود در میکرو می باشد. برای مثال ATmega64 دارای حافظه فلش 64 کیلوبایت و ATmega128 دارای حافظه فلش 128 کیلوبایت هستند.هر یک از میکروها دارای دو نوع هستند. که با نوشتن L یا A در آخر مدل با یکدیگر متفاوت می شوند بطور مثال ATmega16A و ATmega16L. این دو نوع از میکروها فرق هایی با یکدیگر دارند که از جمله آنها، سطح ولتاژی می باشد برای مثال در مدل ATmega64A دارای ولتاژهای 4٫5 تا 5٫5 ولت و مدل ATmega64L دارای ولتاژ 2٫7 تا 5٫5 هستند. از لحاظ فرکانسی با یکدیگر نیز فرق دارند بطوری که ATmega64L دارای فرکانس 0 تا 8 مگاهرتز و ATmega64A دارای فرکانس 0 تا 16 مگاهرتز می باشند.خانواده میکرو ATXmega:میکروکنترلرهای سری Xmega جدیدترین و قدرتمندترین سری از میکروکنترلرهای AVR ساخت شرکت Atmel هستند که از نظر قابلیت ها و امکانات جانبی نسبت به سری Mega بهبود زیادی یافته اند. این میکروکنترلرها کارایی بهتر، Real Time بودن و توان مصرفی کم برای کاربردهای میکروکنترلری را دارند. کم مصرف بودن این سری باعث می شود که برای کاربردهای همراه ( دارای باتری ) بسیار مناسب باشند. معماری CPU در میکروکنترلرهای سری Xmega کاملا شبیه به معماری CPU در میکروکنترلرهای سری Mega هستند با این تفاوت که در Xmega پهنای رجیسترها و باس های داده و دستور العمل 16 بیتی هستند و میکروکنترلر میتواند در دو حالت 8 بیتی یا 16 بیتی پردازش کند.