Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Периферия




Архитектура МК ATmega16

 

Порт А
   

 

AVR-МК представляет собой объединение на одном кристалле центрального процессора (ЦП), ПЗУ, ОЗУ и периферийных узлов (рис. 2.5).

 

Генератор тактовых импульсов
       

 

 

АЦП
Порт В
Указатель стека
   

 

Счетчик команд

 

 


Память данных
Память программ


 

Сторожевой таймер
ОЗУ


 


 

Порт D
Регистр команд


 

 

Компаратор
  Рабочие регистры  
X  
   
Y  
   
Z  
   
       
         

 

АЛУ


 

Последовательный интерфейс связи с периферией
   
Порт С

 

К линиям управления ЦПУ

 

 

Периферия

 

Рис. 2.5. Архитектура МК ATmega16

ПЗУ включает в себя две раздельные области - память программ и память данных. Программа МК хранится в памяти программ; в


 

 

памяти данных могут храниться пользовательские данные (которые временно могут также храниться в ОЗУ).

Распределение адресного пространства памяти программ МК ATmega16 показано на рис. 2.6.


 

Память программ пользователя 8К ? 16

 

Загрузочная область


$0000

 

$1FFF


 

 

Рис. 2.6. Распределение адресного пространства памяти программ

 

Память программ делится на две секции – секцию
пользовательской программы (Application Flash Section) и
загрузочную секцию (Boot Flash Section).    
В первой секции размещаются команды основной
пользовательской программы, во второй – код, связанный с

реализацией функций самопрограммирования МК.

Большинство команд AVR-МК имеют формат одного 16- разрядного слова, в связи с чем по каждому из адресов памяти программ размещается одна команда. Размещение команд начинается с нулевого адреса ($0000).

Выполнение программы после сброса МК начинается с команды, которая размещается по нулевому адресу в памяти программ.

При работе с памятью программ используется так называемый одноуровневый конвейер – в то время как одна команда выполняется, следующая команда выбирается из памяти программ. Такой прием позволяет выполнять команду в каждом тактовом цикле. При этом адрес команды, которая должна выбираться из памяти программ, находится в счетчике команд (таким образом, счетчик команд задает адрес следующей команды). Счетчик команд в штатном режиме работы автоматически увеличивает свое значение на единицу с каждым импульсом тактового генератора, но возможны ситуации, когда пользовательская программа или узлы МК воздействуют на содержимое счетчика команд.

После выборки команда попадает в регистр команд.

 


Поделиться:

Дата добавления: 2015-01-19; просмотров: 67; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты