КР580ВВ55А

Содержание драгоценных металлов в радиодеталях

Пример программирования

Сразу замечу – использование режимов 1 и 2 подразумевает относительно «разумную» реакцию внешних устройств на сигналы ППА, что сопряжено с усложненной схемотехникой последних. В большинстве же случаев можно обойтись режимом 0 простого ввода/вывода.

В составе одноплатного компьютера «Радио-86РК», описанного в журнале «Радио», используются два ППА. Первый обслуживает клавиатуры, индикацию раскладок клавиатуры и ввод/вывод данных с магнитофона. Второй используется для сопряжения с различными устройствами и его программирование должен осуществлять сам пользователь или программист-разработчик драйвера под конкретное внешнее устройство.

Рассмотрим программирование первого ППА.

Основная матрица клавиатуры размером 8×8 подключена к каналам A и B, причем канал A должен работать на вывод, а канал B на ввод информации. К выводам C5, C6, C7 канала C подключены дополнительные клавиши управления регистрами. Вывод C4 используется для ввода данных с магнитной ленты. Следовательно, старшая тетрада канала C должна быть запрограммирована на ввод. В младшей тетраде канала C используются только два бита: C0 – вывод данных на магнитную ленту и C3 – индикация раскладки клавиатуры «Рус/Лат». Следовательно, младшая тетрада канала C должна быть запрограммирована на вывод.

Программирование производится засылкой одного байта в управляющий регистр.

Таблица 6. Программирование ППА для обслуживания клавиатуры

Адрес Данные
A1 A0 D7 D6 D5 D4 D3 D2 D1 D0
1 1 1 1 1
Регистр управления Режим программирования Канал A режим 0 Канал A вывод Старшая тетрада канала C ввод Канал B режим 0 Канал B ввод Младшая тетрада канала C вывод

Как видно из этого примера, все каналы ППА запрограммированы в режим 0 простого ввода-вывода, т. е. разработчики упомянутого компьютера решили пойти по пути упрощения схемотехники и переложить большую часть обработки клавиатуры и периферийных устройств на процессор.

С помощью второго ППА я в свое время эмулировал LPT-порт и подключал к нему матричный принтер. Обходился я опять же программированием всех каналов только в режим 0 и всю обработку обмена с принтером писал на ассемблере.

В заключение отмечу, что описанная микросхема оказалась очень удачной для создания компактных устройств ввода/вывода. В своей практике я ее не раз использовал для увеличения количества внешних линий однокристальных микро-ЭВМ или построения плат ввода/вывода для шин стандарта ISA IBM-совместимых компьютеров.

Литература:

  1. Kramer M., Wurtenberger S. Datenbuch Mikrorechner Schalkreise. 1. Auflage. Berlin: Militarverlag der DDR (VEB), 1989.
  2. Микропроцессоры. Справочное пособие для разработчиков судовой РЭА. Под ред. Ю. А. Овечкина. Л., «Судостроение», 1988.
  3. Зеленко Г., Панов В., Попов С. Модуль программатора ППЗУ. Радио, 1983, № 6, с. 42–46.

Статья опубликована 23.01.2003 г.

Описание структуры и функционирование

Структурная схема программируемого периферийного адаптера представлена на рис. 1.

Структурная схема программируемого периферийного адаптера КР580ВВ55

ППА структурно разбит на две группы (A и B). Группа A включает в себя канал A и старшую тетраду канала C. Группа B состоит из канала B и младшей тетрады канала C. Доступ к каналам ввода/вывода и регистру управления осуществляется с помощью логики чтения-записи в соответствии с табл. 1.

Таблица 1. Доступ к каналам ввода/вывода и регистру управляющего слова

A1 A0 /RD /WR /CS  
1 Шина данных <- канал A
1 1 Шина данных <- канал B
1 1 Шина данных <- канал C
1 1 1 Данные не определены
1 Шина данных -> канал A
1 1 Шина данных -> канал B
1 1 Шина данных -> канал C
1 1 1 Шина данных -> регистр управления
X Х Х Х 1 Шина данных в высокоомном состоянии

Назначение этих и остальных выводов микросхемы приведено в табл. 2.

Таблица 2. Назначение выводов

D0…D7 Двунаправленная шина данных. Предназначена для передачи и приема данных процессором, а также передачи управляющих команд и слова состояния
/CS Chip Select. Выбор микросхемы. Низкий уровень инициирует обмен между процессором и ППА
/RD Read. Чтение. Низкий уровень на этом входе позволяет ППА передать данные или слово состояния процессору
/WR Write. Запись. Низкий уровень на этом входе позволяет ППА принять данные или управляющую команду
RESET Reset. Сброс. Высокий уровень на этом входе сбрасывает все внутренние регистры, включая регистры управления, переключает все каналы (A, B, C) в режим 0, одновременно переводя их в режим ввода (только при /RD = 0 и /WR = 0)
A0, A1 Адресные входы. Выбор канала. Позволяют выбрать один из каналов (A, B, C) или регистры управляющего слова и состояния (в зависимости от сигналов на входах /RD и /WR, см. табл. 2)
PA0…PA7 Канал A
PB0…PB7 Канал B
PC0…PC7 Канал C

Первоначальное включение или подача сигнала высокого уровня на вход сброс RESET микросхемы переключает все каналы (A, B, C) в режим 0, одновременно переводя их в режим ввода. Сброс выполняется только при условии /RD = 0 и /WR = 0.

Режим работы и направление передачи для каждого канала задается с помощью записи управляющего слова в регистр управления в соответствии с табл. 3 или 4. Отметим возможность комбинирования режимов работы для разных каналов. К примеру, канал B может быть запрограммирован на вывод в режим 0 для управления различными выключателями и реле, в то время как канал A может быть запрограммирован в режим 1 для ввода с клавиатуры или перфоленты.

Таблица 3. Формат управляющего слова для выбора режима работы

D7 D6 D5 D4 D3 D2 D1 D0
Флаг управления
1 = выбор режима
Группа A Группа В
  Выбор режима:
00 = режим 001 = режим 11х = режим 2
Канал A:
1 = ввод0 = вывод
Старшая тетрада канала C:
1 = ввод0 = вывод
Выбор режима:
0 = режим 01 = режим 1
Канал B:
1 = ввод0 = вывод
Младшая тетрада канала C:
1 = ввод0 = вывод

Таблица 4. Формат управляющего слова для двунаправленного режима.

D7 D6 D5 D4 D3 D2 D1 D0
Флаг управления
1 = выбор режима
Выбор режима:
1 = режим 2
Произвольное состояние Выбор режима для канала B:
0 = режим 01 = режим 1
Канал B:
1 = ввод0 = вывод
Биты 0..2 канала C:
1 = ввод0 = вывод

Каждый из восьми битов канала C может быть независимо от других установлен или сброшен с помощью специальной команды вывода, посылаемой в регистр управления. Это свойство канала C облегчает программирование в случае, когда биты канала C используется для управления передачей данных по каналам A или B. Формат команды приведен в табл. 5.

Работа микросхемы в режиме 1 или 2 характеризуется наличием управляющих сигналов, которые могут вызывать прерывание работы процессора КР580ВМ80.

Команда установки или сброса соответствующего бита канала C позволяет запретить или разрешить выдачу требуемого прерывания.

Таблица 5. Оперирование битами

D7 D6 D5 D4 D3 D2 D1 D0
Флаг управления
0 = оперирование битами
Произвольное состояние Выбор бита:
0 0 0 = 0 бит0 0 1 = 1 бит0 1 0 = 2 бит0 1 1 = 3 бит1 0 0 = 4 бит1 0 1 = 5 бит1 1 0 = 6 бит1 1 1 = 7 бит
1 = установить бит
0 = снять бит
Понравилась статья? Поделиться с друзьями:
Пафос клуб
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: