Научная статья на тему 'Сопряжение многоэлементных фотоприемных устройств с персональным компьютером на базе аналого-цифровых модулей ввода-вывода'

Сопряжение многоэлементных фотоприемных устройств с персональным компьютером на базе аналого-цифровых модулей ввода-вывода Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
236
64
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Сопряжение многоэлементных фотоприемных устройств с персональным компьютером на базе аналого-цифровых модулей ввода-вывода»

Ю.С. Бехтин, А.А. Баранцев, М.В. Мызин

СОПРЯЖЕНИЕ МНОГОЭЛЕМЕНТНЫХ ФОТОПРИЕМНЫХ УСТРОЙСТВ С ПЕРСОНАЛЬНЫМ КОМПЬЮТЕРОМ НА БАЗЕ АНАЛОГО-ЦИФРОВЫХ МОДУЛЕЙ ВВОДА-ВЫВОДА

В настоящее время многоэлементные фотоприемные устройства (ФПУ) находят широкое применение в системах технического зрения, охранно-пожарной сигнализации, видеокомпьютерных системах и т.п. Выпускаемые промышленностью (в том числе, отечественной) линейные и матричные ФПУ формируют выходной дискретно-аналоговый сигнал с помощью последовательного опроса их фотоэлементов встроенным электронным коммутатором. Сигналы фотоэлементов искажаются так называемым геометрическим шумом (fixed pattern noise, [1]) чувствительности (неоднородность коэффициентов передачи), темнового тока (наличие постоянной составляющей в выходном сигнале) и дефектов (нерабочие элементы). В ряде задач на основании таких выходных сигналов ФПУ необходимо в персональном компьютере (ПК) сформировать в реальном масштабе времени изображение (последовательность видеокадров), которое должно быть обработанным с целью подавления геометрического шума, принадлежать одному из стандартных форматов (например, bmp) и т.п.

Техническое решение подобных задач возможно получить несколькими способами, в том числе и с применением внешних по отношению к ПК устройств, содержащих мощные процессоры обработки сигналов (DSP), буферную память для записи кадров. Одним из более простых и относительно недорогих вариантов [2] является применение в качестве устройства сопряжения плат аналогоцифрового ввода-вывода, инсталлируемых в (ПК), которые не содержат встроенного DSP. Следовательно, алгоритмы обработки выходного сигнала ФПУ полностью реализуются через программное обеспечение в ПК, которое и управляет работой всей цепи ФПУ - плата сопряжения - ПК.

В статье рассматривается пример построения аппаратно-программного комплекса обработки сигналов матричных ФПУ, структурная схема которого приведена на рис.1.

Рис. 1. Структурная схема системы ввода изображения

Для сопряжения ФПУ с ПК используется модуль аналого-цифрового ввода-вывода AMBPCI фирмы «Инструментальные системы» (далее - базовый модуль), который подключен к шине PCI, и субмодуль аналогового ввода ADM214x10M (далее - субмодуль) с двумя АЦП. Оцифрованные значения сигнала ФПУ поступают в оперативную память компьютера (ОЗУ), откуда извлекаются процессором (ЦПУ) для обработки. Обработанные данные через видеоадаптер выводятся на дисплей и могут быть сохранены на жестком диске.

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

Функциональные схемы субмодуля и базового модуля представлены на рис. 2 и 3 соответственно [3, 4]. Видеосигнал поступает на вход 0-го канала субмодуля и через мультиплексор коммутируется на программируемый усилитель, затем поступает на схему смещения каналов и в конечном итоге на вход 14-разрядного АЦП. Оцифрованные данные поступают в базовый модуль, далее - через буферную память FIFO на шину PCI ПК, где осуществляется преобразование 16разрядных данных в 32-разрядные. Вводимые отсчеты АЦП занимают из двух байт старшие 14 разрядов и представляются в дополнительном коде. В базовом модуле устанавливаются режим стартовой синхронизации АЦП и режим тактирования АЦП. Тактовые синхроимпульсы проходят через разъем X4, мультиплексор выбора синхронизации MUX на вход компаратора 1 и далее на узел синхронизации и управления. Кадровый синхроимпульс проходит следующий путь: фотоприемник, субмодуль, компаратор 0, узел синхронизации и управления.

Для программирования модуля и субмодуля используется драйвер DAQDRV. Он оформлен в виде набора динамических библиотек и виртуальных драйверов, которые должны находиться либо в текущем рабочем каталоге, из которого производится запуск приложения, использующего драйвер, либо в системном каталоге Windows (daqdrv32.dll, adm214x.dll, ambpci32.dll, vambpcid.vxd, v5933d.vxd). С помощью драйвера осуществляется первоначальная

