AVR, مقاله های سیسوگ, میکروکنترلر

AVR چیست؟ + تاریخچه و بررسی تخصصی و معرفی انواع AVR

AVR
AVR چیست؟

میکروکنترلر AVR توسط شرکت Atmel ساخته شده است و دارای مزایای خاصی نسبت به سایر تراشه‌ها است. به‌طورکلی، میکروکنترلر AVR نوعی چیپ قابل‌برنامه‌ریزی برای کنترل دستگاه‌هایی است که نیاز به ذخیره اطلاعات دارند.

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

به‌طورکلی، میکروکنترلر را می‌توان یک واحد یونیک بر روی تراشه کامپیوتر نامید که شامل چندین ابزار جانبی از جمله RAM ،EEPROM و TIMERS است که برای انجام یک تسک از پیش تعیین شده، ضروری هستند.

آیا می‌توان این گونه استنباط کرد که میکروکنترلر نام دیگری برای کامپیوتر محسوب می‌شود؟

جواب منفی است!

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

شاید برای شما مفید باشد: آموزش AVR از مقدماتی تا پیشرفته 100% رایگان

میکروکنترلرها دارای چند خانواده معروف و رایج هستند که در برنامه‌‌های گوناگون بر اساس توانایی انجام وظایف دلخواه استفاده می‌شوند. رایج‌ترین میکروکنترلرها شامل: 8051، AVR و PIC هستند.

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

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

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

در مادربرد یک ریزپردازنده قرار دارد که به‌وسیله آن می‌توان به هوشمندی، حافظه رم و EEPROM و سایر رابط‌های سیستم مثل پورت‌های USB، درایوهای دیسک و رابط‌های نمایشگر اشاره کرد. یک میکروکنترلر بیش‌تر این موارد از جمله CPU، پورت‌های ورودی و خروجی و حافظه رم یا ROM را در یک تراشه دارد؛ بنابراین به مادربرد نیازی نیست و بسیاری از اجزای سازنده، مثل LEDها، می‌توانند مستقیماً به میکروکنترلر AVR وصل شوند.

چرا AVR محبوب است؟

از جمله مهم‌ترین ویژگی‌‌های AVR سرعت بالای آن است. میکروکنترلر AVR بیش‌تر دستورات را در یک سیکل کاری اجرا می‌کند. میکروکنترلرهای AVR حدود 4 برابر سریع‌تر از میکروکنترلرهای PIC ‌هستند. به‌علاوه، آن‌ها انرژی کم‌تری مصرف می‌کنند و می‌توانند در حالت‌‌های گوناگون ذخیره توان کار کنند. در جدول زیر مقایسه‌ای بین سه خانواده معروف میکروکنترلرهای AVR آمده است.

۸۰۵۱

PIC

AVR

سرعت

کم

متوسط

سریع

حافظه

کوچک

بزرگ

بزرگ

معماری

CISC

RISC

RISC

ADC

ندارد

داخلی

داخلی

زمان سنج

داخلی

داخلی

داخلی

کانال‌های PWM

ندارد

داخلی

داخلی

AVR یک میکروکنترلر 8 بیتی متعلق به خانواده RISC است. در معماری RISC، مجموعه دستورات کامپیوتر از نظر تعداد کمتر است و از نظر اجرایی نیز ساده‌تر و سریع تر می‌باشد.

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

اگر به دنبال یادگیری AVR هستید. میتوانید دوره آموزش AVR سیسوگ که در سه بخش تولید و ارائه شده است را مطالعه نمایید.

آموزش برنامه نویسی میکروکنترلر avr جزوه PDF و ویدئو

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

تاریخچه میکروکنترلر avr

میکروکنترلر AVR خانواده‌ای از میکروکنترلرها است که در سال 1996 به‌وسیله Alf-Egil Bogen و Vegard Wollan دو محقق نروژی طراحی شد و در شرکت ATMEL ساخته شد. اسم این میکروکنترلر از مخفف اسم طراحان آن گرفته شده است. اولین میکروکنترلری که بر اساس طراحی AVR ساخته شد، مدل AT90S8515 بود. در نهایت، میکروکنترلر AT90S1200 در سال 1997 وارد بازار شد، تا این زمان میکروکنترلرهای AVR هنوز ناشناخته بود.

