اين مقاله اطلاعات كلي در مورد ساختار داخلي و انواع مختلف ميكروهاي AVR و همچنين مزاياي آنها نسبت به نمونه هاي قبلي 8051 پرداخته است.در ترجمه آن سعي كردم بيشتر از لغات فارسي معادل استفاده كنم با اينكه خودم زياد راضي نيستم ولي چاره اي نداشتم بايد فارسي را پاس بداريم ! حتما مي دانيد كه براي برخي لغات تخصصي انگليسي هيچ معادل فارسي وجود ندارد به خاطر همين در بعضي از قسمتها خود لغت انگيسي را آورده ام كه فهم صحيح آن بستگي به تجربه ي خواننده دارد.مسلم است كه اگر شما درباره ي ميكروكنترلرها پيش زمينه اي داشته باشيد آنگاه آمادگي بيشتري براي فهم اين مقاله خواهيد داشت پس اگر يك خواننده مبتدي در ميكروكنترلرها هستيد ممكن است در درك برخي مطالب كمي دچار مشكل شويد البته كمي ! كه با پرسيدن چند سوال كوچك از كسي كه اينكاره است مي توانيد بعضي ابهامات را برطرف كنيد.اميدوارم هميشه پيروز و شاد باشيد .

 

مقدمه اي بر ميكروكنترلرهاي AVR

ميكروهاي AVR داراي انعطاف پذيري غير قابل مقايسه و بي همتايي هستند.آنها قادر به تركيب هر نوع كدي با يك معماري كارامد از طريق زبانهاي C و Assembly هستند و قادرند از طريق اين برنامه ها تمام پارامترهاي ممكن در يك سيكل يا چرخه ماشين را با دقت بسيار بالا هماهنگ كنند.ميكرو AVR داراي معماريي است كه ميتواند در تمام جهات مورد استفاده شما،عمل كند ميكرو AVR معماريي دارد كه براي شما كارايي 16 بيتي ارائه مي دهد كه البته قيمتش به اندازه يك 8 بيتي تمام مي شود.

 بهره هاي كليدي AVR :

داراي بهترين MCU براي حافظه فلش در جهان ! (MCU: Master Control Unit)

داراي سيستمي با بهترين هماهنگي

داراي بالاترين كارايي و اجرا در CPU (يك دستورالعمل در هر سيكل كلاك)

داراي كدهايي با كوچكترين سايز

داراي حافظه خود برنامه ريز

داراي واسطه JTAG كه با IEEE 1149.1 سازگار است

 (IEEE: Institute of Electrical and Electronics Engineers.)

داراي سخت افزار ضرب كننده روي خود

داراي بهترين ابزارها براي پيشرفت و ترقي

داراي حالات زيادي براي ترفيع دادن يا Upgrade .

 واژگان كليدي AVR :

 ميكرو كنترلر AVR به منظور اجراي دستورالعملهاي قدرتمند در يك سيكل كلاك(ساعت) به اندازه كافي سريع است و مي تواند براي شما آزادي عملي را كه احتياج داريد به منظور بهينه سازي توان مصرفي فراهم كند.

ميكروكنترلر AVR بر مبناي معماري  RISC(كاهش مجموعه ي دستورالعملهاي كامپيوتر) پايه گذاري شده و مجموعه اي از دستورالعملها را كه با 32 ثبات كار ميكنند تركيب مي كند.

به كارگرفتن حافظه از نوع Flash  كه AVR ها به طور يكسان از آن بهره مي برند از جمله مزاياي آنها است.

يك ميكرو AVR مي تواند با استفاده از يك منبع تغذيه 2.7 تا 5.5 ولتي از طريق شش پين ساده در عرض چند ثانيه برنامه ريزي شود يا Program شود.

ميكروهاي AVR در هرجا كه باشند با 1.8 ولت تا 5.5 ولت تغذيه مي شوند البته با انواع توان پايين (Low Power)كه موجودند.

راه حلهايي كه AVR پيش پاي شما مي گذارد، براي يافتن نيازهاي شما مناسب است:

با داشتن تنوعي باور نكردني و اختيارات فراوان در كارايي محصولات AVR، آنها به عنوان محصولاتي كه هميشه در رقابت ها پيروز هستند شناخته شدند.در همه محصولات AVR مجموعه ي دستورالعملها و معماري يكسان هستند بنابراين زماني كه حجم كدهاي دستورالعمل شما كه قرار است در ميكرو دانلود شود به دلايلي افزايش يابد يعني بيشتر از گنجايش ميكرويي كه شما در نظر گرفته ايد شود مي توانيد از همان كدها استفاده كنيد و در عوض آن را در يك ميكروي با گنجايش بالاتر دانلود كنيد.

خانواده هاي محصولات AVR :

Tiny AVR:

ميكروكنترلري با اهداف كلي و با بيش از 4 كيلو بايت حافظه فلش و 128 بايت حافظه استاتيك و قابل برنامه ريزي است.(منظور از حافظه استاتيك SRAM و حافظه قابل برنامه ريزي EEPROM است.)