настройка режима работы блока: частота дискретизации АЦП 2 • 106 Гц, смещение нуля -2.5 В, включен нулевой канал, коэффициент передачи нулевого канала 1, запуск от внешнего сигнала, АЦП тактируется задним фронтом тактового синхроимпульса, цикл АЦП останавливается программно, для тактирования используется внешний генератор (рис. 2).

X1 ADM-Connect

Рис.2. Функциональная схема используемой части субмодуля ADM214x10M

Программное обеспечение для операционной системы Windows 9х, выполняющее сопряжение ПК с AMBPCI, создано в среде разработки Visual C++ 6.0 с применением библиотеки классов MFC. В приложении реализован однодокументный интерфейс (SDI), а также возможность непрерывного ввода изображений (так называемый видеорежим). Для разделения данных и их графического представления выбрана архитектура программы «Документ-представление», так как она облегчает сопровождение программы, т.е. ее последующую модификацию. Поскольку исходные данные из АЦП поступают в память ПК через канал DMA (т.е. без участия процессора ПК), а получение изображения требует значительных вычислительных затрат, то целесообразно разделить процессы ввода и обработки информации и организовать их в виде двух потоков. В результате в буфере памяти постоянно находятся данные, актуальные на текущий момент времени, а их обработка выполняется с максимально возможной скоростью, которая зависит от типа ПК. Такое решение позволяет улучшить визуальное представление обрабатываемых данных, отображаемых в режиме «видео» на компьютерах с относительно малым быстродействием.

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

Работа системы начинается с инициализации базового модуля AMBPCI (рис.3). При этом настраиваются режимы старта/останова АЦП.

► Внешн. такт

Внутр.

Шина

Субмодуль ADMxxx I_rest

Вход

АЦП0

j н.старт

Ж

т*

FIFO до 64k

Control

J-

Узел прогр. напряжений

Узел 1 синхронизации и управления

Внешн. такт

-►

MUX -►

«—

PCI

Контро

ллер

Setup

EPROM

6 Contr

Комп. 0

Комп. 1

Рис. 3. Функциональная схема используемой части модуля AMBPCI

Программа осуществляет выделение областей памяти, необходимой для хранения информации, поступающей с матрицы фотоэлементов, и преобразованного (откорректированного) изображения. Далее осуществляется заполнение калибровочных массивов. На этапе настройки ФПУ калибровка осуществляется вручную. Оператор переводит комплекс в ручной режим калибровки и дает команду на выполнение первой калибровки по "низкой температуре". При калибровке вычисляются коэффициенты, необходимые для компенсации постоянной составляющей, и выявляются дефектные элементы. Вторая калибровка происходит аналогично при "высокой температуре". При этом вычисляются коэффициенты, предназначенные для компенсации неоднородности вольтовой чувствительности, и строятся таблицы, необходимые для работы алгоритма подавления геометрического шума дефектов.

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

Благодаря использованию объектно-ориентированного подхода разработан -ное программное обеспечение можно относительно быстро адаптировать к любому другому источнику видеосигнала.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Кругликов С.В. Методы и средства подавления структурных помех многоэлементных фотоприемников // Аналитический обзор № 4628 за 1970-1987. М., 1989.

2. Бехтин Ю.С., Баранцев А.А., Соляков В.Н., Медведев А.С. Построение аппаратнопрограммных комплексов цифровой обработки изображений фотоэлектронных модулей // Тезисы XVIII МНТК по фотоэлектронике и приборам ночного видения. 2004.

3. Драйвер субмодуля аналогового ввода ADM214x10M. Руководство пользователя. М.: АО «Инструментальные системы», 2000.

4. Соколов А.М. Базовый модуль аналогового ввода/вывода AMBPCI. Руководство пользователя. М.: АО «Инструментальные системы», 2000.

В.А. Малагин, В.П. Свечкарев

ИНТЕГРАЦИЯ СРЕДСТВ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ЭЛЕКТРОННОГО ДОКУМЕНТООБОРОТА

Самым эффективным способом защиты электронных документов (ЭД) от перехвата специалисты по безопасности компьютерных сетей признают их кодирование на основе «сильных» криптографических алгоритмов. Такое шифрование и формирование электронной подписи делают невозможным изменение документов и позволяют легко обнаруживать поддельные. Существует большое число алгоритмов и протоколов шифрования. Однако по оценкам исследовательских компаний, во всем мире лишь около 1% публичных пользователей систем электронного документооборота использовали криптографическую защиту, а в среде корпораций использование составляет 10-15%. Причиной этого является необходимость использования одновременно нескольких средств защиты, адаптированных, как правило, к особенностям корпоративного электронного документооборота [1].

Рассматриваемый программный комплекс «Продовольственный рынок» (ПКПР) обеспечивает осуществление электронного документооборота между ком-

i Надоели баннеры? Вы всегда можете отключить рекламу.