** ПЭВМ АГАТ **

Однокристальный контроллер дисплея и клавиатуры (3-4/90)

УДК 681.326.3:681.327.2

Микросхема К1809ВГ3 предназначена для создания устройств отображения на ЭЛТ и воспроизведения алфавитно-цифровой и графической информации на экране монохромного и цветного мониторов, ввода данных с клавиатуры. Перекрывая весь тракт формирования изображения от общей шины до видеосигналов, она заменяет несколько БИС серии КР580, в том числе контроллеры ЭЛТ КР580ВГ75, прерываний КР580ВН59, прямого доступа КР580ВТ57, частично контроллер клавиатуры КР580ВГ79, микросхемы ПЗУ знакогенератора, а также ряд микросхем малой и средней степени интеграции, используемых для организации режима прямого доступа к памяти (ПДП), сдвигового регистра преобразования данных в видеосигнал, схемы управления атрибутами символов.

Структурная схема контроллера К1809ВГ3 приведена на рис.1, наименование и назначение выводов показано в табл.1.

Таблица 1.
ВыводОбозначениеТипНазначениеПримечание
12345
25,485 ВВходНапряжение источника питанияМаксимальный ток потребления 230 м
12,350 В»Общий вывод
24ВСВыходНапряжение подложки - 2В
27СВходТактовая частота5 МГц
Сигналы подключения к системной магистрали
1RDВход-выходЧтение данных Вход - в режимах чтения или записи командных регистров
Выход - в режимах работы с кадровым буфером
Выход - в режимах чтения или записи командных регистров
Вход - в режимах работы с кадровым буфером
2WP»Запись данных
3SYN»Синхронизация обмена
4ANA»Ответ по адресу
47AN»Ответ устройства
6ВходВыбор кристалла
7..11
13..23
AD15...0Вход-выходШина адреса-данных
5СОВВыходУправление магистралью
39WRBY»Признак записи байта
26SPВходУстановкаСброс командных регистров
Сигналы управления ПДП
40ЕВ1ВходРазрешение на захват магистрали
41АКВыходПодтверждение захвата магистрали
42RQBВыходЗапрос магистрали
44ЕВ0»Разрешение на захват магистрали
Сигналы управления прерыванием от клавиатуры
43INRВыходЗапрос на прерывание
45EINRIВходРазрешение прерывания
46EINROВыход
38DKEYВходДанные с клавиатуры
Сигналы управления видеомонитором
28VIDYВыходВидеосигнал дополнительный
29VIDB»Синий
30VIDG»Зелёный
31VIDRВыходКрасный
32HSYNO»Строчная синхронизация или синхросмесьt=4,8 мкс
33HSYNIВходВнешняя строчная синхронизацияВ режиме внутренней синхронизации
соединять с 32
34VSYNOВыходКадровая синхронизация или синхросмесьСинхросмесь задержана на 1,6 мкс
36VSYNIВходВнешняя кадровая синхронизацияПри внутренней синхронизации
соединить с шиной 5В
37MOSYN»Режим синхронизации

Возможности отображения

Дисплейный контроллер (ДК) К1809ВГ3 имеет четыре основных режима отображения: алфавитно-цифровой, графический, совмещённый (алфавитно-цифровой и графический), слайдовый.

В алфавитно-цифровом, графическом и совмещённом режимах ДК при отображении последовательно опрашивает буфер кадра, расположенный в общем поле памяти. В алфавитно-цифровом режиме каждое слово буфера кадра содержит код знака по КОИ-7 (ГОСТ 13052-74, набор 2) или КОИ-8 (ГОСТ 19767-74), биты атрибутов цвета (R, G, B), мерцания (МЕ), инверсии подсвета (ИП), подчёркивания (ПДЧ) и признаки защиты памяти от редактирования (ЗП) (табл.2).

Таблица 2.
Байт10
Разряд151413121110 9  8  7  6  5  4  3  2  1  0 
Назначение R  G  B ME ПДЧ ИПЗПЗПКод символа

Внутренний знакогенератор ДК генерирует символы в матрице 5х7 точек. Объём ПЗУ знакогенератора - 128 символов прописных букв русского и латинского алфавитов, цифр и знаков, а также 32 специальных символа. Число символов в строке 32 или 64 символа.

Число строк в кадре программируется методом задания числа линий развёртки растра на строку 9, 10, 12 или 16, что соответствует 32, 25, 24 или 16 строкам в кадре. При задании размерности точки по кадру в две линии растра размеры символов по вертикали увеличиваются в два раза, при этом число строк в кадре изменяется на 16, 12, 12 и 8 соответственно.

В графическом режиме отображения используются следующие виды представления информации: битовой картой, линейными пикселами с разрешением 256х256, 256х128, и 128х128 точек и блоками с разрешением 64х64 точек.

В режиме битовой карты каждая точка изображения кодируется 2-разрядным кодом, что даёт возможность представлять информацию в трёх чистых цветах R, G, B. Первое битовое поле находится в младшем байте слова, второе - в старшем (табл.3).

Таблица 3.
Байт10
Разряд15141312111098 76543210
Точка 8  7  6  5  4  3  2  1  8  7  6  5  4  3  2  1 

В режиме линейного пиксела в младшем байте слова размещаются данные о подсвете восьми линейно расположенных точек, разбитых на две группы (пикселы) по четыре точки в каждой, а в старшем байте - два 4-разрядных кода атрибутов пикселов, определяющих их цвет и мерцание (табл.4).

Таблица 4.
Байт10
Пиксел2121
Разряд15141312111098 76543210
Точка 8  7  6  5  4  3  2  1  8  7  6  5  4  3  2  1 
НазначениеRGBMERGBMEподсвет

Способ задания графической информации линейными пикселами при том же объёме памяти (2 бита на точку) даёт возможность отображать информацию в восьми градациях цвета (или яркости) с заданием мерцания.

В режиме блоков используется пиксел размерами 4х4 точки с 4-разрядным кодированием одним цветом всех его точек. При таком способе формирования изображения при понижении разрешения до 64х64 точек цветовая палитра составляет 16 градаций цвета.

В совмещённом режиме алфавитно-цифровая и графическая информация отображается одновременно с разбиением экрана (по вертикали) на программно управляемые зоны символьной и графической информации (рис.2).

Максимальное число зон отображения - 16. В совмещённом режиме первые 16 ячеек буфера кадра используются для задания номера линии растра, в которой необходимо переключить режим. Остальная часть буфера кадра разбивается на зоны, объём которых и тип отображаемой информации устанавливаются пользователем исходя из своих конкретных требований.

В ДК реализован специальный слайдовый режим, позволяющий в ограниченном объёме памяти создавать изображения для различных телеигр с плавным перемещением программируемых пользователем графических символов по всему экрану с дискретностью 256х256 точек. Изображение на экране создаётся путём наложения трёх слайдов (рис.3).

Нижний слайд представляет собой одноцветный фон, задаваемый из палитры, имеющей 16 цветовых оттенков; средний - поле, т.е. одноцветную картину, задаваемую из той же цветовой палитры и состоящую из равномерно расположенных по экрану графических символов (8 рядов по 8 символов); верхний - картину из программируемых по форме, цвету, размеру и месту положения на экране одноцветных графических символов из палитры в 16 цветов.

Полиграмма графических символов задаётся в матрице 16х16 точек с возможностью двукратного масштабирования. Два верхних слайда в точках, не занятых изображениями графических символов, прозрачны.

В слайдовом режиме описание изображения формируется центральным процессором (ЦП) в экранной памяти с использованием пяти таблиц: «Кадр», «X», «Y», «Размещение», «Символ».

В таблице «Кадр» размещается информация о графических символах, расположенных в узлах координатной сетки. Данные в ней располагаются последовательно по мере возрастания адресов в зависимости от порядкового номера координат: четыре младших разряда определяются номером координаты X, а четыре старших - номером координаты Y. Объём таблицы «Кадр» - 256 слов. В каждом слове таблицы задаётся цвет графического символа, имя, номер строки символа, с которой начинается его отображение, а также бит масштаба, определяющий размер символа.

В таблице «X» размещается упорядоченный по возрастанию кодов массив координат X, в таблице «Y» - координат Y графических символов (координаты отсчитываются от верхнего левого угла экрана).

Объём таблиц «X» и «Y» - по 16 слов каждая. Это означает, что максимальное число отображаемых на экране графических символов с несовпадающими координатами также равно 16. При совпадении координат по оси X или Y число отображаемых графических символов увеличивается и в пределе может достигать 256, т.е. числа узлов в координатной сетке.

В таблице «Размещение» располагается описание заполнения экрана графическими символами в узлах координатной сетки XY, что даёт возможность по мере развёртки изображения на экране своевременно определять координаты всех подлежащих отображению графических символов. Определённому слову таблицы соответствует размещение символов на одной из координатных строк Y. Каждый бит этого слова задаёт пересечение координаты Y со всеми координатами X. Единица в бите соответствует наличию в данном узле графического символа. Объём таблицы «Размещение» - 16 слов.

Полиграммы графических символов верхнего слайда программируются в матрице 16х16 точек (16 слов) и размещаются в общей для них таблице «Символ».

При экранном ЗУ 1Кх16 в этой таблице можно расположить полиграммы 43 графических символов (для таблиц «Кадр», «Поле», «X», «Y» и «Размещение» требуется в совокупности 336 ячеек памяти). С увеличением экранного ЗУ до 2Кх16 число программируемых графических символов можно увеличить до 107, что вполне достаточно для синтеза довольно сложных изображений.

Интерфейс с процессором и памятью

Для сопряжения ДК с ЦП и памятью используется 16-разрядная магистраль типа МПИ. Дополнительно введён сигнал ответа по адресу ANA, что позволяет настроить микросхему К1809ВГ3 на максимальное быстродействие при передаче адреса на магистраль. Этот сигнал введён и в микропроцессоре К1801ВМ2.

ДК инициализируется в пассивном режиме загрузкой командных регистров (табл.5) и подачей сигнала выборки кристалла CS с внешней схемы дешифрации адреса. Файл отображения из кадрового буфера, расположенного на общей магистрали, читается в режиме ПДП.

Таблица 5.
РегистрАдресНазначениеКоманда
РгУ (управление)0Режим отображения и обмена на МПИWR
РгВек (вектора)2Номер вектора прерыванияWR
РгФ (фона)4Цвет фона и символов поля, форматы отображенияWR
РУА (установки адреса)6Зона памяти кадрового буфераWR
Рг Клв (клавиатуры)0Код клавишRD

ДК допускает несколько вариантов работы в режиме ПДП, отличающихся интенсивностью обращения к общей памяти: монопольно на прямой или обратный ход по кадру, на строку растра, а также на одиночные запросы.

Режим «монопольно на обратный ход по кадру» используется только при отделении кадрового буфера от общей магистрали. При этом во время обратного хода по кадру дисплейный файл из общей памяти переписывается в кадровый буфер. Режимы работы ДК с памятью задаются регистром управления (РгУ) (табл.6).

Таблица 6.
Разряд РгУНазначениеПримечание
0Включение экрана0 - экран загашен, канал закрыт
1 - экран включен, канал открыт
6,5Режим ПДП00 - монопольно на прямой ход по кадру
01 - одиночные запросы
10 - монопольно на строку растра
11 - монопольно на обратный ход по кадру
4,3Режим отображения00 алфавитно-цифровой
01 - графический
10 - совмещённый
11 - слайдовый
2,1Режим запроса
алфавитно-цифровой информации
00 - синхронно с отображением
01 - несинхронно, с гашением одной строки растра
10 - несинхронно, с гашением двух строк растра
11 - с буферизацией данных
7Режим графики0 - битовая
1 - пикселами

Гибкая регулировка режимов работы ДК с памятью даёт возможность оптимально распределить вычислительные ресурсы разрабатываемой системы, а набор режимов запроса данных в алфавитно-цифровом режиме - настроить ДК на работу с магистралью в соответствии с форматом изображения алфавитно-цифровых данных. Внутренний буфер объёмом 128 байт обеспечивает режим буферизации в течение времени отображения предыдущего ряда только при формате 32 символа в строке.

