میکروکنترلر های MEGAAVR

مقدمه

فصل يك در موردانواع ميكروكنترلرهاي MEGAAVR است كه سعي شده است به طور كلي توضيح داده شود . در فصل دوم شاهد توضيحاتي در مورد عملكرد پروژه ساخت (مدار الكترونيكي ، قطعات تشكيل دهنده ، برنامه مورد استفاده وتوضيحات كامل كننده است . درفصل آخر شاهد مدارات داخلي آي سي هاي مورد استفاده در اين پروژه خواهيم بود .
اين مدار يك ولوم ديجيتال است كه داراي دو خروجي مونو است ،همچنين ميتوان به صورت استريو از آن بهره برد، كه بعدا به طور كامل توضيح داده خواهد شد .

مختصري در مورد AVR
زبانهاي سطح بالا يا همان HLL (HIGH LEVEL LANGUAGES) به سرعت در حال تبديل شدن به زبان برنامه نويسي استاندارد براي ميكروكنترلر هاي (MCU) حتي براي ميكروهاي ۸ بيتي كوچك هستند . زبان برنامه نويبي BASIC و C بيشترين استفاده را در برنامه سازي دارند ولي در اكثر كاربردها كدهاي بيشتري را نسبت به زبان برنامه نويسي اسميلي توليد مي كنند .
ATMEL ايجاد تحولي در معماري ، جهت كاهش كد به مقدار مينيمم رادرك كرد كه نتيجه اين تحول ميكروكنترلرهاي AVR هستند كه علاوه بر كاهش وبهينه سازي مقدار كدها به طور واقع عمليات را تنها در يك كلاك سيكل توسط معماري (REDUCED RISC INSTRUCTION SET COMPUTER) انجام ميدهند واز ۳۲ رجيستر همه منظوره (ACCUMULATORS) استفاده مي كنند كه باعث شده ۴ تا ۱۲ بار سريعتر ميكروهاي مورد استفاده كنوني باشند.
تكنولوژي حافظه كم مصرف غير فرار شركت ATMEL براي برنامه ريزي AVR ها مورد استفاده قرار گرفته است در نتيجه حافظه هاي FLASH و EPROM در داخل مداار قابل برنامه ريزي (ISP) هستند . ميكروكنترلرهاي اوليه AVR داراي ۱، ۲و ۸ كيلوبايت حافظه FLASH وبه صورت كلمات ۱۶ بيتي سازماندهي شده بودند.
AVR ها به عنوان ميكروهاي RISC با دستورات فراوان طراحي شده اند كه باعث مي شود حجم كد توليد شده كم وسرعت بالاتري بدست آيد.

عمليات تك سيكل

باانجام تك سيكل دستورات ،كلاك داخلي سيستم يكي مي شود. هيچ تقسيم كنننده اي درداخل AVR قرار ندارد كه ايجاد اختلاف فاز كلاك كند. اكثر ميكرو ها كلاك اسيلاتور به سيستم را با نسبت ۱:۴ يا ۱:۱۲ تقسيم مي كنند كه خود باعث كاهش سرعت مي شود . بنابراين AVR ها ۴ تا ۱۲ بار سريعتر و مصرف آنها نيز ۴-۱۲ بار نسبت به ميكروكنترلرهاي مصرفي كنوني كمتر است زيرا در تكنولوژي CMOS استفاده شده در ميكروهاي AVR ، مصرف توان سطح منطقي متناسب با فركانس است .

طراحي براي زبانهاي BASIC و C

زبانهاي BASIC و C بيشترين استفاده در دنياي امروز به عنوان زبانهاي HLL دارند . تا امروزه معماري بيشتر ميكروها براي زبان اسمبلي طراحي شده است و كمتر از زبانهاي HLL حمايت كرده اند .
هدف ATMEL طراحي معماري بود كه هم براي زبان اسمبلي وهم زبانهاي HLL مفيد باشد . به طور مثال درزبانهاي BASIC و C مي توان يك متغير محلي به جاي متغير سراسري در داخل زير برنامه تعريف كرد .در اين صورت فقط در زمان اجراي زير برنامه مكاني از حافظه RAM براي متغير اشغال مي شود در صورتي كه اگر متغيري به عنوان سراسري تعريف گردد در تمام وقت مكاني از حافظه FLASH ROM را اشغال كرده است .
براي دسترسي سريعتر به متغيرهاي محلي و كاهش كد ، نياز به افزايش رجيسترهاي همه منظوره است . AVR ها داراي ۳۲ رجيستر هستند كه مستقيما به ALU متصل شده اند ، وتنها در يك كلاك سيكل به اين واحد دسترسي پيدا مي كنند . سه جفت از اين رجيسترها مي توانند بعنوان رجيسترهاي ۱۶ بيتي استفاده شوند .

فصل اول
ميكروكنترلرهاي MEGAAVR

در اين فصل به معرفي ميكروكنترلرهاي نوع MEGAAVR از سري ميكروكنترلرهاي AVR شركت ATMEL مي پردازيم . ميكروهاي MEGA نسبت به نوع قبلي (AT90S>TINY)داراي قابليت بيشتري هستند. خصوصيات وقابليتهاي هر يك به طور كامل بررسي شده است . فيوز بيت هاقسمتي از حافظه FLASH هستند كه امكاناتي را در اختيار كاربر قرار مي دهند . فيوز بيتها با ERASE ميكرو از بين نمي روند ومي توانند توسط بيتهاي قفل مربوطه ، قفل شوند . كلاك سيستم هر يك از ميكروها در صورت نياز به توضيح بيشتر بلافاصله بعد از فيوز بيتها گفته شده است .

۱-۱ خصوصيات ATMEGA323 و ATMEGA323L

A:
1. از معماري AVR RISC استفاده مي كند .
۲٫ كارايي بالا وتوان مصرفي كم
۳٫ داراي ۳۰ دستورالعمل با كارايي بالا
۴٫ ۸*۳۲ رجيستر كاربردي
۵٫ سرعتي تا۸MIPS در فركانس ۸MHZ

B: حافظه ، برنامه وداده غير فرار
۱٫ ۳۲ كيلو بايت حافظه FLASH داخلي قابل برنامه ريزي
۲٫ پايداري حافظه FLASH : قابليت ۱۰۰۰ بار نوشتن وپاك كردن
۳٫ ۲كيلوبايت حافظه داخلي SRAM
4. 1كيلوبايت حافظه EPROM داخلي قابل برنامه ريزي

۵٫ پايداري حافظه EPROM : قابليت ۱۰۰۰۰۰ بار نوشتن وپاك كردن
۶٫ قفل برنامه FLASH وحافظه داده EPROM

C : قابليت ارتباط JTAG
– برنامه ريزي برنامه FLASH .EPROM. FUSE BITS . LOCK BITS از طريق ارتباط JTAG

D : خصوصيا ت جانبي
۱٫ دو تايمر – كانتر ۸ بيتي با PRESCLEAR مجزا وداراي مد COMPARE
2. يك تايمر – كانتر ۱۶ بيتي با PRESCLEAR مجزا وداراي مدهاي COMPARE- CAPTURE
3. چهار كانال PWM
4. 8 كانال مبدل آنالوگ به ديجيتال ۱۰ بيتي
۵٫ يك مقايسه كننده آنالوگ داخلي
۶٫ WATCHDOG قابل برنامه ريزي با اسيلاتور داخلي
۷٫ ارتباط سريال SPI
8. قابليت ارتباط با پروتكل سريال دوسيمه
۹٫ USART سريال قابل برنامه ريزي

E : خصوصيات ويژه ميكروكنترلر
۱٫ مدار POWER – ON RESET CIRCUIT
2. BROWN – OUT DETECTION قابل برنامه ريزي
۳٫ داراي ۶ حالت SLEEP
4. منابع وقفه داخلي وخارجي
۵٫ داراي اسيلاتور RC داخلي كاليبره شده
۶٫ عملكرد كاملا ثابت
۷٫ توان مصرفي پايين وسرعت بالا توسط تكنولوژي CMOS

F : فركانسهاي كاري
– ۰MHZ TO 4MHZ براي (ATMEGA323L)
– 0MHZ TO 8MHZ براي (ATMEGA323)

G : ولتاژهاي عملياتي (كاري )
– ۲٫۷ V TO 5.5 براي (ATMEGA323L)
– 4 V TO 5.5 براي (ATMEGA323)

۱-۲ خصوصيا ت ATMEGA 32 , ATMEGA32L

A : از معماري AVR RISC استفاده مي كند .
۱٫ كارايي بالا وتوان كم
۲٫ داراي ۱۳۱ دستورالعمل با كارايي بالا كه اكثرا تنها در يك كلاك سيكل اجرا مي شوند
۳٫ ۸*۳۲ رجيستر كاربردي
۴٫ سرعتي تا ۱۶MIP در فركانس ۱۶MHZ

B : حافظه ،برنامه وداده غير فرار
۱٫ ۳۲ كيلو بايت حافظه FLSH داخلي قابل برنامه ريزي
پايداري حافظه FLASH : قابليت ۱۰۰۰۰ بار نوشتن وپاك كردن
۲٫ ۲كيلو بايت حافظه داخلي SRAM
3. 1024 بايت حافظه EPROM داخلي قابل برنامه ريزي
پايداري حافظه EPROM : قابليت ۱۰۰۰۰۰ بار نوشتن وپاك كردن
۴٫ قفل برنامه FLASH وحفاظت داده EPROM

C : قابليت ارتباط JTAG
– برنامه ريزي برنامه FLASH .EPROM. FUSE BITS . LOCK BITS از طريق ارتباط JTAG

D : خصوصيا ت جانبي
-دو تايمر – كانتر ۸ بيتي با PRESCLEAR مجزا وداراي مد COMPARE
– يك تايمر – كانتر ۱۶ بيتي با PRESCLEAR مجزا وداراي مدهاي COMPARE- CAPTURE
– چهار كانال PWM
– 8 كانال مبدل آنالوگ به ديجيتال ۱۰ بيتي
– يك مقايسه كننده آنالوگ داخلي
– داراي RTC با اسيلاتور مجزا
– WATCHDOG قابل برنامه ريزي با اسيلاتور داخلي
– قابليت ارتباط سريال SPI
– قابليت ارتباط با پروتكل سريال دو سيمه
– USRAT سريال قابل برنامه ريزي

E : خصوصيات ويژه قابل برنامه ريزي
– POWER –ON RESET CIRCUIT
– BROWN – OUT DETECTION قابل برنامه ريزي
– داراي ۶ حالت SLEEP
– منابع وقفه داخلي وخارجي
– داراي اسيلاتور RC داخلي كاليبره شده
– عملكرد كاملا ثابت
– توان مصرفي پايين وسرعت بالا توسط تكنولوژي CMOS

F : فركانسهاي كاري
– ۰MHZ TO 8MHZ براي (ATMEGA32L)
– 0MHZ TO 16MHZ براي (ATMEGA32)

G : ولتاژهاي عملياتي (كاري )
– ۲٫۷ V TO 5.5 براي (ATMEGA32L)
– 4.5 V TO 5.5 براي (ATMEGA32)

H : خطوط I/O و انواع بسته بندي
– ۳۲ خط ورودي / خروجي قابل برنامه ريزي
– ۴۰ پايه PDIP ، ۴۰ پايه TQFP و ۴۴ پايه MLF

۱-۳ خصوصيات ATMEGA 128L , ATMEGA128

A : از معماري AVR RISC استفاده مي كند .
– كارايي بالا وتوان مصرفي كم
– داراي ۱۳۳ دستورالعمل با كارايي بالا كه اكثرا تنها در يك كلاك سيكل اجرا مي شوند
– ۸*۳۲ رجيستر كاربردي
– سرعتي تا ۱۶MIP در فركانس ۱۶MHZ

B : حافظه ،برنامه وداده غير فرار
-۱۲۸ كيلو بايت حافظه FLSH داخلي قابل برنامه ريزي
-پايداري حافظه FLASH : قابليت ۱۰۰۰۰ بار نوشتن وپاك كردن
– ۴كيلو بايت حافظه داخلي SRAM
– 4 K بايت حافظه EPROM داخلي قابل برنامه ريزي
پايداري حافظه EPROM : قابليت ۱۰۰۰۰۰ بار نوشتن وپاك كردن
– قفل برنامه FLASH وحفاظت داده EPROM

C : قابليت ارتباط JTAG
– برنامه ريزي برنامه FLASH .EPROM. FUSE BITS . LOCK BITS از طريق ارتباط JTAG

D : خصوصيا ت جانبي
-دو تايمر – كانتر ۸ بيتي با PRESCLEAR مجزا وداراي مد COMPARE
– يك تايمر – كانتر ۱۶ بيتي با PRESCLEAR مجزا وداراي مدهاي COMPARE- CAPTURE
– دو كانال PWM هشت بيتي
– ۶ كانال PWM با قابليت وضوح ۶ تا ۱۲ بيتي
– ۸ كانال مبدل آنالوگ به ديجيتال ۱۰ بيتي
– ۸ كانال مبدل SINGLE – ENDED
– يك مقايسه كننده آنالوگ داخلي
– WATCHDOG قابل برنامه ريزي با اسيلاتور داخلي
– قابليت ارتباط سريال SPI
– قابليت ارتباط با پروتكل سريال دو سيمه
– دو SRAT سريال قابل برنامه ريزي

E : خصوصيات ويژه قابل برنامه ريزي
– POWER –ON RESET CIRCUIT
– BROWN – OUT DETECTION قابل برنامه ريزي
– انتخاب نرم افزاري فركانس كلاك سيستم
– داراي ۶ حالت SLEEP
– منابع وقفه داخلي وخارجي
– داراي اسيلاتور RC داخلي كاليبره شده
– عملكرد كاملا ثابت
– توان مصرفي پايين وسرعت بالا توسط تكنولوژي CMOS

F : فركانسهاي كاري
– ۰MHZ TO 8MHZ براي (ATMEGA128L)
– 0MHZ TO 16MHZ براي (ATMEGA128)

G : ولتاژهاي عملياتي (كاري )
– ۲٫۷ V TO 5.5 براي (ATMEGA128L)
– 4.5 V TO 5.5 براي (ATMEGA128)

H : خطوط I/O و انواع بسته بندي
– ۵۳ خط ورودي / خروجي قابل برنامه ريزي
– ۶۴-PAD MLF , 64 – LEAD TQFP

۴- ۱ خصوصيات ATMEGA163L , ATMEGA163

A : از معماري AVR RISC استفاده مي كند .
– كارايي بالا وتوان مصرفي كم
– داراي ۱۳۰ دستورالعمل با كارايي بالا كه اكثرا تنها در يك كلاك سيكل اجرا مي شوند
– ۸*۳۲ رجيستر كاربردي
– سرعتي تا ۸MIP در فركانس ۸MHZ

B : حافظه ،برنامه وداده غير فرار
-۱۶ كيلو بايت حافظه FLSH داخلي قابل برنامه ريزي
پايداري حافظه FLASH : قابليت ۱۰۰۰ بار نوشتن وپاك كردن
– ۱۰۲۴ بايت حافظه داخلي SRAM
– 512 بايت حافظه EPROM داخلي قابل برنامه ريزي
پايداري حافظه EPROM : قابليت ۱۰۰۰۰۰ بار نوشتن وپاك كردن
– قفل برنامه FLASH وحفاظت داده EPROM

C : خصوصيا ت جانبي
-دو تايمر – كانتر ۸ بيتي با PRESCLEAR مجزا وداراي مد COMPARE
– يك تايمر – كانتر ۱۶ بيتي با PRESCLEAR مجزا وداراي مدهاي COMPARE- CAPTURE
– سه كانال PWM هشت بيتي
– داراي RTC با اسيلاتور مجزا
– ۸ كانال مبدل آنالوگ به ديجيتال ۱۰ بيتي
– يك مقايسه كننده آنالوگ داخلي
– WATCHDOG قابل برنامه ريزي با اسيلاتور داخلي
– قابليت ارتباط سريال SPI
– قابليت ارتباط با پروتكل سريال دو سيمه
– UARTسريال قابل برنامه ريزي

E : خصوصيات ويژه ميكرو كنترلر
– POWER –ON RESET CIRCUIT
– BROWN – OUT DETECTION قابل برنامه ريزي
– داراي ۴ حالت SLEEP
– منابع وقفه داخلي وخارجي
– داراي اسيلاتور RC داخلي كاليبره شده
– عملكرد كاملا ثابت
– توان مصرفي پايين وسرعت بالا توسط تكنولوژي CMOS

F : فركانسهاي كاري
– ۰MHZ TO 4MHZ براي (ATMEGA163L)
– 0MHZ TO 8MHZ براي (ATMEGA163)

G : ولتاژهاي عملياتي (كاري )
– ۲٫۷ V TO 5.5 براي (ATMEGA163L)
– 4.0 V TO 5.5 براي (ATMEGA163)

H : خطوط I/O و انواع بسته بندي
– ۳۲ خط ورودي / خروجي قابل برنامه ريزي
– ۴۰ پايه PDIP و ۴۴ پايه TQFP