Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОВС (шпоры).doc
Скачиваний:
14
Добавлен:
20.09.2019
Размер:
670.72 Кб
Скачать
  1. Микроконтроллеры. Основные понятия. Структура pic16f84

MC: Выполнен на одной ИС. MC имеет усеч. набор инструкций, не имеет (как правило) встроенной или кэш-памяти, реал-ся как RISC-машина, конвейер с 2 ступ. Осн. задача MC – не реализация вычислений, а управление периферией или др. у-вами. С внешним миром MC связан System Bus и Peripheral Bus.

ВНУТРЕННЯЯ СТРУКТУРА МИКРОКОНТРОЛЛЕРА (МК)

(Q1,Q2) – Fetch & Decode

(Q3,Q4) – Execute & Write

File Reg. – GPR – память данных

WREG – регистр записи результата (Write (Result) Reg)

SR – статус-регистр

FSR – File Select Reg.

USART – универс. синхр. передатчик

ADC – АЦП

Qi – сигналы управления, к-рые исп. для обеспечения конвейерной обработки инструкций.

Центр. ядро этого контроллера построено на наличии ALU и аккумулятора WREG, к-рый явл. источником по умолчанию 1-го операнда ALU. 2-ой операнд может задаваться:

  • Как значение из регистра инструкций

  • Источником м. б. любой пакет данных от системной шины данных

WREG явл. программно доступным регистром.

SR – записываются флаги операций.

FSR – выборка файлов в зависимости от способа адресации.

File Reg. – набор GPR.

У-во управления – 4 синхросигнала:

Q1 – отвечает за выборку исполняемых инструкций из памяти.

Q2 – сигнал управления декодером инструкций.

Q3 – сигнал управления ALU.

Q4 – сигнал, определяющий, куда должен записываться результат.

2-хступенчатый конвейер:

PC  PC+1

F,DPC E,WPC

E,WPC-1 F,DPC+1

Возможны только конфликты по управлению.

  1. Pic16f84. Структура памяти исполняемых инструкций

Счетчик команд в МК PIC16F8Х имеет ширину 13 бит и способен адресовать 8Кх14бит объема программной памяти. Однако физически на кристаллах МК PIC16F84 имеется только 1Кх14 памяти (адреса 0000h-03FFh). Обращение к адресам выше 3FFh фактически есть адресация в те же первые 1К адресов.

В памяти программ есть выделенные адреса. Вектор сброса находится по адресу 0000h, вектор прерывания – по адресу 0004h. Обычно по адресу 0004h располагается подпрограмма идентификации и обработки прерываний, а по адресу 0000h – команда перехода на метку, расположенную за подпрограммой обработки прерываний.

В микроконтроллерах ОЗУ данных используется также для организации вызова подпрограмм и обработки прерываний. При этих операциях содержимое программного счетчика и основных регистров (аккумулятор, регистр состояния и другие) сохраняется и затем восстанавливается при возврате к основной программе.

Микроконтроллеры подгруппы PIC16F8X имеют восьмиуровневый аппаратный стек шириной 13 бит. Область стека не принадлежит ни к программной области, ни к области данных, а указатель стека пользователю недоступен. Текущее значение счетчика команд посылается в стек, когда выполняется команда CALL или производится обработка прерывания. При выполнении процедуры возврата из подпрограммы (команды RETLW, RETFIE или RETURN) содержимое счетчика команд восстанавливается из стека. Регистр PCLATH при операциях со стеком не изменяется. Стек работает как циклический буфер. Следовательно, после того как стек был загружен 8 раз, девятая загрузка перепишет значение первой. Десятая загрузка перепишет вторую и т.д. Если стек был выгружен 9 раз, счетчик команд становится таким же, как после первой выгрузки.