?або центральне процесорний пристрій (ЦПУ), побудоване на принципах RISC-архітектури. Основою цього блоку служить арифметико-логічний пристрій (АЛП). По системному тактовою сигналу з пам'яті програм відповідно до вмістом лічильника команд (Program Counter - PC) вибирається чергова команда і виконується АЛП. Під час вибору команди з пам'яті програм відбувається виконання попередньої обраної команди, що і дозволяє досягти швидкодії 1 MIPS на 1 МГц.
Ідея RISC - це ретельний підбір команд, які можна було б виконати за один такт. Таким чином, спрощується апаратна реалізація процесора, скорочується число транзисторів, знижується споживана потужність і ціна.
АЛУ підключено до регістрів загального призначення РОН (General Purpose Registers - GPR). Регістрів загального призначення всього 32, вони мають байтовий формат, тобто кожен з них складається з восьми біт. РОН знаходяться на початку адресного простору оперативної пам'яті, але фізично не є її частиною. Тому до них можна звертатися двома способами (як до регістрів і як до пам'яті). Таке рішення є особливістю AVR і підвищує ефективність роботи і продуктивність мікроконтролера.
Відмінність між регістрами і оперативною пам'яттю полягає в тому, що з регістрами можна виробляти будь-які операції (арифметичні, логічні, бітові), а в оперативну пам'ять можна лише записувати дані з регістрів.
У мікроконтролерах AVR реалізована Гарвардська архітектура, відповідно до якої розділені не тільки адресні простори пам'яті програм і пам'яті даних, але і шини доступу до них. Кожна з областей пам'яті даних (оперативна пам'ять і EEPROM) також розташована в своєму адресному просторі. Гарвардська архітектура дозволяє центральному процесору працювати одночасно як з пам'яттю програм, так і з пам'яттю даних, що істотно збільшує продуктивність.
1.2 Периферійні пристрої мікроконтролерів AVR
Периферія мікроконтролерів AVR включає: порти (від 3 до 48 ліній введення і виведення), підтримку зовнішніх переривань, таймери-лічильники, сторожовий таймер, аналогові компаратори, 10-розрядний 8-канальний АЦП, інтерфейси UART, JTAG і SPI, пристрій скидання по зниженню харчування, широтно-імпульсні модулятори.
. 2.1 Порти введення/виводу (I/O)
Порти введення/виводу AVR мають число незалежних ліній вхід/вихід від 3 до 53. Кожна лінія порту може бути запрограмована на вхід або на вихід. Потужні вихідні драйвери забезпечують струмовий навантажувальну здатність 20 мА на лінію порту (втікає струм) при максимальному значенні 40 мА, що дозволяє, наприклад, безпосередньо підключати до мікроконтролера світлодіоди і біполярні транзистори. Загальна струмове навантаження на всі лінії одного порту не повинна перевищувати 80 мА (всі значення наведені для напруги живлення 5 В).
Архітектурна особливість побудови портів введення/виводу у AVR полягає в тому, що для кожного фізичного виводу (пина) існує 3 біта контролю/управління, а не 2, як у поширених 8-розрядних мікроконтролерів (Intel, Microchip, Motorola і т.д.). Це дозволяє уникнути необхідності мати копію вмісту порту в пам'яті для безпеки і підвищує швидкість роботи мікроконтролера при роботі з зовнішніми пристроями, особливо в умовах зовнішніх електричних перешкод.
. 2.2 Переривання (INTERRUPTS)
Система переривань - одна з найважливіших частин мікроконтролера. Всі мікроконтролери AVR мають багаторівневу систему переривань. Переривання припиняє нормальний хід програми для виконання пріоритетного завдання, обумовленою внутрішнім або зовнішнім подією.
Для кожного такого події розробляється окрема програма, яку називають підпрограмою обробки запиту на переривання (для стислості - підпрограмою переривання), і розміщується в пам'яті програм.
При виникненні події, що викликає переривання, мікроконтролер зберігає вміст лічильника команд, перериває виконання центральним процесором поточної програми і переходить до виконання підпрограми обробки переривання.
Після виконання підпрограми переривання здійснюється відновлення попередньо збереженого лічильника команд, і процесор повертається до виконання перерваної програми.
Для кожної події може бути встановлений пріоритет. Поняття пріоритет означає, що виконувана підпрограма переривання може бути перервана іншою подією тільки за умови, що воно має більш високий пріоритет, ніж поточне. В іншому випадку центральний процесор перейде до обробки нового події тільки після закінчення обробки попереднього.
. 2.3 Таймери/лічильники (TIMER/COUNTERS)
Мікроконтролери AVR мають у своєму складі від 1 до 4 таймерів/лічильників з розрядністю 8...