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

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

برای آشنایی به میکروکنترلر AVR, باید اول امکانات این تراشه را بشناسید و بعد از آشنایی آن بدانید که این خصوصیات در کدام نوع و مدل از تراشه ها استفاده شده است. در ادامه به این خصوصیات پرداخته شده است. شکل زیر نمایی کلی از یک تراشه AVR را به تصویر کشیده است که در مورد قسمت های پر کاربرد آن بحث خواهیم کرد.

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

مشخصات عمومی میکروکنترلرهای AVR

سرعت پردازش

سرعت پردازش اطلاعات یا فرکانس کار سیستم در واحد MIPS و MHZ (مگاهرتز) که بین 0 تا 20MHz متغییر است.

تعداد دستورالعمل

قابلیت اجرای چندین دستورالعمل در یک کلاک سیکل

رجیستر

رجیستر منبع ذخیره ای 8 بیتی که به صورت زیر تعریف می شود:

| Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |

نکته : کم ارزش ترین بیت با صفر شروع می شود (1=0^2)

تمامی میکروکنترلرها دارای 32 رجیستر 8 بیتی (R0 تا R31) هستند که همگی اکومولاتور بوده و با CPU به طور مستقیم در ارتباط اند.

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

حافظه FLASH

تراشه های AVR دارای حافظه ای برای نوشتن برنامه و قابل برنامه ریزی داخلی است, حافظه FLASH در میکروکنترلر AVR دارای قابلیت 10.000 بار نوشتن و پاک کردن می باشد. برای دسترسی به این حافظه از پروگرامر استفاده می شود. این حافظه قابلیت قفل شدن داشته که در قسمت نرم افزار با آن آشنا می شوید.

حافظه EEPROM

حافظه ای که می توان برای نگه داری بانک اطلاعاتی از آن استفاده کرد و قابل برنامه ریزی داخلی است, این حافظه در تراشه AVR دارای قابلیت 100.000 مرتبه نوشتن و پاک کردن می باشد. برای دسترسی به این حافظه همم از پروگرامر استفاده می شود و هم در برنامه می توان اطلاعات را به آن وارد کرد. قابلیت حفاظت در مواقعی که برنامه ای جدید را در FLASH پروگرام می کنید را داراست.

حافظه SRAM

حافظه SRAM یک RAM استاتیک بوده و بر خلاف رجیسترها به صورت مستقیم از طریق CPU قابل دسترسی نیستند. بیشترین استفاده SRAM در پشته (Stack) است.

پورت های I/O

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

ولتاژ کاری

مقدار ولتاژ تغذیه که نسبت نوع تراشه بین 1.5 تا 5.5 و یا 2.7 تا 5.5 و 4 تا 5.5 ولت متغییر بوده است.

نکته : هر چه ولتاژ کاری کمتر باشد, به همان نسبت فرکانس کار میکرو محدود است.

نکته : شماره میکروکنترلرهایی که در آخر آن ها حرف L قرار گرفته, ولتاژ و فرکانس کاری پایین دارند. به عنوان مثال میکروکنترلر ATmega8L.

پروتکل ارتباطی SPI

ارتباطی با پروتکل سریال – پر سرعت – سه سیمه که برای عملیات هایی همچون پروگرام و برنامه ریزی کردن حافظه های FLASH و EEPROM و یا ارتباط با یک میکروکنترلر دیگر به صورت SLAVE-MASTER مورد استفاده قرار می گیرد. پین های مورد استفاده برای این ارتباط به صورت زیر است:

پایه های مورد استفاده در پروتکل ارتباطی SPI با میکروکنترلر AVR

پروتکل ارتباطی UART

ارتباطی سریال و قابل برنامه ریزی که پین های مورد استفاده آن در دو حالت نرم افزاری و سخت افزاری قابل تغییر است. این ارتباط بیشتر برای ارتباط با کامپیوتر طراحی شده اما منطق کار این ارتباط TTL بوده, در صورتیکه ورودی سریال کامپیوتر از استاندارد RS-232 استفاده شده است. برای این کار باید از تراشه های مبدل سطح ولتاژ استفاده شود.

نکته : سطح ولتاژ در منطق TTL بین 0 تا 5V بوده و در پروتکل RS232 بین 15V- تا 15V+ می باشد.

نکته : پایه های مورد استفاده این ارتباط در میکروکنترلرهای AVR به نام TXD و RXD می باشد.

پروتکل ارتباطی WIRE INTERFACE – I2C

پروتکل ارتباطی سریال I2C ساخته شده توسط شرکت PHILIPS که در آن تنها از دو سیم برای ارتباط میان میکرو با وسایل جانبی استفاده شده است.

پروتکل ارتباطی WIRE INTERFACE - I2C

نکته : پین های مورد استفاده این پروتکل در میکروکنترلرهای AVR به نام SCL و SDA می باشد.

پروتکل ارتباطی 1-WIRE

