AVR: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Рядок 48: Рядок 48:


[[Категорія:Процесори]]
[[Категорія:Процесори]]
[[Категорія:Вбудовані системи]]
[[Категорія:Вбудовані мікроконтролери]]


[[cs:AVR]]
[[cs:AVR]]

Версія за 23:18, 23 лютого 2013

AVR — сімейство восьмибітових мікроконтролерів фірми Atmel.

Мікроконтролери сімейства AVR

Мікроконтролери AVR мають гарвардську архітектуру (програма і дані знаходяться в різних адресних просторах) і систему команд, близьку до ідеології RISC. Процесор AVR має 32 8-бітових регістра. Управління мікроконтролером, по суті, є управління цими регістрами. На відміну від «ідеального» RISC, регістри не абсолютно ортогональні: Деякі команди працюють тільки з регістрами r16…r31. Результат множення (у тих моделях, в яких є модуль множення) завжди розміщується в r0:r1. Для непрямої адресації пам’яті даних використовуються три «здвоєні» 16-бітові регістри-вказівники X (r26:r27), Y (r28:r29) та Z (r30:r31). В командах роботи з пам’яттю програм LPM, SPM використовується лише регістрова пара Z (r30:r31).

Управління периферійними пристроями здійснюється через адресний простір даних. Для зручності з першими 64-ма адресами периферійних пристроїв можна працювати за допомогою «скорочених» команд IN/OUT доступу до простору вводу-виводу (I/O – Input/Output). Роботу з окремими бітами периферійних пристроїв у просторі I/O забезпечують команди SBI, CBI, SBIS, SBIC. Втім, ці команди працюють лише з першими 32-ма адресами простору.

Окрім фірмових засобів розробки (IAR, CODEVISION і ін.), існує GNU порт GCC для AVR. Крім того, архітектура AVR дозволяє застосовувати операційні системи при розробці застосувань, основними з яких є написані на мові C системи FREERTOS та uOS. Також існує написана на мові програмування C++ система scmRTOS

Суттєвий вплив на поширеність мікроконтролерів має те, що програмування цих мікроконтролерів здійснюється досить легко. Найпростіший програматор, пристрій за допомогою якого персональний комп'ютер записує програму у flash-пам'ять мікроконтролера, складається з п'яти провідників та вилки порта LPT. Це дозволяє з успіхом використовувати мікроконтролери AVR новачками, що хочуть отримати знання з мікроелектроніки.

Основні сімейства

  • tinyAVR
    • 0.5–16 кБ пам'яті програм
    • 32-1024 байти оперативної пам’яті
    • 0-512 байтів енергонезалежної пам’яті даних EEPROM
    • 6–32-вивідний корпус
    • Обмежений набір внутрішніх периферійних пристроїв
  • megaAVR
    • 4–256 кБ пам'яті програм
    • 0.25-8 кБ оперативної пам’яті
    • 0.25-4 кБ енергонезалежної пам’яті даних EEPROM
    • 28–100-вивідний корпус
    • Розширений набір команд (команди множення, розширені методи адресації в командах LPM, SPM)
    • Розширений набір внутрішніх периферійних пристроїв
  • XMEGA
    • 16–384 кБ пам'яті програм
    • 2–32 кБ оперативної пам’яті
    • 1–4 кБ енергонезалежної пам’яті даних EEPROM
    • 44–64–100-вивідний корпус (A4, A3, A1)
    • Підвищена продуктивність за рахунок таких особливостей, як ПДП (Прямий Доступ до Пам'яті), підтримка криптографії, "Система подій".
    • Розширений набір внутрішніх периферійних пристроїв (ЦАП)

Дивіться також

Посилання