مقدمه
فصل یک در موردانواع میکروکنترلر های 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 بیتی استفاده شوند .
فصل اول
میکروکنترلرهای MEGAAVR
در این فصل به معرفی میکروکنترلرهای نوع MEGAAVR از سری میکروکنترلرهای AVR شرکت ATMEL می پردازیم . میکروهای MEGA نسبت به نوع قبلی (AT90S>TINY)دارای قابلیت بیشتری هستند. خصوصیات وقابلیتهای هر یک به طور کامل بررسی شده است . فیوز بیت هاقسمتی از حافظه FLASH هستند که امکاناتی را در اختیار کاربر قرار می دهند . فیوز بیتها با ERASE میکرو از بین نمی روند ومی توانند توسط بیتهای قفل مربوطه ، قفل شوند . کلاک سیستم هر یک از میکروها در صورت نیاز به توضیح بیشتر بلافاصله بعد از فیوز بیتها گفته شده است .
1-1 خصوصیات ATMEGA323 و ATMEGA323L
A:
1. از معماری AVR RISC استفاده می کند .
2. کارایی بالا وتوان مصرفی کم
3. دارای 30 دستورالعمل با کارایی بالا
4. 8*32 رجیستر کاربردی
5. سرعتی تا8MIPS در فرکانس 8MHZ
B: حافظه ، برنامه وداده غیر فرار
32 کیلو بایت حافظه FLASH داخلی قابل برنامه ریزی
پایداری حافظه FLASH : قابلیت 1000 بار نوشتن وپاک کردن
2کیلوبایت حافظه داخلی SRAM
1کیلوبایت حافظه EPROM داخلی قابل برنامه ریزی
پایداری حافظه EPROM : قابلیت 100000 بار نوشتن وپاک کردن
قفل برنامه FLASH وحافظه داده EPROM
C : قابلیت ارتباط JTAG
- برنامه ریزی برنامه FLASH .EPROM. FUSE BITS . LOCK BITS از طریق ارتباط JTAG
D : خصوصیا ت جانبی
دو تایمر – کانتر 8 بیتی با PRESCLEAR مجزا ودارای مد COMPARE
یک تایمر – کانتر 16 بیتی با PRESCLEAR مجزا ودارای مدهای COMPARE- CAPTURE
چهار کانال PWM
8 کانال مبدل آنالوگ به دیجیتال 10 بیتی
یک مقایسه کننده آنالوگ داخلی
WATCHDOG قابل برنامه ریزی با اسیلاتور داخلی
ارتباط سریال SPI
قابلیت ارتباط با پروتکل سریال دوسیمه
USART سریال قابل برنامه ریزی
E : خصوصیات ویژه میکروکنترلر
مدار POWER – ON RESET CIRCUIT
BROWN – OUT DETECTION قابل برنامه ریزی
دارای 6 حالت SLEEP
منابع وقفه داخلی وخارجی
دارای اسیلاتور RC داخلی کالیبره شده
عملکرد کاملا ثابت
توان مصرفی پایین وسرعت بالا توسط تکنولوژی CMOS
F : فرکانسهای کاری
- 0MHZ TO 4MHZ برای (ATMEGA323L)
- 0MHZ TO 8MHZ برای (ATMEGA323)
G : ولتاژهای عملیاتی (کاری )
- 2.7 V TO 5.5 برای (ATMEGA323L)
- 4 V TO 5.5 برای (ATMEGA323)
خصوصیا ت ATMEGA 32 , ATMEGA32L
A : از معماری AVR RISC استفاده می کند .
کارایی بالا وتوان کم
دارای 131 دستورالعمل با کارایی بالا که اکثرا تنها در یک کلاک سیکل اجرا می شوند
8*32 رجیستر کاربردی
سرعتی تا 16MIP در فرکانس 16MHZ
B : حافظه ،برنامه وداده غیر فرار
1. 32 کیلو بایت حافظه FLSH داخلی قابل برنامه ریزی
پایداری حافظه FLASH : قابلیت 10000 بار نوشتن وپاک کردن
2کیلو بایت حافظه داخلی SRAM
1024 بایت حافظه EPROM داخلی قابل برنامه ریزی
پایداری حافظه EPROM : قابلیت 100000 بار نوشتن وپاک کردن
قفل برنامه FLASH وحفاظت داده EPROM
C : قابلیت ارتباط JTAG
- برنامه ریزی برنامه FLASH .EPROM. FUSE BITS . LOCK BITS از طریق ارتباط JTAG
D : خصوصیا ت جانبی
-دو تایمر – کانتر 8 بیتی با PRESCLEAR مجزا ودارای مد COMPARE
- یک تایمر – کانتر 16 بیتی با PRESCLEAR مجزا ودارای مدهای COMPARE- CAPTURE
- چهار کانال PWM
- 8 کانال مبدل آنالوگ به دیجیتال 10 بیتی
یک مقایسه کننده آنالوگ داخلی
دارای RTC با اسیلاتور مجزا
WATCHDOG قابل برنامه ریزی با اسیلاتور داخلی
قابلیت ارتباط سریال SPI
قابلیت ارتباط با پروتکل سریال دو سیمه
USRAT سریال قابل برنامه ریزی
E : خصوصیات ویژه قابل برنامه ریزی
POWER –ON RESET CIRCUIT
BROWN – OUT DETECTION قابل برنامه ریزی
دارای 6 حالت SLEEP
منابع وقفه داخلی وخارجی
دارای اسیلاتور RC داخلی کالیبره شده
عملکرد کاملا ثابت
توان مصرفی پایین وسرعت بالا توسط تکنولوژی CMOS
F : فرکانسهای کاری
- 0MHZ TO 8MHZ برای (ATMEGA32L)
- 0MHZ TO 16MHZ برای (ATMEGA32)
G : ولتاژهای عملیاتی (کاری )
2.7 V TO 5.5 برای (ATMEGA32L)
4.5 V TO 5.5 برای (ATMEGA32)