در سال 2016، میکروکنترلر AVR به‌وسیله Microchip Technology خریداری شد. به‌طورکلی، AVR یکی از اولین خانواده‌های میکروکنترلر بود که برخلاف میکروکنترلرهای دیگر که از حافظه ROM ،EPROM یا EEPROM با قابلیت تنها یک‌بار برنامه‌نویسی استفاده می‌کردند، از حافظه فلش بر روی تراشه برای ذخیره برنامه استفاده کرد.

ویژگی‌های میکروکنترلر AVR چیست؟

میکروکنترلر AVR دارای ویژگی‌های منحصربه‌فردی است؛ این ویژگی‌ها عبارت است از:

  • ذخیره‌سازی برنامه: یکی از مهم‌ترین ویژگی‌های این میکروکنترلر نسبت به میکروکنترلرهای دیگر، امکان ذخیره‌سازی برنامه است. در سایر پردازنده‌ها بعد از یک‌بار نوشتن برنامه دیگر امکان برنامه‌نویسی وجود ندارد و باید برنامه را پاک کرد و مجدد از ابتدا نوشت.
  • توانایی انتقال پایه‌های واحد داخلی از یک پورت به پورت دیگر
  • اجرای سیستم‌عامل‌های خاص به‌وسیله یک میکروکنترلر قابلیتی است که در میکروکنترلرهای AVR پیشرفته دیده می‌شود.
  • این میکروکنترلر امکان تبدیل چند ولتاژ آنالوگ به دیجیتال را فراهم می‌کند.
  • عملیات در این میکروکنترلر به علت استفاده از MCU یا Master Control Unit توانسته است حافظه فلش را افزایش دهد.
  • قابلیت آپدیت (به‌روزرسانی) در میکروکنترلر AVR فراهم شده است.
  • در این میکروکنترلر، هماهنگی میان اجزا بسیار بالاست.
  • این امکان وجود دارد که کدهایی در میکروکنترلر AVR استفاده شوند که سایز کوچکی دارند؛ در نتیجه، سرعت پردازش بالا می‌رود.
  • در این میکروکنترلر از سخت‌افزار ضرب‌کننده استفاده شده است.
  • همه اجزای AVR در یک فضای کوچک چند سانتی‌متری گنجانده شده‌اند و همین امر سبب می‌شود که این ابزار، کاربردی باشد.

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

میکروکنترلر AVR از اجزای مختلفی تشکیل شده است. واحد پردازش مرکزی به‌عنوان مغز میکروکنترلر شناخته می‌شود و وظیفه رمزگشایی دیتا را بر عهده دارد. همه کدها و برنامه‌ها در حافظه ذخیره می‌شوند. همچنین، حافظه میکروکنترلر AVR از نوع RAM،ROM یا حافظه فلش است. پورت‌های ورودی و خروجی برای اتصال به دستگاه‌ها به کار می‌روند. علاوه بر این موارد، در این میکروکنترلر یک یا چند تایمر، زمان‌بندی و شمارش پالس خارجی، توابع کلاک، اندازه‌گیری فرکانس، عملیات اصلی تولید پالس و… را کنترل می‌کنند.

یکی دیگر از اجزای آن مبدل آنالوگ به دیجیتال (و برعکس) است. ADC سیگنال آنالوگ را به دیجیتال تبدیل می‌کند و این سیگنال‌ها برای برنامه‌های جانبی استفاده می‌شوند. در مقابل، مبدل دیگری وجود دارد که سیگنال دیجیتال را به آنالوگ تبدیل می‌کند که این سیگنال‌ها در دستگاه‌های آنالوگ موتورهای DC کاربرد دارند. بخش کنترل کلاک ورودی، مقایسه آنالوگ، واحد کنترلر نمایشگر و بلوک‌های عملکرد خاص نیز از اجزای دیگر میکروکنترلر هستند.

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

معماری AVR

میکروکنترلر AVR مبتنی بر معماری RISC است و شامل رجیسترهای فعال همه‌منظوره 32 x 8-bitمی‌باشد. در یک سیکل کلاک، میکروکنترلر AVR می‌تواند ورودی‌ها را از دو رجیستر همه‌منظوره دریافت کرده و آن‌ها را در ALU قرار دهد تا عملیات موردنظر انجام شود و نتیجه را به رجیستر دلخواه بازگرداند. ALU می‌تواند عملیات‌‌های منطقی و حسابی را بر روی ورودی‌‌های رجیستر و یا بین رجیستر و یک ثابت، انجام دهد. عملیات‌‌های رجیستری واحد مثل مکمل گرفتن نیز می‌توانند در ALU اجرا شوند.

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