Mega AVR:

اين نوع ميكروها قابليت خود برنامه ريزي دارند و مي توان آنها را بدون استفاده از مدارات اضافي برنامه ريزي كرد همچنين بيش از 256K بايت حافظه فلش و 4K بايت حافظه استاتيك و قابل برنامه ريزي دارند.

LCD AVR:

اين نوع ميكرو داراي درايور براي نمايشگر LCD با قابليت كنترل اتوماتيك تباين و مقايسه تصوير مي باشد.باعث تمديد عمر باتري مي شود و در حالت فعال داراي توان مصرفي پاييني است.

توان مصرفي پايين:

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

اين ميكروها تا مقدار 1.8 ولت قابل تغذيه هستند كه اين امر باعث طولاني تر شدن عمر باتري مي شود.

در ميكروهاي با توان پايين ، عمليات شبيه حالت Standby است يعني ميكرو مي تواند تمام اعمال داخلي و جنبي را متوقف كند و كريستال خارجي را به همان وضعيت شش كلاك در هر چرخه رها كند!

ابعاد مختلف ميكروهاي AVR را در اشكال زير مشاهده مي كنيد:

 AVR هاي مدل tiny:

به خود اجازه ندهيد كه نام آن شما را گول بزند... ميكروهاي مدل tiny توانايي هاي عظيمي دارند.به خاطر كوچك بودن و داشتن MCU بسيار پر قدرت به اينگونه ميكروها نياز فراواني هست آنها به هيچ منطق خارجي نياز نداشته و به همراه يك مجتمع مبدل آنالوگ به ديجيتال و يك حافظه قابل برنامه ريزي EEPROM قابليتهاي خود را ثابت مي كنند.

نكات كليدي و سودمند مدل Tiny :

آنها به منظور انجام يك عمليات ساده بهينه سازي شده و در ساخت وسايلي كه به ميكروهاي كوچك احتياج است كاربرد فراوان دارند.

كارايي عظيم آنها براي ارزش و بهاي وسايل موثر است.

 AVR هاي مدل Mega:

اگر شما به ميكرويي احتياج داريد كه داراي سرعت و كارايي بالا باشد و توانايي اجراي حجم زيادي از كد برنامه را داشته و بتواند داده هاي زيادي را سروسامان دهد بايد از AVR هاي مدل Mega استفاده كنيد آنها به ازاي هر يك مگا هرتز سرعت ، توانايي اجراي يك ميليون دستورالعمل در هر يك ثانيه را دارند همچنين قابل برنامه ريزي و بروزرساني كدها با سرعت و امنيت بسيار بالايي هستند.

نكات كليدي و سودمند مدل Mega :

حافظه سريع از نوع فلش با عملكرد خود برنامه ريز و بلوكه ي بوت (Boot Block)

دقت بسيار بالاي 8-كانال در تبديل آنالوگ به ديجيتال 10 بيتي

USART و SPI و TWI بر طبق واسطه هاي سريال

واسطه ي JTAG بر طبق IEEE 1149.1

TWI: Two Wire Interface is a byte oriented interface

USART: Universal Serial Asynchronous Receiver/Transmitter

SPI: Serial Peripheral Interface

JTAG available only on devices with 16KB Flash and up

واسط JTAG فقط در ميكروهاي با بيش از 16 كيلوبايت حافظه فلش موجود است.

AVR هاي مدل LCD:

آنها با بالاترين يكپارچگي و انعطاف پذيري ممكن طراحي شده اند و با داشتن درايور LCD و كنترلر اتوماتيك وضوح تصوير ،بهترين واسطه را با انسان دارند و داراي توان مصرفي پايين و كارايي بالايي هستند.اولين عضو اين خانواده 100 سگمنت داشت و داراي يك UART و SPI به منظور ارتباط به صورت سريال بود.

نكات كليدي وسودمند مدل LCD :

كارايي فوق العاده با سرعت يك ميليون دستورالعمل در ثانيه به ازاي يك مگاهرتز

واسطه ها براي ارتباط با انسان: وقفه هاي صفحه كليد و درايور نمايشگر LCD

آنها اين اجازه را به طراح سيستم مي دهند كه توان مصرفي را در برابر سرعت پردازش تا جايي كه امكان دارد بهينه كند.

نكات كليدي و سودمند حافظه ي فلش خود برنامه ريز:

قابليت دوباره برنامه ريزي كردن بدون احتياج به اجزاي خارجي

128 بايت كوچك كه به صورت فلش سكتور بندي شده اند

داشتن مقدار متغير در سايز بلوكه ي بوت (Boot Block)

خواندن به هنگام نوشتن

بسيار آسان براي استفاده

كاهش يافتن زمان برنامه ريزي

كنترل كردن برنامه ريزي به صورت سخت افزاري

راههاي مختلف براي عمل برنامه ريزي:

موازي يا Parallel :

