انواع میکرو AVR

میکرو AVR استفاده های گوناگونی در صنعت و سیستم های روزمره دارد. این میکروکنترلرها انواع مختلفی دارند. در این مقاله به معرفی انواع میکرو AVR و بررسی ویژگی های آنها خواهیم پرداخت.

امروزه پردازنده‌ها یکی از مهمترین قسمت های یک سیستم به حساب می‌آیند.

در تمام دستگاه های هوشمندی که در اطراف ما وجود دارد حتما یک پردازنده در داخل آن جای دارد که وظیفه آن نظارت بر کل سیستم و دستور دادن به تمام بخش های آن سیستم می باشد.

پردازنده ها، مدل ها و سری های مختلفی دارند که معمولا به تنهایی در بازار یافت نمی شوند.

یک پردازنده فقط کاربرد پردازشی برای ما دارد و برای استفاده باید بخش هایی نیز به آن اضافه شود.

 

بگذارید با یک مثال به این موضوع بپردازیم:

یک کامپیوتر از بخش های مختلفی تشکیل شده است. اگر فقط به داخل کیس نگاه کنید، خود نیز از قسمت ها مختلفی تشکیل می شوند.

قسمت های مهم یک کیس کامپیوتر عبارت اند از:

  • مادر بورد
  • سی پی یو
  • رم
  • هارد
  • بایوس

البته قسمت های دیگری هم وجود دارد که خیلی ضروری نیستند و یک کیس می‌تواند بدون آنها نیز کار کند. مانند سی دی رام، فلاپی دیسک (در کامپیوترهای قدیمی)، گرافیک و ….

حال اگر به یک کامپیوتر نگاه کنیم خواهیم دید که CPU که نقش پردازنده را بازی میکند، نمی تواند به تنهایی کار کند.

پردازنده برای تکمیل کارهای خود نیاز به رم، هارد و بایوس دارد. در واقع این این بخش ها مکمل کارکرد CPU هستند.

 

میکروکنترلر چیست ؟

میکروکنترلر در واقع یک کامپیوتر کوچک است که تمام قسمت های پردازنده، رم، هارد، بایوس، مبدل آنالوگ به دیجیتال و … را در خود جای داده است و می توان آن را به تنهایی در هر پروژه ای استفاده کرد.

میکروکنترلرها با توجه به قابلیت هایی که دارند به انواع و اقسام مختلفی تقسیم بندی می شوند.

هر کدام از این قسمت ها برای استفاده در یک پروژه خاصی کاربرد خواهد داشت. به همین دلیل نمیتوان گفت که برخی از میکروها خیلی ضعیف هستند و کاربردی ندارند بلکه شاید برای یک پروژه کوچک بسیار مناسب باشد.

جالب است بدانید که هارد و BIOS در میکروکنترلرها به اسم و شکل دیگری بیان می شود. در اصل به آنها EPROM یا EEPROM می گویند که این ها کار هر دو مورد یعنی هارد و بایوس را انجام می دهند.

 

امروزه انواع گوناگونی از میکروکنترلرها، توسط شرکت های مختلف تولید شده اند که تعداد بسیاری از آنها در یک تقسیم بندی کلی به سه گروه PIC ، میکرو AVR و ARM تقسیم میشوند.

معمولا بسیاری از ویژگی ها و قابلیت های این میکروها مشابه هم هستند. فقط در مواردی همچون سرعت کارکرد، خطای پردازنده، مصرف توان، قیمت و … با هم متفاوت هستند.

در ادامه مقاله به بررسی انواع میکروکنترلرهای AVR خواهیم پرداخت.

 

میکروکنترلرهای AVR

این میکروکنترلرها تولید شرکت Atmel می باشند. Atmel اولین شرکتی است که تحولی در معماری میکروکنترلرها به وجود آورد.

این شرکت توانست میکروکنترلرهایی با زبان سطح بالا و حافظه غیرفرار (EEPROM) به نام میکرو AVR تولید کند.

این میکروکنترلرها دارای قابلیت اجرای هر دستور در یک سیکل کاری را دارند. به این معماری، معماری RISC گفته می‌شود.

در آن زمان این قابلیت باعث شد که میکروکنترلرهای AVR در حدود 12 برابر سرعت بالاتری نسبت به سایر میکروها داشته باشند.

 

انواع میکرو AVR

میکروکنترلرهای AVR در چهار گروه زیر تقسیم بندی میشوند.

  • TINY
  • AT90S
  • ATMEGA
  • ATXMEGA

 

خانواده TINY

این خانواده منحصر به میکروکنترلرهای با تعداد پایه محدود و کم بوده که جهت کاهش قیمت و ابعاد کوچک برای پروژه های کاربران، بهینه سازی شده اند.

برخی از خصوصیات خانواده TINY عبارتند از:

  • سایز بسیار کوچک نسبت به خانواده های دیگر
  • مصرف توان کم
  • قیمت مناسب
  • حافظه فلش کم (در حدود 0.5 تا 16 کیلو بایت)
  • مبدل آنالوگ به دیجیتال (محدود)
  • پورت سریال (نرم افزاری)

 

