Оценочные комплекты камер Arducam: введение
Видео к этому материалу опубликовано на YouTube. Пришлём ссылку по запросу на quote@arducam-russia.ru.
1. Создание системы камеры
1.1. Почему сложно подключить сенсор к своей системе
Если бюджет позволяет, проще всего купить готовую промышленную камеру и использовать её как есть. Но если вы решили разработать камеру на сенсоре с нуля, придётся ответить на такие вопросы:
- Где взять даташит на сенсор?
- Какой интерфейс камеры использовать?
- Нужно ли писать драйвер сенсора?
- Как запустить сенсор?
- Устраивает ли качество изображения?
Даже если вам повезёт найти ответы на первые вопросы и дойти до последнего, может оказаться, что качество изображения или производительность не устраивают, — и придётся возвращаться к самому первому вопросу.
Долгое время для создания системы камеры требовались не только навыки программирования, но и понимание аппаратной части сенсора и его временных диаграмм. Писать и отлаживать драйвер камеры с нуля очень тяжело. Понимание таймингов сенсора — ключ к его запуску, но у вас может не оказаться нужного даташита, справочника по регистрам или рекомендаций по применению: производители сенсоров, такие как Sony, ONSemi, OmniVision, обычно выдают их только по соглашению о неразглашении (NDA). Для отладки сенсора очень полезны аппаратные средства — хороший осциллограф, логический анализатор, анализатор протоколов, — но для любителей и небольших команд они слишком дороги.
1.2. Оценочный комплект камеры экономит время
В оценочный комплект камеры входит плата Arducam USB Camera Shield — базовый строительный блок, из которого USB-камера собирается так же просто, как из кубиков Lego. Вместе с другими блоками Arducam — отладочной платой сенсора, платой-адаптером MIPI или HISPI — из неё можно собрать USB-камеру своими руками. Драйвер камеры и программы готовы для Windows и Linux, как на ПК, так и на встраиваемых устройствах ARM. Остаётся выбрать подходящий файл конфигурации для своей камеры и начать анализ видеопотока. По данным Arducam, это сокращает разработку камеры с месяцев до минут.
1.3. Возможности доработки
В оценочный комплект камеры Arducam входит полноценный SDK для разработки прикладных программ и встраивания камеры в вашу систему. SDK — собственный программный фреймворк Arducam для USB-камер: он скрывает сложные аппаратные и программные детали камеры за простым единообразным интерфейсом. Если нужного сенсора нет в каталоге Arducam, его поддержку можно обсудить отдельно — напишите нам на quote@arducam-russia.ru. Так оценочный комплект служит не только инструментом быстрого прототипирования и оценки, но и готовым компонентом камеры.
2. Как устроено решение на базе оценочного комплекта Arducam
2.1. Что такое оценочный комплект камеры Arducam
Оценочный комплект камеры Arducam построен на плате USB Camera Shield — базовом блоке USB-камеры, который скрывает сложность аппаратной и программной части и даёт разработчику системы камеры простой единообразный аппаратный и программный интерфейс. Вместе с другими блоками Arducam — отладочными платами сенсоров и платами-адаптерами — камеру можно собрать за считаные минуты. Если нужна камера без USB, посмотрите решения Arducam с интерфейсами SPI и MIPI CSI-2 для Arduino, Raspberry Pi и NVIDIA Jetson.
2.2. Какие сенсоры поддерживаются
С подходящей комбинацией плат-адаптеров оценочный комплект поддерживает любой сенсор от 0,3 до 200 Мп. Распространённые интерфейсы сенсоров — параллельный (DVP), MIPI (CSI-2), LVDS, HSPI и др. Сейчас Arducam реализовала параллельный интерфейс и MIPI, для каждого из них есть отдельная плата-адаптер. Остальные интерфейсы поддерживаются только при доработке под заказ.
2.3. Какие ещё блоки нужны для камеры
Сам по себе оценочный комплект не работает: чтобы получилась законченная камера, он должен работать вместе с другими блоками. Главный из них — отладочная плата камеры, состоящая из объектива и модуля сенсора. На выходе у неё штыревой разъём или разъём для шлейфа, который подходит к плате USB Camera Shield. Подробнее — в следующем разделе.
2.4. С каким оборудованием работает комплект
Оценочный комплект камеры — USB-устройство. Он работает с любой аппаратной платформой — ПК, ноутбуком или встраиваемым устройством ARM, — если у неё есть хост-интерфейс USB. На разных платформах USB-драйвер и SDK могут отличаться и зависят от устройства. Полный список поддерживаемых платформ — в спецификации оценочного комплекта.
2.5. Какие ОС поддерживаются
Сейчас поддерживаются Windows и Linux — это покрывает большинство задач. По данным Arducam, некоторые пользователи успешно запускали комплект и в macOS.
2.6. Какие языки программирования поддерживают SDK и примеры кода
Поддерживаются C/C++ и Python. Arducam подготовила несколько примеров с OpenCV, которые упрощают перенос существующего кода OpenCV. По данным Arducam, некоторые пользователи написали обёртку для Java.
3. Как собрать свою камеру-«бургер»
В ресторане McDonald’s бургер можно собрать из выбранных ингредиентов. Оценочные комплекты Arducam устроены так же: камера-«бургер» собирается из выбранных блоков. У Arducam уже есть несколько популярных готовых комплектов, но если они вам не подходят, соберите камеру по шагам ниже.
3.1. Шаг 1. Выберите оценочный комплект с USB2 или USB3
Выбор комплекта зависит от того, какая пропускная способность нужна вашему приложению. USB2 даёт только 480 Мбит/с (не более 40 МБ/с), и эту полосу делят все устройства на одном корневом концентраторе. USB2 подходит, если хост поддерживает только USB2 или если этой полосы хватает для выбранной отладочной платы камеры. В остальных случаях выбирайте плату USB3 Camera Shield — для более высокой частоты кадров или одновременного подключения нескольких камер.
3.2. Шаг 2. Выберите отладочную плату камеры
Чтобы выбрать подходящую камеру, определите требования: разрешение, размер пикселя, частоту кадров, интерфейс сенсора, крепление объектива, цветной или монохромный сенсор, нужна ли чувствительность к ИК и т. д. Затем выберите ближайшую по характеристикам отладочную плату камеры для оценки и дальнейшей доработки.
3.4. Таблица выбора плат для сборки камеры
| Плата USB Camera Shield | Тип отладочной платы | Плата-адаптер |
|---|---|---|
| USB2 Rev.D (UC-391 Rev.D) | Параллельный интерфейс, штыревой разъём / шлейф | — |
| USB2 Rev.E (UC-391 Rev.E) | Параллельный интерфейс (только шлейф) / MIPI | — |
| USB3 Rev.C (UC-425) | Параллельный интерфейс 8 бит, шлейф | — |
| USB3 Rev.C (UC-425) | Параллельный интерфейс 8 бит, штыревой разъём | Параллельный (UC-547) |
| USB3 Rev.C (UC-425) | Параллельный интерфейс 10/12 бит | Параллельный (UC-547) |
| USB3 Rev.C (UC-425) | MIPI | MIPI (UC-628) |
| USB3 Rev.C (UC-425) | Параллельный интерфейс × 2 | Стерео, параллельный (UC-467) |
| USB3 Rev.C (UC-425) | MIPI × 2 | Стерео HAT (UC-625) |

Arducam USB2 Camera Shield (Rev.E) — поддержка сенсоров с интерфейсами MIPI и параллельным
Снята с производства, есть обновлённая версия: B0419.

Плата-адаптер параллельного интерфейса Arducam для USB3 Camera Shield

Плата-адаптер MIPI Arducam для USB3 Camera Shield

Arducam USB3.0 Camera Shield
Плата ArduCAM USB3.0 Camera Shield снята с производства.
Обновлённая версия — B0317: смотрите здесь.

Arducam USB2 Camera Shield
5. Видеоруководство
Видео к этому материалу опубликовано на YouTube. Пришлём ссылку по запросу на quote@arducam-russia.ru.