Организация векторной системы прерываний. Программируемый контроллер прерываний ВН59, страница 6

Режим 2 (генератор частоты). Выход OUT=0 только в течение одного периода входной частоты CLK (рис. 3.52, в), который определяется значением DW. Перезагрузка СТ не приводит к изменению длительности текущего периода, но влияет на длительность последующего. При подаче на управляющий вход GATE О осуществляется переход в 1 выхода OUT. Фронт GATE запускает СТ из начального состояния. Может служить для аппаратной синхронизации счетчика.

Режим 3 (генератор прямоугольных импульсов). На выходе OUT 1 будет со­храняться до тех пор, пока не закончится одна половина счета (рис. 3.53, а). При не­четном DW на протяжении (N+1)/2 тактов удерживается 1 и на протяжении (N—1)/2 тактов—0. При перезагрузке СТ новое значение скажется на результат работы толь­ко при переходе OUT в другое состояние. В остальном режим подобен предыдущему.

Режим 4 (программная задержка строба). После записи CW на выходе OUT устанавливается 1 (рис. 3.53,6). Запуск счета осуществляется после загрузки DW. При достижении 0'на выходе OUT генерируется импульс длительностью в один период CLK, а СТ продолжает работать. Перезагрузка СТ во время счета приводит к перезапуску СТ. Генерация 0 на входе GATE приостанавливает счет.

Режим 5 (аппаратная задержка строба). Счетчик начинает работать только по фронту GATE (рис. 3.53, в). Новый фронт перезапускает текущий счет:

В остальном режим подобен предыдущему.

Во всех режимах сигнал GATE (рис. 3.54) является управляющим: запрещает счет низким уровнем напряжения и (или) перезапускает фронтом. Функции входа GATE приведены в табл. 3.7.

В ряде случаев необходимо контролировать текущее состояние СТ, например, когда СТ используется в качестве счетчика событий или реальных часов. Существуют два метода чтения содержимого СТ. Первый метод состоит в обычном чтении 1 —2 байтов выбранного СТ. Для устойчивого чтения текущего состояния СТ функция счета может быть подавлена с помощью входа GATE или

внешним запретом импульсов CLK-. Сначала читается младший, затем старший байт. Если формат ^данных обмена с СТ—слово, то оба байта должны быть сосчитаны до -додачи на данный СТ новой команды.

Второй метод заключается в чтении содержимого СТ «на ходу»—без запрета его работы. Для этого в ПИТ должна быть послана специальная команда защелкивания (поле RL=0), при которой поле выбора счетчика SC кодирует выбор СТ. Остальные разряды CW могут быть произвольными. По команде защелки­вания текущее состояние выбранного СТ записывается в специальный регистр, что не мешает работе СТ. Следующая за командой операция чтения приводит регистр в исходное состояние. Операция чтения подвержена тем же ограничениям, что и в предыдущем случае.

Программируемый интервальный таймер ВИ54 является усовершенствован­ным архитектурно совместимым с ВИ53 прибором. В устройстве предусмотрена новая команда для чтения текущего состояния счетчиков, включая режим. Форматы команды и нового слова состояния SW приведены на рис. 3.55.

Организация общесистемных средств счета времени. Программи­руемый интервальный таймер ВИ53/ВИ54 является прибором широкого назначения. На его основе могут быть построены разнообразные времязависимые устройства, имеющие общесис­темное значение: генераторы скорости передачи последовательных данных, часы суточного времени, средства контроля за длитель­ностью обращения к системной магистрали и др. Учитывая широкий интерес к средствам такого типа, рассмотрим примеры их конкретной реализации для МС на базе ВМ80.

Генератор скорости. Генератор скорости передачи дан­ных через последовательные каналы может быть построен на базе одного из счетчиков ПИТ. Например, для приведенного на рис. 3.35 адаптера ИРПС используется счетчик СТ2, который должен быть запрограммирован для работы в режиме генератора прямоугольных импульсов. На вход GATE счетчика необходимо подать напряжение высокого уровня, а вход CLK соединить с линией системной частоты CCLK. При перезапуске системы (включении питания или нажатии клавиши RESET) генератор скорости должен быть проинициализирован.