يكي از سريعترين روشهاي برنامه ريزي

سازگار با برنامه نويس هاي(programmers) اصلي

 خود برنامه ريزي توسط هر اتصال فيزيكي:

برنامه ريزي توسط هر نوع واسطه اي از قبيل TWI و SPI و غيره

دارا بودن امنيت صد درصد در بروزرساني و كدكردن

ISP:

واسطه سه سيمي محلي براي بروزرساني سريع

آسان و موثر در استفاده

 واسطه JTAG :

واسطه اي كه تسليم قانون IEEE 1149.1 است و مي تواند به صورت NVM برنامه ريزي كند يعني هنگام قطع جريان برق داده ها از بين نروند.استفاده از فيوزها و بيتهاي قفل.

بيشتر براي ديباگ كردن آنچيپ و به منظور تست استفاده مي شود

نرم افزار ارائه شده توسط شركتATMEL به نام AVR Studio 4 :

اين نرم افزار به صورت رايگان در سايت شركت ATMEL قرار دارد مي توانيد با رجوع به آدرس http://www.atmel.com آن را دانلود كنيد.

اين نرم افزار در حقيقت يك اسمبلر براي محصولات AVR اتمل است و به صورت كاملا ويژوالي است.

مي تواند با انواع دستگاههاي برنامه نويس ميكرو ارتباط برقرار كند و كدها را در ميكرو دانلود كند.

و قابليت ترجمه كدها به زبانهاي C و Assembly را دارد و ...

 انواع برنامه نويسها كه AVR Studio 4 با آنها سازگار است:

در اين قسمت خصوصيات پروگرامر ها را به زبان انگليسي ارائه كردم چون به زبان فارسي اصلا قابل فهم نمي بود و بايد يكي پيدا مي شد تا ترجمه فارسي آن را دوباره ترجمه كند...

 

Emulators Platforms

In System Programmers

Starter Kits

ICE 40/50

AVRISP

STK500

JTAGICE

JTAGICE

STK501

 

 

STK502

 

 

 STK500/STK501/STK502

 STK500

Supports All AVR Devices

Interfaces with AVR Studio

Early Support for New

Devices Push Buttons, LEDs & RS232

STK501

STK500 Expansion Module for ATmega64/128

ZIF Socket & PCB Footprint

Onboard 32 kHz Oscillator

Additional RS232 Port

STK502

STK500 Expansion Module for ATmega169

ZIF Socket & PCB Footprint

Onboard 32 kHz Oscillator

Demo Application with Temperature Sensor

JTAGICE / JTAGICE mkII

Interfaced using AVR Studio

 Real-Time Emulation in Actual Silicon

Debug the Real Device at the Target Level

Communicates Directly to the Device through 4-Pin JTAG Interface

One-wire Debug Interface (JTAGICE mkII only)

Supports

Program Breakpoints

Data Breakpoints

Full I/O View and Watches

Full Execution Control

 ICE40/50 Emulator

ICE50

Emulates all Peripherals (Both Digital and Analog)

Supports all Instructions And Peripherals Real-Time

All Configurations Done from AVR Studio

Unlimited Number of Breakpoints

Source Level Debugging

Supports the Newest Members of AT mega

And AT tiny Product Families

 ICE40

Same Features as ICE50

End Low Cost ICE for ATtiny13, ATtiny26, ATmega8, ATmega8515,

ATmega8535

ICE50 Upgrade Available

روگرامرهايي كه AVR هاي خاصي را پشتيباني مي كنند:

 

ICE50

ICE40

ICE200

JTAGICE mkll

JTAGICE

STK502

STK501

STK500

AVRISP

Product

 

 

*

 

 

 

 

*

 

Tiny11

 

 

*

 

 

 

 

*

*

Tiny12

*

*

 

*

 

 

 

*

*

Tiny13

 

 

 

 

 

 

 

*

*

Tiny15

*

*

 

 

 

 

 

*

*

Tiny26

 

 

 

 

 

 

 

*

 

Tiny28

*

 

 

*

 

 

 

*

*

Tiny2313

 

 

*

 

 

 

 

*

 

90S1200

 

 

*

 

 

 

 

*

 

90S2313

 

 

*

 

 

 

 

*

 

90S2323

 

 

*

 

 

 

 

*

 

90S2343

*

*

 

 

 

 

 

*

*

Mega8

*

*

 

 

 

 

 

*

*

Mega8515

*

*

 

 

 

 

 

*

*

Mega8535

*

 

 

*

*

 

 

*

*

Mega16

*

 

 

*

*

 

 

 

*

Mega162

*

 

 

*

*

 

 

*

*

Mega32

*

 

 

*

*

 

*

*

*

Mega64

*

 

 

*

*

 

*

*

*

Mega128

*

 

 

*

 

 

 

*

*

Mega48

*

 

 

*

 

 

 

*

*

Mega88

*

 

 

*

 

 

 

*

*

Mega168

*

 

 

*

*

*

 

*

*

Mega169