Использование прерываний. Таймеры ЦПУ

Страницы работы

Содержание работы

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

 


Методические указания к лабораторной работе № 2

Использование прерываний. Таймеры ЦПУ

Разработал: Ванцев Д.В.

Утвердил: Трубин В.Г.

Версия от 11 мая 2010 г.

 

Новосибирск

2010


СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1.  СИСТЕМА ПРЕРЫВАНИЙ. МОДУЛЬ PIE

1.1.  Общие сведения

1.2.  Контроллер блока PIE

1.3.  Источники прерываний

1.4.  Конфигурирование блока PIE

2.  ТАЙМЕРЫ ЦПУ

2.1.  Общие сведения

2.2.  Конфигурирование

2.3.  Обращение к управляющим регистрам

3.  ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ

ЛИТЕРАТУРА


ВВЕДЕНИЕ

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

Цель данной лабораторной работы – получение начальных навыков программирования и работы с системой прерываний процессора TMS320F2808, на примере использований таймера ЦПУ.


1. СИСТЕМА ПРЕРЫВАНИЙ. МОДУЛЬ PIE

1.1. Общие сведения

Возникающие в процессе работы СУЦОС прерывания сначала отрабатываются аппаратно с помощью системы или модуля обработки прерываний. В системе обработки прерываний процессоров TMS320 немаловажную роль играет блок PIE (PeripheralInterruptExpansion) [1, стр. 119].  Дословный перевод определения – блок расширения прерываний. В блоке PIE для увеличения количества обслуживаемых источников прерываний (при ограниченном количестве входных линий) используется мультиплексирование сигналов запроса на прерывание от ряда групп периферийных модулей на отдельные линии.

Блок PIE поддерживает 96 независимых источников прерываний, разделенных на 12 равных по количеству групп. Средствами блока возможно разрешение/запрещение каждого из 96 прерываний.  Каждую группу обслуживает определенная линия системы обработки прерываний (INT1INT12). В свою очередь, каждому из 96 прерываний выделен собственный вектор, хранимый в специально отведенной для этого области ОЗУ (область может назначаться программистом). При обслуживании запроса на прерывание от определенного периферийного модуля, ЦПУ автоматически извлекает из памяти соответствующий ему вектор прерывания. На извлечение вектора и сохранение содержимого критических регистров ЦПУ затрачивается всего 9 машинных циклов (периодов тактирования ЦПУ).

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

1.2. Контроллер блока PIE

Система прерываний процессоров семейства TMS320xF28xx на уровне ЦПУ поддерживает одно немаскируемое прерывание (NMI) и 16 маскируемых запросов на прерывание с приоритетом (INT1INT14, RTOSINT, DLOGINT).

Процессор имеет целый набор встроенной периферии, на уровне периферии для каждого модуля предусмотрено одно или более прерываний по определенному событию. Поскольку обслуживать такое количество источников прерываний на уровне ЦПУ не представляется возможным, потребовался централизованный контроллер PIE, осуществляющий арбитраж запросов на прерывание от различных источников (внешних и внутренних).

Для хранения адресов (векторов), по которым располагаются подпрограммы-обработчики прерываний для каждого источника прерываний, используется специальная таблица векторов прерываний (PIE vector table). На этапе инициализации процессора программист заполняет таблицу, задействуя необходимые источники прерываний, содержание этой таблицы может изменяться на любом этапе выполнения программы.

Обобщенная последовательность процесса обработки прерывания

На рис. 1.1 показана последовательность действий по обработке прерываний, осуществляемых в блоке PIE.


Уровень периферии

При возникновении в каком-либо периферийном модуле события, приводящего к прерыванию, в регистре флагов прерываний блока PIE (PIEIFR) устанавливается соответствующий разряд. Если это прерывание разрешено на уровне периферии (соответствующий разряд регистра разрешения PIEIER установлен в 1), периферийный модуль посылает контроллеру PIE запрос на прерывание. В противном случае запрос не посылается, а флаг прерывания сохраняет свое значение до тех пор, пока он не будет сброшен программно. Если флаг не сбрасывать, то дальнейшее разрешение соответствующего прерывания приведет к посылке запроса на прерывание. Флаги прерывания регистров периферийных модулей должны очищаться вручную.

Похожие материалы

Информация о работе

Тип:
Методические указания и пособия
Размер файла:
232 Kb
Скачали:
0