بخشی از مقاله
میکروکنترلر های MEGAAVR
مقدمه
فصل يك در موردانواع ميكروكنترلرهاي 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: حافظه ، برنامه وداده غير فرار
1. 32 كيلو بايت حافظه FLASH داخلي قابل برنامه ريزي
2. پايداري حافظه FLASH : قابليت 1000 بار نوشتن وپاك كردن
3. 2كيلوبايت حافظه داخلي SRAM
4. 1كيلوبايت حافظه EPROM داخلي قابل برنامه ريزي
5. پايداري حافظه EPROM : قابليت 100000 بار نوشتن وپاك كردن
6. قفل برنامه FLASH وحافظه داده EPROM
C : قابليت ارتباط JTAG
- برنامه ريزي برنامه FLASH .EPROM. FUSE BITS . LOCK BITS از طريق ارتباط JTAG
D : خصوصيا ت جانبي
1. دو تايمر – كانتر 8 بيتي با PRESCLEAR مجزا وداراي مد COMPARE
2. يك تايمر – كانتر 16 بيتي با PRESCLEAR مجزا وداراي مدهاي COMPARE- CAPTURE
3. چهار كانال PWM
4. 8 كانال مبدل آنالوگ به ديجيتال 10 بيتي
5. يك مقايسه كننده آنالوگ داخلي
6. WATCHDOG قابل برنامه ريزي با اسيلاتور داخلي
7. ارتباط سريال SPI
8. قابليت ارتباط با پروتكل سريال دوسيمه
9. USART سريال قابل برنامه ريزي
E : خصوصيات ويژه ميكروكنترلر
1. مدار POWER – ON RESET CIRCUIT
2. BROWN – OUT DETECTION قابل برنامه ريزي
3. داراي 6 حالت SLEEP
4. منابع وقفه داخلي وخارجي
5. داراي اسيلاتور RC داخلي كاليبره شده
6. عملكرد كاملا ثابت
7. توان مصرفي پايين وسرعت بالا توسط تكنولوژي CMOS
F : فركانسهاي كاري
- 0MHZ TO 4MHZ براي (ATMEGA323L)
- 0MHZ TO 8MHZ براي (ATMEGA323)
G : ولتاژهاي عملياتي (كاري )
- 2.7 V TO 5.5 براي (ATMEGA323L)
- 4 V TO 5.5 براي (ATMEGA323)
1-2 خصوصيا ت ATMEGA 32 , ATMEGA32L
A : از معماري AVR RISC استفاده مي كند .
1. كارايي بالا وتوان كم
2. داراي 131 دستورالعمل با كارايي بالا كه اكثرا تنها در يك كلاك سيكل اجرا مي شوند
3. 8*32 رجيستر كاربردي
4. سرعتي تا 16MIP در فركانس 16MHZ
B : حافظه ،برنامه وداده غير فرار
1. 32 كيلو بايت حافظه FLSH داخلي قابل برنامه ريزي
پايداري حافظه FLASH : قابليت 10000 بار نوشتن وپاك كردن
2. 2كيلو بايت حافظه داخلي SRAM
3. 1024 بايت حافظه EPROM داخلي قابل برنامه ريزي
پايداري حافظه EPROM : قابليت 100000 بار نوشتن وپاك كردن
4. قفل برنامه 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)
H : خطوط I/O و انواع بسته بندي
- 32 خط ورودي / خروجي قابل برنامه ريزي
- 40 پايه PDIP ، 40 پايه TQFP و 44 پايه MLF
1-3 خصوصيات ATMEGA 128L , ATMEGA128
A : از معماري AVR RISC استفاده مي كند .
- كارايي بالا وتوان مصرفي كم
- داراي 133 دستورالعمل با كارايي بالا كه اكثرا تنها در يك كلاك سيكل اجرا مي شوند
- 8*32 رجيستر كاربردي
- سرعتي تا 16MIP در فركانس 16MHZ
B : حافظه ،برنامه وداده غير فرار
-128 كيلو بايت حافظه FLSH داخلي قابل برنامه ريزي
-پايداري حافظه FLASH : قابليت 10000 بار نوشتن وپاك كردن
- 4كيلو بايت حافظه داخلي SRAM
- 4 K بايت حافظه EPROM داخلي قابل برنامه ريزي
پايداري حافظه EPROM : قابليت 100000 بار نوشتن وپاك كردن
- قفل برنامه FLASH وحفاظت داده EPROM
C : قابليت ارتباط JTAG
- برنامه ريزي برنامه FLASH .EPROM. FUSE BITS . LOCK BITS از طريق ارتباط JTAG
D : خصوصيا ت جانبي
-دو تايمر – كانتر 8 بيتي با PRESCLEAR مجزا وداراي مد COMPARE
- يك تايمر – كانتر 16 بيتي با PRESCLEAR مجزا وداراي مدهاي COMPARE- CAPTURE
- دو كانال PWM هشت بيتي
- 6 كانال PWM با قابليت وضوح 6 تا 12 بيتي
- 8 كانال مبدل آنالوگ به ديجيتال 10 بيتي
- 8 كانال مبدل SINGLE - ENDED
- يك مقايسه كننده آنالوگ داخلي
- WATCHDOG قابل برنامه ريزي با اسيلاتور داخلي
- قابليت ارتباط سريال SPI
- قابليت ارتباط با پروتكل سريال دو سيمه
- دو SRAT سريال قابل برنامه ريزي
E : خصوصيات ويژه قابل برنامه ريزي
- POWER –ON RESET CIRCUIT
- BROWN – OUT DETECTION قابل برنامه ريزي
- انتخاب نرم افزاري فركانس كلاك سيستم
- داراي 6 حالت SLEEP
- منابع وقفه داخلي وخارجي
- داراي اسيلاتور RC داخلي كاليبره شده
- عملكرد كاملا ثابت
- توان مصرفي پايين وسرعت بالا توسط تكنولوژي CMOS
F : فركانسهاي كاري
- 0MHZ TO 8MHZ براي (ATMEGA128L)
- 0MHZ TO 16MHZ براي (ATMEGA128)
G : ولتاژهاي عملياتي (كاري )
- 2.7 V TO 5.5 براي (ATMEGA128L)
- 4.5 V TO 5.5 براي (ATMEGA128)
H : خطوط I/O و انواع بسته بندي
- 53 خط ورودي / خروجي قابل برنامه ريزي
- 64-PAD MLF , 64 – LEAD TQFP
4- 1 خصوصيات ATMEGA163L , ATMEGA163
A : از معماري AVR RISC استفاده مي كند .
- كارايي بالا وتوان مصرفي كم
- داراي 130 دستورالعمل با كارايي بالا كه اكثرا تنها در يك كلاك سيكل اجرا مي شوند
- 8*32 رجيستر كاربردي
- سرعتي تا 8MIP در فركانس 8MHZ
B : حافظه ،برنامه وداده غير فرار
-16 كيلو بايت حافظه FLSH داخلي قابل برنامه ريزي
پايداري حافظه FLASH : قابليت 1000 بار نوشتن وپاك كردن
- 1024 بايت حافظه داخلي SRAM
- 512 بايت حافظه EPROM داخلي قابل برنامه ريزي
پايداري حافظه EPROM : قابليت 100000 بار نوشتن وپاك كردن
- قفل برنامه FLASH وحفاظت داده EPROM
C : خصوصيا ت جانبي
-دو تايمر – كانتر 8 بيتي با PRESCLEAR مجزا وداراي مد COMPARE
- يك تايمر – كانتر 16 بيتي با PRESCLEAR مجزا وداراي مدهاي COMPARE- CAPTURE
- سه كانال PWM هشت بيتي
- داراي RTC با اسيلاتور مجزا
- 8 كانال مبدل آنالوگ به ديجيتال 10 بيتي
- يك مقايسه كننده آنالوگ داخلي
- WATCHDOG قابل برنامه ريزي با اسيلاتور داخلي
- قابليت ارتباط سريال SPI
- قابليت ارتباط با پروتكل سريال دو سيمه
- UARTسريال قابل برنامه ريزي
E : خصوصيات ويژه ميكرو كنترلر
- POWER –ON RESET CIRCUIT
- BROWN – OUT DETECTION قابل برنامه ريزي
- داراي 4 حالت SLEEP
- منابع وقفه داخلي وخارجي
- داراي اسيلاتور RC داخلي كاليبره شده
- عملكرد كاملا ثابت
- توان مصرفي پايين وسرعت بالا توسط تكنولوژي CMOS
F : فركانسهاي كاري
- 0MHZ TO 4MHZ براي (ATMEGA163L)
- 0MHZ TO 8MHZ براي (ATMEGA163)
G : ولتاژهاي عملياتي (كاري )
- 2.7 V TO 5.5 براي (ATMEGA163L)
- 4.0 V TO 5.5 براي (ATMEGA163)
H : خطوط I/O و انواع بسته بندي
- 32 خط ورودي / خروجي قابل برنامه ريزي
- 40 پايه PDIP و 44 پايه TQFP