Слайд 1СРЕДСТВА СЧЕТА ВРЕМЕНИ
1. Программируемый интервальный таймер ВИ53/ВИ54.
2. Организация общесистемных
средств счета времени.
Слайд 2Программируемый интервальный таймер ВИ53/ВИ54.
Таймеры/счетчики предназначены для подсчета внешних событий,
организации программно-управляемых временных задержек и измерения временных интервалов.
Слайд 3Функции таймеров
Прерывания с разделением времени
Вывод точных интервалов в устройства ВВ
Генератор
скорости передачи
Формирование и измерение временных интервалов
Подсчет числа событий
Слайд 4Структурная схема
_________________________
i Регистр управления
i
i________________________i CLK
I
_________________________
I регистр начала счета I
I________________________ I
I
____________________
I вычитающий счетчик I GATE
I ___________________I
I
_______________________
I выходной регистр счетчика I(
I________________________I
I OUT
_________________________
I регистр состояния I
I________________________I
_
Слайд 5
БИС программируемый интервальный таймер (ПИТ, PIT-Programmable Interval Timer) КР580ВИ53 (ВИ53)
Это функционально законченное однокристальное ПУ встраиваемого типа, предназначенное для работы
совместно с МП ВМ80
Слайд 6Структура таймера
В состав БИС (рис.14.1) входят три 16-разрядных вычитающих счетчика
(СТ) с частотой счета по входу CLK (Clock) до 2
МГц. Каждый СТ может работать в одном из шести программно-заданных режимов независимо от других. Все счетчики программно доступны для записи и чтения
Слайд 8
Все счетчики программно доступны для записи и чтения с помощью
слов данных DW и могут работать как в двоичном коде,
так и в 2/10-коде. Управление режимами выполняется с помощью управляющих слов CW которые кроме режима (поле М) определяют код счета (двоичный или 2/10) и формат обмена данными с МП при операциях со счетчиками: только старшим байтом, только младшим байтом или всем словом (поле RL). Поле SC используется для указания счетчика, к которому относится очередное слово CW.
Связь ПИТ с МС осуществляется через двунаправленную 8-разрядную шину данных D7-DO под управлением пяти сигналов АО, Al, CS, RD и WR в соответствии с табл. 3.6. При двухбайтовом формате данных операция- со счетчиками выполняется дважды: сначала записывается дли считывается младший байт, затем-старший. Обслуживание СТ выполняется параллельно и независимо друг от друга. Поэтому перед началом работы каждый СТ должен быть инициализирован индивидуально посылкой соответствующего слова состояния CW. Каждое CW, за исключением операции защелкивания (RL=0), сопровождается 1-2 байтами слова данных DW начального состояния выбранного СТ. Выполнение операции начинается только после загрузки последнего байта данных
Слайд 10адреса
A1 A0 RD WR CS
0
0 0 1
0 D - сч 0
0 1 0 1 0 D - сч1
1 0 0 1 0 D - сч2
1 1 0 1 0
--------
0 0 1 . 0 0 сч 0 – с D
0 1 1 0 0 сч 1 – с D
1 0 1 0 0 сч2 – с D
1 1 1 0 0 управл - с D
Слайд 11Примеры настройки
СТО можно запрограммировать для работы как в режиме
2, так и в режиме 3. Остановимся на режиме 2:
MVI
A.00110101В;Код команды
OUT PIT+3;для ПИТ
СТ1 в режим 0 число пересчета младший байт в десятичной системе
01010010В
Слайд 12Режимы работы
Режим 0 (прерывание по окончанию счета). По окончании записи
CW на выходе OUT устанавливается 0. После загрузки DW счетчик
начинает вычитать по каждому срезу CLK. При переходе в 0 на выходе OUT устанавливается 1. Работа СТ при этом не останавливается. Перезапуск канала производится при загрузке новых данных DW. Запись первого байта останавливает счет, второй байт запускает новый счет. Вход GATE разрешает счет при высоком и запрещает при низком уровне напряжения.
Режим 1 (программируемый одновибратор). Выход OUT генерирует 0 по первому срезу CLK после фронта GATE счетчик начинает считать. При переходе СТ в 0 на выходе OUT устанавливается 1. Перезагрузка СТ во время счета не изменяет длительности текущего импульса. Однако появление нового фронта GATE перезапускает СТ с новым или старым значением. Чтение счетчика возможно в любое время.
Слайд 13Режимы работы
Режим 2 (генератор частоты). Выход OUT==0 только в течение
одного периода входной частоты CLK , который определяется значением DW.
Перезагрузка СТ не приводит к изменению длительности текущего периода, но влияет на длительность последующего. При подаче на управляющий вход GATE О осуществляется переход в 1 выхода OUT. Фронт GATE запускает СТ из начального состояния. Может служить для аппаратной синхронизации счетчика.
Режим 3 (генератор прямоугольных импульсов). На выходе OUT 1 будет сохраняться до тех пор, пока не закончится одна половина счета При нечетном DW на протяжении (N+1)/2 тактов удерживается 1 и на протяжении (N-1)/2 тактов-0. При перезагрузке СТ новое значение скажется на результат работы толь*" ко при переходе OUT в другое состояние. В остальном режим подобен предыдущий
Слайд 14Режимы работы
Режим 4 (программная задержка строба). После записи CW на
выходе OUT устанавливается 1 (рис.14.3,6). Запуск счета осуществляется после загрузки
DW, При достижении 0 на выходе OUT генерируется импульс длительностью в одна период CLK, а СТ продолжает работать. Перезагрузка СТ во время счета приводит к перезапуску СТ. Генерация 0 на входе GATE приостанавливает счет.
Режим 5 (аппаратная задержка строба). Счетчик начинает работать только по фронту GATE (рис.14.3, в). Новый фронт перезапускает текущий счет. В остальном режим подобен предыдущему.
Слайд 17Организация общесистемных средств счета времени
Программируемый интервальный таймер ВИ53/ВИ54 является
прибором широкого назначения. На его основе могут "быть построены разнообразные
времязависимые устройства, имеющие общесистемное значение: генераторы скорости передачи последовательных данных, часы суточного времени, средства контроля за длительностью обращения к системной магистрали и др.
Слайд 18Генератор скорости
Генератор скорости передачи данных через последовательные каналы может
быть построен на базе одного из счетчиков ПИТ. Например, для
приведенного на рис. 3.35 адаптера ИРПС используется счетчик СТ2, который должен быть запрограммирован для работы в режиме генератора прямоугольных импульсов. На вход GATE счетчика необходимо подать напряжение высокого уровня, а вход CLK соединить с линией системной частоты CCLK. При перезапуске системы (включении питания или нажатии клавиши RESET) генератор скорости должен быть проинициализирован. Это делается с помощью специальной процедуры инициализации VELINI, переводящий СТ2 в режим 3 с обменом словами в двоичном коде:
Процедуру установки скорости передачи удобно оформлять в виде отдельной подпрограммы VEL, принимающей через регистровую пару ВС 16-разрядный фактор скорости в двоичной форме:
Слайд 19Инициализация
VELINI:PUSH PSW
MVI A, 10110110B;
Код команды
OUT PIT+3
POP PSW
RET
Слайд 20Загрузка числа пересчета
VEL:PUSH PSW
MOV А, С
; Младший байт
OUT PIT+2 ;скорости
MOV А, В; Старший байт
OUT PIT+2; скорости
POP PSW
RET
Слайд 22Часы суточного времени
Если функцию счета времени возложить на программные
средства, то для реализации часов достаточно построить генератор меток реального
времени. Для этой цели резервируется счетчик СТО программируемого таймера,вход CLK которого соединяется с CCLK, на вход GATE подается напряжение высокого уровня, а выход OUT используется в качестве сигнала запроса на прерывание высшего приоритета IRO. Такая схема обеспечивает своевременную обработку меток реального времени через систему прерываний.
Слайд 23
Обычно эти метки следуют с частотой 50 Гц. Предполагая, что
CCLK = 2 МГц, получаем стандартную процедуру инициализации генератора системного
времени Счет суточного времени может быть организован специальной программой [II], запускаемой по прерыванию IRO. Подпрограмма ведет счет в формате "часы, минуты, секунды, доли секунд" и использует 8 байт данных:Временные затраты, необходимые для поддержки рассмотренных выше часов суточного времени при тактовой частоте ВМ80, равной 2 МГц, и частоте системных меток 50 Гц составляют 1,2%.
Слайд 24Служба реального времени
Решить проблему организации службы времени помогает устройство
счета временных интервалов, в качестве которого применяется счетчик СТ1 программируемого
таймера. Для этого вход CLK счетчика соединяется с выходом OUT генератора часов суточного времени, на вход GATE подается напряжение высокого уровня, а выход OUT используется в качестве запроса IRQ1 первого уровня. В функции процедуры входит запуск обслуживания очередного запроса из очереди и установка нового интервала ожидания до начала обслуживания следующего запроса. Отработка данного интервала возлагается на счетчик паузы СТ1.