Передовица (меню разделов)
⇓
Документы
⇓
МПСС
⇓
Однокристальный контроллер дисплея и клавиатуры
Микросхема К1809ВГ3 предназначена для создания устройств отображения на ЭЛТ и воспроизведения алфавитно-цифровой и графической информации на экране монохромного и цветного мониторов, ввода данных с клавиатуры. Перекрывая весь тракт формирования изображения от общей шины до видеосигналов, она заменяет несколько БИС серии КР580, в том числе контроллеры ЭЛТ КР580ВГ75, прерываний КР580ВН59, прямого доступа КР580ВТ57, частично контроллер клавиатуры КР580ВГ79, микросхемы ПЗУ знакогенератора, а также ряд микросхем малой и средней степени интеграции, используемых для организации режима прямого доступа к памяти (ПДП), сдвигового регистра преобразования данных в видеосигнал, схемы управления атрибутами символов.
Структурная схема контроллера К1809ВГ3 приведена на рис.1, наименование и назначение выводов показано в табл.1.
| Вывод | Обозначение | Тип | Назначение | Примечание |
|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 |
| 25,48 | 5 В | Вход | Напряжение источника питания | Максимальный ток потребления 230 м |
| 12,35 | 0 В | » | Общий вывод | |
| 24 | ВС | Выход | Напряжение подложки - 2В | |
| 27 | С | Вход | Тактовая частота | 5 МГц |
| Сигналы подключения к системной магистрали | ||||
| 1 | RD | Вход-выход | Чтение данных | Вход - в режимах чтения или записи командных регистров Выход - в режимах работы с кадровым буфером Выход - в режимах чтения или записи командных регистров Вход - в режимах работы с кадровым буфером |
| 2 | WP | » | Запись данных | |
| 3 | SYN | » | Синхронизация обмена | |
| 4 | ANA | » | Ответ по адресу | |
| 47 | AN | » | Ответ устройства | |
| 6 | Вход | Выбор кристалла | ||
| 7..11 13..23 | AD15...0 | Вход-выход | Шина адреса-данных | |
| 5 | СОВ | Выход | Управление магистралью | |
| 39 | WRBY | » | Признак записи байта | |
| 26 | SP | Вход | Установка | Сброс командных регистров |
| Сигналы управления ПДП | ||||
| 40 | ЕВ1 | Вход | Разрешение на захват магистрали | |
| 41 | АК | Выход | Подтверждение захвата магистрали | |
| 42 | RQB | Выход | Запрос магистрали | |
| 44 | ЕВ0 | » | Разрешение на захват магистрали | |
| Сигналы управления прерыванием от клавиатуры | ||||
| 43 | INR | Выход | Запрос на прерывание | |
| 45 | EINRI | Вход | Разрешение прерывания | |
| 46 | EINRO | Выход | ||
| 38 | DKEY | Вход | Данные с клавиатуры | |
| Сигналы управления видеомонитором | ||||
| 28 | VIDY | Выход | Видеосигнал дополнительный | |
| 29 | VIDB | » | Синий | |
| 30 | VIDG | » | Зелёный | |
| 31 | VIDR | Выход | Красный | |
| 32 | HSYNO | » | Строчная синхронизация или синхросмесь | t=4,8 мкс |
| 33 | HSYNI | Вход | Внешняя строчная синхронизация | В режиме внутренней синхронизации соединять с 32 |
| 34 | VSYNO | Выход | Кадровая синхронизация или синхросмесь | Синхросмесь задержана на 1,6 мкс |
| 36 | VSYNI | Вход | Внешняя кадровая синхронизация | При внутренней синхронизации соединить с шиной 5В |
| 37 | MOSYN | » | Режим синхронизации | |
Дисплейный контроллер (ДК) К1809ВГ3 имеет четыре основных режима отображения: алфавитно-цифровой, графический, совмещённый (алфавитно-цифровой и графический), слайдовый.
В алфавитно-цифровом, графическом и совмещённом режимах ДК при отображении последовательно опрашивает буфер кадра, расположенный в общем поле памяти. В алфавитно-цифровом режиме каждое слово буфера кадра содержит код знака по КОИ-7 (ГОСТ 13052-74, набор 2) или КОИ-8 (ГОСТ 19767-74), биты атрибутов цвета (R, G, B), мерцания (МЕ), инверсии подсвета (ИП), подчёркивания (ПДЧ) и признаки защиты памяти от редактирования (ЗП) (табл.2).
| Байт | 1 | 0 | ||||||||||||||
| Разряд | 15 | 14 | 13 | 12 | 11 | 10 | 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).
| Байт | 1 | 0 | ||||||||||||||
| Разряд | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Точка | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
В режиме линейного пиксела в младшем байте слова размещаются данные о подсвете восьми линейно расположенных точек, разбитых на две группы (пикселы) по четыре точки в каждой, а в старшем байте - два 4-разрядных кода атрибутов пикселов, определяющих их цвет и мерцание (табл.4).
| Байт | 1 | 0 | ||||||||||||||
| Пиксел | 2 | 1 | 2 | 1 | Разряд | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Точка | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
| Назначение | R | G | B | ME | R | G | B | ME | подсвет | |||||||
Способ задания графической информации линейными пикселами при том же объёме памяти (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 с внешней схемы дешифрации адреса. Файл отображения из кадрового буфера, расположенного на общей магистрали, читается в режиме ПДП.
| Регистр | Адрес | Назначение | Команда |
|---|---|---|---|
| РгУ (управление) | 0 | Режим отображения и обмена на МПИ | WR |
| РгВек (вектора) | 2 | Номер вектора прерывания | WR |
| РгФ (фона) | 4 | Цвет фона и символов поля, форматы отображения | WR |
| РУА (установки адреса) | 6 | Зона памяти кадрового буфера | WR |
| Рг Клв (клавиатуры) | 0 | Код клавиш | RD |
ДК допускает несколько вариантов работы в режиме ПДП, отличающихся интенсивностью обращения к общей памяти: монопольно на прямой или обратный ход по кадру, на строку растра, а также на одиночные запросы.
Режим «монопольно на обратный ход по кадру» используется только при отделении кадрового буфера от общей магистрали. При этом во время обратного хода по кадру дисплейный файл из общей памяти переписывается в кадровый буфер. Режимы работы ДК с памятью задаются регистром управления (РгУ) (табл.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...4 | RGB и 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