Дф^ст
МОДУЛЬ ОБРАБОТКИ ИНФОРМАЦИИ С НАВИГАЦИОННОЙ СИСТЕМЫ И ЛАЗЕРНОГО ДАЛЬНОМЕРА
Э.С. ЛИТВАК, инженер ОАО «НПО Геофизика-НВ»,
А.Ю. ПОПОВ, доц. МГТУ им. Баумана, вед. спец. ОАО «НПО Геофизика-НВ», канд. техн. наук, А.Д. ЛЕВКОВИЧ, вед. спец. ОАО «НПО Геофизика-НВ»
Модуль обработки информации с навигационной системы и лазерного дальномера позволяет вычислять географические координаты удаленного объекта и входит в состав оптико-электронного устройства для наблюдения и регистрации изображения удаленного объекта (ОЭУН). Алгоритм работы модуля реализуется на основе микропроцессорной системы на базе программируемой логической интегральной схемы (ПЛИС). Модуль осуществляет сбор, обработку, хранение и выдачу информации о положении прибора и наблюдаемого объекта, и обладает малыми габаритами.
Место модуля обработки информации показано на структурной схеме прибора, которая представлена на рис. 1.
Отличительной особенностью прибора является фиксация данных (координат объекта и наблюдателя) с последующим проецированием их изображения, сформированного на экране микродисплея, на изображение объекта наблюдения [1].
Нажатие кнопки спуска на ОЭУН инициирует фиксацию информации, отображенной на экране микродисплея, на некоторый интервал времени, превышающий время экспозиции фотоаппарата. За этот промежуток на фотоаппарат посылается сигнал активизации затвора, раскрытие которого приводит к проецированию на фоточувствительную матрицу изображений объекта и географических координат и другой служебной информации с экрана микродисплея.
Рис. 1. Структурная схема ОЭУН с фотоаппаратом
ЛЕСНОЙ ВЕСТНИК 6/2012
145
фйстД
Рис. 2. Структурная схема ядра
В состав модуля обработки (МО) входит ПЛИС фирмы Xilinx XС3S500E (эквивалентная логическая емкость - 10К, объем блочной памяти - 360К), флэш-память XCF04S объемом 4 Мбит, 2 трансивера фирмы Maxim MAX3232, кварцевый генератор фирмы Epson на 50 МГц. Программирование платы осуществляется через интерфейс JTAG
[3].
Реализация проекта на ПЛИС дает возможности гибкого изменения архитектуры системы, выделения ресурсов тем или иным модулям.
В задачи МО входят:
- прием и обработка данных от навигационной системы, лазерного дальномера;
- формирование видеосигнала в формате VGA, выдающего символьную информацию о положении объекта наблюдения, дату и время наблюдения, а также координаты наблюдателя на экране микродисплея;
- прием сигнала запроса на выполнение момента съемки от фотоаппарата;
- фиксация выходного изображения и отправка сигнала активизации затвора фотоаппарата.
Проект был выполнен в САПР Xilinx ISE, Xilinx EDK(SDK) v. 10.1 на языках VHDL, Verilog, C.
Структурная схема ядра представлена на рис. 2.
Ядро системы включает набор связанных IP-модулей: микропроцессор MicroBlaze, блочная память BRAM, контроллер блочной памяти ПЛИС, видеоконтроллер, контроллеры шин передачи данных (PLB, LMB, FSL), интерфейсы передачи данных (UART), тактовый генератор, пользовательский таймер сигналов FSL_TIMER, модуль отладки и системного сброса.
Компонент MicroBlaze представляет собой встроенное ядро на базе soft-процессора MicroBlaze®, сконфигурированное в Xilinx EDK/SDK [4].
Контроллеры UART принимают пакеты данных от навигационной системы и лазерного дальномера.
Синхронизация МО и микродисплея осуществляется компонентом Synchro, отвечающим за развертку видеосигнала. Счетчики intVcnt и intHcnt пробегают соответственно значения от 0 до (521-1) и от 0 до (800-1) с частотой 25 МГц. Компонент Synchro формирует сигналы вертикальной и горизонтальной развертки Hsync и Vsync в соответствии с требованиями стандарта VGA.
Для вывода графической информации разработан видеоконтроллер. Размеры знакоместа приняты 8x16 px. При этом на экране можно разместить 480/16=30 строк по 640/8=80 символов в каждой. Организованы две области оперативной памяти - одна для хранения сим-
146
ЛЕСНОЙ ВЕСТНИК 6/2012
ДфЭст
0 0 0 1 0 0 0 0
0 0 1 1 1 0 0 0
0 1 1 0 1 1 0 0
0 1 1 0 1 1 0 0
0 1 1 0 1 1 0 0
0 1 1 0 1 1 0 0
1 1 0 0 0 1 1 0
1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 0
1 1 0 0 0 1 1 0
1 1 0 0 0 1 1 0
1 1 0 0 0 1 1 0
1 1 0 0 0 1 1 0
1 1 0 0 0 1 1 0
1 1 0 0 0 1 1 0
0 0 0 0 0 0 0 0
RAM0 - 32'h0666666EE6CCCC
a) RAM1 - 32'h0CCCCCCFF0366631
о
c
3=
о
"О.
го
с
о
>
с
intHcnt(9 downto 3)
±Н
б)
intHcnt
intHcnt(2 downto 0)
A
-intVcnt(3 downto 0)
intVcnt
Рис. 3. а) Кодирование символа; б) Адресация символа «А»
волов алфавита (Component Char_Gen_RAM), а другая - видеопамять - для хранения текущего состояния экрана, т.е. выводимых данных (Component Video_RAM).
Для первой области в HDL-библиотеке было выбрано 2 блока памяти RAMB16_S4 (обозначены RAM0 и RAM1) - синхронная RAM с 12-битной шиной адреса и 4-битной шиной данных. Первые 8 бит адреса определяют код символа (возможно до 256 различных знаков), а остальные 4 - номер строки в развертке символа. Любой знак (рис. 3 а) кодируется в памяти двумя последовательностями шестнадцатеричных чисел. Область видеопамяти использует 2 блока памяти RAMB16_S4_S4 - синхронная двухпортовая RAM с 12-битной шиной адреса и 4-битными шинами данных. Один порт предназначен для записи символов из рабочей программы в память, а второй - для чтения символов из памяти и вывода на дисплей. Адресация матрицы пикселов 640*480 требует 10 бит по горизонтали и 9 бит по вертикали. С учетом размеров символа (8*16) для адресации символа достаточно 7 и 5 (в сумме
12) старших битов (рис. 3б).
Таким образом, по адресу intHcnt(9 downto 3)&intVcnt(8 downto 4) достаточно хранить 8-битный код символа.
Опрос навигационной системы и лазерного дальномера производится циклически
по сигналу от таймера FSL_TIMER. После обработки пришедших данных программа переходит в состояние ожидания нового пакета.
На рис. 4. приведена фотография модуля обработки (сторона А), а на рис. 5 - фотография модуля обработки (сторона Б).
МО реализует, помимо управляющей функции в приборе, два основных алгоритма вычисления координат объекта наблюдения - по однократному и многократным (от трех и более) сигналам съема.
В первом случае координаты объекта вычисляются по полученным от прибора координатам наблюдателя (широта, долгота, высота), дальности до объекта и углу курса (угол между направлением на северный полюс и направлением на объект) [1].
Во втором случае наблюдатель движется (к примеру на вертолете) вокруг объекта и осуществляет съемку с нескольких позиций. Вычисление положения объекта по данным с нескольких точек уточняет его координаты. Метод вычисления координат по нескольким точкам основывается на построении окружностей для каждого измерения - проекций на плоскость OXY, центром которых является наблюдатель, а радиусом - проекция дальности до объекта [2].
Рассмотренный в статье модуль обработки информации позволяет решать задачу
ЛЕСНОИ ВЕСТНИК 6/2012
147
фЬстД
Рис. 4. Фотография модуля обработки (сторона А). Тип платы - МИН: 1 - ПЛИС Xilinx XC3S500E; 2 - разъемы подключения дальномера, навигационной системы, управления затвором фотоаппарата; 3 - разъем питания; 4 - органы управления ОЭУН; 5 - разъем программирования ПЛИС JTAG; 6 - разъем подключения микродисплея VGA
Рис. 5. Фотография модуля обработки (сторона Б)
определения географических координат удаленного объекта и выдачу информации в графическом виде в формате VGA. Гибкая архитектура системы на кристалле позволяет в дальнейшем использовать разработанный модуль в составе приборных комплексов различного назначения.
Сложные математические вычисления, типы данных, многочисленные переменные формата с плавающей запятой стали причиной значительного повышения размеров про-
граммы, что привело к предельному использованию ресурсов ПЛИС Xilinx XC3S500E. Следующая версия модуля обработки будет учитывать такие объемы вычислений.
Работа проводилась при финансовой поддержке Министерства образования и науки Российской Федерации в рамках государственного контракта от 13 сентября 2011 г. № 16.523.12.3006.
148
ЛЕСНОЙ ВЕСТНИК 6/2012