Схема включения программируемого интервального таймера в автоматизированную систему

Подключение ПИТ к ЛС осуществляется по общим правилам подключения интерфейсной БИС к системной магистрали МПС.

Выводы микросхемы:

  • D7—D0 — двунаправленные трехстабильные (с тремя состояниями) выводы данных. Подключаются к шине данных ЭВМ для приема управляющей информации от процессора или передачи статусной информации процессору;
  • -'RD, -?WR — входы сигналов управления чтение, запись, активный уровень сигнала — низкий. В ЭВМ семейства IBM эти выводы подключаются к линиям ввод (-*IOR), вывод (-'Ю XV) для приема от ЦП сигналов чтения, записи регистров ПИТ;
  • -'CS — выбор кристалла — вход 0/1, разрешает или запрещает связь ПИТ с системной шиной. Подключается к ША посредством дешифратора адреса. Когда сигнал на входе -'CS = 1 линии данных переключаются в вы- сокоимпедансное состояние, запрещая чтение или запись в регистры ПИТ;
  • А1, АО — адресные входы; подключаются к соответствующим адресным линиям магистрали для адресации к внутренних регистров ПИТ.

На магистрали системы ПИТ занимает четыре адреса. Каналы таймера- счетчика (рис. 5.29) подключаются к внешним устройствам с помощью трех линий (CLK, GATE, OUT):

  • CLK[0-2] — входы тактовых сигналов каждого из каналов; используются для управления счетным элементом СЕ канала и определяют скорость счета. Фронт сигнала на входе CLK приводит к уменьшению содержимого счетного элемента на единицу;
  • GATE[0-2] — управляющие входы запуска, останова или перезапуска счета для трех каналов ПИТ, в соответствии с установленным режимом работы;
  • OUT[0-2] — выходы счетчиков; переключаются в соответствии с установленным режимом работы при достижении счетчиком значения «0».
Функциональная схема ПИТ Intel 8253, 8254

Рис. 5.29. Функциональная схема ПИТ Intel 8253, 8254

Состав, назначение и порядок взаимодействия регистров каналов ПИТ.

Программно доступные регистры ПИТ приведены в табл. 5.5.

Таблица 5.5

Карта программно доступных регистров ПИТ

Регистр

Разрядность

Тип

доступа

Относительный адрес

Канал

0

Канал

1

Канал

2

Входной регистр счетчика CR

16

Запись

0

1

2

Выходной регистр счетчика OL

16

Чтение

0

1

2

Выходной регистр состояния SL

8

То же

0

1

2

Регистр управляющего байта CBR

8

Запись

3

3

3

Регистр управления. Регистр управляющего байта CBR (Control Byte Register) определяет режим работы канала таймера. CBR 8-разрядный, доступен ЦП для записи, относительный адрес = 3 для любого канала. Номер канала должен задаваться в самом формате управляющего байта.

Регистры состояния. Внутренний регистр состояния SR (Status Register) хранит режим работы канала таймера, состояние выхода OUT и состояние счетчика. Регистр 8-разрядный, ЦП не доступен. Выходной регистр состояния SL (Status Latch), предназначен для чтения текущего состояния таймера (только в Intel 8254). Регистр SL восьмиразрядный, процессору доступен для чтения. Относительные адреса регистров соответствующих каналов = 0, 1,2. Информация из внутреннего регистра состояния SR (Status Register) может переписываться в выходной регистр состояния SL (Status Latch) по команде процессора.

Регистры счетчика. Входной регистр счетчика CR (Count. Register) предназначен для хранения начального значения счетчика канала — константы пересчета. Входной регистр CR счетчика 16-разрядный, ЦП доступен для записи, относительные адреса регистров соответствующих каналов = 0,1,2. Содержимое входного регистра счетчика CR может загружаться в счетный элемент СЕ для счета, если это требуется в текущем режиме работы таймера. Счетный элемент СЕ {Counting Element) 16-разрядный, работает в режиме вычитания. Содержимое счетного элемента СЕ уменьшается по заднему фронту сигнала на входе CKL при условии, что на входе GATE установлен уровень логической «1».

В зависимости от режима работы ПИТ при достижении счетным элементом (СЕ) состояния terminal count тем или иным образом изменяется выходной сигнал OUT. Сам счетный элемент СЕ прямо процессору не доступен. Он может загружаться из входного регистра счетчика CR и считываться посредством передачи его содержимого в выходной регистр счетчика OL (Output Latch). Выходной регистр счетчика OL сопровождает счетный элемент при работе канала. Выходной регистр OL 16-разрядный, ЦП всегда доступен для чтения, относительные адреса регистров соответствующих каналов = 0,1, 2. Выходной регистр счетчика OL может использоваться для запоминания текущего содержимого счетного элемента СЕ без остановки процесса счета.

Регистр управляющего байта CBR позволяет указать для выбранного канала:

  • • формат счета (двоичный или двоично-десятичный);
  • • один из шести режимов работы счетчика;
  • • порядок загрузки констант во входной регистр счетчика CR и порядок- чтения текущего содержимого счетного элемента из выходного регистра счетчика OL.

Номер бита

7

6

5

4

3

2

1

0

Назначение бита

SC

RW

MODE

BCD

Поле BCD (binary coded decimal) определяет формат счета счетного элемента СЕ: 0 — двоичный, 1 — двоично-десятичный. В двоичном формате константа задается в диапазоне 0—65 535, в двоично-десятичном — в диапазоне 0—9999. Значение константы пересчета N = 0 во всех режимах интерпретируется как 216 или 104 в зависимости от формата счета.

Ноле MODE определяет режим работы канала:

  • 000 — (режим 0) прерывание по завершении счета {Interrupt on Terminal Count)]
  • 001 — (режим 1) апиаратно-перезапускаемый одновибратор {Hardware retriggerable one-shot)]
  • X10 — (режим 2) импульсный генератор частоты {Rate Generator)]
  • X11 — (режим 3) генератор меандра {Square Wave Generator)]
  • 100 — (режим 4) программно-запускаемый одновибратор {Software Triggering Strobe)]
  • 101 — (режим 5) аппаратно-запускаемый одновибратор {Hardware Triggering Strobe).

Позже рассмотрим, как изменяется с выход OUT при достижении состояния ТС в зависимости от выбранного режима работы канала.

Поле RW определяет порядок загрузки констант во входной регистр счетчика CR через однобайтовый порт, порядок считывания содержимого выходного регистра счетчика OL, а также команду CLO фиксации текущего содержимого счетного элемента СЕ:

  • • 00 — команда CLO {Counter Latch Operation), фиксация текущего значения счетного элемента СЕ в выходном регистре счетчика OL]
  • • 01 — запись-чтение только младшего байта;
  • • 10 — запись-чтение только старшего байта. Константа задается одним байтом — младшим или старшим;
  • • 11 — запись-чтение младшего, затем старшего байтов.

Команда CLO фиксирует состояние счетного элемента СЕ в выходном регистре счетчика OL. Информация из OL может быть считана процессором без приостановки счета в любое время. Поле SC {Select Counter) определяет номер канала, для которого предназначено управляющее слово, или команду чтения состояния таймера: 00 — канал 0; 01 — канал 1; 10 — канал 2; 11 — команда чтение состояния таймера RBC {Read Backward Count) (для Intel 8254), запрещено (для Intel 8253).

Формат команды CLO (Counter Latch Operation), фиксация текущего значения СЕ (счетного элемента) в выходном регистре счетчика OL. Здесь 00 — код команды CLO, SC — канал.

Формат команды CLO

Номер бита

7

6

5

4

3

2

1

0

Назначение бита

SC

0

0

X

X

X

X

Команда «чтение состояния таймера» (Intel 8254) RBC (read backward count). В ЭВМ семейства IBM таймер Intel 8254 позволяет выполнить команду RBC — чтение состояния таймера. Данная команда позволяет прочитать следующие параметры одного или нескольких каналов в выбранный момент времени:

  • • текущее значение регистра состояния SR;
  • • текущее значение счетного элемента СЕ без приостановки счета. Формат команды RBC (команда записывается в регистр управляющего

байта CBR):

Номер

7

6

5

4

3

2

1

0

Значение

1

1

Count

Status

CNT2

CNT1

CNT0

0

Биты:

  • • 7, 6 — код команды «чтение» состояния RBC (read backward count)]
  • Count — указывает, должны ли защелкиваться выходные регистры счетчиков: 0-1 — защелкнуть/не защелкивать;
  • Status — определяет необходимость защелкивания выходных регистров состояния: 0-1 — защелкнуть/не защелкивать;
  • CNT2, CNT1, CNT0 — задают каналы таймера, для которых выполняется защелкивание выходных регистров: 1-0 — выполнить операцию/не выполнять.

При выполнении команды чтения состояния содержимое внутреннего регистра состояния SR может заноситься в выходной регистр состояния SL, а значение выходного регистра счетчика OL — защелкиваться.

Формат выходного регистра состояния SL (Status Latch), восемь разрядов (только в Intel 8254). Процессору регистр SL доступен для чтения, используется для чтения текущего состояния таймера.

Номер

7

6

г*

э

4

3

2

1

0

Значение

OUT

Count-

RW

Mode

BCD

Биты:

  • OUT определяет состояние выхода канала таймера: 1-0 — высокий/ низкий уровень;
  • Count описывает состояние счетчика: 0-1 — выходной регистр счетчика отражает текущее значение счетного элемента канала/неопределенное состояние (например, когда счет в канале не выполняется);
  • • остальные биты аналогичны соответствующим битам, задаваемым в управляющем байте при инициализации канала.

Режимы работы таймера разделяются на три группы по правилам загрузки счетного элемента СЕ содержимым входного регистра счетчика CR.

