Мікроконтролери AVR
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
- megaAVR
- XMEGA
- 16—384 кБ пам'яті програм
- 2—32 кБ оперативної пам'яті
- 1—4 кБ енергонезалежної пам'яті даних EEPROM
- 44—64—100-вивідний корпус (A4, A3, A1)
- Підвищена продуктивність за рахунок таких особливостей, як ПДП (Прямий Доступ до Пам'яті), підтримка криптографії, «Система подій».
- Розширений набір внутрішніх периферійних пристроїв (ЦАП)
- Напруга живлення 1,6—3,6 В
Засоби розробки [ред.]
Окрім комерційних засобів розробки (IAR, CODEVISION і ін.), існують також вільні, наприклад, GNU порт GCC для AVR. В якості вільного середовища для avr-gcc можна використовувати Code::Blocks.
Крім того, архітектура AVR дозволяє застосовувати операційні системи при розробці застосувань, основними з яких є написані на мові C системи FREERTOS та uOS. Також існує написана на мові програмування C++ система scmRTOS
Суттєвий вплив на поширеність мікроконтролерів має те, що програмування цих мікроконтролерів здійснюється досить легко. Найпростіший програматор, пристрій за допомогою якого персональний комп'ютер записує програму у flash-пам'ять мікроконтролера, складається з п'яти провідників та вилки порта LPT. Це дозволяє з успіхом використовувати мікроконтролери AVR новачками, що хочуть отримати знання з мікроелектроніки.
Див. також [ред.]
Посилання [ред.]
- Домашня сторінка Atmel AVRангл.
- Спільнота AVR Freaksангл.
- IAR Embedded Workbench for Atmel AVR — Компілятор С/С++ IDE (комерційне ПЗ)
- microPascalангл. — реалізація мови Паскаль для AVR (комерційна)
- PonyProgангл. — програматор (вільне ПЗ)
- AVReAl — програматор (безплатне ПЗ)
- Роботи, мікроконтролерирос.
- Засоби розробки програмного забезпечення для AVR мікроконтролерів
| Ця стаття не містить посилань на джерела. (травень 2013) |