Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KOMAROV.DOC
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.32 Mб
Скачать

1.13. Таймер

Программируемый интервальный таймер (рис. 1.11) позволяет генерировать запросы на прерывания с периодом кратным длительности машинного цикла. Период запросов может программно задаваться в широком диапазоне значений.

Таймер содержит два 16-битных регистра TCOUNT, TPERIOD и один 8-битный регистр TSCALE. Команда управления расширенным режимом (см. п. 1.17.10.б) может разрешить или запретить работу таймера установкой или сбросом бита 5 регистра MSTAT. Регистр TCOUNT является счетчиком. Если таймер разрешен, то счетчик декрементируется с частотой вплоть до CLKOUT. Когда содержимое счетчика достигает нуля, то формируется запрос на прерывание, а счетчик перегружается из регистра TPERIOD и счет начинается снова.

Регистр TPERIOD (как и TCOUNT) может быть программно загружен любым 16-битным числом (через DMD шину, см. рис. 1.11), которое рассматривается как число без знака. Регистр TSCALE хранит коэффициент деления (уменьшенный на единицу) частоты импульсов декрементирования счетчика. Можно утверждать, что период следования запросов на прерывания Tint определяется формулой:

Tint = (TPERIOD + 1) * (TSCALE + 1) / Fclkout. (1.2)

Форматы регистров TCOUNT, TPERIOD, TSCALE и их адреса приведены в табл. 1.15.

Таблица 1.15

Формат регистров TCOUNT, TPERIOD, TSCALE и их адреса

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Адрес

TPERIOD

0x3FFD

TCOUNT

0x3FFC

0

0

0

0

0

0

0

0

TSCALE

0x3FFB

1.14. Системный интерфейс

К системному интерфейсу относится аппаратная часть и программное обеспечение, которые используются для управления процессором. Сигналы управления процессором включают: RESET#, сигналы синхронизации, флаги входов и выходов, запросы на прерывания, запрос на режим энергосбережения.

1.14.1. Сигналы синхронизации

Для синхронизации процессора на его вход CLKIN необходимо подать сигнал от внешнего генератора с ТТЛ уровнями или подключить кварцевый резонатор между CLKIN и XTAL, как это показано на рис. 1.1. Если используется внешний сигнал синхронизации, вход XTAL должен оставаться неподключенным. Нельзя также прерывать внешний сигнал синхронизации или изменять его частоту во время работы процессора.

Внутри процессора сигнал синхронизации удваивается по частоте, что определяет скорость выполнения машинных команд процессора (длительность машинного цикла). Например, при Fclkin = 16.67 МГц частота работы процессора равна 33 МГц (сигнал такой частоты выводится на контакт CLKOUT, см. рис. 1.1), а длительность машинного цикла составляет 33 нс.

Особенности синхронизации процессора предъявляют требования к длительности асинхронных сигналов, например, запросов на прерывания. Запрос на прерывание по уровню должен быть активен не менее длительности машинного цикла, увеличенного на сумму времен предустановки и удержания. Времена предустановки и удержания, а также длительности запроса по фронту приводятся в [3].

Сброс процессора. Активизация сигнала RESET# вызывает останов выполнения программы и аппаратный сброс процессора. При подаче питания на процессор этот сигнал должен всегда формироваться, чтобы корректно провести инициализацию внутренних ресурсов.

Сброс процессора (перезагрузку) можно также произвести программно: установкой BCR бита в регистре управления BDMA (сброс контекста BDMA, см. п. П1.10) или установкой PUCR бита в регистре управления автобуферизацией и экономичным режимом (SPORT1, сброс контекста экономичного режима работы процессора, см. П1.5).

В табл. 1.16 приводится содержимое внутренних регистров процессора после сброса и программной перезагрузки. Подразумевается, что содержимое регистров, не упомянутых в табл. 1.16, не изменяется в процессе сброса процессора. К таким регистрам, например, относятся регистры вычислительных устройств (ALU, MAC и SHIFTER), регистры генераторов адреса DAG1, DAG2, а также ПП и ПД (за исключением регистров управления и состояния, расположенных в ПД).

Таблица 1.16

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]