آموزش میکروکنترلر AVR : قسمت اول

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

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

در سری‌جدید مجموعه مقالات با‌عنوان “آموزش میکروکنترلر AVR” قصد داریم میکروکنترلر AVR که طرفداران بسیاری دارد را آموزش دهیم. در مجموعه آموزش میکروکنترلر AVR با ما همراه باشید

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

 

در یک سیستم پردازنده حداقل اجزایی که وجود دارد شامل (CPU (central prossesing unit می‌شود، درواقع این پرازنده شبیه مغز انسان عمل می‌کند مغزی که هیچگونه اجزای‌جانبی برای مثال دست و پا ندارد و فقط محاسبات در درون آن انجام می‌شود. برای ارتباط با دنیای بیرون باید اجزای جانبی دیگری نیز وجودداشته‌باشد، ازجمله پالس ساعت یا clock که از حداقل اجزایی است که CPU باید تحت فرماندهی آن قرار بگیرد. یعنی پالس ساعت به CPU فرمان می‌دهد و اعمال CPU هماهنگ با پالس ساعت انجام می­‌شود. طبیعتاً هر آنچه پالس ساعت بالاتر باشد مقدار اعمال انجام‌شده توسط CPU در واحد زمان بیشتر است، اما این همه‌ی مسئله نیست ممکن‌است میکروکنترلری با کلاک ۱MHZ بتواند عملیاتی را انجام‌دهد که یک میکروکنترلر با کلاک ۵MHZ نتواند همان عملیات را در یک زمان‌ثابت انجام‌دهد. در ادامه به بررسی این عوامل می‌پردازیم. CPU برای ذخیره دستورالعمل‌ها نیازبه حافظه‌ای دارد که پایدار و غیرفرار باشد(منظور از دستورالعمل‌ها دستورهای اولیه‌ای هستند که توسط شرکت سازنده به CPU اعمال می‌شوند) یعنی با قطع تغذیه محتویات آن پاک نشود، که به آن حافظه‌ی ROM گفته می‌شود. واحد محاسبه و منطقی در CPU وجود دارد که به آن ALU گفته می‌­شود، برای‌مثال نتیجه­ یک دستورالعمل این است که دوعدد توسط ALU باهم جمع‌شوند یا کلاً هر عملی که در توان واحد ALU باشد. به پروسه خواندن دستورات و بدست‌آوردن آن‌ها از محلی که نوشته‌شده‌است FETCH و اجرا‌کردن آن‌ها EXECUTE گفته می‌شود. در‌واقع کارCPU ،FETCH و EXECUTE است و دائماً مشغول خواندن و اجرا‌کردن دستورات است. باتوجه‌به اینکه CPU چه امکانات و دستورالعمل‌هایی دارد قدرت آن CPU مشخص می­شود، یعنی در آن واحد می‌تواند روی چندبیت عملیات انجام‌دهد. بحث ما در حوزه‌­ی AVR برروی CPUهای ۸بیتی انجام می‌شود، یعنی در آن واحد روی ۸بیت می‌تواند عملیات انجام‌دهد، حال این ۸بیت می‌تواند به‌صورت ۲عدد ۸بیتی در رجیسترهای داخلی باشد (منظور‌از رجیسترهای داخلی حافظه‌ای است که درکنار CPU برای انجام عملیات داخلی قرار دارد). در کنار CPU وROM و CLOCK ما نیازبه حافظه‌ای داریم که بتواند نتیجه عملیات را به‌صورت موقت ذخیره‌کند که از آن به‌صورت R0 تا R31 نام می‌بریم که شامل ۳۲محل در میکروکنترلر AVR است. طبیعتاً ممکن‌است به حافظه بیشتری از جنس RAM نیازداشته‌باشیم. جنس حافظه ROM ،FLASH است و جنس حافظه RAM، SRAM است که از این حافظه برای ذخیره‌سازی عملیات‌ انجام‌شده استفاده می­‌شود. در ضعیف‌ترین عضو خانواده AVR، ATtiny11 اصلاً SRAM وجود ندارد که این میکروکنترلر در بازار موجود نیست. با مراجعه‌به دیتا‌شیت می‌توانید از ظرفیت‌های دیگر میکروکنترلرها مطلع شوید.

ATtiny11
ATtiny11

 

یکی‌دیگر از اجزای جانبی موجود در کنار CPU حافظه­‌ی (EEPROM (electrically Erasable Programmable Read only Memory است. این حافظه معمولاً برای ذخیره‌سازی اطلاعاتی است که توسط کاربر تولید می‌شود. برای‌مثال سیستم کنترلی را درنظر بگیرید که میخواهیم مقادیر یکسری پارامتر در آن نوشته‌شود و در آن باقی بماند، یعنی با قطع برق آن اطلاعات پاک نشود. مقادیر خواندن و نوشتن آن در دیتاشیت موجود می‌باشد. CPU اگر نتواند با دنیای خارج از خود ارتباط برقرار کند مانند انسانی است که حواس پنجگانه خود را ازدست داده‌است و نمی‌تواند با دیگران ارتباط برقرار کند. برای همین کار، یک واحدی در CPU وجود دارد به‌نام INPUT/OUTPUT ،که دریچه­‌ی بین دنیای بیرون و خود CPU است. که از آن به‌عنوان GPIO یاد می‌شود. در‌نتیجه برنامه‌­ای که توسط برنامه‌نویس توسط هر زبانی نوشته می‌­شود، توسط پروگرامر برروی حافظه­ FLASH میکروکنترلر، پروگرام می‌شود و نتیجه عملیات موقت درحین اجرای برنامه در SRAM ذخیره می­شود. دیتاهایی که توسط برنامه تولید می­‌شود و می‌خواهیم که یکبار ذخیره‌شود و با قطع‌برق پاک نشود در EEPROM ذخیره می‌­شود که این‌کار توسط CPU انجام می­‌شود. همه­ این عملیات برای این است که بتوان ارتباط بین دنیای بیرون و CPU را ایجاد کرد. تصویر زیر نشان‌دهنده­ ارتباط بین CPU و واحدهای جانبی است:

03

 

در قسمت دوم آموزش میکروکنترلر AVR قصد داریم به موضوع کلاک میکروکنترلر و بلوک I/O بپردازیم. با ما همراه باشید.

 

 

منبع: سیسوگ

مطلب قبلیآموزش میکروکنترلر STM32 قسمت چهاردهم: رجیستر های پشتیبان RTC
مطلب بعدیبرنامه‌نویسی میکروکنترلر AVR در محیط ویژوال استودیو (جلسه سوم)

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید