К содержимому
  1. Главная
  2. Документация
  3. V3Link
  4. Быстрый старт: камеры V3Link на платформе TI

Быстрый старт: камеры V3Link на платформе TI

Документация Arducam · перевод arducam-russia.ru

Оборудование

Схема

Схема платы-адаптера Arducam V3Link d-ch

Интерфейсы

Разъёмы и интерфейсы платы-адаптера V3Link d-ch
Обзор комплекта камер V3Link

Схема

Схема (лицевая сторона)Схема (обратная сторона)

Интерфейсы

Интерфейсы (лицевая сторона)Интерфейсы (обратная сторона)

Что понадобится

  • Отладочная плата TI SK-AM62A-LP
  • Плата-адаптер Arducam V3Link d-ch — 1 шт.
  • Плата-адаптер камеры Arducam V3Link — 4 шт.
  • Коаксиальный ВЧ-кабель FAKRA Z, «мама — мама» — 4 шт.
  • Модуль камеры Arducam IMX219 — 4 шт.
  • Карта microSD/TF (от 16 ГБ)
  • Кардридер для SD-карт
  • Кабель Ethernet или кабель microUSB (USB-A — Micro-B)
  • Кабель HDMI

Демонстрация

Подключение

Подключите четыре камеры IMX219 к платам-адаптерам Arducam V3Link, а плату-адаптер V3Link — к стартовому комплекту TI SK-AM62A.

Схема подключения камер IMX219 через V3Link к SK-AM62A-LP
  • 5–1 — камера IMX219, подключённая к плате-адаптеру камеры Arducam V3Link.
  • 1–2 — плата-адаптер Arducam V3Link d-ch, подключённая к плате-адаптеру камеры Arducam V3Link.
  • 3 — порт csi0 платы-адаптера Arducam V3Link d-ch, подключённый к разъёму CSI платы SK-AM62A-LP.
  • 4 — питание 12 В по требованиям Mini Fusion EVM.
  • 6 — подключение к локальной сети кабелем Ethernet.
  • 7 — подключение монитора кабелем HDMI.
  • 8 — питание через USB-C (USB PD).
  • 9 — последовательный порт, подключённый к хосту через microUSB.

Схема соединений

Схема соединений комплекта камер V3Link

Программное обеспечение

КраткоСейчас на отладочной плате TI SK-AM62A-LP поддерживается только камера Arducam IMX219, и шаги ниже относятся только к ней. Кроме того, в версии AM62A SDK 9.2 компания TI внесла крупные изменения, поэтому для версий SDK до 9.2 и после 9.2 порядок действий разный. Выберите нужный раздел:

Чтобы работать с комплектом камер Arducam V3Link на стартовой плате TI SK-AM62A-LP, выполните следующие шаги.

Инструкция для версий до AM62A SDK 9.2

Запись образа на карту памяти

  • Скачайте образ Edge AI SDK для AM62A (файл tisdk-edgeai-image-am62axx-evm.wic.xz, версия 08.06.00.45) с сайта TI.
  • Запишите образ на SD-карту программой Balena Etcher:
  1. Выберите образ, который нужно записать.
  2. Вставьте карту microSD в кардридер, подключённый к компьютеру.
  3. Нажмите кнопку Flash! и дождитесь окончания записи.
  • Завершение

Дождитесь окончания записи и вставьте карту microSD в SK-AM62A-LP. Сначала подайте питание на плату-адаптер V3Link d-ch, и только потом — на SK-AM62A-LP. Это важно: порядок включения менять нельзя. Через некоторое время на мониторе появится такой экран:

Экран SK-AM62A-LP после загрузки образа Edge AI

Установка драйверов и изменение конфигурации

Вход в систему через последовательный порт

  1. Скачайте программу PuTTY с её официального сайта.
  2. Щёлкните правой кнопкой мыши по кнопке «Пуск» на панели задач и выберите «Диспетчер устройств». В разделе «Порты (COM и LPT)» появятся несколько новых последовательных портов.
  3. Откройте PuTTY, выберите тип подключения Serial, укажите новый COM-порт, установите скорость 115200 бод и нажмите Open. Подписи, какой из портов — консоль, нет: терминал всегда на порту с наименьшим номером. Рекомендуем открыть все четыре порта и заново включить питание, чтобы увидеть вывод.
  4. В примере из руководства терминалом оказался порт COM7. Введите имя пользователя root — пароль не нужен.
  5. Скачайте архив AM62ASK-V3Link.zip.

Настройка системы

  • Узнайте IP-адрес платы
# AM62A
root@am62axx-evm:/opt/edgeai-gst-apps# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 1c:63:49:17:20:b0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.137.206/24 brd 192.168.137.255 scope global dynamic eth0
       valid_lft 604792sec preferred_lft 604792sec
    inet6 fe80::1e63:49ff:fe17:20b0/64 scope link
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:b2:42:d6:22 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever\
  • Скопируйте архив на AM62A
# PC
PS \$USER_PATH\> scp .\AM62ASK-V3Link.zip root@192.168.137.206:
root@192.168.137.206's password:
AM62ASK-V3Link.zip                                     100%  411KB   4.6MB/s   00:00
  • Настройте окружение системы
# AM62A
root@am62axx-evm:~# unzip AM62ASK-V3Link.zip
Archive:  AM62ASK-V3Link.zip
   creating: AM62ASK-V3Link/
   creating: AM62ASK-V3Link/dtbs/
  inflating: AM62ASK-V3Link/dtbs/k3-am62a7-sk-v3link-fusion-0.dtbo
  inflating: AM62ASK-V3Link/dtbs/k3-am62a7-sk.dtb
  inflating: AM62ASK-V3Link/dtbs/k3-v3link-imx219-0-0.dtbo
  ...
# Copy modules/ds90ub960.ko and modules/im219.ko to/
root@am62axx-evm:~# cp ~/AM62ASK-V3Link/modules/ds90ub960.ko  /lib/modules/5.10.168-g2c23e6c538/kernel/drivers/media/i2c/
root@am62axx-evm:~# cp ~/AM62ASK-V3Link/modules/imx219.ko  /lib/modules/5.10.168-g2c23e6c538/kernel/drivers/media/i
2c/
# Copy dtbs/*.dtbo to /boot
root@am62axx-evm:~# cp ~/AM62ASK-V3Link/dtbs/*.dtbo /boot/
root@am62axx-evm:~# cp ~/AM62ASK-V3Link/dtbs/*.dtb /boot/
# Copy dtbs/uEnv.txt to /run/media/mmcblk1p1/
root@am62axx-evm:~# cp ~/AM62ASK-V3Link/dtbs/uEnv.txt /run/media/mmcblk1p1/uEnv.txt
reboot 
  • Просмотр изображения

Сначала задайте формат камер скриптом setup-imx219.sh, затем запустите просмотр скриптом stream-4ximx219.sh, передав ему параметры четырёх камер — пары video_index subdev_index, как показано ниже:

root@am62axx-evm:~# chmod +x ~/AM62ASK-V3Link/scripts/*
root@am62axx-evm:/opt/edgeai-gst-apps# ~/AM62ASK-V3Link/scripts/setup-imx219-640x480.sh
IMX219 Camera 0 detected
    device = /dev/video3
    name = IMX219 7-0010
    format = [fmt:SRGGB8_1X8/640x480 field: none]
    subdev_id = /dev/v4l-subdev5
    isp_required = yes
    ldc_required = yes
IMX219 Camera 1 detected
    device = /dev/video4
    name = IMX219 8-0010
    format = [fmt:SRGGB8_1X8/640x480 field: none]
    subdev_id = /dev/v4l-subdev7
    isp_required = yes
    ldc_required = yes
IMX219 Camera 2 detected
    device = /dev/video2
    name = IMX219 6-0010
    format = [fmt:SRGGB8_1X8/640x480 field: none]
    subdev_id = /dev/v4l-subdev9
    isp_required = yes
    ldc_required = yes
IMX219 Camera 3 detected
    device = /dev/video5
    name = IMX219 9-0010
    format = [fmt:SRGGB8_1X8/640x480 field: none]
    subdev_id = /dev/v4l-subdev10
    isp_required = yes
    ldc_required = yes
root@am62axx-evm:/opt/edgeai-gst-apps# ~/AM62ASK-V3Link/scripts/stream-4ximx219-640x480.sh 3 5 4 7 2 9 5 10
# or
root@am62axx-evm:/opt/edgeai-gst-apps# ~/AM62ASK-V3Link/scripts/setup-imx219.sh
root@am62axx-evm:/opt/edgeai-gst-apps# ~/AM62ASK-V3Link/scripts/stream-4ximx219.sh 3 5 4 7 2 9 5 10

Инструкция для версий после AM62A SDK 9.2

Запись образа на карту памяти

  • Скачайте образ WIC из выпуска SDK 9.2 (файл tisdk-edgeai-image-am62axx-evm.wic.xz, версия 09.02.00.05) с сайта TI.
  • Запишите образ на SD-карту программой Balena Etcher:
  1. Выберите образ, который нужно записать.
  2. Вставьте карту microSD в кардридер, подключённый к компьютеру.
  3. Нажмите кнопку Flash! и дождитесь окончания записи.
  • Завершение

Дождитесь окончания записи и вставьте карту microSD в SK-AM62A-LP. Сначала подайте питание на плату-адаптер V3Link d-ch, и только потом — на SK-AM62A-LP. Это важно: порядок включения менять нельзя. Через некоторое время на мониторе появится такой экран:

Установка драйверов и изменение конфигурации

Вход в систему через последовательный порт

  1. Скачайте программу PuTTY с её официального сайта.
  2. Щёлкните правой кнопкой мыши по кнопке «Пуск» на панели задач и выберите «Диспетчер устройств». В разделе «Порты (COM и LPT)» появятся несколько новых последовательных портов.
  3. Откройте PuTTY, выберите тип подключения Serial, укажите новый COM-порт, установите скорость 115200 бод и нажмите Open. Подписи, какой из портов — консоль, нет: терминал всегда на порту с наименьшим номером. Рекомендуем открыть все четыре порта и заново включить питание, чтобы увидеть вывод.
  4. В примере из руководства терминалом оказался порт COM7. Введите имя пользователя root — пароль не нужен.
  • Измените файл /run/media/BOOT-mmcblk1p1/uEnv.txt, чтобы в нём была строка:
name_overlays=k3-am62x-sk-csi2-v3link-fusion.dtbo k3-v3link-imx219-0-0.dtbo k3-v3link-imx219-0-1.dtbo k3-v3link-imx219-0-2.dtbo k3-v3link-imx219-0-3.dtbo
  • Загрузите Linux и выполните скрипт:
/opt/edgeai-gst-apps/scripts/setup_cameras_v3link.sh

Затем запустите приложенный скрипт для вывода видео.

  • Просмотр изображения

Файл stream-4ximx219 - 1920x1080.txt:

#!/bin/bash

gst-launch-1.0 \
v4l2src device=/dev/video-imx219-cam0 io-mode=5 ! queue max-size-buffers=1 leaky=2 ! video/x-bayer,width=1920,height=1080,framerate=30/1,format=rggb ! \
tiovxisp sink_0::device=/dev/v4l-imx219-subdev0 sensor-name=SENSOR_SONY_IMX219_RPI dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_1920x1080.bin \
sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_1920x1080.bin format-msb=7 ! \
video/x-raw,format=NV12, width=1920,height=1080 ! queue ! mosaic.sink_0 \
v4l2src device=/dev/video-imx219-cam1 io-mode=5 ! queue max-size-buffers=1 leaky=2 ! video/x-bayer,width=1920,height=1080,framerate=30/1,format=rggb ! \
tiovxisp sink_0::device=/dev/v4l-imx219-subdev1 sensor-name=SENSOR_SONY_IMX219_RPI dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_1920x1080.bin \
sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_1920x1080.bin format-msb=7 ! \
video/x-raw,format=NV12, width=1920,height=1080 ! queue ! mosaic.sink_1 \
v4l2src device=/dev/video-imx219-cam2 io-mode=5 ! queue max-size-buffers=1 leaky=2 ! video/x-bayer,width=1920,height=1080,framerate=30/1,format=rggb ! \
tiovxisp sink_0::device=/dev/v4l-imx219-subdev2 sensor-name=SENSOR_SONY_IMX219_RPI dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_1920x1080.bin \
sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_1920x1080.bin format-msb=7 ! \
video/x-raw,format=NV12, width=1920,height=1080 ! queue ! mosaic.sink_2 \
v4l2src device=/dev/video-imx219-cam3 io-mode=5 ! queue max-size-buffers=1 leaky=2 ! video/x-bayer,width=1920,height=1080,framerate=30/1,format=rggb ! \
tiovxisp sink_0::device=/dev/v4l-imx219-subdev3 sensor-name=SENSOR_SONY_IMX219_RPI dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_1920x1080.bin \
sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_1920x1080.bin format-msb=7 ! \
video/x-raw,format=NV12, width=1920,height=1080 ! queue ! mosaic.sink_3 \
tiovxmosaic name=mosaic \
sink_0::startx="<0>" sink_0::starty="<0>" sink_0::widths="<640>" sink_0::heights="<480>" \
sink_1::startx="<0>" sink_1::starty="<480>" sink_1::widths="<640>" sink_1::heights="<480>" \
sink_2::startx="<640>" sink_2::starty="<0>" sink_2::widths="<640>" sink_2::heights="<480>" \
sink_3::startx="<640>" sink_3::starty="<480>" sink_3::widths="<640>" sink_3::heights="<480>" ! \
queue ! video/x-raw, width=1920, height=1080 ! queue ! kmssink driver-name=tidss sync=false force-modesetting=true

Запросить цену

Укажите количество — пришлём коммерческое предложение.