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

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

میکروکنترلرهای AVR چندسالی هست که در کاربردهای دانشجویی ، آزمایشگاهی و صنعتی جای خود را گرفتن و در ایران هم به عنوان پرکاربرد ترین میکروکنترلر تا این تاریخ هستن و البته میکروکنترلرهای بروزتری مانند ARM و میکروکنترلرهای صنعتی تری مانند PIC هم در بازار ایران پرکاربرد هستن ولی میکروکنترلرهای AVR بیشتر در دانشگاه های ایران تدریس می شوند و از این روز بیشتر پروژه های دانشجویان بر مبنای میکروکنترلرهای AVR هستن.

مطالب مرتبط : آموزش های ARM

مطلب مرتبط برای آموزش میکروکنترلرهای PIC : آموزش PIC

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

حداقل اجزا لازم برای ارتباط CPU با دنیای خارج

  1. حافظه ROM  : شبیه به FLASH در AVR برای ذخیره برنامه نوشته شده و ثابت ها
  2. : RAM ذخیره موقت نتایج عملیات CPU
  3. : EEPROMشبیه به  Flashاما متفاوت ( 1-  ذخیره سازی اطلاعات تولیدی توسط کاربر  2-  تعداد دفعات خواندن/ نوشتن مشخص و موجود  در دیتاشیت )

مطلب مرتبط :انواع حافظه های پرکاربرد

حداقل اجزا لازم برای ارتباط CPU با دنیای خارج

تفاوت میکروپروسسورها و میکروکنترلرها

  1.  میکروپروسسورها در حقیقت همان پردازنده ها میباشند و فاقد اجزا و واحدهای جانبی میباشند، درحالیکه میکروکنترلرها دارای اجزا و واحدهای جانبی بسیار (مانند : تایمرها، حافظه ها ، ADCها و …) میباشند.
  2.  پردازنده ها دارای سرعت اجرای بیشتری در “دستور العمل بر واحد زمان” میباشند.
  3.  میکروکنترلرها عمدتا برای کنترل فرآیندها مورد استفاده قرار میگیرند، در حالیکه پردازندهها برای اجرای عملیات پردازشی مورد استفاده قرار میگیرند.
  4.  دقت در میکروکنترلرها بر خلاف پردازندهها در سطح بیت وجود دارد.

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

  • G8xx : Motorola
  •  PIC : Microchip
  •  8061 : Intel
  •  AVR : ATMEL و  : ARMمتداولترین میکروکنترلرها در بازار ایران
  • NXP : LPC ARM
  • و ده ها شرکت دیگر
مطلب پیشنهادی:  مجموعه مقالات آموزش میکروکنترلرهای AVR

مزیت میکروکنترلرهای AVR  : توان انجام محاسبات ریاضی و مثلثاتی با سرعتی بالاتر نسبت به پردازندههای قدیمیتر  8بیتی

نکته مهم : شرکت اتمل توسط شرکت میکروچیپ خریداری شده و از این رو به احتمال زیاد در این به بعد لوگوی میکروچیپ را روی میکروکنترلرهای Avr خواهیم دید.

تقسیم بندی AVR

  • سری ATTINY AVR  :  ابعاد کوچک، توان مصرفی کم، تعداد پایه ها کم، فرکانس کاری پایین، حداقل ویژگی ها
  • سری کلاسیکAT90  : ابعاد متوسط، توان مصرفی متوسط ، تعداد پایه ها متوسط ، فرکانس کاری نسبتا وسیع قابلیت معمولی
  • سری   ATMega  بزرگترین ابعاد، بیشترین پایه، بیشترین مصرف انرژی، منبع فرکانسی بیشتر، حداکثر قابلیت
  • سری  XMega   با قابلیت های بیشتر نسبت به  ATMega  و بهبود مشخصات

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

  1.  Low-level  :  اسمبلی ، دانش فنی بالاتر – نزدیک به سطح سخت افزار، مفهومی مفید، دارای استفاده کننده های خاص و کاربردهای ویژه.
  2.  High-level  :   بیسیک و  ، C دانش فنی محدودتر – نزدیک به زبان کاربر

مطلب مرتبط :بهترین زبان های برنامه نویسی

معماری پردازنده ها

  1.   CISC یا  Complex Instruction Set Computing تعداد دستورالعمل های زیاد و پیچیده، برنامه نویسی ساده، سرعت اجرای پائین
  2.  RISC  یا Reduced Instruction Set Computing تعداد دستورالعمل های کم و ساده، برنامه نویسی پیچیده، سرعت اجرای بالا

