Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000544.doc
Скачиваний:
26
Добавлен:
30.04.2022
Размер:
14.75 Mб
Скачать

10. Отсчёт реального времени в эвм

10.1. Программируемый таймер

10.2. Программируемый контроллер прерываний

10.3. Прерывания в IBM PC

10.4. Отсчёт реального времени в ЭВМ

10.5. Процедуры и функции для работы с прерываниями

Работа ЭВМ в реальном масштабе времени обеспечивается совокупностью аппаратных и программных средств. К аппаратным средствам, прежде всего, относятся элементы архитектуры, обеспечивающие механизм прерываний: таймер, программируемый контроллер прерываний. К программным средствам относятся прерывания DOS и BIOS, отдельные операторы языков высокого уровня ориентированные на упрощение составления программ обработки прерываний. Заметим, что использование внешнего таймера и механизма прерываний расширяет возможности обработки сигналов в реальном масштабе времени.

Цель главы – ознакомление с системой аппаратных и программных средств, обеспечивающих работу ЭВМ в реальном масштабе времени.

После изучения главы необходимо знать

  • Принцип работы векторной системы прерываний,

  • содержимое и размещение векторов прерываний,

  • назначение и функциональную структуру программируемого таймера,

  • режимы работы и программирование таймера,

  • назначение и функциональную структуру программируемого контроллера прерываний,

  • программирование и работа контроллера прерываний,

  • написание собственных программ обработки прерываний,

  • встроенные функции PASCAL для создания программ обработки прерываний,

  • включение функций пользователя в стандартные программы обработки прерываний,

  • особенности использования прерывания 1CH,

При аппаратной реализации механизма отсчета реального времени в ЭВМ используются входящие в ее состав программируемый таймер и программируемый контроллер прерываний. Внутри ЭВМ они могут представлять собой как отдельные микросхемы, так и входить в состав одной БИС, наряду с другими схемами. При этом сохраняется полностью их совместимость на программном уровне. Рассмотрим их устройство, принцип действия и использование в составе ЭВМ.

10.1. Программируемый таймер

Для задания временных интервалов и формирования сигналов с различными временными параметрами используются программируемые таймеры 8253 (отечественный аналог КР580ВИ53) и 8254 (отечественный аналог К1810ВИ54).

Таймер 8254, имеющий повышенное быстродействие, полностью аналогичен 8253 и применяется в IBM PC АТ.

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

Микросхема выполнена в 24-выводном корпусе и имеет единственный источник питания +5 В.

В состав таймера (рис. 10.1) входят: буфер шины данных, схема управления вводом-выводом, и три независимых канала, каждый из которых содержит регистр режима, схему управления каналом, буфер и 16-разрядный вычитающий счетчик. Выводы D0-D7 предназначены для обмена данными и подключаются к шине данных ЭВМ. На входы RD и WR подаются стробы чтения и записи. А0,А1 – младшие разряды адреса. Они соединяются с соответствующими разрядами шины адреса. Вывод CS (выбор кристалла) подключается в ЭВМ к дешифратору старших разрядов адреса. Каждый счетчик имеет вход тактовых импульсов CLK, управляющий вход GATE, и выход OUT.

Программирование каналов осуществляется путем вывода управляющих слов (CW) в регистр режима каждого канала и начального значения в его счетчик. Каждый канал имеет управляющий вход GATE и выход OUT и может работать в одном из шести программно-заданных режимов независимо от других. Все счетчики программно доступны для записи и чтения с помощью слов данных DW и могут работать как в двоичном коде, так и в двоично-десятичном коде. Управление режимами выполняется с помощью управляющих (командных) слов CW. Слово команды (рис. 10.2) определяет: режим работы (поле М), код счета (двоичный или двоично-десятичный), формат обмена данными с МП при операциях со счетчиками (только старшим байтом, только младшим байтом или всем словом) (поле RL). Поле SC используется для указания счетчика, к которому относится очередное слово.

A1 A2

Операция

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

х х 1 1 0

Нет операции

х х х х 1

Нет операции

С

Операции ввода-вывода Таблица 10.1

вязь таймера с микропроцессорной системой осуществляется через двунаправленную 8-разрядную шину данных D0-D7 под управлением пяти сигналов: A0, A1 (младшие разряды адреса), WR (запись), RD (чтение), SC (выбор кристалла) в соответствии с таблице 10.1. При двухбайтовом формате данных операция со счетчиками выполняется дважды: сначала записывается или считывается младший байт, затем — старший. Обслуживание счетчиков (СТ) выполняется параллельно и независимо друг от друга. При подаче питания их состояния и режим работы оказываются неопределенными. Поэтому перед началом работы каждый СТ должен быть инициализирован индивидуально посылкой соответствующего командного слова CW. Каждое CW, за исключением операции защелкивания, сопровождается 1-2 байтами слова данных DW начального состояния выбранного СТ. Выполнение операции начинается только после загрузки последнего байта данных. Последовательность инициализации и переинициализации счетчиков произвольна. Допускается приостановка последовательности инициализации любого СТ на неопределенное время с последующим ее продолжением или началом новой.