专栏算法工具链J5 DVB实战教程(1)-基于OVX8B+ISX031的五路摄像头接入配置与调试详解

J5 DVB实战教程(1)-基于OVX8B+ISX031的五路摄像头接入配置与调试详解

Feng2022-11-10
1532
0

一、背景

  • 背景:基于J5 DVB+MAX9296+MAX96712子板实现前视8M及环视2M摄像头接入

  • 目标群体:客户研发,要求对Serdes、CMOS Sensor、MIPI有基本了解。

  • 场景说明:
    -- 完成OVX8B(SG8-OX08BC-GMSL2)调试出图
    -- 四路ISX031(SG3-ISX031C-GMSL2)调试出图
    -- 两组配置合入同一配置,实现5V同时接入

二、准备工作

2.1 硬件平台

硬件

型号

数量

J5 DVB开发套件

/

1

MAX96712子板

/

1

MAX9296子板

/

1

摄像头Fraka连接线四合一

/

1

摄像头Fraka连接线单路

/

1

OVX8B模组

SG8-OX08BC-GMSL2

1

ISX031模组

SG3-ISX031C-GMSL2

4

2.2 软件&工具

软件&工具

说明

J5 BSP开发包

地平线社区下载

hbplayer软件

实时显示模组图像

7yuv

远程调试,dump图像后显示用

终端软件

Putty等

三、操作步骤

3.1 确认模组硬件规格及驱动

该两款模组为Pilot 3J3硬件已适配模组,J5与J3 BSP框架基本相同,默认驱动已适配。

OVX8B模组从MIPI RX0接入,I2C总线0:

ISX031模组从MIPI RX2接入,I2C总线2:

模组默认上电,不需要控制POC输出使能。
修改启动脚本/userdata/app/init.sh,使能系统目录RW,配置网络:
cd /userdata/
./rwdir /system/etc /system/lib /app
ifconfig eth0 down
ifconfig eth1 192.168.1.10 netmask 255.255.255.0
ifconfig eth1 up

3.2 OVX8B点亮调试

J5目前存在两种主流调试脚本,以下分别用两种方式出图:
1.vcs_test/run_tuning.sh

hbplayer从ISP输出取图,分辨率:3840*2160


2. vpm_gtest /vio_test_case.sh

基于现有sen_cim_isp0_pym0_4k_ovx8b配置修改,配置文件目录:/userdata/mount/app/bin/vps/vpm/vpm_config.json


修改vio_test_case.sh对应配置,脚本执行时间:-r 1000,hbplayer图像显示:-S 1

hbplayer从PYM第0层输出取图,分辨率:1920*1080

3.3 ISX031 四路点亮调试

基于现有quad_sen_cimdma_pym0_1536p_isx031配置,修改port_1--4参数:

参数

含义

bus_num

I2C总线num

entry_num

Mipi rx num

vc_index

摄像头接入通道,多摄像头使用

rx_index

Mipi rx num

buf_num

GDC模块buffer数量

hb_j5dev.json:

cim_config.json,vc_index从0开始按摄像头数量累加,修改port_1--4参数


vpm_config.json,修改port_1--4 buf_num配置,原文件为0,会报错

hbplayer会出现四路图像不停切换画面,J5多路图像需要点击screencfg检查效果:


3.4 五路摄像头集成点亮出图

以现有5v_sen_4cim_isp0_pym0_1cimdma_isp1_pym1_bpu_1080p为参考框架蓝本。
为减小工作量,以四路ISX031配置为基础增加OVX8B配置,修改完成5v同时接入。
  1. 脚本文件增加
    /userdata/mount/app/bin/vps/vpm/cfg目录下新建5V_sen_cimdma_pym0_1536p_isx031_cim_isp0_4K_ovx8b文件夹,将前面ISX031配置拷贝至目录下。
  2. hb_j5dev.json修改:
    修改解串器数量,port数量,以及每路摄像头对应的deserial_index,一共修改5路

    参数

    含义

    deserial_num

    系统接入的解串器数量,本例程接入了MAX96712和MAX9296,参数设置 2

    port_number

    系统接入的摄像头数量,本例程接入了5路摄像头,参数设置 5

    dev_port

    接入的摄像头序号,5路摄像头,参数设置:从0-5

    deserial_index

    该摄像头接入的des器件num,如果从deserial_0接入,设置参数 0

    deserial_port

    该摄像头在其接入的des器件中的port num。ISX031 接入MAX96712 port_0-3,参数设置:从0-3。OVX8B接入MAX9296 port 0,参数设置 0

  3. cim_config.json修改:
    增加pipeline4 x8b配置
  1. vpm_config.json修改:
    增加pipeline4 x8b配置
  2. vio_test_case.sh修改

    参数列表:

    参数

    含义

    -r 1000

    修改测试运行时间

    -e 0

    pym显示图层,从第0层取图

    -S 1

    hbplayer显示enable

    -M 31

    本示例一共5路摄像头,按位enable,0x11111,取值31。需要与实际摄像头数量匹配,如果是6V,取值63,否则报错

  3. 5V同时出图:

3.5 调试手段

  1. 确认J5内部通道的配置,如果是配置cim接收数据,就查询cim的输入输出是否正常,cim_dma一样的操作
    查询CIM 0 到 3
    cat /sys/devices/platform/soc/47010000.cam_sys/47060000.cim/fps
    查询cim_dma 0 到 3
    cat /sys/devices/platform/soc/47010000.cam_sys/47180000.cim_dma/fps
  2. 如果有ISP,确认ISP的输入输出帧率是否正常
    ISP0:
    cat /sys/devices/platform/soc/47010000.cam_sys/470c0000.isp/fps
    ISP1:
    cat /sys/devices/platform/soc/47010000.cam_sys/47110000.isp_hw1/fps
  3. 使用PYM,确认PYM模块的输入输出帧率是否正常
    PYM0:
    cat /sys/devices/platform/soc/47010000.cam_sys/470e0000.pym/fps
    PYM1:
    cat /sys/devices/platform/soc/47010000.cam_sys/47130000.pym/fps
    PYM2:
    cat /sys/devices/platform/soc/47010000.cam_sys/47190000.pym/fps
  4. 查询PYM的模块运行状态
    PYM0:
    cat /sys/devices/platform/soc/47010000.cam_sys/470e0000.pym/pym_stat
    PYM1:
    cat /sys/devices/platform/soc/47010000.cam_sys/47130000.pym/pym_stat
    PYM2:
    cat /sys/devices/platform/soc/47010000.cam_sys/47190000.pym/pym_stat

四、配置文件

相关配置文件请参考附件

算法工具链
征程5官方教程
+10
评论0
0/1000