Программируемый параллельный
интерфейс КР580ВВ55А.
(C) AlphA Studio
В этой статейке я хочу рассказать о
микросхеме, установив которую, в свой комп
можно решить многие вопросы с подключением
внешних устройств. Это параллельный порт
КР580ВВ55А. В некоторых компьютерах порт
установлен изначально, а в некоторых даже
не один. При помощи этой микросхемы легко
подключается принтер, программатор, а так-
же видеопорт и по желанию джойстик.
Для сопряжения внешних устройств (ВУ) с
шиной данных микропроцессора программируе-
мый параллельный интерфейс (ППИ) имеет три
8-разрядных канала А, В и С. Управляются
каналы по программе путем выдачи слова уп-
равления, которое содержит информацию о
режиме работы и об установке или сбросе
отдельных разрядов канала С. ППИ может ра-
ботать в трех режимах:
0 - основной ввод-вывад каналов А, В и С;
1 - ввод-вывод со стробированием каналов
А и В;
2 - двуноправленная шина со стробировани-
ем канала А.
В большинстве случаев ППИ работает в режи-
ме "0", который и рассмотрим подробней.
В режиме "0" информация ВУ -> ШД и
ШД -> ВУ вводится непрерывно, т.е. выход-
ной регистр изменяет свое состояние с из-
менением данных на входе.
Канал С имеет особенность - он состоит
из двух 4-разрядных регистров, которые в
совокупности могут использоваться как
8-разрядный регистр. Кроме того в канале С
можно управлять каждым битом в отдельнос-
ти.
Режим работы каждого канала определяет-
ся содержимым регистра управляющего слова
(РУС), в который заносится необходимый
код. Как программировать РУС показано на
рисунке.
Установка режимов и программирование
каналов (ввод/вывод).
Группа А Группа В
┌─────┴─────┐ ┌───┴───┐
D7 D6 D5 D4 D3 D2 D1 D0
┌───┬───┬───┬───┬───┬───┬───┬───┐
│ 1 │ │ │1/0│1/0│ │1/0│1/0│
└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘
│ └─┬─┘ │ │ │ │ │
Установка │ │С7...С4│ │С3...С0
режима │ │ │ │
│ А7...А0 │В7...В0
│ │
Режим группы А Режим группы В
режим"0" - 0 0 режим"0" - 0
режим"1" - 0 1 режим"1" - 1
режим"2" - 1 х
(1/0 - 1-ввод; 0-вывод)
Установка/сброс отдельных битов
канала С.
D7 D6 D5 D4 D3 D2 D1 D0
┌───┬───┬───┬───┬───┬───┬───┬───┐
│ 0 │ X │ X │ X │ │ │ │0/1│
└─┬─┴───┴───┴───┴─┬─┴─┬─┴─┬─┴─┬─┘
│ └───┼───┘ │
Установка/сброс Номер разря- 1-уста-
да канала С новка
С0 0 0 0 0-сброс
С1 0 0 1
С2 0 1 0
.. . . .
С7 1 1 1
Таким образом каждый канал А и В, и по-
ловинки канала С можно программировать как
на ввод, так и на вывод. Управлять ППИ
ВВ55А можно из BASICа и из машинного кода.
Необходимо учитывать, что при каждом изме-
нении режима работы любого канала все
входные и выходные регистры каналов сбра-
сываются в состояние "0".
На мой взгляд - основное достоинство в
использовании ППИ состоит в том, что при
разработке очередной конструкции внешнего
устройства (программатор, всевозможные из-
мерительные блоки, ЦАП, АЦП и др.) нет не-
обходимости искать свободные адреса, и
буфферизировать шину данных (там где она
не буфферизирована) и т.д. А это еще при-
водит и к экономии микросхем, а соответс-
твенно и снижается нагрузка на блок пита-
ния.
Литература: Справочник по цифровой схе-
мотехнике, В.И.Зубчук и др.
Ниже приведена схема подключения ВВ55А,
так как это сделано в ПК "Балтик".
+5В
│26
34┌───┬───┴──┬───┐1
───┤D0 │ BB55 │ А0├───
к шине │ . │ │ . │2,3,4,
данных . │ . │ │ . │40,39,38
Z80 27│ . │ │ . │37
───┤D7 │ │ А7├───
9├───┤ ├───┤18
A5(35 Z80) ───┤A0 │ │ B0├───
8│ │ │ . │.
A6(36 Z80) ───┤A1 │ │ . │.
┌─┐ 35├───┤ │ . │25
26 Z80─┤ O───┤RES│ │ B7├───
└─┘ 36├───┤ ├───┤14
┌───────────O/WR│ │ C0├───
│ 5│ │ │ │15,16,17,
│ ┌────────O/RD│ │ │13,12,11
│ │ 6├───┤ │ │10
│ │ DOS ───O/CS│ │ C7├───
│ │ └───┴───┬──┴───┘
│ │ │7
│ │ ─┴─ Адреса каналов
│ └──────────────────┐ КР580ВВ55А:
└───────────────────┐ │
К555ИД4 │ │ Канал А - #1F
/IORQ ┌─┐1┌──┬──┬──┐ │ │ Канал В - #3F
(20)─┤ O─OE1│ │D0│ │ │ Канал С - #5F
└─┘2│ │ │00│6 │ │ РУС - #7F
/WR(22)──┤E2│ │01├──┘ │
13├──┤ │02│ │
A0(30)──┤D1│ │03│ │
3│ │ ├──┤ │
A7(37)──┤D2│ │D1│ │
15├──┤ │10│10 │
/RD(21)──OG1│ │11├────┘
14│ │ │12│
/IORQ(20)──OG2│ │13│
└──┴──┴──┘
Статья подготовлена специально для
электронной газеты ECHO. С любыми вопроса-
ми можно обращаться по адресу:
225710, Беларусь, г.Пинск,
ул. Чернеевичская, 19
23.08.98