Физическое подключение к модулю ROC-RK3588S-PC FireFly
Физическое подключение к модулю 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
Дальнейшие действия приведены в случае, если пользователь работает с 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