1. Режимы 0, 4 — однократное выполнение функций. При GATE = 1 константа из входного регистра счетчика CR передается в счетный элемент СЕ по первому тактовому импульсу CLK. С приходом последующих импульсов на вход CLK происходит уменьшение содержимого СЕ. Если во время счета на вход GATE подать «О», то это приведет к останову счета. Новый положительный сигнал на входе GATE не вызывает перезагрузку счетного элемента, а только разрешает продолжение счета.

По окончании счета выполнение действий заканчивается. При необходимости повторения функции требуется новое программирование — загрузка новой константы пересчета. Если во время счета загружается новое значение константы пересчета во входной регистр счетчика CR, оно заносится в СЕ на следующем такте CLK, и счет продолжается с нового значения. После достижения нулевого значения счет не прекращается, а продолжается с переходом через 0 (FFFFh = 65 535 = -1). Далее содержимое счетчика уменьшается на 1 на каждом такте CLK.

Режим 0 (прерывание по завершению счета). Сразу после загрузки управляющего байта на выходе OUT устанавливается сигнал низкого уровня OUT = 0. Счет разрешается положительным уровнем сигнала на входе GATE = 1. По первому тактовому импульсу происходит загрузка СЕ константой из входного регистра счетчика CR} и только второй тактовый импульс принимает участие в счете.

Загрузка новой константы N1 устанавливает OUT= 0.

Если GATE= 1, выход OUT установится в единицу через (N1 + 1)TCLK, где N1 — новая константа.

Режим 4 (программно-запускаемый одповибратор). Сразу после загрузки управляющего байта на выходе OUT устанавливается сигнал высокого уровня. Высокий уровень сигнала па входе GATE разрешает счет. Первый тактовый импульс загружает в счетный элемент СЕ константу из входного регистра счетчика CR, и только второй тактовый импульс начинает счет.

На выходе OUT через N + 1 тактовых периодов устанавливается сигнал низкого уровня на время одного периода ТС1К тактовой частоты.

2. Режимы 1,5 —работа с перезапуском. Для них характерна возможность повторения запрограммированных функций без перепрограммирования. Загруженная константа сохраняется во входном регистре счетчика CR, а ее передача в счетный элемент СЕ осуществляется по переднему фронту на входе GATE независимо от завершения счета. После загрузки управляющего байта в CBR на выходе OUT устанавливается высокий уровень сигнала OUT= 1. Загрузка константы в счетный элемент СЕ выполнится при положительном фронте сигнала на входе GATE. Каждый фронт сигнала на входе GATE приводит к загрузке счетного элемента СЕ из входного регистра CR.

Режим 1 (аппарат)ю-перезапускаемый одповибратор). При загрузке константы пересчета в счетный элемент (по фронту GATE) на выходе OUT устанавливается сигнал низкого уровня OUT= 0 длительностью Т= TCLK-N, который изменяется по окончании счета.

Режим 5 (аппаратно-запускаемый одновибратор). Загрузка константы в счетный элемент выполнится при положительном фронте сигнала на входе GATE. На выходе OUT после завершения счета устанавливается сигнал низкого уровня на время одного периода TCLK.

  • 3. Режимы 2у 3 работа с автозагрузкой. Здесь входной регистр счетчика CR автоматически переписывается в счетный элемент СЕ после завершения счета. Эти режимы используются для создания импульсных генераторов и генераторов меандра. После записи CBR сигнал на выходе OUT устанавливается в высокий уровень. При GATE = 1 на выходе OUT формируются импульсы частотой F0UT = FCLK/N, или, соответственно, периода Т = Т -N
  • 1 OUT 1 CI.K iV-

При подаче сигнала GATE= 0 счет приостанавливается и на выходе OUT устанавливается напряжение высокого уровня. Если установить GATE = 1, счет возобновляется с начального значения счета. Перезагрузка канала новой константой не влияет на текущий счет. Новый счет начинается по окончании предыдущего.

Обратите внимание: поскольку N = FCLK/F0UT = Tout/Tclk — должно быть целым числом, на выходе OUT можно установить только частоты Fouv кратные Fclk, или периоды Тоит> кратные Так. Если N округляется, то частота не совпадает с желаемой частотой.

Режим 2 (импульсный генератор частоты). На выходе OUT с частотой Four = FCiK/N устанавливается нулевой потенциал на время одного периода TCLKy где N — загруженная константа:

В момент достижения счетчиком значения = 1 сигнал OUT устанавливается в низкий уровень на один такт TCLK.

Режим 3 (генератор меандра). На выходе OUT формируются импульсы с длительностью полупериодов, равной:

  • • для положительных полупериодов при четных N: Тпи + = Tclk*(N+1)/2;
  • • для отрицательных полупериодов при нечетных N: Тш- = = ТЛ*(Ы-1)/2.

Содержимое счетного элемента СЕ в этом режиме уменьшается на 2 с каждым импульсом Tdk. Состояние ТС достигается дважды за один период генератора. Минимальные значения N счетчика для режимов 0,1,4,5 составляют 1, для режимов 2, 3 — 2. Максимальные значения N счетчика для всех режимов равны нулю, что соответствует значению 65 536 или 10 000 (в зависимости от формата счета).

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >