مقدمه
فصل یک در موردانواع میکروکنترلرهای MEGAAVR است که سعی شده است به طور کلی توضیح داده شود . در فصل دوم شاهد توضیحاتی در مورد عملکرد پروژه ساخت (مدار الکترونیکی ، قطعات تشکیل دهنده ، برنامه مورد استفاده وتوضیحات کامل کننده است . درفصل آخر شاهد مدارات داخلی آی سی های مورد استفاده در این پروژه خواهیم بود .
این مدار یک ولوم دیجیتال است که دارای دو خروجی مونو است ،همچنین میتوان به صورت استریو از آن بهره برد، که بعدا به طور کامل توضیح داده خواهد شد .
مختصری در مورد AVR
زبانهای سطح بالا یا همان HLL (HIGH LEVEL LANGUAGES) به سرعت در حال تبدیل شدن به زبان برنامه نویسی استاندارد برای میکروکنترلر های (MCU) حتی برای میکروهای 8 بیتی کوچک هستند . زبان برنامه نویبی BASIC و C بیشترین استفاده را در برنامه سازی دارند ولی در اکثر کاربردها کدهای بیشتری را نسبت به زبان برنامه نویسی اسمیلی تولید می کنند .
ATMEL ایجاد تحولی در معماری ، جهت کاهش کد به مقدار مینیمم رادرک کرد که نتیجه این تحول میکروکنترلرهای AVR هستند که علاوه بر کاهش وبهینه سازی مقدار کدها به طور واقع عملیات را تنها در یک کلاک سیکل توسط معماری (REDUCED RISC INSTRUCTION SET COMPUTER) انجام میدهند واز 32 رجیستر همه منظوره (ACCUMULATORS) استفاده می کنند که باعث شده 4 تا 12 بار سریعتر میکروهای مورد استفاده کنونی باشند.
تکنولوژی حافظه کم مصرف غیر فرار شرکت ATMEL برای برنامه ریزی AVR ها مورد استفاده قرار گرفته است در نتیجه حافظه های FLASH و EPROM در داخل مداار قابل برنامه ریزی (ISP) هستند . میکروکنترلرهای اولیه AVR دارای 1، 2و 8 کیلوبایت حافظه FLASH وبه صورت کلمات 16 بیتی سازماندهی شده بودند.
AVR ها به عنوان میکروهای RISC با دستورات فراوان طراحی شده اند که باعث می شود حجم کد تولید شده کم وسرعت بالاتری بدست آید.
عملیات تک سیکل
باانجام تک سیکل دستورات ،کلاک داخلی سیستم یکی می شود. هیچ تقسیم کنننده ای درداخل AVR قرار ندارد که ایجاد اختلاف فاز کلاک کند. اکثر میکرو ها کلاک اسیلاتور به سیستم را با نسبت 1:4 یا 1:12 تقسیم می کنند که خود باعث کاهش سرعت می شود . بنابراین AVR ها 4 تا 12 بار سریعتر و مصرف آنها نیز 4-12 بار نسبت به میکروکنترلرهای مصرفی کنونی کمتر است زیرا در تکنولوژی CMOS استفاده شده در میکروهای AVR ، مصرف توان سطح منطقی متناسب با فرکانس است .
طراحی برای زبانهای BASIC و C
زبانهای BASIC و C بیشترین استفاده در دنیای امروز به عنوان زبانهای HLL دارند . تا امروزه معماری بیشتر میکروها برای زبان اسمبلی طراحی شده است و کمتر از زبانهای HLL حمایت کرده اند .
هدف ATMEL طراحی معماری بود که هم برای زبان اسمبلی وهم زبانهای HLL مفید باشد . به طور مثال درزبانهای BASIC و C می توان یک متغیر محلی به جای متغیر سراسری در داخل زیر برنامه تعریف کرد .در این صورت فقط در زمان اجرای زیر برنامه مکانی از حافظه RAM برای متغیر اشغال می شود در صورتی که اگر متغیری به عنوان سراسری تعریف گردد در تمام وقت مکانی از حافظه FLASH ROM را اشغال کرده است .
برای دسترسی سریعتر به متغیرهای محلی و کاهش کد ، نیاز به افزایش رجیسترهای همه منظوره است . AVR ها دارای 32 رجیستر هستند که مستقیما به ALU متصل شده اند ، وتنها در یک کلاک سیکل به این واحد دسترسی پیدا می کنند . سه جفت از این رجیسترها می توانند بعنوان رجیسترهای 16 بیتی استفاده شوند .
20 صفحه فایل ورد قابل ویرایش