4. Микросхема К589ИК14
Микросхема К589ИК14 — блок приоритетного прерывания (БПП), предиазиачеи для построения многоуровневых систем прерывания. Система прерываний, построенная с использованием устройств БПП, обеспечивает:
восемь отдельных уровней прерывания иа каждый блок БПП;
программируемый приоритет;
возможность расширения до 8К уровней прерывания, где К — число БПП;
автоматическую выработку вектора прерывания.
Условное графическое обозначение микросхемы приведено на рис. 9, назначение выводов— в табл. 12, структурная схема показана на рис. 10.
рис. 9
рис. 10
таблица 12
Регистр запросов иа прерывание состоит из восьми триггеров типа «защелка» и служит для запоминания запросов на прерывание иа время обработки текущего прерывания.
Шифратор с приоритетом служит для кодировки номера поступившего запроса иа прерывание (IR0—IR7) в 3-разрядиый код. Причем если иа шифратор поступили одновременно несколько сигналов запроса на прерывание, например, с IR1, IRO, IR2, то иа выходе шифратора будет код старшего запроса IR2. Регистр текущего состояния состоит из четырех триггеров типа «защелка» и служит для запоминания кода обрабатываемого прерывания.
Схема сравнения приоритетов служит для сравнения кода, поступившего с шифратора запросов на прерывания, с кодом, хранящимся в регистре текущего состояния. Схема сравнения приоритетов вырабатывает разрешающий сигнал на выработку сигнала прерывания только в том случае, если код с шифратора запросов больше кода, хранящегося в регистре текущего состояния.
Триггер прерывания служит для выработки признака прерывания и запоминания этого признака до следующего такта. Триггер работает по фронту синхроимпульса.
Триггер блокировки прерывания служит для запрета приема запросов на прерывание на регистр запросов иа прерывание при обработке текущего приоритета, а также блокирует выработку нового признака прерывания. Триггер блокировки сбрасывается по фронту сигнала EW.
Для работы БПП необходимо обеспечить следующие условия:
триггер прерывания сброшен (лог. 0);
на вывод ERCподать лог. 0;
иа вывод EGподать лог. 1,
в регистр текущего состояния записать код текущего приоритета (в самом начале записываем нулевой код) по входам Р0—Р2 и лог. 1 по входу GS, Запись производится сигналом по выводу EW. По фронту сигнала EWпроисходит сброс триггера блокировки прерывания в 0, и иа регистр запросов прерывания приходит разрешающий сигнал записи информации с входов IR0—IR7.
Если на входах запроса прерывания IR0— IR7 нет ни одного запроса, то шифратор приоритета вырабатывает сигнал лог. 0, который закрывает выходные вентили кода прерывания (выход IC0 - IC2)запрещает выработку сигнала подтверждения прерывания (выход IA) и разрешает выработку сигнала разрешения следующей (младшей) группе (выход GE).
Допустим, по входу IR5 пришел запрос на прерывание. Он записывается в регистр запросов на прерывание, так как триггер блокировки прерывания сброшен. Однако, хотя запись в регистр произошла, запрос о IR5 снимать нельзя, так как этот регистр выполнен на триггерах типа «защелка» и запоминание информации в регистре произойдет только после установки триггера блокировки прерывания в 1.
Информация регистра запросов на прерывание поступает на шифратор с приоритетом. Шифратор вырабатывает сигнал лог. 1, который открывает выходные вентили, разрешает выработку сигнала подтверждения прерывания и вырабатывает запрещающий сигнал для младшей группы (вывод GE), а также 3-разрядный код приоритета, который через выходные вентили поступает на выводы 1С0—1С2. Кроме того, код приоритета с шифратора поступает на схему сравнения приоритета, где сравнивается с кодом, который записан в регистре текущего состояния. Если код с шифратора больше кода, хранящегося в регистре текущего состояния, то схема сравнения приоритета выработает сигнал лог. 0. В этом случае разрешает выработку сигнала подтверждения прерывания (вывод IA). Если же код с шифратора меньше или равен коду с регистра текущего состояния, то схема сравнения приоритета выработает сигнал лог. 0. В этом случае сигнал подтверждения прерывания может быть выработан только в том .случае, если в четвертый триггер регистра текущего состояния (по входу GS) будет записан лог. О, так как инверсный выход этого триггера объединяется схемой ИЛИ с выходом схемы сравнения приоритетов. В нашем случае четвертый триггер регистра текущего состояния обеспечивает лог. О иа входе схемы ИЛИ, а схема сравнения приоритетов выдает на эту схему лог. 1, так как код с шифратора больше кода, хранящегося в регистре текущего состояния, тем самым разрешая выработку сигнала подтверждения прерывания. Если при этом на вход INEподать лог. 1, а на вход CLK— нмпульс, то по фронту этого импульса триггер прерывания установится в единичное состояние и на выходе IAпоявится сигнал подтверждения прерывания. Этим же сигналом по входу 5 триггер блокировки прерывания устанавливается в 1, тем самым запрещая прием новых запросов на прерывание в регистр запросов на прерывание и подготавливая триггер прерывания к сбросу в нулевое состояние. Вторым импульсом по входу CLKпроисходит сброс триггера прерывания в нулевое состояние, что означает окончание сигнала подтверждения прерывания. Таким образом, длительность сигнала подтверждения прерывания определяется периодом синхроимпульсов по входу CLK.
После обработки сигнала подтверждения прерывания (если это необходимо) код, соответствующий обрабатываемому запросу, надо записать в регистр текущего состояния. Тем самым исключается возможность двойного прерывания по одному и тому же запросу, а также прерывания по всем младшим запросам относительно обработанного. Если в этом нет необходимости, то в регистр текущего состояния записывается снова нулевой код сигналом по выводу EW. По фронту импульса разрешения записи EWпроисходит сброс триггера блокировки состояния в нуль и подготовка БПП к приему следующего запроса иа прерывание. Если по входам IR0—IR7 пришли одновременно два или более запросов, то на выходах ICO—IC2 будет выработан код старшего запроса.
Например, при записи в четвертый разряд регистра текущего приоритета лог. 1 (по входу GS) сигнал подтверждения прерывания по запросу IR0 выработай быть ие может, так как код с шифратора приоритетов и код с регистра текущего состояния, поступающие на схему сравнения приоритетов, равны. В случае записи лог. О в четвертый разряд регистра текущего приоритета, сигнал подтверждения прерывания по выходу IAбудет вырабатываться всегда, независимо от состояния остальных трех разрядов этого регистра, в том числе и при наличии запроса на прерывание только по входу IR0.
В табл. 13 и 14 приведены статические и динамические параметры микросхемы К589ИК14 соответственно.
Таблица 13
Табица 14
|