Микросхема КР580ВВ56А – программируемое устройство ввода/вывода параллельной информации (ППА), которое применяется в качестве элемента ввода/вывода общего назначения, сопрягающего различные типы периферийных устройств с магистралью данных систем обработки информации.
Условное графическое обозначение микросхемы приведено на рис. 6.22, структурная схема показана на рис. 6.23.
Обмен информацией между магистралью данных систем и микросхемой КР580ВВ55А осуществляется через 8–разрядный двунаправленный трехстабильный канал данных (D). Для связи с периферийными устройствами используются 24 линии ввода/вывода, сгруппированные в три 8–разрядых канала ВА, ВВ, ВС, направление передачи информации и режимы работы которых определяются программным способом.
Микросхема может функционировать в трех основных режимах:
1) режим 0 – обеспечивается возможность синхронной программно управляемой передачи данных через два независимых 8–разрядных канала ВА и ВВ и два 4–разрядных канала ВС.
2) режим 1 – обеспечивается возможность ввода или вывода информации в/или из периферийного устройства через два независимых 8–разрядных канала ВА и ВВ по сигналам квитирования. При этом линии канала С используются для приема и выдачи сигналов управления обменом.
3) режим 2 – обеспечивается возможность обмена информацией с периферийными устройствами через двунаправленный 8–разрядный канал ВА по сигналам квитирования. Для передачи и приема сигналов управления обменом используются пять линий канала ВС. Выбор соответствующего канала и направление передачи информации через канал определяются сигналами А0, А1 (соединяемые обычно младшими разрядами канала адреса системы) и сигналами RD, WR, CS в соответствии с табл. 6.7.
Таблица 6.7
Сигналы на входах |
Направление передачи информации |
||||
A0 |
A1 |
RD |
WR |
CS |
|
0 |
0 |
0 |
1 |
0 |
ВА → канал данных |
0 |
1 |
0 |
1 |
0 |
ВВ → канал данных |
1 |
0 |
0 |
1 |
0 |
ВС → канал данных |
0 |
0 |
1 |
0 |
0 |
Канал данных → ВА |
0 |
1 |
1 |
0 |
0 |
Канал данных → ВВ |
1 |
0 |
1 |
0 |
0 |
Канал данных → ВС |
1 |
1 |
1 |
0 |
0 |
Канал данных → РУС |
Х |
Х |
Х |
Х |
1 |
Канал данных → Z состояние |
1 |
1 |
0 |
1 |
0 |
Запрещенная комбинация |
Режим работы каждого из каналов ВА, ВВ, ВС определяется содержимым регистра управляющего слова (РУС). Произведя запись управляющего слова в РУС, можно перевести микросхему в один из трех режимов работы: режим 0 – простой ввод/вывод; режим 1 – стробируемый ввод/вывод; режим 2 – двунаправленный канал.
При подаче сигнала SR РУС устанавливается в состояние, при котором все каналы настраиваются на работу в режиме 0 для ввода информации. Режим работы каналов можно изменять как в начале, так и в процессе выполнения программы, что позволяет обслуживать различные периферийные устройства в определенном порядке одной микросхемой. При изменении режима работы любого канала все входные и выходные регистры каналов и триггеры состояния сбрасываются. Графическое представление режимов работы каналов показано на рис. 6.24, а формат управляющего слова (УС), определяющего режимы работы каналов, приведен на рис. 6.25.
В дополнение к основным режимам работы схема обеспечивает возможность программной независимой установки в 1 и сброса любого из разрядов регистра канала ВС.
Формат управляющего слова установки / сброса регистра канала ВС показан на рис. 6.26.
Если микросхема запрограммирована для работы в режиме 1 или 2, то через выводы ВС0 и ВСЗ канала ВС выдаются сигналы, которые могут использоваться как сигналы запросов прерывания для микропроцессора. Запретить или разрешить формирование этих сигналов в микросхеме можно установкой или сбросом соответствующих разрядов в регистре канала ВС. Эта особенность микросхемы позволяет программисту запрещать или разрешать обслуживание любого внешнего устройства ввода/вывода без анализа запроса прерывания в схеме прерывания системы.
При работе микросхемы в режиме 0 обеспечивается простой ввод или вывод информации через любой из трех каналов, и сигналов управления обменом информацией с периферийным устройством не требуется. В этом режиме микросхема представляет собой совокупность двух 8–разрядных и двух 4–разрядных каналов ввода/вывода. Для записи управляющего слова в микросхему используется временная диаграмма режима 0 – вывод.
В режиме 1 передача данных осуществляется только через каналы ВА и ВВ, а линии канала ВС используются для приема и выдачи сигналов управления обменом (сигналов квитирования).
Форматы управляющих слов и функциональные схемы каналов ВА и ВВ при вводе данных в режиме 1 показаны на рис. 6.27.
При подаче сигнала STB RC (стробирующий сигнал приема) низкого уровня данные записываются во входной регистр соответствующего канала.
Выходной сигнал ASK RS «Подтверждение приема» высокого уровня свидетельствует о том, что входные данные записаны во входной регистр канала.
Сигнал на выходе IRQ «Запрос прерывания» может использоваться для прерывания работы микропроцессора и устанавливается в состояние высокого уровня, если сигналы STB RC, ASK RC и RD в состоянии высокого уровня и соответствующий разряд регистра канала ВС, используемый как триггер разрешения выработки запроса прерывания по данному каналу, установлен в состояние высокого уровня. Сигнал IRQ сбрасывается в состояние низкого уровня при чтении информации из соответствующего канала.
Для разрешения выработки сигнала IRQ BA используется 4–й разряд регистра канала ВС, а для сигнала IRQ ВВ 2–й разряд регистра канала ВС.
Форматы управляющих слов и функциональные схемы каналов ВА и ВВ при выводе информации в режиме 1 показаны на рис. 6.28.
Сигнал низкого уровня на выходе STB WR (стробирующий сигнал записи) свидетельствует о том, что микропроцессор произвел запись данных в выходной регистр канала.
Сигнал низкого уровня на входе ASK WR (подтверждение записи) свидетельствует о том, что внешнее устройство приняло данные, записанные в микросхему.
Сигнал IRQ устанавливается в состояние высокого уровня, если сигналы STB WR, ASK WR в состоянии высокого уровня и соответствующий разряд регистра канала ВС, используемый как триггер разрешения выработки запроса прерывания по данному каналу, установлен в состояние высокого уровня. В состояние низкого уровня сигнал IRQ сбрасывается при переходе сигнала WR в состояние низкого уровня. Для разрешения выработки сигнала IRQ ВА используется 6–й разряд регистра канала ВС, а для сигнала IRQ ВВ 2–й разряд регистра канала ВС.
При работе микросхемы в режиме 2 обеспечивается возможность обмена информацией с периферийными устройствами только по 8–разрядному двунаправленному каналу ВА. Для обеспечения протокола обмена используется пять линий канала ВС.
Формат управляющего слова и функциональная схема ввода/вывода данных в режиме 2 показаны на рис. 6.29. Функции сигналов управления, используемых при передаче информации в режиме 2, и временные соотношения между ними такие же, как и в режиме 1.
В режиме 2 допускается любая последовательность передачи данных, при которой сигнал WR появляется раньше сигнала ASK WR ВА, а сигнал STB WR ВА – раньше сигнала RD.
Если микросхема запрограммирована для работы в режиме 1 или 2, то состояние каждого сигнала управления об установлении связи с периферийным устройством, принимаемого и выдаваемого через выводы канала ВС, фиксируется в регистре канала ВС. Это позволяет программисту простым чтением содержимого регистра канала ВС проверить состояние каждого периферийного устройства, подключенного к микросхеме, и в соответствии с состоянием внешнего устройства изменять процесс прохождения программы.
Для чтения информации состояния используется обычная операция чтения канала ВС.