Использование регистра фона в слайдовом режиме показано на рис.3, в графическом и символьном режимах - в табл.7. Регистр уставки адреса задаст зоны экранной памяти как при работе ДК и ЦП с общим полем памяти (разряды 0...3), так и при отделении экранной памяти от общесистемной магистрали (разряды 4...7).

Таблица 7.
Разряды регистра фонаНазначениеПримечание
7...4RGB и YЗадание цвета фона RGB и дополнительного
3Размер точки по кадру0 - 1 строка растра
1 - 2 строки растра
2Число символов в строке0 - 32 символа
1 - 64 символа
1,0Задание формата по кадруКод
00
01
10
11
Символьный, рядов
32
24
16
25
Графический, точек
256х256
256х128
128х128
64х64, блоков

Интерфейс внутреннего буфера данных

В алфавитно-цифровом режиме каждая строка символов отображается определённым числом линий строчной развёртки (от 9 до 32 в зависимости от формата).

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

В слайдовом режиме первые 16 ячеек внутреннего буфера данных используются для буферизации данных таблицы «Кадр» на одну координатную строку «Y», следующие 16 ячеек - для буферизации битовой карты на две строки символов таблицы «Поле» и ещё 16 ячеек - для буферизации данных из таблицы «X». Таким образом, внутренний буфер данных контроллера и в слайдовом режиме даст возможность существенно разгрузить общую магистраль от обращений контроллера.

Интерфейс клавиатуры

Встроенный в ДК блок управления клавиатурой обеспечивает поиск нажатой на клавиатуре клавиши, освобождает от дребезга контактов клавиши, кодирует её, запоминает до четырёх клавиш, находящихся в нажатом состоянии, и последовательно передаёт их коды по командам ЦП. Нажатая клавиша определяется сканированием всей клавиатуры с частотой строчной развёртки (цикл сканирования равен длительности одного кадра изображения).

Запросы и коды от клавиатуры передаются в режиме векторного прерывания в соответствии с диаграммой векторного прерывания МПИ. Номер вектора прерывания клавиатуры предварительно записывается в регистр вектора ДК, нулевой разряд которого используется для разрешения прерывания по вектору клавиатуры.

Контроллер работает без прерывания (запрос на прерывание должен заводиться на цифровой вход и использоваться как сигнал готовности клавиатуры, снимаемый при завершении чтения кода клавиши с регистра клавиатуры).

Сигнал с клавиатуры принимается по одному входу, поэтому для организации сканирования клавиатурного поля сигналами строчной и кадровой развёрток и мультиплексирования его выходов на один вход ДК необходима внешняя схема. Эта схема работает синхронно с внутренней схемой синхронизации контроллера. Число клавиш в клавиатуре может достигать 256, при этом дополнительная внешняя схема сканирования должна содержать 8-разрядный счётчик, дешифратор на 16 выходов и мультиплексор с 16 входов на один выход.

Интерфейс с видеомонитором

Контроллер обеспечивает формирование видеосигналов по четырём каналам (R, G, B, Y), содержащим сигналы гашения и подсвета, а также раздельных или совмещённых сигналов строчной и кадровой синхронизации для работы со стандартными телевизионными мониторами.

При тактовой частоте 5 МГц микросхема ДК формирует сигналы строчной синхронизации с частотой 15625 Гц и кадровой синхронизации с частотой 50 Гц для работы в режиме прогрессивной развёртки.

ДК может работать и при внешней строчной и кадровой синхронизации, что создаёт возможность совмещения и наложения изображений от нескольких контроллеров и других источников телевизионного изображения.

Телефон 291-67-41, Ленинград

ЛИТЕРАТУРА

1. Зеленко Г.В. Дисплей бытовой персональной ЭВМ // Микропроцессорные средства и системы. - 1985, N3. - С. 60-69.

2. А.С. 1292031 СССР. Дисплейный процессор / Е.М. Блох, О.С. Горбачёв, А.Ф. Иоффе, А.О. Петров, Н.И. Петрова, В.С. Хорин. - Опубл. 1987. Бюл. N7.

3. А.С. N1142825 СССР. Устройство для отображения информации на экране электронно-лучевой трубки / Е.М. Блох, К.Б. Бодашков. Опубл. 1985. Бюл. N8.

Статья поступила 08.06.89

* * *