دوره آموزش کاربردی میکروکنترلر AVR, AVR, توصیه شده, میکروکنترلر

خلاصه‌ای از کلیه امکانات موجود در AVR

آموزش کاربردی AVR قسمت 5

در این جلسه از آموزش AVR قصد داریم برای ایجاد یک دید کلی از قسمت سخت‌افزاری AVR  توضیحاتی ارائه کنیم.

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

امکانات AVR

 

Cpu تحت فرمان clock است که کلاک می‌تواند داخلی و از منابع اسیلاتورهای داخلی تأمین بشود یا از اسیلاتورهای خارجی تأمین شود.CPU

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

ممکن است در جریان اجرای برنامه، دیتایی ایجاد شود که در SRAM داخلی می‌تواند ذخیره شود.

 

نکته: در شماره‌های خاصی از AVR امکان اتصال حافظه و SRAM خارجی وجود دارد

 

 

  • واحد EEPROM

اطلاعاتی که لازم هست ذخیره بشود به‌نحوی‌که با قطع پاور و تغذیه میکروکنترلر پاک نشود، می‌تواند در بخش EPROM یا EEPROM ذخیره شود.

 

 

  • واحد Timmer

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

به حالت دوم اصطلاحاً counter یا event counter گفته می‌شود.

شاید برای شما مفید باشد: آموزش الکترونیک

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

 

 

  • واحد وقفه یا Intrrupt

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

روش دوم این است که بعد از رسیدن تایمر به مقدار مشخصی، بیتی در فضای I/O (در جلسات توضیح دادیم که فضایی تحت عنوان I/O هست که ارتباط cpu و سخت‌افزارهای جانبی را امکان‌پذیر می‌کند) برای تایمر مشخص شده است که مقدارش یک می‌شود.

حال ورش وقفه به این صورت است که در صورت تنظیمات خاصی که مجوز ایجاد وقفه تایمر را مشخص می‌کند، به‌محض یک شدن آن بیت روند اجرای برنامه در حافظه FLASH متوقف می‌شود و cpu برنامه را به‌جای اجرای خطوط بعدی در FLASH از یک آدرس مشخصی استفاده می‌کند که در آن آدرس مشخص، برنامه‌ای که شما نوشته‌اید موجود است.

این موضوع در جلسات بعدی مفصل توضیح داده می‌شود.

این روش مقابل روش Polling است. در روش polling دائماً cpu به تغییرات مدنظرش مراجعه می‌کند و اشکال روش polling این است که cpu را اشغال می‌کند.

 

  • واحد USART/TWI/SPI

این 3 روش USART/TWI/SPI پروتکل‌های ارتباط سریال هستند. بسته به نوع وسایل جانبی مثل سنسورها، چیپ‌ها و… از یکی از این 3 پروتکل برای ارتباط با AVR استفاده می‌شود.

 

 

  • بلوک‌های ADC/AC

مبدل آنالوگ به دیجیتال ADC در خانواده AVR دقت 10 بیتی دارد. سیگنال‌های آنالوگ از خارج از طریق واحد ADC به AVR فرستاد می‌شود.

بلوک AC مقایسه‌کننده آنالوگ هست که مقدار ورودی آنالوگ را با مقدار مشخصی مقایسه می‌کند و CPU می‌تواند از وضعیت مقایسه اطلاع پیدا کند.

این واحد از لحاظ سرعت از واحد ADC سریع‌تر است و می‌تواند عملیات بیشتری را انجام دهد.

 

  • واحد GPIO

GPIO

به معنای ورودی خروجی یا همان I/O است

 

 

  • واحد JTAG

از این واحد به‌منظور خطایابی، Debugging و برای ارتباط پروگرامر و اطلاع از وضعیت سخت‌افزاری میکروکنترلر است.

 

  • واحد Watchdog Timmer

این واحد به‌منظور تشخیص صحت عملکردی CPU امکان فعال‌سازی دارد به این صورت که در فواصل زمانی مشخصی اگر توسط CPU تریگر به Watchdog Timmer ارسال شود Watchdog متوجه می‌شود که CPU به شکل صحیح در حال انجام‌وظیفه خودش است.

اما اگر این اتفاق نیفتد، Watchdog یک reset  ایجاد می‌کند.

اگر نویز به حدی باشد که Watchdog از کار بیفتد، این واحد دیگر مفید و کارآمد نخواهد بود.

 

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

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

1 دیدگاه در “خلاصه‌ای از کلیه امکانات موجود در AVR

  1. Avatar for امید امید گفت:

    امکانات ave در برابر هم نوع های هشت بیتی دیگه واقعا عالیه، مشکل کار avr تو سری های مگا ۸ و مگا ۱۶ بود که هر دو از یه معماری استفاده میکردند که به نویز بسیار حساس بودن، در مقابل سری مگا ۸۸ و ۱۶۸ و ۳۲۸ اومدن که جایگزین بسیار خوب اونا اما گرونتر بودن، مخصوصا در جریان کشی ۱ میلی آمپری و کم نویز پذیر بودن. اما باز مشکل نویز پذیری باقی مونده. اگه میتونستم یه فیلم میزاشتم یه بورد با مگا هشت و یه بورد با مگا ۸۸, عملا و علنا با یک برنامه مگا ۸ کارایی خودشو از دست میده اما مگا ۸۸ ادامه میده، هر چند اختلال پیش میاد اما باز مگا ۸۸ بهتر عمل میکنه، در ضمن گفته بشه همه کارهای رفع نویز حی در پایه ریست انجام شده.

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

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