Программируемый параллельный интерфейс КР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