معمولا تعداد پایه های خانواده TINY بین 6 تا 14 پایه میباشد.

 

میکروکنترلر خانواده AT90S

خانواده AT90S قابلیت ها و امکانات بیشتری نسبت به خانواده قبلی دارد.

البته این خانواده معمولا کاربرد زیادی نداشته و چندان مورد استقبال مهندسان قرار نگرفته است.

علت آن هم این است که تفاوت قیمتی زیادی با سری‌های ATMEGA ندارند و مهندسان ترجیح میدهند از خانواده ATMEGA استفاده کنند.

 

میکروکنترلر سری ATMEGA

خانواده ATMEGA از انواع میکرو AVR دارای قابلیت های بالاتری نسبت به خانواده های قبلی بوده و امروزه به طور وسیع مورد استفاده قرار می گیرند.

این نوع از میکروها به جهت عرضه فراوان، از قیمت بسیار مناسبی برخوردار بوده و برای انجام پروژه های صنعتی کوچک نیز استفاده میشود.

 

برخی از خصوصیات خانواده ATMEGA عبارتند از:

  • مصرف توان کم
  • کارایی بالا
  • حافظه فلش در حدود 8 تا 128 کیلو بایت
  • مبدل آنالوگ به دیجیتال
  • دارای دستورالعمل های زیاد که اکثرا در یک پالس کلاک اجرا می شوند
  • سرعت کارکرد بالا
  • قابلیت ارتباط پورت JTAG
  • دارای تایمر
  • RTC داخلی
  • پورت سریال
  • پورت SPI

 

خانواده ATMEGA خود دارای مدل های معروفی است که مواردی مانند ATMEGA8 ، ATMEGA16 ، ATMEGA32 ، ATMEGA64 و ATMEGA128 را می توان نام برد.

از بین این مدل ها پرکاربردترین آنها ATMEGA8 و ATMEGA32 هستند.

مدل ATMEGA8 تعداد 28 پایه داشته که به غیر از چند پایه‌ی مربوط به تغذیه، بقیه پایه‌ها را می‌توان برنامه ریزی و از آنها استفاده کرد. همچنین حافظه قابل برنامه ریزی آن 8 کیلو بایت است که برای یک پروژه متوسط کافی است.

مدل ATMEGA32 تعداد 40 پایه دارد.

اگر پایه های تغذیه میکروکنترلر را کم کنیم بقیه پایه ها را می‌توان برنامه ریزی و از آن‌ها استفاده کرد. همچنین حافظه قابل برنامه ریزی آن 32 کیلو بایت است که برای پروژه های نسبتا بزرگ مناسب است.

همانطور که دیدید اساس تفاوت در مدل های یک خانواده بر روی تعداد پایه های قابل استفاده، حافظه برنامه ریزی و یک سری امکانات مانند تعداد تایمر یا کانتر، تعداد پورت‌های مبدل آنالوگ به دیجیتال و … می باشد.

 

خانواده ATXMEGA

خانواده ATXMEGA بیشترین امکانات را در بین خانواده های میکروکنترلرهای AVR دارد و از لحاظ قدرت پردازنده و کارایی بسیار بالا می باشد.

در بازار ایران این خانواده از میکروکنترلرهای AVR به دلیل قیمت تا حدودی بالا مورد استقبال مهندسین قرار نگرفت.

البته منظور از قیمت بالا، گران بودن آن نیست؛ بلکه میتوان با همان قیمت میکروکنترلرهای دیگری که توسط شرکت های دیگر تولید می شوند را تهیه کرد.

برای مثال، یک جایگزین مناسب میکروکنترلرهای ARM خواهند بود.

 

ولی باید توجه داشت که برنامه نوسی میکروکنترلرهای شرکت های سازنده مختلف با هم متفاوت است.

به طور مثال، اگر در پروژه ای از میکروکنترلرهای AVR خانواده ATMEGA استفاده کردید و بعداً نیاز به ارتقاع داشتید، بهتر است انتخاب شما از میکروکنترلرهای خانواده ATXMEGA باشد. استفاده از میکروکنترلرهای شرکت های دیگر نظیر میکرو ARM نیاز به برنامه نویسی مجدد با زبان وساختار جدید خواهد داشت.

 

جمع بندی میکروکنترلرهای AVR

با توجه به اینکه در بازار مدل‌ها و سری های مختلفی از میکروکنترلرها وجود دارد برای ساخت و اجرای یک پروژه، ابتدا باید تمام موارد و امکاناتی که نیاز است را در نظر بگیریم و با توجه به آن میکروکنترلر را انتخاب کنیم. ممکن است میکروکنترلرهای خانواده TINY برای پروژه ما مناسب باشد.

در این مقاله به بررسی انواع میکرو AVR پرداختیم و با خانواده میکروکنترلر AVR آشنا شدیم.