AVR — родина восьмибітових мікроконтролерів фірми Atmel.
Мікроконтролери AVR мають гарвардську архітектуру (програма і дані розташовані в різних адресних просторах) і систему команд, близьку до ідеології RISC. Процесори AVR мають 32 8-бітових регістри загального призначення. Максимальна тактова частота — 20 мегагерц (XMEGA AVR — до 32 МГц), короткі команди виконуються за один такт.
Особливості
На відміну від «ідеального» RISC, регістри не абсолютно ортогональні:
- Деякі команди працюють тільки з регістрами
r16—r31
; - 16-бітний результат множення (у тих моделях, в яких є модуль множення) завжди розміщується в регістровій парі
r0:r1
; - Для непрямої адресації пам'яті даних використовуються три «здвоєні» 16-бітові регістри-вказівники
X (r26:r27)
,Y (r28:r29)
таZ (r30:r31)
; - В командах
ADIW, SBIW
додавання та віднімання короткої константи від 16-бітного аргумента можуть використовуватися лише вказані вище париX, Y, Z
та пара(r24:r25)
; - В командах роботи з пам'яттю програм
LPM
,SPM
використовується лише регістрова параZ (r30:r31)
; - Команди напрямого переходу та виклику підпрограм
ICALL, IJMP
також можуть використовувати лише регістрову паруZ
.
Робота з периферійними пристроями здійснюється через адресний простір даних. Для зручності з першими 64-ма адресами периферійних пристроїв можна працювати за допомогою «скорочених» команд IN/OUT
доступу до простору вводу-виводу (I/O — Input/Output). Роботу з окремими бітами периферійних пристроїв у просторі I/O забезпечують команди SBI
, CBI
, SBIS
, SBIC
. Втім, ці команди працюють лише з першими 32-ма адресами простору.
Основні родини
tinyAVR
- 0,5—16 кБ пам'яті програм
- 32—1024 байти оперативної пам'яті
- 0—512 байтів енергонезалежної пам'яті даних EEPROM
- 6—32-вивідний корпус
- Обмежений набір внутрішніх периферійних пристроїв
- Напруга живлення 1,8—5,5 В
megaAVR
- 4—256 кБ пам'яті програм
- 0,25—8 кБ оперативної пам'яті
- 0,25—4 кБ енергонезалежної пам'яті даних EEPROM
- 28—100-вивідний корпус
- Розширений набір команд (команди множення, розширені методи адресації в командах LPM, SPM)
- Розширений набір внутрішніх периферійних пристроїв
- Напруга живлення 1,8—5,5 В
XMEGA
- 16—384 кБ пам'яті програм
- 2—32 кБ оперативної пам'яті
- 1—4 кБ енергонезалежної пам'яті даних EEPROM
- 44—64—100-вивідний корпус (A4, A3, A1)
- Підвищена продуктивність за рахунок таких особливостей, як ПДП , підтримка криптографії, «Система подій».
- Розширений набір внутрішніх периферійних пристроїв (ЦАП)
- Напруга живлення 1,6—3,6 В
Версії контролерів
- AT (mega/tiny)xxx — базова версія.
- ATxxxL — версії контролерів, що працюють при пониженій (Low) напрузі живлення (2,7 В).
- ATxxxV — версії контролерів, що працюють при низькій напрузі живлення (1,8 В).
- ATxxxP — версії з малим енергоспоживанням (до 100 нА в режимі Power-down), застосована технологія picoPower (анонсовані у липні 2007), повивідно та функціонально сумісні з попередніми версіями.
- ATxxxA — зменшений струм споживання, перекривається увесь діапазон тактових частот і напруг живлення двох попередніх версій (також, у деяких моделях, додані нові можливості та нові регістри, але збережена повна сумісність із попередніми версіями). Мікроконтролери «А» і «не-А» зазвичай мають однакову сигнатуру, що викликає деякі труднощі, оскільки Fuse-bit'и відрізняються.
Номер моделі доповнюється індексом, що вказує варіант виготовлення. Цифри (8, 10, 16, 20) перед індексом означають максимальну частоту, на якій мікроконтролер може стабільно працювати при нормальній для нього напрузі живлення.
Перша літера індексу означає варіант корпуса:
- ATxxx-P — корпус DIP
- ATxxx-A — корпус TQFP
- ATxxx-J — корпус
- ATxxx-M — корпус
- ATxxx-MA — корпус UDFN/USON
- ATxxx-C — корпус CBGA
- ATxxx-CK — корпус LGA
- ATxxx-S — корпус EIAJ SOIC
- ATxxx-SS — вузький корпус JEDEC SOIC
- ATxxx-T — корпус [en]
- ATxxx-TS — корпус (ATtiny4/5/9/10)
- ATxxx-X — корпус
Наступна літера означає температурний діапазон і особливості виготовлення:
- ATxxx-xC — комерційний температурний діапазон (0 °C — 70 °C)
- ATxxx-xA — температурний діапазон −20 °C — +85 °C, з використанням [ru]
- ATxxx-xI — індустріальний температурний діапазон (-40 °C — +85 °C)
- ATxxx-xU — індустріальний температурний діапазон (-40 °C — +85 °C), з використанням безсвинцевого припою
- ATxxx-xH — індустріальний температурний діапазон (-40 °C — +85 °C), з використанням NiPdAu
- ATxxx-xN — розширений температурний діапазон (-40 °C — +105 °C), з використанням безсвинцевого припою
- ATxxx-xF — розширений температурний діапазон (-40 °C — +125 °C)
- ATxxx-xZ — автомобільний температурний діапазон (-40 °C — +125 °C)
- ATxxx-xD — розширений автомобільний температурний діапазон (-40 °C — +150 °C)
Остання літера R означає упаковку в стрічки (Tape & Reel) для автоматизованих систем збірки.
Засоби розробки
Окрім комерційних засобів розробки (IAR, CodeVisionAVR та ін.), існують також вільні, наприклад, - GNU порт GCC для AVR. Як вільне середовища для avr-gcc можна використовувати Code::Blocks.
Крім того, архітектура AVR дозволяє застосовувати операційні системи при розробці застосувань, основними з яких є написані на мові C системи FreeRTOS, та . Також існує написана на мові програмування система scmRTOS [ 3 вересня 2013 у Wayback Machine.].
Суттєвий вплив на поширеність мікроконтролерів має те, що програмування цих мікроконтролерів здійснюється досить легко. Найпростіший програматор, пристрій за допомогою якого персональний комп'ютер записує програму у flash-пам'ять мікроконтролера, складається з п'яти провідників та вилки порту LPT. Це дозволяє з успіхом використовувати мікроконтролери AVR новачками, що хочуть отримати знання з мікроелектроніки.
Апаратні засоби розробки
Офіційні засоби розробки для AVR від Atmel:
- STK600 starter kit
- STK500 starter kit
- STK200 starter kit
- AVRISP and AVRISP mkII
- AVR Dragon
- JTAGICE mkI
- JTAGICE mkII
- JTAGICE3
- AVR ONE!
- Butterfly demonstration board
- AT90USBKey
- Raven wireless kit
Також існує багато сторонніх засобів розробки, особливо аматорських.
Програмні засоби розробки
- — програмний пакет під Windows, який включає до себе компілятор C, ассемблер, компоновник та інші інструменти.
- — середовище розробки програмного забезпечення для микроконтролерів з архітектурою AVR.
- Code::Blocks — кросплатформенне середовище розробки програмного забезпечення.
- DDD — графічний інтерфейс до avr-gdb.
- — програмна реалізація протоколу USB для микроконтролерів AVR.
- Avrdude — засіб для програмування постійної пам'яті микроконтролерів.
- — універсальний програматор через LPT-порт, COM-порт (підтримує USB-емулятор COM-порту).
- AVR Studio — безкоштовне офіційне IDE від Atmel
- — комерційне середовище розробки для микроконтролерів AVR
- — середовище розробки з Basic-подібною мовою програмування.
- CodeVisionAVR — компілятор C та програматор — CVAVR, генератор початкового коду.
- — симулятор електричних ланцюгів, компонентів, включаючи різноманітні МК.
Див. також
Примітки
- Ревич, 2011, с. 19.
Посилання
- Домашня сторінка Atmel AVR [ 21 січня 2012 у Wayback Machine.](англ.)
- Спільнота AVR Freaks [ 18 вересня 2013 у Wayback Machine.](англ.)
- IAR Embedded Workbench for Atmel AVR [ 16 травня 2013 у Wayback Machine.] — Компілятор С/С++ IDE (комерційне ПЗ)
- microPascal [ 16 квітня 2013 у Wayback Machine.](англ.) — реалізація мови Паскаль для AVR (комерційна)
- PonyProg [Архівовано 12 липня 2012 у WebCite](англ.) — програматор (вільне ПЗ)
- AVReAl [ 26 квітня 2012 у Wayback Machine.] — програматор (безплатне ПЗ)
- Роботи, мікроконтролери [ 30 березня 2010 у Wayback Machine.](рос.)
- Навчальний курс AVR [ 18 травня 2015 у Wayback Machine.]
Література
- Ревич Ю. В. Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера. — 2-е изд., испр. — СПб. : БХВ-Петербург, 2011. — 352 с. — . (рос.)
- Евстифеев А. В. Микроконтроллеры AVR семейства Tiny. Руководство пользователя. — М. : Издательский дом «Додэка-XXI», 2007. — 432 с. — (Программируемые системы) — . (рос.)
- Евстифеев А. В. Микроконтроллеры AVR семейства Mega. Руководство пользователя. — М. : Издательский дом «Додэка-XXI», 2007. — 592 с. — (Программируемые системы) — . (рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U Vikipediyi ye statti pro inshi znachennya cogo termina AVR znachennya AVR rodina vosmibitovih mikrokontroleriv firmi Atmel Mikrokontroleri rodini AVR Mikrokontroleri AVR mayut garvardsku arhitekturu programa i dani roztashovani v riznih adresnih prostorah i sistemu komand blizku do ideologiyi RISC Procesori AVR mayut 32 8 bitovih registri zagalnogo priznachennya Maksimalna taktova chastota 20 megagerc XMEGA AVR do 32 MGc korotki komandi vikonuyutsya za odin takt OsoblivostiNa vidminu vid idealnogo RISC registri ne absolyutno ortogonalni Deyaki komandi pracyuyut tilki z registrami r16 r31 16 bitnij rezultat mnozhennya u tih modelyah v yakih ye modul mnozhennya zavzhdi rozmishuyetsya v registrovij pari r0 r1 Dlya nepryamoyi adresaciyi pam yati danih vikoristovuyutsya tri zdvoyeni 16 bitovi registri vkazivniki X r26 r27 Y r28 r29 ta Z r30 r31 V komandah ADIW SBIW dodavannya ta vidnimannya korotkoyi konstanti vid 16 bitnogo argumenta mozhut vikoristovuvatisya lishe vkazani vishe pari X Y Z ta para r24 r25 V komandah roboti z pam yattyu program LPM SPM vikoristovuyetsya lishe registrova para Z r30 r31 Komandi napryamogo perehodu ta vikliku pidprogram ICALL IJMP takozh mozhut vikoristovuvati lishe registrovu paru Z Robota z periferijnimi pristroyami zdijsnyuyetsya cherez adresnij prostir danih Dlya zruchnosti z pershimi 64 ma adresami periferijnih pristroyiv mozhna pracyuvati za dopomogoyu skorochenih komand IN OUT dostupu do prostoru vvodu vivodu I O Input Output Robotu z okremimi bitami periferijnih pristroyiv u prostori I O zabezpechuyut komandi SBI CBI SBIS SBIC Vtim ci komandi pracyuyut lishe z pershimi 32 ma adresami prostoru Osnovni rodinitinyAVR 0 5 16 kB pam yati program 32 1024 bajti operativnoyi pam yati 0 512 bajtiv energonezalezhnoyi pam yati danih EEPROM 6 32 vividnij korpus Obmezhenij nabir vnutrishnih periferijnih pristroyiv Napruga zhivlennya 1 8 5 5 V megaAVR 4 256 kB pam yati program 0 25 8 kB operativnoyi pam yati 0 25 4 kB energonezalezhnoyi pam yati danih EEPROM 28 100 vividnij korpus Rozshirenij nabir komand komandi mnozhennya rozshireni metodi adresaciyi v komandah LPM SPM Rozshirenij nabir vnutrishnih periferijnih pristroyiv Napruga zhivlennya 1 8 5 5 V XMEGA 16 384 kB pam yati program 2 32 kB operativnoyi pam yati 1 4 kB energonezalezhnoyi pam yati danih EEPROM 44 64 100 vividnij korpus A4 A3 A1 Pidvishena produktivnist za rahunok takih osoblivostej yak PDP pidtrimka kriptografiyi Sistema podij Rozshirenij nabir vnutrishnih periferijnih pristroyiv CAP Napruga zhivlennya 1 6 3 6 VVersiyi kontrolerivAT mega tiny xxx bazova versiya ATxxxL versiyi kontroleriv sho pracyuyut pri ponizhenij Low napruzi zhivlennya 2 7 V ATxxxV versiyi kontroleriv sho pracyuyut pri nizkij napruzi zhivlennya 1 8 V ATxxxP versiyi z malim energospozhivannyam do 100 nA v rezhimi Power down zastosovana tehnologiya picoPower anonsovani u lipni 2007 povividno ta funkcionalno sumisni z poperednimi versiyami ATxxxA zmenshenij strum spozhivannya perekrivayetsya uves diapazon taktovih chastot i naprug zhivlennya dvoh poperednih versij takozh u deyakih modelyah dodani novi mozhlivosti ta novi registri ale zberezhena povna sumisnist iz poperednimi versiyami Mikrokontroleri A i ne A zazvichaj mayut odnakovu signaturu sho viklikaye deyaki trudnoshi oskilki Fuse bit i vidriznyayutsya Nomer modeli dopovnyuyetsya indeksom sho vkazuye variant vigotovlennya Cifri 8 10 16 20 pered indeksom oznachayut maksimalnu chastotu na yakij mikrokontroler mozhe stabilno pracyuvati pri normalnij dlya nogo napruzi zhivlennya Persha litera indeksu oznachaye variant korpusa ATxxx P korpus DIP ATxxx A korpus TQFP ATxxx J korpus ATxxx M korpus ATxxx MA korpus UDFN USON ATxxx C korpus CBGA ATxxx CK korpus LGA ATxxx S korpus EIAJ SOIC ATxxx SS vuzkij korpus JEDEC SOIC ATxxx T korpus en ATxxx TS korpus ATtiny4 5 9 10 ATxxx X korpus Nastupna litera oznachaye temperaturnij diapazon i osoblivosti vigotovlennya ATxxx xC komercijnij temperaturnij diapazon 0 C 70 C ATxxx xA temperaturnij diapazon 20 C 85 C z vikoristannyam ru ATxxx xI industrialnij temperaturnij diapazon 40 C 85 C ATxxx xU industrialnij temperaturnij diapazon 40 C 85 C z vikoristannyam bezsvincevogo pripoyu ATxxx xH industrialnij temperaturnij diapazon 40 C 85 C z vikoristannyam NiPdAu ATxxx xN rozshirenij temperaturnij diapazon 40 C 105 C z vikoristannyam bezsvincevogo pripoyu ATxxx xF rozshirenij temperaturnij diapazon 40 C 125 C ATxxx xZ avtomobilnij temperaturnij diapazon 40 C 125 C ATxxx xD rozshirenij avtomobilnij temperaturnij diapazon 40 C 150 C Ostannya litera R oznachaye upakovku v strichki Tape amp Reel dlya avtomatizovanih sistem zbirki Zasobi rozrobkiOkrim komercijnih zasobiv rozrobki IAR CodeVisionAVR ta in isnuyut takozh vilni napriklad GNU port GCC dlya AVR Yak vilne seredovisha dlya avr gcc mozhna vikoristovuvati Code Blocks Krim togo arhitektura AVR dozvolyaye zastosovuvati operacijni sistemi pri rozrobci zastosuvan osnovnimi z yakih ye napisani na movi C sistemi FreeRTOS ta Takozh isnuye napisana na movi programuvannya C sistema scmRTOS 3 veresnya 2013 u Wayback Machine Suttyevij vpliv na poshirenist mikrokontroleriv maye te sho programuvannya cih mikrokontroleriv zdijsnyuyetsya dosit legko Najprostishij programator pristrij za dopomogoyu yakogo personalnij komp yuter zapisuye programu u flash pam yat mikrokontrolera skladayetsya z p yati providnikiv ta vilki portu LPT Ce dozvolyaye z uspihom vikoristovuvati mikrokontroleri AVR novachkami sho hochut otrimati znannya z mikroelektroniki Aparatni zasobi rozrobki Plata rozrobnika Atmel STK500 AVR Dragon s vnutrishnoshemnnim programuvannyam a takozh dodanoyu ZIF panelkoyu pid IMS u DIP korpusi AVRISP mkII ISP Programmer vid Atmel Oficijni zasobi rozrobki dlya AVR vid Atmel STK600 starter kit STK500 starter kit STK200 starter kit AVRISP and AVRISP mkII AVR Dragon JTAGICE mkI JTAGICE mkII JTAGICE3 AVR ONE Butterfly demonstration board AT90USBKey Raven wireless kit Takozh isnuye bagato storonnih zasobiv rozrobki osoblivo amatorskih Programni zasobi rozrobki Vilni programnij paket pid Windows yakij vklyuchaye do sebe kompilyator C assembler komponovnik ta inshi instrumenti seredovishe rozrobki programnogo zabezpechennya dlya mikrokontroleriv z arhitekturoyu AVR Code Blocks krosplatformenne seredovishe rozrobki programnogo zabezpechennya DDD grafichnij interfejs do avr gdb programna realizaciya protokolu USB dlya mikrokontroleriv AVR Avrdude zasib dlya programuvannya postijnoyi pam yati mikrokontroleriv universalnij programator cherez LPT port COM port pidtrimuye USB emulyator COM portu Propriyetarni AVR Studio bezkoshtovne oficijne IDE vid Atmel komercijne seredovishe rozrobki dlya mikrokontroleriv AVR seredovishe rozrobki z Basic podibnoyu movoyu programuvannya CodeVisionAVR kompilyator C ta programator CVAVR generator pochatkovogo kodu simulyator elektrichnih lancyugiv komponentiv vklyuchayuchi riznomanitni MK Div takozhVbudovana sistema Mikrokontroler ArduinoPrimitkiRevich 2011 s 19 PosilannyaDomashnya storinka Atmel AVR 21 sichnya 2012 u Wayback Machine angl Spilnota AVR Freaks 18 veresnya 2013 u Wayback Machine angl IAR Embedded Workbench for Atmel AVR 16 travnya 2013 u Wayback Machine Kompilyator S S IDE komercijne PZ microPascal 16 kvitnya 2013 u Wayback Machine angl realizaciya movi Paskal dlya AVR komercijna PonyProg Arhivovano 12 lipnya 2012 u WebCite angl programator vilne PZ AVReAl 26 kvitnya 2012 u Wayback Machine programator bezplatne PZ Roboti mikrokontroleri 30 bereznya 2010 u Wayback Machine ros Navchalnij kurs AVR 18 travnya 2015 u Wayback Machine LiteraturaRevich Yu V Prakticheskoe programmirovanie mikrokontrollerov Atmel AVR na yazyke assemblera 2 e izd ispr SPb BHV Peterburg 2011 352 s ISBN 978 5 9775 0657 1 ros Evstifeev A V Mikrokontrollery AVR semejstva Tiny Rukovodstvo polzovatelya M Izdatelskij dom Dodeka XXI 2007 432 s Programmiruemye sistemy ISBN 978 5 94120 116 7 ros Evstifeev A V Mikrokontrollery AVR semejstva Mega Rukovodstvo polzovatelya M Izdatelskij dom Dodeka XXI 2007 592 s Programmiruemye sistemy ISBN 978 5 94120 090 0 ros