AVR — сямейства васьмібітных мікракантролераў фірмы Atmel. Год распрацоўкі — 1996.
Ідэя распрацоўкі новага RISC-ядра належыць двум студэнтам Norwegian University of Science and Technology (NTNU) з нарвежскага горада Тронхейм — Альфу Богэну (Alf-Egil Bogen) і Вэгарду Уолэну (Vegard Wollan). У 1995 годзе Богэн и Уолэн вырашылі прапанаваць амерыканскай карпарацыі Atmel, якая была вядома сваімі чыпамі з Flash-памяццю, выпускаць новы 8-бітны RISC-мікракантролер і абсталяваць яго Flash-памяццю для праграм на адзіным крышталі з вылічальным ядром.
Ідэя была ўхвалена Atmel Corp., і было прынята рашэнне неадкладна інвеставаць у гэтую распрацоўку. Пад канец 1996 года быў выпушчаны прататып AT90S1200, а ў другой палове 1997 г. карпарацыя Atmel распачала серыйную вытворчасць новага сямейства мікракантролераў, іх рэкламную і тэхнічную падтрымку.
Новае ядро было запатэнтавана і атрымала назву AVR. Існуе некалькі трактовак гэтай абрэвіятуры. Нехта сцвярджае, што гэта Advanced Virtual RISC, іншыя сцвярджаюць, што не абыйшлося тут без Alf Egil Bogen Vegard Wollan RISC.
Мікракантролеры AVR маюць гарвардскую архітэктуру (праграма і даныя знаходзяцца ў розных адрасных прасторах) і сістэму каманд, блізкую да ідэалогіі RISC. Працэсар AVR мае 32 8-бітных рэгістры агульнага прызначэння, аб’яднаных у рэгістравы файл. У адрозненні ад «ідэальнага» RISC, рэгістры не абсолютна артаганальныя:
Сістэма каманд мікракантролераў AVR надзвычай развітая і налічвае ў розных мадэлях ад 90 да 133 разнастайных інструкцый.
Большасць каманд займае толькі 1 ячэйку памяці (16 біт).
Большасць каманд выконваецца за 1 такт.
Усё мноства каманд мікракантролераў AVR можна разбіць на некалькі гуртоў:
Кіраванне перыферыйнымі прыладамі ажыццяўляецца праз адрасную прастору даных. Для злучнасці існуюць «скарочаныя каманды» IN/OUT.
Стандартныя сямействы:
Як правіла, лічбы пасля прэфіксу пазначаюць аб’ём убудаванай flash-памяці (у КБ) і мадыфікацыю кантролера. А менавіта, максімальная ступень двойкі, наступная за прэфіксам, пазначае аб’ём памяці, а астатнія лічбы вызначаюць мадыфікацыю (напр., ATmega128 — аб’ём памяці 128 КБ; ATmega168 — аб’ём памяці 16 КБ, мадыфікацыя 8; ATtiny44 і ATtiny45 — памяць 4 КБ, мадыфікацыя 4 і 5 адпаведна).
На аснове стандартных сямействаў выпускаюцца мікракантролеры, адаптаваныя пад пэўныя задачы:
Акрамя ўзгаданых вышэй сямействаў ATMEL выпускае 32-разрадныя мікракантролеры сямейства AVR32, якое ўключае ў сябе падсямейства AT32UC3 (тактавая частата да 66 МГц) і AT32AP7000 (тактавая частата да 150 МГц).
AT(mega/tiny)xxx — базавая версія.
ATxxxL — версіі кантролераў, якія працуюць на паніжаным (Low) напружанні сілкавання (2,7 В).
ATxxxV — версіі кантролераў, якія працуюць на нізкім напружанні сілкавання (1,8 В).
ATxxxP — маласпажывальныя версіі (да 100 нА у рэжыме Power-down), выкарыстана тэхналогія picoPower (анансаваны ў ліпені 2007), на кожным вывадзе і функцыйна сумяшчальны з папярэднімі версіямі.
ATxxxA — паменшаны спажываны ток, перакрываецца ўвесь дыяпазон тактавых частот і напружанняў сілкавання двух папярэдніх версій (таксама, у некаторых мадэлях, даданы новыя магчымасці і новыя рэгістры, але захавана поўная сумяшчальнасць з папярэднімі версіямі). Мікракантролеры «А» і «не-А» звычайна маюць аднолькавую сігнатуру, што выклікае некаторыя цяжкасці, бо Fuse-bit’ы адрозніваюцца
Нумар мадэлі дапаўняецца індэксам, які паказвае варыянт выканання. Лічбы (8,10,16,20) перад індэксам пазначаюць максімальную частату, на якой мікракантролер можа стабільна працаваць на нармальным для яго напружанні сілкавання).
Першая літара індэкса пазначае варыянт корпусу:
АТxxx-P — корпус DIP
АТxxx-A — корпус TQFP
АТxxx-J — корпус PLCC
АТxxx-M — корпус MLF
АТxxx-MA — корпус UDFN/USON
АТxxx-C — корпус CBGA
АТxxx-CK — корпус LGA
АТxxx-S — корпус EIAJ SOIC
АТxxx-SS — вузкі корпус JEDEC SOIC
АТxxx-T — корпус TSOP
АТxxx-TS — корпус SOT-23 (ATtiny4/5/9/10)
АТxxx-X — корпус TSSOP
Наступная літара пазначае тэмпературны дыяпазон і асаблівасці вырабу:
АТxxx-xC — камерцыйны тэмпературны дыяпазон (0 °C — 70 °C)
АТxxx-xA — тэмпературны дыяпазон −20 °C — +85 °C, з ужываннем бессвінцовага прыпою
АТxxx-xI — індустрыяльны тэмпературны дыяпазон (-40 °C — +85 °C)
АТxxx-xU — індустрыяльны тэмпературны дыяпазон (-40 °C — +85 °C), з ужываннем бессвінцовага прыпою
АТxxx-xH — індустрыяльны тэмпературны дыяпазон (-40 °C — +85 °C), з ужываннем NiPdAu
АТxxx-xN — пашыраны тэмпературны дыяпазон (-40 °C — +105 °C), з ужываннем бессвінцовага прыпою
АТxxx-xF — пашыраны тэмпературны дыяпазон (-40 °C — +125 °C)
АТxxx-xZ — аўтамабільны тэмпературны дыяпазон (-40 °C — +125 °C)
АТxxx-xD — пашыраны ащтамабильны тэмпературны дыяпазон (-40 °C — +150 °C)
Апошняя літара R пазначае пакаванне ў стужкі (Tape & Reel) для аўтаматызаваных сістэм зборкі.
МК AVR маюць развітую перыферыю:
Увага: не ўсе перыферыйныя прылады могуць быць уключаны праграмна. Біт у регістры fuses можа быць зменены толькі праграматарам.
Таксама архітэктура AVR дазваляе ужываць аперацыйныя сістэмы пры распрацоўцы праграм, напрыклад FreeRTOS, UOs, ChibiOS/RT.
Atmel AVR 8- and 32-bit Microcontrollers Архівавана 21 студзеня 2012. на сайце кампаніі Atmel