Скачиваний:
67
Добавлен:
16.04.2013
Размер:
3.38 Mб
Скачать

Типы графических дисплеев Векторный дисплей

Превращение дисплея в автономный процессор освобождает центральный процессор от задачи регенерации.

Для этого следует включить в ДП аппаратуру, позволяющую определять только конечные точки прямой линии и фактически ее рисующую (рис. 3.26). Добавляемая аппаратура состоит из пары регистров (Хпред, Yпред), предназначенных для хранения конечной точки прямой, и генератора векторов, основная задача которого состоит в перемещении электронного луча строго по прямой линии от одной точки к другой. Устройство генератора векторов описывается в следующем разделе.

Включение в состав дисплея генератора векторов означает, что необходимо расширить набор команд ДП. Функции, выполняемые ДП, помимо рисования точки и перехода теперь содержат перемещение электронного луча в некоторую позицию (без рисования) и рисование прямой линии. Во всех командах манипулирования лучом координаты конечной его позиции записываются в Х- и У-регистры; после того как луч переместится в конечную позицию, управляющая логика автоматически перешлет содержимое X и Y в регистры Хпред, Yпред. При наиболее часто встречающейся длине команды дисплея 16 бит требуется 5 команд:

1. Загрузить X.

2. Загрузить Y и переместить луч в позицию (х, у).

3. Загрузить Y, переместить луч в позицию (х, у) и нарисовать точку.

4. Загрузить Y и нарисовать отрезок прямой от позиции (Xпред, Yпред) до позиции (х, у).

5. Переход.

Комбинируя эти команды различным образом, можно рисовать точки, связанные и несвязанные последовательности отрезков

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

* Генераторы векторов.

При внимательном анализе задача, возлагаемая на генератор векторов, оказывается довольно сложной.

Исходные требования формулируются следующим образом:

1. Перемещать электронный луч из позиции (Хпред, Yпред) в позицию (х, у) по прямой линии или по крайней мере по линии, которая кажется наблюдателю прямой.

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

3. Включать луч точно в тот момент, когда он начинает перемещаться из начальной точки, и выключать в момент прихода в конечную точку — не раньше и не позже.

4. Выполнять все операции как можно быстрее.

Генератор векторов должен управлять тремя параметрами отклонением по х, отклонением по у и интенсивностью. Если компенсация интенсивности не требуется (т. е. векторы рисуются с одной и той же скоростью), сигнал управления интенсивностью превращается просто в сигнал его включения и выключения. На рис. 3.27 показаны сигналы, требуемые для рисования нескольких различных отрезков прямых с постоянной скоростью. Графики сигналов отклонения по х и у откалиброваны таким образом, что по вертикальной оси отложены единицы растра, а по горизонтальной — время. Отсчет времени ведется с момента начала генерации вектора, Тмакс — максимальное время, необходимое для рисования самого длинного вектора. Из анализа графиков следует, что фактическое время, необходимое для рисования вектора, пропорционально большему из приращений его координат.

Критерии оценки. О качестве генераторов векторов судят по их линейности, скорости, постоянству яркости и точности совпадения с граничными точками. Линейность определена в предыдущем разделе. Скорость обычно равна константе или некоторой функции длины вектора. В последнем случае время рисования коротких векторов постоянно, поскольку основную его часть будет составлять время загрузки регистров. Многие генераторы векторов не обеспечивают постоянства яркости: нередко один конец отрезка иногда и оба оказываются более яркими. Это объясняется тем, что этих местах скорость луча меньше нормальной и в единицу времени люминофор бомбардируется большим числом электронов. Точность совпадения с граничными точками характеризует точность включения луча в начальной точке вектора и выключения в конечной точке.

Один из тестов проверки совпадения заключается в рисовании точки в позиции В, отрезка из позиции А в позицию В и точки в позиции А. Точки и концы отрезка при этом должны хорошо совпадать.

Другой тест состоит в рисовании нескольких отрезков из различных начальных позиций в один общий центр Р: все линии должны закончиться точно в точке Р

ДИСПЛЕЙНЫЙ ПРОЦЕССОР С РАСТРОВЫМ СКАНИРОВАНИЕМ

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

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

Элемент, находящийся на пересечении конкретных строки и столбца, хранит значение яркости и/или цвета соответствующей точки экрана. Механизм этого простого взаимнооднозначного соответствия показан на рис— позиция экрана и элемент в памяти адресуются х-координатой (изменяющейся от 0 до М—1) и у-координатой (изменяющейся от 0 до N—1). Верхняя строка массива соответствует верхней строке растра и т. д. Регенерация изображения осуществляется последовательным сканированием буфера по строкам растра (а не по примитивам, как при произвольном сканировании).

Поскольку каждый элемент памяти определяет один элемент изображения (или картинки) размером с точку, каждая точка экрана (и соответствующий ей элемент памяти) часто обозначается термином пиксел. Мы будем использовать термин пиксел для обозначения точек на экране растрового дисплея, а термины элементы картинки и примитивы вывода — для примитивов более высокого уровня, таких, как линии, точки и литеры.

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

Задача системы вывода изображения (рис. 3.35) состоит в циклическом просмотре буфера регенерации по строкам (следовательно, по строкам растра). Адреса памяти генерируются синхронно с координатами растра, и содержимое выбранных элементов памяти используется для управления интенсивностью электронного луча.

Общая организация системы вывода изображения приведена на рис. 3.36. Генератор растровой развертки формирует сигналы отклонения и управляет адресными Х- и Y-регистрами, определяющими следующий элемент буфера регенерации.

В начале цикла регенерации в Х-регистр записывается 0, а в Y-регистр – (N-1) (верхняя строка растра). По мере того как генерируется первая строка растра, х-адрес увеличивается до М—1, при этом значение каждого пиксела извлекается из памяти и используется для управления интенсивностью электронного луча. После генерации первой строки растра х-адрес опять записывается О, а у-адрес уменьшается на 1. Этот процесс продолжается до генерации последней строки растра (у=0).

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

Для растровых дисплеев не существует проблемы мерцания изображения независимо от его сложности.