Avrdude
- 1 year ago
- 0
- 0
AVR — семейство восьмибитных микроконтроллеров , ранее выпускавшихся фирмой Atmel , затем — Microchip . Год разработки — 1996 .
Идея разработки нового RISC -ядра принадлежит двум студентам Norwegian University of Science and Technology (NTNU) из норвежского города Тронхейма — Альфу Богену (Alf-Egil Bogen) и Вегарду Воллену (Vegard Wollen). В 1995 году Боген и Воллен решили предложить американской корпорации Atmel , которая была известна своими чипами с Flash-памятью , выпускать новый 8-битный RISC-микроконтроллер и снабдить его Flash-памятью для программ на одном кристалле с вычислительным ядром.
Идея была одобрена Atmel Corp., и было принято решение незамедлительно инвестировать в данную разработку. В конце 1996 года был выпущен опытный микроконтроллер AT90S1200, а во второй половине 1997 г. корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке.
Новое ядро было запатентовано и получило название AVR . Существует несколько трактовок данной аббревиатуры. Кто-то утверждает, что это A dvanced V irtual R ISC, другие полагают, что не обошлось здесь без A lf Egil Bogen V egard Wollan R ISC.
Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC . Процессор AVR имеет 32 8-битных регистра общего назначения, объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:
Система команд микроконтроллеров AVR весьма развита и насчитывает в различных моделях от 90 до 135 различных команд.
Большинство команд занимает только 1 ячейку памяти (16 бит).
Большинство команд выполняется за 1 такт .
Всё множество команд микроконтроллеров AVR можно разбить на несколько групп:
Управление периферийными устройствами осуществляется через адресное пространство данных. Для удобства существуют «сокращённые команды» IN/OUT.
Стандартные семейства:
Как правило, цифры после префикса обозначают объём встроенной flash-памяти (в КБ) и модификацию контроллера. А именно — максимальная степень двойки, следующая за префиксом, обозначает объём памяти, а оставшиеся цифры определяют модификацию (напр., ATmega128 — объём памяти 128 КБ; ATmega168 — объём памяти 16 КБ, модификация 8; ATtiny44 и ATtiny45 — память 4 КБ, модификации 4 и 5 соответственно). [ источник не указан 4204 дня ]
На основе стандартных семейств выпускаются микроконтроллеры, адаптированные под конкретные задачи:
Кроме указанных выше семейств, ATMEL выпускает 32-разрядные микроконтроллеры семейства AVR32 , которое включает в себя подсемейства AT32UC3 (тактовая частота до 66 МГц) и AT32AP7000 (тактовая частота до 150 МГц).
AT (mega/tiny)xxx — базовая версия.
ATxxx
L
— версии контроллеров, работающих на пониженном (Low) напряжении питания (2,7 В).
ATxxx
V
— версии контроллеров, работающих на низком напряжении питания (1,8 В).
ATxxx
P
— малопотребляющие версии (до 100 нА в режиме Power-down), применена технология
picoPower
(анонсированы в июле 2007), повыводно и функционально совместимы с предыдущими версиями.
ATxxx
A
— уменьшен ток потребления, перекрывается весь диапазон тактовых частот и напряжений питания двух предыдущих версий (также, в некоторых моделях, добавлены новые возможности и новые регистры, но сохранена полная совместимость с предыдущими версиями). Микроконтроллеры «А» и «не-А» обычно имеют одинаковую сигнатуру, что вызывает некоторые трудности, так как Fuse-bit’ы отличаются.
Номер модели дополняется индексом, указывающим вариант исполнения. Цифры (8, 10, 16, 20) перед индексом означают максимальную частоту , на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания).
Первая буква индекса означает вариант корпуса:
АТxxx-
P
— корпус
DIP
АТxxx-
A
— корпус
TQFP
АТxxx-
J
— корпус
PLCC
АТxxx-
M
— корпус
АТ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-x
C
— коммерческий температурный диапазон (0 °C — 70 °C)
АТxxx-x
A
— температурный диапазон −20 °C — +85 °C, с использованием
бессвинцового припоя
АТxxx-x
I
— индустриальный температурный диапазон (-40 °C — +85 °C)
АТxxx-x
U
— индустриальный температурный диапазон (-40 °C — +85 °C), с использованием
бессвинцового припоя
АТxxx-x
H
— индустриальный температурный диапазон (-40 °C — +85 °C), с использованием NiPdAu
АТxxx-x
N
— расширенный температурный диапазон (-40 °C — +105 °C), с использованием
бессвинцового припоя
АТxxx-x
F
— расширенный температурный диапазон (-40 °C — +125 °C)
АТxxx-x
Z
— автомобильный температурный диапазон (-40 °C — +125 °C)
АТxxx-x
D
— расширенный автомобильный температурный диапазон (-40 °C — +150 °C)
последняя буква R означает упаковку в ленты (Tape & Reel) для автоматизированных систем сборки.
МК AVR имеют развитую периферию:
Примечание: не все периферийные устройства могут быть включены программно. Некоторые из них предварительно должны быть активированы битами в регистрах Fuses, которые могут быть изменены только программатором.
Официальные средства разработки для AVR от Atmel:
Также существует много сторонних средств, особенно любительских.
Также архитектура AVR позволяет применять операционные системы при разработке приложений, например, FreeRTOS , , ChibiOS/RT , ( C++ ), TinyOS , и др, а также Linux на AVR32 .