AVR قادر به اجرای سیکل واحد می‌باشد، یعنی می‌تواند 1 میلیون دستور در ثانیه انجام دهد، البته اگر فرکانس سیکل 1 مگاهرتز باشد. هرچه میزان فرکانس عملیاتی میکروکنترلر بیش‌تر باشد، سرعت پردازش آن نیز بیش‌تر خواهد بود. ازآنجایی‌که مصرف توان با سرعت پردازش بهینه می‌شود، بنابراین باید فرکانس عملیاتی را متناسب با آن انتخاب کنیم.

میکروکنترلر Atmega 16 دو حالت دارد که عبارت‌اند از:

  • Atmega16: دامنه فرکانس عملیاتی بین 0 تا 16 مگاهرتز
  • Atmega16L: دامنه فرکانس عملیاتی بین 0 تا 18 مگاهرتز

دیاگرام حافظه AVR

معماری Atmega 16

در زیر بلوک‌‌های سازنده معماری Atmega16 را بررسی کرده‌ایم:

  • پورت‌‌های I/O :Atmega 16 دارای چهار پورت ورودی خروجی 8 بیتی می باشد که عبارت اند از: PORTA،PORTB ، PORTC و PORTD.
  • اسیلاتور کالیبره داخلی: Atmega 16 دارای یک اسیلاتور داخلی جهت تحریک کلاک خود است. به‌صورت پیش‌فرض، Atmega16 بر روی یک اسیلاتور کالیبره داخلی با فرکانس 1 مگاهرتز تنظیم شده است که حداکثر فرکانس این اسیلاتور داخلی می تواند 8 مگاهرتز می‌باشد. همچنین، ATmega16 می‌تواند با استفاده از اسیلاتور کریستالی خارجی با حداکثر فرکانس 16 مگاهرتز کار کند. البته در این حالت، باید فیوز بیت را تنظیم کرد.

دیاگرام معماری AVR

 

  • رابط ADC :Atmega16 مجهز به 8 کانال ADC (مبدل آنالوگ به دیجیتال) با رزولوشن 10-bits است.
  • شمارنده/تایمر:Atmega16 دارای دو شمارنده/تایمر 8 بیتی و یک 16 بیتی است. تایمرها برای تولید فعالیت‌‌های دقیق، مفید هستند؛ برای مثال، ایجاد تاخیر زمانی بین دو عملیات.
  • تایمرwatchdog : همراه با اسیلاتور داخلی است. این زمان‌سنج به‌صورت پیوسته بر میکروکنترلر نظارت دارد، تا اگر فعالیت اجرایی بیش از فاصله زمانی شخص دچار مشکل شود، آن را دوباره راه‌اندازی کند.
  • وقفه‌ها: Atmega16 شامل 21 منبع وقفه‌ است که ۴تای آن خارجی هستند. وقفه‌های‌ داخلی دیگری نیز وجود دارند که از ابزارهای جانبی مانند USART،ADC ، تایمر و… پشتیبانی می‌کنند.
  • :USART رابط انتقال‌دهنده، گیرنده هم زمان و غیرهم‌زمان همه‌منظوره است که در نقش رابط ارتباط سریال را دارد (انتقال بیت به بیت داده‌ها).
  • رجیسترهای همه‌منظوره: Atmega16 دارای 32 رجیستر همه منظوره می باشد که به طور مستقیم با واحد منطقی حسابی (ALU) CPU جفت شده است.
  • حافظه: Atmega16 شامل 3 بخش است که در ادامه به آن می پردازیم.
اجزای حافظه Atmega16
۱. Flash EEPROM: Flash EEPROM یا حافظه فلش ساده

به‌منظور ذخیره‌سازی برنامه‌ای استفاده می‌شود که به‌وسیله کاربر بر روی میکروکنترلر نوشته شده است. ذکر این نکته ضروری است که حافظه فلش فرار نیست؛ یعنی حتی اگر پاور خاموش هم شود، برنامه به کار خود ادامه می‌دهد. Atmega16 با فلش نوع EEPROM  با حافظه ۱۶ کیلوبیت، موجود است.

۲. EEPROM آدرس‌پذیر بایتی

یک حافظه غیرفرار جهت ذخیره‌سازی داده‌ها از جمله مقادیر متغیرهای خاص است. Atmega16 دارای EEPROM 515 Bytes است که جهت ذخیره‌سازی کد قفل برای  طراحی برنامه‌ای مانند قفل درب الکترونیکی، مفید است.

۳. SRAM

حافظه قابل‌دسترس ایستا است که حافظه فرار میکروکنترلر می‌باشد، یعنی با خاموش‌شدن منبع تغذیه، داده‌ها از بین می‌روند. Atmega16 دارای حافظه داخلی نوع SRAM با حجم 1 کیلوبایت است. سهم کوچکی از SRAM برای رجیسترهای همه‌منظوره‌ای که به‌وسیله CPU استفاده می‌شود و بعضی دیگر برای سیستم‌‌های فرعی ابزارهای جانبی میکروکنترلر، تنظیم شده است.

  • ISP: میکروکنترلر‌های خانواده AVR دارای حافظه فلش قابل پروگرام در سیستم یعنی ISPهستند و بدون حذف IC از مدار، قابل پروگرام هستند. هنگامی که میکروکنترلر در مدار قرار می‌گیرد،ISP امکان پروگرام مجدد آن را فراهم می‌کند.
  • SPI: شامل گذرگاه ارتباط جانبی سریال است که برای ارتباط سریال بین دو دستگاهی که منبع کلاک دارند، استفاده می‌شود. سرعت انتقال داده SPI بیش‌تر از USART است.
  • TWI: رابط دو سیمی است که برای تنظیم شبکه‌ای از دستگاه‌ها کاربرد دارد. دستگاه‌های بسیاری می‌توانند برای ایجاد یک شبکه بر روی رابط TWI متصل شوند. دستگاه‌ها به‌صورت هم‌زمان اقدام به انتقال و دریافت دیتا کرده و هر کدام آدرس منحصربه‌فردی دارند.
  • DAC: میکروکنترلر Atmega16 دارای رابط مبدل دیجیتال به آنالوگ (DAC) است که می‌تواند برای وارونه کردن فعالیت انجام شده به‌وسیله ADC استفاده می‌شود. از DAC هنگامی استفاده می‌شود که به تبدیل سیگنال دیجیتال به سیگنال آنالوگ نیاز باشد.

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

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

به‌طورکلی، میکروکنترلرهای AVR در چهار دسته اصلی مگا (mega)، تاینی (tiny)، تک منظوره و کلاسیک تقسیم‌بندی می‌شوند که در ادامه به بررسی هر یک می‌پردازیم.

۱. Tiny

تعداد پایه‌های خانواده TINY معمولاً بین 6 تا 14 پایه است. این مدل نسبت به مدل های دیگر میکروکنترلر AVR، از قابلیت‌های کمتری برخوردار است، اما با این وجود،CUP قوی ایی دارد و معمولاً برای عملیات های ساده و کم حجم، مناسب است.

مهم‌ترین قابلیت‌های خانواده TINY عبارت‌اند از:

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

 همچنین، بعضی از مهم‌ترین انواع این میکروکنترلر عبارت‌اند از: ‌ ATtiny 2313، ATtiny11،ATtiny13 .

۲. mega

میکروکنترلرهای mega دارای حافظه فلش 4 تا 512 کیلوبایت هستند که در مقایسه با سری Tiny، امکانات بیش تری دارد. یکی از مهم ترین خانواده های این نوع میکروکنترلر، خانواده ATmega است که در ادامه به بررسی برخی از مهم ترین میکروکنترلرهای این گروه می پردازیم.

  • میکروکنترلر Atmega8 AVR

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

کاربردها: اغلب برای ساخت پروژه‌های الکتریکی و الکترونیکی کاربرد دارد.

  • میکروکنترلر Atmega16 AVR

از 40 پین ایجاد شده است. همچنین، دارای حافظه فلش، سرعت 16MIPS ، 1 کیلوبایت رم و شش حالت صرفه جویی در مصرف انرژی می باشد.

کاربردها: در امبدد سیستم موبایل کاربرد دارد.

  • میکروکنترلر Atmega32 AVR

از 44 پین به همراه حافظه 32 بیتی ایجاد شده است. به علاوه، این مدل دارای حافظه فلش، سرعت 16 MIPS ، 2048 SRAM و محدوده ولتاژ 7/2 تا 5/5 ولت است.

کاربردها: در سیستم‌های بدون دخالت انسان کاربرد دارد و توسط امبدد سیستم روی موبایل کار می‌کند.

  • میکروکنترلر Atmega328 AVR

این سری دارای معماریRISC ، حافظه فلش 32 کیلوبایتی، حافظه SRAM ۲ کیلوبایتی، محدوده ولتاژ عملیاتی 8/1 تا 5/5 ولت و حافظه EEROM یک کیلوبایتی (حافظه فقط خواندنی با قابلیت پاک‌شدن) می‌باشد.

کاربردها: در سیستم‌های آردوینو، رباتیک، نظارت بر قدرت و مدیریت کاربرد دارد.

 

خانواده MegaAVR

میکروکنترلرهای مختلف سری‌‌ MegaAVR

ATmega16 و Atmega32 از اعضای دیگر خانواده میکروکنترلرهای سری megaAVR می‌باشند. MegaAVR از نظر معماری کاملاً شبیه به میکروکنترلر ATmega16 است.

جدول زیر مقایسه‌ای بین میکروکنترلرهای مختلف خانواده MegaAVR را نشان می‌دهد:

نام

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

(مگاهرتز)

پکیج

ATmega8

8KB1KB512B۲۳۳۱۹

4.5-5.5 V

0-16

۲۸

ATmega8L

8KB1KB512B۲۳۳۱۹

2.7-5.5 V

0-8

۲۸

ATmega16

16KB1KB512B۳۲۳۲۱

4.5-5.5 V

0-16

۴۰

ATmega16L

16KB1KB512B۳۲۳۲۱

2.7-5.5 V

0-8

۴۰

ATmega32

32KB2KB1KB۳۲۳۲۱

4.5-5.5 V

0-16

۴۰

ATmega32L

32KB2KB1KB۳۲۲۱۲۱

2.7-5.5 V

0-8

۴۰

۳. XMEGA

XMEGA

خانواده میکروکنترلرهای XMEGA بزرگ‌ترین طیف محصولات کاملاً سازگار را در اختیار شما قرار می‌دهد که تمامی آن‌ها دارای قابلیت‌های خوبی هستند. همه دستگاه‌های این سری با فناوری Microchip picoPower®  طراحی شده‌اند.

این سری از خانواده‌های میکروکنترلر AVR دارای حافظه فلش بین 16 تا 386 کیلوبایت می باشند.

از جمله مهم‌ترین ویژگی‌های این سری عبارت‌اند از:

  • MCU کم‌مصرف
  • محدوده حافظه بزرگ‌تر
  • جریان کمتر در حالت خواب هم‌زمان با داشتن شمارنده Real تایم (RTC)
  • حفظ کامل SRAM جهت زمان واکنش سریع

همچنین، بعضی از مهم‌ترین مدل‌های این سری عبارت‌اند از:

  • ATXmega 32
  • ATXmega64
  • مدل 128

شاید برای شما مفید باشد: آموزش XMEGA از مقدماتی تا پیشرفته

۴. کلاسیک

سری کلاسیک یا AT90S اولین سری میکروکنترلرهای AVR است. از نظر امکانات چیزی بین سری‌های Tiny و mega است. بعضی از مهم‌ترین مدل‌های این مدل عبارت‌اند از:

  • AT90S1200
  • AT90S2313
  • AT90S2323
  • AT90S8534

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

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

میکروکنترلرهای AVR بسته های گوناگونی دارند که بعضی برای نصب از راه سوراخ و بعضی دیگر نیز برای نصب روی سطح طراحی شده اند. این میکروکنترلرها از 8 پین تا 100 پین در دسترس هستند، البته اگر AVR از 64 پین بیش تر باشد، فقط برای نصب روی سطح مناسب است. ریزپردازنده های رایانه های شخصی حداقل 32 بیتی هستند، البته امروزه رایانه ها اکثرا 64 بیتی ساخته می شوند؛ بنابراین آن ها می توانند دیتا را به صورت قطعه های 32 بیتی یا 64 بیتی پردازش کنند. میکروکنترلر AVR بسیار ساده تر از این رایانه ها است و با دیتاهای 8 بیتی سروکار دارد، چرا که پهنای گذرگاه آن 8 بیتی است، البته در حال حاضر، یک AVR32 با پهنای گذرگاه 32 بیتی و یک خانواده ATxmega با پهنای گذرگاه داده 16 بیتی وجود دارد.

یک رایانه شخصی دارای سیستم‌عامل (ویندوز یا لینوکس) است و برنامه‌های بسیار زیادی مثل Word یا Internet Explorer یا Chrome را اجرا می‌کند و در کل کارهای زیادی را می‌تواند انجام دهد؛ اما یک میکروکنترلر 8 بیتی AVR معمولاً سیستم‌عامل ندارد، البته در صورت نیاز می‌تواند یک سیستم ساده را اجرا کند.

همان‌طور که اگر روی رایانه شخصی خود هیچ برنامه‌ای نصب نکنید، رایانه شما بی‌فایده خواهد بود، برای میکروکنترلر AVR نیز همین‌طور است و شما باید بر روی AVR نیز یک برنامه نصب‌کرده باشید تا بتوانید از آن استفاده کنید. این برنامه به‌جای ذخیره در درایو خارجی در حافظه داخلی AVR ذخیره می‌گردد.

تفاوت AVR و ARM

در جدول زیر تفاوت‌های اصلی میکروکنترلرهای AVR و ARM آورده شده است:

پارامتر

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

میکروکنترلر  ARM

نام کامل

AVR مخفف”Alf and Vegard’s RISC processor” یا “Advanced Virtual RISC” است.

ARM مخفف Advanced RISC Machine است.

عرض باس

میکروکنترلرهای AVR دارای عرض باس 8 بیتی هستند. همچنین، در عرض باس 32 بیتی نیز موجود است.

میکروکنترلرهای ARM دارای عرض باس 32 بیتی هستند. همچنین، در عرض باس 64 بیتی نیز موجود است.

توسعه‌دهنده

شرکت Atmel

Acorn Computers

تاریخ عرضه

سال 1997

سال 1983

پروتکل‌های ارتباطی

میکروکنترلرهای AVR دارای پروتکل‌های ارتباطی UART، USART، SPI و I2C می‌باشند.

میکروکنترلرهای ARM دارای پروتکل‌های ارتباطی UART، USART، I2C، I2S، LIN، CAN، USB، Ethernet، SAI و DSP می‌باشند.

حافظه

میکروکنترلرهای AVR دارای حافظه‌های SRAM، Flash Memory و EEPROM هستند.

میکروکنترلرهای ARM دارای حافظه‌های SDRAM، Flash Memory و EEPROM هستند.

ویژگی‌های منحصربه‌فرد

قیمت ارزان و عملکرد بالا

سرعت بالا

تجهیزات جانبی

تعداد کمی تجهیزات جانبی دارد.

تعداد زیادی لوازم جانبی دارد.

پردازش بلادرنگ (Real time)

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

میکروکنترلرهای ARM برای کاربردهای پردازش بلادرنگ مناسب هستند.

مناسب برای

کاربردهای عمومی

کاربردهای تخصصی

مصرف برق

انرژی کمتری مصرف می‌کند.

نسبت به AVR انرژی بیش‌تری مصرف می‌کند.

قیمت

نسبتاً ارزان‌قیمت است.

گران‌تر از AVR است.

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

ATmega 8/16/32، بردهای آردوینو و…

ARM Cortex-M0 تا ARM Cortex M7، LPC2148 و…

کاربردها

میکروکنترلر AVR در حوزه‌های مختلفی ازجمله رباتیک، لوازم‌خانگی و اداری، سیستم‌های اتوماسیون صنعتی، خودرو و غیره کاربرد دارد.

میکروکنترلر ARM در طیف وسیعی از حوزه‌ها، از امبدد سیستم‌های ساده گرفته تا سیستم‌های محاسباتی پیشرفته، کاربرد دارد.

منابع: https://www.engineersgarage.com و https://www.tutorialspoint.com

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

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

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

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