МИКРОКОНТРОЛЛЕР AVR - Страница 14

МИКРОКОНТРОЛЛЕР AVR - МИКРОКОНТРОЛЛЕР AVR

Рис. 32.9. Структура AVR с памятью SRAM и регистрами ввода-вывода

Рис. 32.10. Области памяти в архитектуре младших моделей AVR

Программный счетчик и стек

Вы, вероятно, будете удивлены, узнав, что мы рассмотрели уже 90% структуры AVR. Единственной существенной частью архитектуры, которую осталось обсудить, являются программный счетчик команд и реализация стека. Реализация стека — главное отличие между младшими моделями AVR и другими микроконтроллерами этого семейства. В младших моделях AVR стек реализован в виде оперативной памяти типа LIFO («последний пришел - первый ушел»), добавленной к программному счетчику. Когда вызывается подпрограмма или происходит запрос прерывания, содержимое счетчика команд вводится в этот стек (рис. 32.11.). В AVR1200 такой стек имеет глубину в три элемента. Это значит, что вы можете иметь только три вложенные подпрограммы или два вложенных вызова функции в активном обработчике прерывания. Данное обстоятельство значительно ограничивает возможности этого микроконтроллера.

Рис. 32.11. Счетчик команд и стек в младших моделях AVR

Структурная схема для AVR1200 и других младших моделей приведена на рис 32.12. Другие модели семейства AVR не имеют таких жестких ограничений на объем стека, так как они используют для размещения стека внутреннюю память SRAM и, возможно, внешнюю память (рис. 32.13.) Такая структура позволяет использовать в качестве стека весь доступный объем оперативной памяти. Использование значительного объема памяти RAM в качестве стека дает ряд преимуществ при разработке приложений, которые будут рассмотрены ниже. Окончательная структурная схема микроконтроллеров AVR имеет вид, показанный на рис 32.14.

Go to Top