آموزش AVRآموزش الکترونیکآموزش میکروکنترلر ها

AVR چیست ؟ آموزش انواع میکروکنترلر AVR

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

AVR چیست ؟

AVR اسم سری میکروکنترلر بسیار معروف شرکت اتمل است که در سال 1980 ساخته شده است. AVR در آن زمان تقریبا بهترین میکروکنترلری بود که دارای حافظه داخلی بود. کلمه AVR خیلی حالت مخفف دارند اما به طور قاطع نمیتوان گفت مخفف چیست. زیرا میتواند مخفف Alf Vegard RISC و Advanced Virtual RISC باشد. البته خود شرکت اتمل اعلام کرده است که کلمه AVR مخفف کلمات خاصی نیست.

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

همانطور که میکروکنترلر ها چندین خانواده دارند مثل AVR، PIC، ARM و … ، میکروکنترلر های سری AVR نیز دارای چندین خانواده اند مثل :

  1. ATTiny AVR
  2. AT90S
  3. Atmega AVR
  4. Xmega AVR

فعلا این چهار خانواده وجود دارند و خانواده میکروکنترلر های Xmega هم جدید ترین آن ها است. ATTiny AVR , AT90S , Atmega AVR همه 8 بیتی هستند و Xmega هم در معماری 16 بیتی موجود است و هم در معماری 32 بیتی.

آشنایی با میکروکنترلر AVR

برای آشنایی با میکروکنترلر AVR باید بخش های مختلف یک میکروکنترلر را بدانیم. بخش های مختلف میکروکنترلر های AVR عبارتند از :

حافظه Flash

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

باید بدانید که هر میکروکنترلر یه مقدار حافظه فلش داره . و توی میکروکنترلر های AVR ، حداکثر 256kb میتونید بریزید.

حافظه EEPROM

نوشتن در این حافظه به صورت اختیاری هست و برای پاک کردن آن اشعه فرا بنفش لازم است D:

این کلمه مخفف Electrically Erasable and Programmable ROM است معنی آن نیز حافظه انعطاف پذیر و قابل برنامه ریزی است. این بخش مربوط به اطلاعاتی است که هنگام شروع برنامه ذخیره میشوند. مثلا در یک پروژه ساعت ما ساعت را تنظیم میکینم و اطلاعات ساعت را در حافظه ای پرام (EEPROM) ذحیره میکنیم. هنگامی که منبع اغذیه قطع شود این اطلاعات حذف میشوند. 

این بخش هم مثل حافظه Flash در هر میکروکنترلر یک اندازه خاص دارد. در میکروکنترلر های AVR حداکثر حافظه فلش 4 کیلو بایت است.

اگر میخواهید آردوینو را به صورت اصولی و پروژه محور (ساخت ربات، ارتباط با اندروید، اینترنت اشیا، برنامه نویسی حرفه ای) یاد بگیرید، حتما دوره آموزش آردوینو را مشاهده کنید.

حافظه SRAM

ما بهش میگیم اِس رم ، این کلمه مخفف Static RAM است و اطلاعات پردازش شده در این بخش ذخیره میشنوند.

RAM ها دو دسته اند :

  1. Dynamic داینامیک
  2. Static استاتیک

تفاوت این دو SRAM فقط در تکنولوژی ساخت آن ها است.

Clock

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

CPU

سی پی یو (CPU) مخفف Central Processing Unit است و وظیفه سی پی یو ، خواندن و گرفتن و Ececute است. همه برنامه ها و اطلاعاتی که توی میکروکنترلر ذخیره میکنیم با فرمان دادن کلاک ، توسط CPU خوانده میشوند.

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

Input / Output

به این قسمت “I/O” و “G” هم میگویند. با این قسمت میکروکنترلر با وسایل بیرون خود ارتباط برقرار میکند

ساختار فیزیکی میکروکنترلر AVR

میکروکنترلر های AVR ، دارای دو ساختار داخلی متفاوت هستند. DIP و SMD

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

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

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

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

ساختار فیزیکی میکروکنترلر AVR

دسته SMD ، ضخامت بسیار کمی دارند و فضای کمی از برد را اشغال میکنند. مشکل این دسته لحیم کاری سخت است. همچنین میکروکنترلر های SMD حساسیت زیادی نسبت به گرما دارند و اگر گرمای زیادی دریافت کنند امکان دارد که بسوزند.


دیتاشیت مگا 16
دیتاشیت مگا 16

در تصویر بالا ، دیتاشیت دو دسته را مشاهده میکنید.

  • پایه های GND به زمین وصل میشوند. (-)
  • پای های VCC و AVCC به منبع تغذیه 5 ولت وصل میشوند. (+)
  • پایه های XTAL1 و XTAL2 جهت اتصال به کریستال هستند.
  • پایه AREF در جهت استفاده در مقایسه کننده آنالوگ کاربرد دارند.

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

برنامه نویسی میکروکنترلر های AVR با استفاده از کامپیایلر های متفاوتی انجام میشود. از جمله این کامپیالر ها میتوان به بسکام، کدوِِیژن و اتمل استودیو اشاره کرد. بحث انتخاب زبان و کامپایلر مناسب برای برنامه نویسی میکروکنترلر های AVR بسیار طولانی است و در اهداف این مطلب قرار نمیگیرد. بنابراین آن را در یک مطلب جداگانه قرار داده ایم : بسکام، کدویژن یا اتمل استودیو؟ (آموزش انتخاب زبان و کامپایلر برنامه نویسی AVR) جلسه #6

سوالات متداول

AVR چیست؟

AVR اسم سری میکروکنترلر بسیار معروف شرکت اتمل است که در سال 1980 ساخته شده است. AVR در آن زمان تقریبا بهترین میکروکنترلری بود که دارای حافظه داخلی بود.

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

مانند میکروکنترلر ها، میکروکنترلر های AVR نیز دارای انواع مختلفی هستند مثل : ATTiny AVR ،  AT90S ، Atmega AVR ، Xmega AVR

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

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. مالکیتی بر مطالب ارائه شده ندارم. اکثر فعالیت بنده در زمینه ترجمه است. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

2 نظر

  1. با سلام و عرض تشکر از مطالب خوبتون
    در ابتدای این مبحث در مورد آی سی های eeprom این آی سی های با الکتریسیته قابل پاک شدن هستند که اشتباها با اشعه ماورای بنفش آمده است. با تشکر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *