کامپیوترونیک رو معرفی کن و کسب درآمد کن!
میکروکنترلرهای AVR یک خانواده از ریزکنترلگرهای هشت بیتی هستند که از سال ۱۹۹۶ توسط شرکت Atmel توسعه داده شده اند. این ریزکنترلگرها به خاطر دارا بودن قابلیت برنامهنویسی توسط کامپایلر زبانهای برنامهنویسی سطح بالا، مورد توجه قرار میگیرند
30 ساعت
طبق سرفصل استاد
پرسش و پاسخ آنلاین
کامپیوترونیک
خانواده های میکروکنترلرهای AVR
میکروکنترلرهای AVR را می توان به چهار خانواده اصلی تقسیم کرد: tiny AVR، mega AVR، xmega و ۳۲ بیتی AVR. هر خانواده دارای ویژگی ها و امکانات مختص به خود است که در ادامه به آنها اشاره می کنیم.
خانوادۀ tiny AVR
این خانوده از لحاظ امکانات در پایین ترین سطح در بین میکروکنترلرهای AVR قرار دارند. این میکروکنترلرها دارای حافظه فلش کمتر از ۸ کیلوبایت، حافظه SRAM کمتر از ۵۱۲ بایت و حافظه EEPROM کمتر از ۲۵۶ بایت هستند. همچنین تعداد پین های این میکروکنترلرها بین ۶ تا ۳۲ عدد است. این میکروکنترلرها برای کاربردهای ساده و کم حجم مناسب هستند.
خانوادۀ mega AVR
میکروکنترلرهای این خانواده دارای امکانات متوسط هستند. این میکروکنترلرها دارای حافظه فلش بین ۴ تا ۲۵۶ کیلوبایت، حافظه SRAM بین ۲۵۶ تا ۱۶ کیلوبایت و حافظه EEPROM بین ۱۲۸ تا ۴ کیلوبایت هستند. همچنین تعداد پین های این میکروکنترلرها بین ۲۸ تا ۱۰۰ عدد است. این میکروکنترلرها برای کاربردهای متوسط و پیچیده مناسب هستند.
خانوادۀ xmega
این خانواده نسبت به سه خانوادۀ قبلی جدیدتر و امکانات آن از خانواده های قبلی بیشتر است. این میکروکنترلرها دارای حافظه فلش بین ۱۶ تا ۳۸۴ کیلوبایت، حافظه SRAM بین ۱ تا ۳۲ کیلوبایت و حافظه EEPROM بین ۵۱۲ تا ۴ کیلوبایت هستند. همچنین تعداد پین های این میکروکنترلرها بین ۴۴ تا ۱۰۰ عدد است. این میکروکنترلرها برای کاربردهای پیشرفته و حرفه ای مناسب هستند.
خانوادۀ ۳۲ بیتی AVR
نام میکروکنترلرهای ۳۲ بیتی AVR با AT32 یا ATU شروع می شود. این میکروکنترلرها دارای حافظه فلش بین ۶۴ تا ۵۱۲ کیلوبایت، حافظه SRAM بین ۱۶ تا ۶۴ کیلوبایت و حافظه EEPROM بین ۵۱۲ تا ۲ کیلوبایت هستند. همچنین تعداد پین های این میکروکنترلرها بین ۴۸ تا ۱۴۴ عدد است. این میکروکنترلرها برای کاربردهای بسیار پیشرفته و نیازمند قدرت پردازش بالا مناسب هستند.
ویژگی های میکروکنترلرهای AVR
میکروکنترلرهای AVR دارای ویژگی هایی هستند که آنها را از سایر ریزکنترلگرها متمایز می کنند. برخی از این ویژگی ها عبارتند از:
– دارا بودن معماری RISC (Reduced Instruction Set Computer) که باعث می شود هر دستور در یک چرخه ساعت اجرا شود و سرعت پردازش بالا باشد.
– دارا بودن حافظه فلش قابل برنامه ریزی در خود میکروکنترلر که باعث می شود نیازی به حافظه خارجی برای ذخیره برنامه نباشد.
– دارا بودن قابلیت ISP (In System Programming) که امکان برنامه ریزی میکروکنترلر را بدون نیاز به خارج کردن آن از برد می دهد.
میکروکنترلرها از اجزای زیر تشکیل شدهاند:
پردازنده: قسمتی است که دستورات برنامه را اجرا میکند و عملیاتهای ریاضی و منطقی را انجام میدهد. پردازنده میتواند از نوع 8 بیتی، 16 بیتی، 32 بیتی و 64 بیتی باشد. هر چه تعداد بیتهای پردازنده بیشتر باشد، قدرت و سرعت آن بیشتر است.
حافظه: قسمتی است که دادهها و برنامهها را ذخیره میکند. حافظه میتواند از نوع ROM یا RAM باشد. ROM نوعی حافظه ثابت است که دادهها و برنامههای اولیه را نگه میدارد و قابل تغییر نیست. RAM نوعی حافظه موقت است که دادهها و برنامههای در حال اجرا را نگه میدارد و قابل تغییر است. هر چه حجم حافظه بیشتر باشد، ظرفیت ذخیرهسازی بیشتر است.
ورودی-خروجی: قسمتی است که میکروکنترلر را به دستگاهها و سنسورهای خارجی متصل میکند و امکان ارسال و دریافت دادهها را فراهم میکند. ورودی-خروجی میتواند از نوع آنالوگ یا دیجیتال باشد. آنالوگ نوعی ورودی-خروجی است که سیگنالهای متغیر با مقادیر متفاوت را پشتیبانی میکند. دیجیتال نوعی ورودی-خروجی است که سیگنالهای ثابت با مقادیر صفر و یک را پشتیبانی میکند.
تایمر: قسمتی است که میکروکنترلر را به زمان متصل میکند و امکان ایجاد و کنترل سیگنالهای متناوب و تاخیرها را فراهم میکند. تایمر میتواند از نوع شمارنده یا مقایسهکننده باشد. شمارنده نوعی تایمر است که تعداد پالسهای ورودی را میشمارد و بر اساس آن عمل میکند. مقایسهکننده نوعی تایمر است که مقدار شمارنده را با مقدار تنظیم شده مقایسه میکند و بر اساس آن عمل میکند
دارا بودن قابلیت ICP (In Circuit Programming) که امکان برنامه ریزی میکروکنترلر را با استفاده از یک برنامه ریزی (In Circuit Programming) که امکان برنامه ریزی میکروکنترلر را با استفاده از یک برنامه ریز خارجی می دهد.
– دارا بودن قابلیت JTAG (Joint Test Action Group) که امکان اشکال زدایی میکروکنترلر را با استفاده از یک ابزار خارجی می دهد.
– دارا بودن قابلیت DebugWire که امکان اشکال زدایی میکروکنترلر را با استفاده از یک پین واحد می دهد.
– دارا بودن قابلیت Bootloader که امکان بارگذاری برنامه به میکروکنترلر را از طریق رابط های مختلف مانند UART، SPI، I2C و USB می دهد.
– دارا بودن تایمرها، شمارنده ها، PWM ها، ADC ها، DAC ها، USART ها، SPI ها، I2C ها، USB ها، CAN ها، LIN ها، Ethernet ها و سایر ماژول های پردازش سیگنال و ارتباطات.
کاربردهای میکروکنترلرهای AVR
میکروکنترلرهای AVR به دلیل داشتن امکانات متنوع و قابلیت برنامه نویسی آسان، در بسیاری از کاربردهای الکترونیکی و صنعتی مورد استفاده قرار می گیرند. برخی از این کاربردها عبارتند از:
– سیستم های کنترلی و اتوماسیون صنعتی
– سیستم های رباتیک و هوش مصنوعی
– سیستم های امنیتی و نظارتی
– سیستم های اندازه گیری و تشخیص
– سیستم های مخابراتی و شبکه
– سیستم های مالتی مدیا و صوتی
– سیستم های مبتنی بر IoT (Internet of Things)
– سیستم های مبتنی بر واقعیت افزوده و واقعیت مجازی
– سیستم های آموزشی و تفریحی
نتیجه گیری
میکروکنترلرهای AVR یکی از پرکاربردترین و پرطرفدارترین ریزکنترلگرهای هشت بیتی و ۳۲ بیتی هستند که در بسیاری از کاربردهای الکترونیکی و صنعتی کاربرد دارند. این ریزکنترلگرها دارای معماری RISC، حافظه فلش قابل برنامه ریزی، قابلیت های برنامه ریزی و اشکال زدایی متنوع، ماژول های پردازش سیگنال و ارتباطات و سایر ویژگی های منحصر به فرد هستند. این مقاله به معرفی این خانواده از ریزکنترلگرها، انواع آنها، ویژگی ها و کاربردهای آنها پرداخت.
آیا می خواهید برای همه فعالیت ها، اعلان های پوش نوتیفیکیشن دریافت کنید؟