ЛИНГВИСТИЧЕСКИЕ СТРУКТУРЫ В ЗАДАЧАХ ОТОБРАЖЕНИЯ ПИЛОТАЖНО-НАВИГАЦИОННОЙ ИНФОРМАЦИИ НА БОРТУ СОВРЕМЕННОГО ПИЛОТИРУЕМОГО ЛЕТАТЕЛЬНОГО
АППАРАТА П.П. Парамонов, Б.В. Видин, Ю.И. Сабо, И.О. Жаринов
При всех последних достижениях микропроцессорной техники в области структурной организации, повышении тактовой частоты процессоров, применения конвейеризации выполнения команд, дальнейшее существенное повышение эффективности электронных систем связано с отказом от программной реализации алгоритмов вычислений и переходом к их аппаратной реализации на базе СБИС. Такой переход обусловлен, с одной стороны, перспективной тенденцией построения сложных вычислительных систем на основе модульного принципа — систем с "открытой" архитектурой, предполагающей наличие центрального вычислителя и целого спектра высокопроизводительных сопроцессоров, контролеров специального назначения. С другой стороны — уровнем современной полупроводниковой техники с её высокой степенью интеграции и малой себестоимостью, предоставляющей разработчикам СБИС более широкие возможности для аппаратной реализации сложнейшего математического обеспечения.
Это позволит максимально учитывать специфику вычислительных методов и алгоритмов, применяя по возможности распределение этапов разработки, обеспечивая однородность и регулярность вычислений, простоту состава, структуры и внешнего управления, что, в свою очередь, составляет основу для разработки базовых операций при выполнении многих типовых вычислительных процедур.
Структурный анализ фрагментов растровых кадров изображения (см. рис. 1) на экранах современных бортовых многофункциональных индикаторов МФЦИ позволяет говорить о существовании, по-видимому, определенного конечного набора базовых графических структур или графоэлементов, комбинация которых на экране составляет любое изображения в целом.
Основными структурами изображения современных средств индикации являются:
• индикационный кадр - законченное информационное визуальное сообщение, которое в заданный момент времени может быть целиком размещено на экране средства индикации. Кадр состоит из одного или нескольких фрагментов изображения -модулей изображения;
• модуль изображения - связанные между собой элементы изображения, которые характеризуются одинаковым законом перемещения на экране. Модуль может состоять из одного или нескольких элементов изображения. Модуль может быть статическим или динамическим. Статический модуль - модуль, в котором все элементы в процессе изображения не изменяют ни своего положения на экране, ни своего значения. Динамический модуль - модуль, в котором хотя бы один элемент в процессе формирования изображения от одного кадра к другому изменяет свое положение, либо значение;
• элементы изображения - простейшие составляющие изображения, с помощью и на основе которых может строиться любой модуль и кадр. Элементом изображения являются, например, точка, символ (знак алфавита или цифра) и т.д.
Учитывая матричную структуру средства отображения, любой графический примитив можно представить как упорядоченный набор отдельных "подсвеченных" пикселей. Тогда визуальному отображению, скажем, элементарной линии на экране будет отвечать последовательность повернутых определенным образом кристаллов (например, для жидкокристаллических экрана), закон выбора которых напрямую зависит от
алгоритма перебора соответствующих им ячеек видео ОЗУ при, так называемой, росписи (или формировании) изображения в видеопамяти.
Рис.1. Пример рабочего кадра изображения на экране индикатора.
Построению алгоритмов генерации изображения в цифровых электронных устройствах отображения информации и разработке характерных для этого методологических вопросов посвящено немало публикаций как в нашей стране, так и за рубежом. Соответствующая область научного и практического исследования получила название интерактивной машинной графики и сегодня включает в себя не только изучение математических основ синтеза отдельных фрагментов изображения, но и вопросы их аппаратной реализации как на базе современных микропроцессорных платформ, так и на базе специализированных СБИС - так называемых микросхем графических контроллеров.
Графические контроллеры представляют собой "чипы" с высокой степенью интеграции, внутреннее устройство и связи которых подчинены решению определенной задачи - формированию во внешних ячейках памяти (видеоОЗУ) фрагментов изображения в заданной системе координат. Порядок заполнения ячеек памяти видеоОЗУ основан на аппаратной реализации вычислительных процедур при выполнении поступающих в графический контроллер команд "высокого уровня". В частности, известно, что в большинстве языков программирования для того, чтобы "нарисовать", скажем, линию на экране, необходимо задать четыре ее координаты (в декартовой системе координат -Хначальное, Уначальное, Хконечное, Уконечное) и определить команды задания цвета и построения линии. Например, в популярном языке программирования высокого уровня "Си" для программиста это эквивалентно заданию и выполнению следующих двух команд:
setcolor (red); //задание красного цвета;
Нпе(Хн,Ун,Хк,Ук) //построение линии с координатами (Хн,Ун)( Хк,Ук).
Однако не всегда оказывается очевидным, как это реализуется на аппаратном уровне. На самом деле эти команды раскладываются (в машинном коде системы команд выполняющего программу процессора) в последовательность управляющих слов и команд графического контроллера, который осуществляет роспись ячеек в видеоОЗУ по жестко определенному алгоритму задания цвета, построения линий и т.д.
Такие алгоритмы сегодня существуют для достаточно большого числа различных графических примитивов:
• алгоритмы построения линий различной толщины (в 1 пиксель, в 2, в 3) и атрибутов (пунктирная линия, мигание линий и т. д.);
• алгоритмы построения дуг, окружностей, эллипсов и т. д., основанные на задания точки центра окружности, радиуса, начальных/конечных углов;
• алгоритмы генерации различных шрифтов и символов согласованной конфигурации;
• алгоритмы построения фигур и объектов произвольной формы, их "заливка" (закрашивание или штриховка заданным элементом изображения и т.д.)
- и в той или иной степени стандартизированы.
Фирмы-разработчики (в частности, Motorolla, Intel, Texes Instruments и т.д.) таких "чипов" стараются унифицировать их аппаратные интерфейсы для обеспечения программной совместимости рабочих индикационных программ. Действующий сегодня стандарт получил название VESA и распространяется на большинство аппаратно-программных средств современных систем отображения информации. Стандарт непрерывно совершенствуется и накладывает ограничения в первую очередь на систему команд VESA-совместимых графических контроллеров и на форматы данных (что достигается за счет программной поддержки "чипов" библиотеками драйверов), оставляя на усмотрение разработчиков вопросы организации внешнего интерфейса микросхем памяти (видеоОЗУ), управляющей шины и специализированных интерфейсов экранов.
CHIPS 44К 69000 Video BIOS Editor (ВМР000) Prelim Version 0106.02.00.0000 (С)Copyright Chips & Technologies, Inc. 1988, All Rights Reserved
- Panel #1 Flat Panel and Simultaneous parameters
Panel Configuration Panel Type
Flat Panel Display Mode Clock Frequencies: Std/4/8 Bpp Dot Clock 65 Mhz
15/16 Bpp Dot Clock 65 Mhz
24 Bpp Dot Clock 65 Mhz
Std/4/8 Bpp Memory Clock 83 Mhz
15/16 Bpp Memory Clock 83 Mhz
24 Bpp Memory Clock 83 Mhz
Flat Panel Display Low Power Mode Clock Frequencies:
Text Mode Memory Clock 60 Mhz
Std/4/8 Bpp Memory Clock 50 Mhz
15/16 Bpp Memory Clock 50 Mhz
24 Bpp Memory Clock 50 Mhz
Simultaneous Display Mode Clock Frequencies:
-page 10 of 73-
<-T j-» To select field + - To change field <F1> For help
<TAB>, <Shift-TAB> <F5> To save BMS file <ESC> To quit
to change windows <F6> To load BMS/CMS file <F10> To save file
Рис.2. Вид оболочки для разработки новых "прошивок" графических контроллеров
фирмы Motorolla.
В стремлении к реализации своей продукции в информационно-управляющих системах некоторые перспективные фирмы-производители микросхем графических
контроллеров предлагают инженерам-схемотехникам набор программных инструментов (см. рис. 2) для модификации базовых "прошивок" микросхем с целью обеспечение интерфейсного пользовательского взаимодействия с экранами различного типа за счет возможности изменения временных соотношений (диаграмм) тактовых CLK, кадровых VSYNC и строчных HSYNC управляющих сигналов в широких пределах.
Литература
1. Вельтмандер П.В. Основные алгоритмы компьютерной графики. Машинная графика: Учеб. пособие / НГТУ. Новосибирск. 1997. Кн.2.
2. Парамонов П. П., Ильченко Ю. А., Жаринов И. О. Теория и практика статистического анализа картографических изображений в системах навигации пилотируемых летательных аппаратов. // Датчики и системы. 2001. №8. С.15-19.
3. Информационно-управляющие системы для подвижных объектов. Семинары ASK LAB 2001 / Сборник статей / Под общ. ред. М. Б. Сергеева СПб.: Политехника, 2002. 185с.