یکی از جدیدترین پروتکل های استفاده شده در میکروکنترلرهای AVR, که توسط شرکت Dallas طراحی شده است. برعکس بقیه پروتکل ها, محدودیت کابل استفاده شده آن تا 30 متر افزایش یافته است.

پروتکل ارتباطی JTAG

پروتکل ارتباطی استاندارد IEEE که در ایران کمتر جا افتاده و قابلیت برنامه ریزی حافظه ها و فیوز بیت ها را دارد. یکی از مشخصات قابل توجه این ارتباط این است که در زمان حالت کار میکروکنترلر هم می توان از آن استفاده کرده و حافظه ها و فیوزبیت ها را تغییر داد.

تایمر – کانتر

زمان سنجی و شمارش با سرعت های قابل تنظیم و مدهای مختلف از جمله COMPARE و CAPTURE و PWM, که به دو نوع 8 بیتی و 16 بیتی در تراشه قرار گرفته است.

تولید پالس PWM

مخفف مدولاسیون پهنای پالس (Pulse Width Modulator) که در این نوع مدولاسیون میزان دامنه سیگنال ثابت بوده و پهنای پالس ها تغییر می کند. PWM یکی از حالت های کاری تایمر – کانتر بوده و پرکاربرد ترین موارد استفاده آن در کنترل سرعت موتورهای DC می باشد.

مبدل آنالوگ به دیجیتال 10 بیتی (ADC)

میکروکنترلرهای AVR دارای مبدل داخلی با وضوح 10بیت و به صورت مالتی پلکس شده تا 8 و در نمونه های جدید تا 16 ورودی (مانند پورت A) بوده و با سرعت تبدیل بالای بین 60 تا 260us می تواند ولتاژ بین صفر تا VCC را به مقدار عدی 0 تا 1023 تبدیل کند.

مقایسه کننده آنالوگ داخلی

دو پین از پایه های تراشه AVR به نام های AIN0 و AIN1 از نظر میزان ولتاژ (نسبت به زمین) روی آن ها مقایسه شده و در صورتی که برابر بودن پایه ای به نام ACO (خروجی مقایسه کننده) صفر می شود.

نکته : ولتاژ ورودی این دو پایه تا مقدار VCC مجاز خواهد بود.

ساعت دقیق REAL – TIME CLOCK – RTC

در صورتی که به یک ساعت دقیق و اتوماتیک در یک پروژه نیاز باشد از RTC استفاده می شود. RTC یکی از حالت های تایمر – کانتر دو بوده که تنها بعضی از میکروها نظیر ATmega32, ATmega103, AT90S8535, ATmega128 قابل اجراست. RTC نیاز به اتصال جداگانه کریستال به میکرو دارد (کریستال 32.768Hz).

سگ نگهبان WATCHDOG

در معنای لغت, سگ نگهبان نام گرفته است و در حقیقت تایمری با اسیلاتور مجزا بوده و با برنامه ریزی آن و مقداردهی به آن, پس از گذشت زمان دلخواه میکرو ریست می کند.

حالت های SLEEP

انواع حالت های SLEEP که هر نوع میکرو و تعدادی از آن را دارا بوده و مشخص کننده حالت های کار یک میکرو در زمان های بیکاری و یا خاموشی و یا گوش به زنگ (Stand BY) است.

وقفه های داخلی و خارجی

فرض کنید میکرو در حال انجام عملیاتی مانند نوشتن مقدار عددی در حافظه است. در همین زمان یکی از پایه ها ماند پایه کانتر, یک می شود و ما می خواهیم که هم عمل نوشتن در حافظه انجام شود و هم عمل کانتر و شمارش ورودی, اما هیچ پردازشگری نمی تواند در یک زمان بیش از یک دستور را ایجاد کند. برای این منظور از وقفه استفاده شده و عمل شمارش پایه کانتر انجام شده و بعد از آن CPU به ادامه نوشتن عدد در حافظه می پردازد.

میکروکنترلرهای AVR دارای انواع مختلف وقفه های داخلی و خارجی می باشندو وقفه های خارجی که با نام INT0 و INT1 و در بعضی از میکروکنترلرها تا INT7 وجود دارد. اما تقریبا تمام امکانات داخلی میکرو دارای وقفه بوده, مانند تایمر – کانترها و پروتکل های ارتباطی و مقایسه کننده ها و مبدل آنالوگ به دیجیتال و..

نکته : وقفه های داخلی به صورت یک رجیستر بوده که با یک شدن فعال می شوند.

PACKAGE

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

 اطلاعات پروژه

 رمز فایل : www.electronics98.com (این مطلب فاقد فایل جهت دانلود است)

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 6 سپتامبر 2014

2 دیدگاه

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

  2. خواهش می کنم , نظر لطف شماست دوست عزیز که با نظرات خوبتان باعث دلگرمی ما می شوید.

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

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

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