مطلب مرتبط :  معرفی معماری RISC در پردازنده های ARM

مطلب پیشنهادی:  برنامه نویسی میکروکنترلر هاي AVR به زبان C توسط نرم افزار CodeVision

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

  • Flash SRAM EEPROM
  • Clock CPU Watch Dog Timer
  • Interrupt
  • Controller
  • ADC AC
  • Timer
  • SPI USART
  • JTAG GPIO
  • TWI

منابع   Clock

  •  اسیلاتور داخلی  مبتنی بر مدار  ، RC ناپایدار
  •   اسیلاتور داخلی با  RCخارجی
  •   اسیلاتور داخلی با اتصال کریستال رزوناتور
  •   اسیلاتور داخلی با اتصال کریستال فرکانس پایین
  •   اسیلاتور خارجی

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

فیوزبیت  چیست؟

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

  تفاوت کریستال خارجی و کلاک خارجی AVR

تفاوت کریستال خارجی و کلاک خارجی AVR

حداکثر  Clock در  AVR

حداکثر  Clock در  AVR برابر  16 MHz و در برخی خانواده ها تا  20 MHZ

بحث   Overclock گارانتی عملکرد بخشهای مختلف توسط شرکت

 سرعت اجرای دستورالعمل در AVR

سرعت اجرای دستورالعمل در فرکانس MIPS = Mega Instruction Per Second 16 MIPS : 16 MHz

نکته مهم :  هدف از    Clock  ایجاد هماهنگی بین واحدهای مختلف درون  CPUبرای اجرای عملیات

نکته مهم :  کلاک در  FPGA در محدوده   GHz است. مطلب مرتبط:  آموزش FPGA

انواع حافظه  در میکروکنترلر AVR

: Flash -1سرعت بالات ،vهزینه پایینتر ، ظرفیت بالاتر ذخیرهسازی برنامههای اجرایی

: SRAM -2سرعت بالاتر، هزینه بالا، فرار ذخیره نتایج عملیات  CPUو …

: EEPROM -3تأخیر زیاد، هزینه بالای نگهداری دادههای کاربردی که با قطع برق از بین نمیروند.

تقسیم  SRAM به ناحیه های مختلف

  • – رجیسترهای R0…R31
  • – رجیسترهای I/O
  • Date Stack
  • – متغیرهای عمومی
  • Hardware Stack
مطلب پیشنهادی:  AVR یا PIC؟ کدام میکروکنترلر را برای پروژه‌ها انتخاب کنیم؟

چندتا نکته در مورد حافظه ها :

  •   امکان افزودن  SRAM خارجی در برخی از شماره ها
  •  برخی شماره ها  SRAMندارند ()ATTiny 11
  •  ظرفیت  SRAMبه صورت شماره در برخی از سری ها : /…ATMega 16/32

توان مصرفی در میکروکنترلر AVR

  • محدوده تغذیه : معمولا  4.5 Vتا  5.5 Vدر ATMega16
  • با پسوند L : مصرف توان کمتر، فرکانس کاری کمتر ،  2.8 V ، ATMega16Lتا 8MHz ، 5 V
  • بدون پسوند L  : مصرف توان بیشتر، فرکانس کاری بالاتر ،  4.5 V ، ATMega16تا 16MHz ، 5 V
  • اخیرا سری  Aترکیبی از مزایای هر دو سری
  • برخی سری ها از  1.8 Vتا 5.5 V
  • شماره ای موجود است با تغذیه ATTiny43u  0.7 V
  • در کارهای صنعتی :  4 V : ATMega16/32 HVBتا  18 V؛ داری رگولاتور داخلی

میکروکنترلر AVR  با محدوده ی دمایی گسترده : Automative AVR

GPIO یا I/O وجود آدرس منحصر به فردی در فضای  SRAMبرای هر پایه  I/Oکه در صورت نوشتن اطلاعات در این فضاها نتیجه به صورت سخت افزاری بر روی پایه مورد نظر منعکس خواهد شد.

Timer شمارش از طریق کلاک داخلی سیستم یا کلاک خارجی و یا تقسیم شده آنها. با سپردن عملیات زمانسنجی به واحد  Timerمیتوان بار پردازشی  CPUرا کاهش داد.

و امکانات خیلی بیشتر

دوستان عزیز بقیه مقاله آموزش میکروکنترلر AVR  را بصورت PDF از لینک زیر دانلود ومطالعه کنید:

دانلود مقاله بصورت PDF و با حجم 10 مگابایت

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

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

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

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

یک دیدگاه

  1. سید محمود عقیلی

    بسیار عالی توصیح دادید ممنون