Usb3Vision И Genicam. Взгляд Изнутри. Я



Введение Трудно представить современный мир без видеокамер.

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

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

Такие системы называются системами компьютерного зрения.

Они представляют собой сложные программно-аппаратные комплексы приема и обработки изображений.

До 2006 года не существовало стандарта для создания таких систем.

Это привело к тому, что на рынке обосновалось большое количество устройств разных производителей, которые разрабатывались по внутренним закрытым стандартам компаний.

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

Все это привело к необходимости заново готовить производство к работе.

Требовалась универсальность как самих камер, так и программного обеспечения к ним.

В 2003 году Европейская ассоциация машинного зрения (EMVA) и ведущие производители в этой области объединились, чтобы создать общий комплексный стандарт управления камерами машинного зрения.

Через некоторое время появился интерфейс GenICam. Интерфейс расшифровывается как Generic Interface Camera, но логичнее называть его протоколом или стандартом, поскольку он накладывается поверх интерфейсов данных.

GenICam определяет общий API для всех камер, который используется для управления устройством.

Также он определяет структуру прошивки контроллера управления камерой, что немаловажно.

Благодаря всему этому стало возможным использовать разные камеры машинного зрения с разным управляющим ПО.

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



Цель GenICam

Целью стандарта является предоставление базового интерфейса программирования для различных камер.

На рынке представлено большое количество камер машинного зрения, основанных на этом стандарте.

У них могут быть разные физические интерфейсы данных, но поскольку камеры поддерживают GenICam, все они взаимозаменяемы.

То же самое можно сказать и о программном обеспечении для камер машинного зрения; если ПО поддерживает GenICam, то при необходимости его можно заменить решением другого разработчика.



USB3Vision и GenICam. Взгляд изнутри.
</p><p>
 я

Рис.

1 - Принцип GenICam

Компонентные модули

Стандарт разделен на взаимосвязанные модули.

Далее будет дано краткое объяснение каждого модуля.



ГенАпи

Означает универсальный API. Требуется для настройки камеры.

Современные фотоаппараты – это не просто устройства, создающие определенную картинку.

Наоборот, они могут выполнять широкий спектр задач, например, банальное усиление сигнала со светочувствительного датчика.

Усиление сигнала — это возможность, и ею необходимо управлять.

Помимо усиления используются и другие варианты, если это позволяет электроника.

GenApi необходим для описания функционала камеры и ее параметров, например, ширины и высоты кадра в пикселях.



ГенТЛ

Общий уровень передачи.

Необходим для идентификации устройства системой и связи с одним или несколькими устройствами.

Кроме того, он предоставляет средства для передачи потоковых данных с камеры на хост. Модуль больше относится к ПО управления хостом, т.к.

камера в подавляющем большинстве случаев является ведомым устройством.

Предоставляя рабочую комбинацию GenApi и GenTL, вы гарантированно получаете программный проект начального уровня для работы с камерой.



ГенКП

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

Этот протокол ориентирован на пакетную передачу данных и работает по принципу отправки команды, ожидания подтверждения и отслеживания времени ожидания.



СФНК

Соглашение об именовании стандартных функций.

Камеры, как уже говорилось выше, могут иметь множество возможностей.

В приведенном примере было усиление сигнала с датчика изображения.

Разные производители могли называть эту функцию по-разному, но тогда из-за различий в названии камеры не были бы взаимозаменяемыми.

Поэтому было разработано соглашение об именах — SFNC. Он определяет базовый список возможностей, их названия и порядок их работы.



CLПротокол

Предоставляет API для взаимодействия между GenApi и интерфейсом CameraLink. Более подробно разбирать этот модуль мы не будем, потому что.

В дальнейших частях речь пойдет об интерфейсе USB3.

Заключение

Стандарт достаточно обширен в плане документации, но вполне понятен и логичен.

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

Статью следует разделить на несколько частей для лучшего понимания материала.

Следующая часть будет посвящена GenApi и настройке камеры.

Теги: #Программирование микроконтроллеров #Производство и разработка электроники #Разработка систем связи #интерфейсы #Обработка изображений #машинное зрение #CCD #GenICam #USB3 #USB3Vision #ccd камера

Вместе с данным постом часто просматривают: