AVR: відмінності між версіями
[неперевірена версія] | [перевірена версія] |
Basio (обговорення | внесок) |
|||
Рядок 105: | Рядок 105: | ||
* [http://articles.greenchip.com.ua/1-0-0-1.html Навчальний курс AVR] |
* [http://articles.greenchip.com.ua/1-0-0-1.html Навчальний курс AVR] |
||
{{мікроконтролери}} |
{{мікроконтролери}} |
||
{{Без джерел|дата=травень 2013}} |
|||
[[Категорія:Процесори]] |
[[Категорія:Процесори]] |
Версія за 05:10, 4 грудня 2015
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, CodeVisionAVR та ін.), існують також вільні, наприклад, WinAVR - GNU порт GCC для AVR. В якості вільного середовища для avr-gcc можна використовувати Code::Blocks.
Крім того, архітектура AVR дозволяє застосовувати операційні системи при розробці застосувань, основними з яких є написані на мові C системи FreeRTOS, ChibiOS/RT та uOS. Також існує написана на мові програмування C++ система scmRTOS.
Суттєвий вплив на поширеність мікроконтролерів має те, що програмування цих мікроконтролерів здійснюється досить легко. Найпростіший програматор, пристрій за допомогою якого персональний комп'ютер записує програму у 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
Також існує багато сторонніх засобів розробки, особливо аматорських.
Програмні засоби розробки
Вільні
- WinAVR — програмний пакет під Windows, який включає до себе компілятор C, ассемблер, компоновник та інші інструменти.
- Algorithm Builder — середовище розробки програмного забезпечення для микроконтролерів з архітектурою AVR.
- Code::Blocks — кросплатформенне середовище розробки програмного забезпечення.
- DDD — графічний інтерфейс до avr-gdb.
- V-USB — програмна реалізація протоколу USB для микроконтролерів AVR.
- Avrdude — засіб для програмування постійної пам’яті микроконтролерів.
- PonyProg — універсальний програматор через LPT-порт, COM-порт (підтримує USB-емулятор COM-порта).
Проприєтарні
- AVR Studio — безкоштовне офіційне IDE від Atmel
- IAR AVR — комерційне середовище розробки для микроконтролерів AVR
- Bascom-avr — середовище розробки з Basic-подібною мовою програмування.
- CodeVisionAVR — компілятор C та програматор — CVAVR, генератор початкового коду.
- Proteus — симулятор електричних ланцюгів, компонентів, включаючи різноманітні МК.
Див. також
Посилання
- Домашня сторінка Atmel AVR[] помилка: {{lang-xx}}: немає тексту (допомога)
- Спільнота AVR Freaks[] помилка: {{lang-xx}}: немає тексту (допомога)
- IAR Embedded Workbench for Atmel AVR — Компілятор С/С++ IDE (комерційне ПЗ)
- microPascal[] помилка: {{lang-xx}}: немає тексту (допомога) — реалізація мови Паскаль для AVR (комерційна)
- PonyProg[] помилка: {{lang-xx}}: немає тексту (допомога) — програматор (вільне ПЗ)
- AVReAl — програматор (безплатне ПЗ)
- Роботи, мікроконтролери[] помилка: {{lang-xx}}: немає тексту (допомога)
- Засоби розробки програмного забезпечення для AVR мікроконтролерів
- Навчальний курс AVR
|