Внутрішня оперативна статична пам'ять Static RAM ( SRAM ) має байтовий формат і використовується для оперативного зберігання даних

Розмір оперативної пам'яті може варіюватися у різних чіпів від 64 Байт до 4 КБ . Число циклів читання і запису в RAM не обмежена , але при відключенні живлячої напруги вся інформація втрачається.

Для деяких мікроконтролерів можлива організація підключення зовнішнього статичного ОЗП обсягом до 64К .

Периферія

Периферія мікроконтролерів AVR включає: порти (від 3 до 48 ліній введення і виведення ), підтримку зовнішніх переривань , таймери -лічильники , сторожовий таймер , аналогові компаратори , 10 - розрядний 8 -канальний АЦП, інтерфейси UART , JTAG і SPI , пристрій скидання по зниженню харчування , широтно- імпульсні модулятори .

Порти введення / виводу ( I / O)

Порти введення / виводу AVR мають число незалежних ліній " вхід / вихід" від 3 до 53 . Кожна лінія порту може бути запрограмована на вхід або на вихід. Потужні вихідні драйвери забезпечують струмовий здатність навантаження 20 мА на лінію порту ( втікає струм) при максимальному значенні 40 мА , що дозволяє, наприклад , безпосередньо підключати до мікроконтролера світлодіоди і біполярні транзистори . Загальна струмова навантаження на всі лінії одного порту не повинна перевищувати 80 мА ( всі значення наведені для напруги живлення 5 В).

Архітектурна особливість побудови портів введення / виводу у AVR полягає в тому , що для кожної фізичної виводу ( пина ) існує 3 біти контролю / управління , а не 2 , як у поширених 8 - розрядних мікроконтролерів (Intel , Microchip , Motorola і т.д. ) . Це дозволяє уникнути необхідності мати копію вмісту порту в пам'яті для безпеки і підвищує швидкість роботи мікроконтролера при роботі з зовнішніми пристроями , особливо в умовах зовнішніх електричних перешкод .

Рис.1. Atmega8 порти вводу/виводу

 

Переривання ( INTERRUPTS )

Система переривань - одна з найважливіших частин мікроконтролера. Всі мікроконтролери AVR мають багаторівневу систему переривань. Переривання припиняє нормальний хід програми для виконання пріоритетного завдання , обумовленою внутрішнім або зовнішнім подією.

Для кожного такої події розробляється окрема програма , яку називають підпрограмою обробки запиту на переривання ( для стислості - підпрограмою переривання) , і розміщується в пам'яті програм.

При виникненні події, що викликає переривання , мікроконтролер зберігає вміст лічильника команд , перериває виконання центральним процесором поточної програми і переходить до виконання підпрограми обробки переривання .

Після виконання підпрограми переривання здійснюється відновлення попередньо збереженого лічильника команд і процесор повертається до виконання перерваної програми .

Для кожної події може бути встановлено пріоритет . Поняття пріоритет означає, що виконувана підпрограма переривання може бути перервана іншою подією тільки за умови , що воно має вищий пріоритет , ніж поточне. В іншому випадку центральний процесор перейде до обробки нового події тільки після закінчення обробки попереднього.

Таймери / лічильники ( TIMER / COUNTERS )

Мікроконтролери AVR мають у своєму складі від 1 до 4 таймерів / лічильників з розрядністю 8 або 16 біт , які можуть працювати і як таймери від внутрішнього джерела тактової частоти , і як лічильники зовнішніх подій .

Їх можна використовувати для точного формування тимчасових інтервалів , підрахунку імпульсів на висновках мікроконтролера , формування послідовності імпульсів , тактирования приемопередатчика послідовного каналу зв'язку. У режимі ШІМ (PWM) таймер / лічильник може являти собою широтно- імпульсний модулятор і використовується для генерування сигналу з програмованими частотою і шпаруватістю . Таймери / лічильники здатні виробляти запити переривань , перемикаючи процесор на їх обслуговування по подіям і звільняючи його від необхідності періодичного опитування стану таймерів. Оскільки основне застосування мікроконтролери знаходять в системах реального часу , таймери / лічильники є одним з найбільш важливих елементів.

Сторожовий таймер ( WDT )

Сторожовий таймер ( WatchDog Timer ) призначений для запобігання катастрофічних наслідків від випадкових збоїв програми . Він має свій власний RC -генератор , що працює на частоті 1 МГц. Як і для основного внутрішнього RC -генератора , значення 1 МГц є наближеним і залежить насамперед від величини напруги живлення мікроконтролера і від температури.

Ідея використання стоpожевого таймеpа гранично проста і полягає в pегуляpно його сбpасиваніі під упpавлением пpогpамму або зовнішнього впливу до того , як закінчиться його видеpжка часової і не пpоізойдет сбpоса пpоцессоpа. Якщо пpогpамма pаботает ноpмально , то команда сбpоса стоpожевого таймеpа повинна pегуляpно виконуватися , пpедохpаняя поцессоp від сбpоса. Якщо ж микpопpоцессоp випадково вийшов за межа пpогpамму (напpиклад, від сильної перешкоди по ланцюгу харчування ) або зациклився на якій-небудь ділянці пpогpамму, команда сбpоса стоpожевого таймеpа скоpее все не буде виконана протягом достатнього часової і пpоізойдет повний сбpоса пpоцессоpа, ініціалізіpующій все регістри і пpіводящій систему в pабочее стан .

Аналоговий компаратор (AC)

Аналоговий компаратор ( Analog Comparator ) порівнює напруги на двох висновках (пінах) мікроконтролера. Результатом порівняння буде логічне значення, яке може бути прочитане з програми.

Вихід аналогового компаратора можна включити на переривання від аналогового компаратора. Користувач може встановити спрацьовування переривання по наростаючому чи спадающему фронту або з переключення .

Аналого-цифровий перетворювач ( A / D CONVERTER )

Аналого-цифровий перетворювач (АЦП ) служить для отримання числового значення напруги, поданого на його вхід. Цей результат зберігається в регістрі даних АЦП. Який з висновків ( пінів ) мікроконтролера буде бути входом АЦП , визначається числом , занесеним до відповідного регістру .

Універсальний послідовний приймач ( UART або USART )

Універсальний асинхронний або універсальний синхронно / асинхронний приймач ( Universal Synchronous / Asynchronous Receiver and Transmitter - UART або USART ) - зручний і простий послідовний інтерфейс для організації інформаційного каналу обміну мікроконтролера із зовнішнім світом. Здатний працювати в дуплексному режимі ( одночасна передача і прийом даних). Він підтримує протокол стандарту RS- 232 , що забезпечує можливість організації зв'язку з персональним комп'ютером. ( Для стикування МК і комп'ютера обов'язково знадобиться схема сполучення рівнів сигналів. Для цього існують спеціальні мікросхеми , наприклад MAX232 . )