Физическое подключение к модулю ROC-RK3588S-PC FireFly

Материал из WikiDiasom
Перейти к навигации Перейти к поиску

Физическое подключение к модулю ROC-RK3588S-PC FireFly

К модулю ROC-RK3588S-PC МЭК подключается стандартным «обратным» 22-контактным FPC-шлейфом (тип В), контакты которого размещены на разных плоскостях шлейфа, через специальный адаптер DSADP1  МРЦН.ADP.50.001) и далее стандартным «прямым» 30-контактным FPC-шлейфом (тип А), контакты которого размещены на одной плоскости шлейфа, к разъёму J4701 (MIPI_CSIO) платы FireFly (рис.7). При таком подключении используется режим передачи видеоданных по двум либо четырём линиям (2-Lane или 4-Lane) в зависимости от настроек внутренних регистров МЭК и драйвера операционной системы модуля ROC-RK3588S-PC.

Физическое подключение к модулю ROC-RK3588S-PC FireFly
Физическое подключение к модулю ROC-RK3588S-PC FireFly

Программное подключение к модулю ROC-RK3588S-PC FireFly

Дальнейшие действия приведены в случае, если пользователь работает с SDK от производителя FireFly. Инструкция по работе с SDK и его скачиванию находится на сайте производителя FireFly - https://wiki.t-firefly.com/zh_CN/ROC-RK3588S-PC/index.html

Добавление и редактирование драйверов

В случае необходимости драйвера и дерево устройств можно скачать на странице продукта - Модуль камеры на IMX327.

Драйвера требуется разместить в SDK от производителя FireFly для получения образа ОС с поддержкой МЭК. Драйвера находятся в директории kernel/drivers/media/i2c. Файлы дерева устройств в kernel/arch/arm64/boot/dts/rockchip. Также, чтобы добавить драйвера для МЭК в образ ОС требуется добавить строку kernel/drivers/media/i2c/imx327.ko в modules.builtin в директории kernel/. Для добавления МЭК в образ ядра можно воспользоваться menuconfig или добавить строку

CONFIG_VIDEO_IMX327=y в rockchip_defconfig

в директории kernel/arch/arm64/configs. Файл v4l2- control.h требуется добавить в директорию kernel/include/uapi/linux. Или добавить требуемые ID для новых переменных самостоятельно.

При использовании дерева устройств и добавлении драйвера для МЭК можно обратиться к руководству производителя FireFly - https://wiki.tfirefly.com/en/ROC-RK3588S-PC/usage_camera.html

После первоначальной компиляции образа ОС по инструкции производителя FireFly требуется скопировать с заменой драйвера и dtsi файл и выполнить команды:

./build.sh kernel
./build.sh updateimg

Удостоверьтесь, что драйвера для МЭК были скомпилированы и добавлены в ядро. Если этого не произошло – требуется редактировать конфигурацию сборки. Добавление драйверов в ядро было описано выше. В результате выполнения команд в директории rockdev/pack должен находится образ с поддержкой МЭК.

В случае использования собственных драйверов или дерева устройств требуется обращаться к руководству производителя FireFly.

Вывод изображения c МЭК

Для вывода изображения c МЭК можно использовать стандартные инструменты V4L и gstreamer. Пример команды для вывода изображения:

gst-launch-1.0 v4l2src device=/dev/video11 io-mode=4 ! queue ! video/xraw,format=NV12,width=1920,height=1080,framerate=60/1 ! glimagesink

Для изменения настроек вручную можно использовать следующую команду:

v4l2-ctl –d /dev/v4l-subdev2 --set-ctrl *ctrl name*=*value*

Вместо *ctrl name* и *val* указываются конкретные переменные и значения.

Возможные варианты можно вывести командой:

v4l2-ctl –d /dev/v4l-subdev2 --list-ctrls

Использование ISP

Для обработки изображения требуется скачать конфигурационный файл с форматом JSON для используемого МЭК и разместить его в директории /etc/iqfiles платформы. Имя файла должно быть следующим «imx327_IMX327_NC.json». Далее возможны два варианта включения обработки.

1) Выполните команды:

cd /etc/init.d
sudo sh rkaiq_3A.sh start

2) Выполните команды:

cd /usr/bin
sudo ./rkaiq_3A_server

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

cd /etc/init.d
sudo sh rkaiq_3A.sh stop