- •Параллельный интерфейс/таймер 68230.Содержание.
- •Обмен информацией в синхронном режиме.
- •Структура параллельного интерфейса/таймера 68230.
- •Расположение и назначение выводов 68230.
- •Режимы работы параллельного интерфейса. Режим 0.
- •Подрежим 00.
- •Подрежим 01.
- •Подрежим 1x.
- •Режим 1.
- •Подрежим x0.
- •Подрежим x1.
- •Режим 2.
- •Режим 3.
- •Регистры параллельного интерфейса. Регистр управления режимом работы портов (pgcr).
- •Регистр управления прерываниями (psrr).
- •Регистр вектора прерывания параллельного интерфейса (pivr).
- •Регистр статуса портов (psr).
- •Регистры направления перемещения данных (pddra, pddrb, pddrc).
- •Регистры управления портами (pcra, pcrb).
- •Регистры данных портов (padr, pbdr, pcdr).
- •Регистры состояния портов (paar, pbar).
- •Блок таймера 68230.
- •Состояния таймера.
- •1. Состояние останова.
- •Примеры применения таймера.
Примеры применения таймера.
В данном разделе рассмотрим некоторые из возможных применений таймера.
Режим реального времени.
В режиме реального времени производится периодическое формирование запросов на прерывание через определенный промежуток времени. Этот режим может использоваться, например, для переключения между несколькими выполняемыми задачами или при реализации функции часов. В данном режиме вывод Tout соединяется с одним из входов запросов прерывания процессора, линия PC7/TIACK/ может выполнять функцию входа подтверждения прерывания для таймера или работать в качестве простой линии ввода/вывода. Формат регистра TCR для режима реального времени показан на рис.22.
Перед началом работы процессор загружает в регистры предзагрузки 24-разрядную величину и затем устанавливает регистр TCR как показано выше. Бит разрешения таймера может быть установлен в любое время.
После перехода значения счетчика от $00 0001 к $00 0000, устанавливается флаг нуля ZDS и устанавливается запрос прерывания на выводе Tout. В следующий период тактовой синхронизации счетчик загружается из регистров предзагрузки и счет продолжается. В процессе обслуживания прерывания процессор должен очистить флаг нуля ZDS для исключения повторного запроса. (Примечание.Для сброса флага нуля ZDS необходимо записать в него логическую единицу). Временная диаграмма работы таймера в данном режиме представлена на рис.23.
TCR7
|
TCR6
|
TCR5
|
TCR4
|
TCR3
|
TCR2
|
TCR1
|
TCR0
| |||
1
|
X
|
1
|
0
|
0
|
0
|
0
|
1
| |||
PC3/Tout=Tout; прерывания от таймера разрешены; Tout устанавливается в 0, при установке ZDS
|
|
|
счетчик пере-загружается после установки в 0
|
|
Частота синхронизации=CLK/32
|
|
|
Рис.22 Формат регистра TCR в режиме реального времени.
Рис.23 Временные диаграммы работы таймера в режиме реального времени.
Режим генератора меандра.
В данном режиме таймер используется для формирования сигнала меандра на выходе Tout. Генерация запроса на прерывание в этом режиме запрещена. Формат регистра TCR, представленный на рис.22 применим также к режиму генератора меандра, за исключение того, что бит TCR.7 должен быть установлен в 0.
На рис.24 представлена временная диаграмма работы таймера в режиме генератора меандра.
Рис.24 Временные диаграммы работы таймера в режиме генератора меандра.
Режим формирования временной задержки.
В этом режиме таймер формирует запрс на прерывание через определенное время после запуска. Также, как в случае режима реального времени, Tout соединяется с одной из линий запроса прерывания процессора и TIACK/ может использоваться в качестве входа подтверждения для таймера.
На рис.25 представлен формат регистра TCR для данного режима, а также для других режимов рассмотренных в этой главе. Бит управления перезагрузкой (TCR.4) для режима формирования временной задержки установлен в "1", следовательно после того, как счетчик достигает нулевого значения, счет продолжается далее со своей максимальной величины. Временные диаграммы данного процесса показаны на рис.26. В начале обслуживания прерывания процессор должен остановить таймер и в случае необходимости прочесть содержимое счетчика. При этом по содержимому счетчика можно определить время между моментом формирования запроса на прерывание и началом его обслуживания.
Режим измерения времени.Данный режим позволяет измерять время между моментом запуска таймера и его остановом (после сброса бита разрешения таймера). На рис.NN (режим 4) показан формат регистра TCR в этом режиме. Процессор инициализирует таймер путем записи в регистр предзагрузки счетчика значения $FF FFFF и соответствующей установкой TCR, после этого процессор устанавливает бит запуска TCR.0. Величина $FF FFFF выбрана чтобы обеспечить максимально возможный период счета.
После установки бита TCR.0 предделитель начинает уменьшать свое значение синхронно с тактовыми импульсами на CLK, и после перехода от $00 к $1F производится декрементирование содержимого счетчика. Останов таймера производится после сброса бита разрешения TCR.0. После останова процессор может считать содержимое регистров счетчика и тем самым определить период нахождения таймера в состоянии работы. При соответствкющем программировании TCR возможно синхронизировать работу таймера от сигнала на внешнем входе Tin. В этом случае реализуется режим 5 (рис.25) и счетчик фиксирует число импульсов между моментами установки и сброса бита TCR.0.
При установке битов TCR.2, TCR.1 в 0, 1 соответственно, таймер может быть установлен в состояние работы или останова уровнем на входе Tin (рис.25, режим 6). В этом случае для работы таймера необходимо, чтобы бит TCR.0 был установлен в "1" и на выводе Tin присутствовал высокий уровень.
TCR7
|
TCR6
|
TCR5
|
TCR4
|
TCR3
|
TCR2
|
TCR1
|
TCR0
|
Режим
| |
1
|
X
|
1
|
0
|
0
|
00 èëè
|
1X
|
1
|
1
| |
0
|
1
|
X
|
0
|
0
|
00 èëè
|
1X
|
1
|
2
| |
1
|
X
|
1
|
1
|
0
|
00 èëè
|
1X
|
1
|
3
| |
0
|
0
|
X
|
1
|
0
|
0
|
0
|
1
|
4
| |
0
|
0
|
X
|
1
|
0
|
1
|
X
|
1
|
5
| |
1
|
X
|
1
|
1
|
0
|
0
|
1
|
1
|
6
|
Режим 1 - режим реального времени.
Режим 2 - генератор меандра.
Режим 3 - режим формирования временной задержки.
Режим 4 - режим измерения времени.
Режим 5 - счетчик внешних импульсов.
Режим 6 - режим измерения периода внешнего сигнала.
Рис.25 Формат регистра TCR для различных режимов работы таймера.
Рис.26 Временные диаграммы работы в режиме измерения времени.