目录
本文首发于电子发烧友论坛:【新提醒】【Milk-V Duo S 开发板免费体验】 OV5647 摄像头摄像头测试 - RISC-V技术论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛!
引言
以前使用Milk-V Duo的时候,觉得它的摄像头支持比较弱,只能支持特定型号的摄像头,还不好买。我有个学生甚至因为这个原因退出了集创赛。这次特意测试了一下它的摄像头。
DuoS的摄像头接口
DuoS 有两个 CSI 摄像头接连器:
- J1 是 16 PIN 间距为 0.5mm 与 Duo 和 Duo256M 摄像头兼容的连接器,可以直接使用 CAM-GC2083 摄像头。
- J2 是 15 PIN 间距为 1.0mm 与树莓派摄像头接口兼容的连接器,目前可以支持在树莓派上使用的 OV5647 摄像头。
测试
硬件连接
将树莓派上使用的 OV5647 摄像头连接在J2接口上。
软件测试
DuoS开发板的/mnt/system/usr/bin/目录下提供了几个测试程序,其中sample_sensor_test就是用于摄像头测试的。
要运行这个程序,需要先修改/mnt/data/下的sensor_cfg.ini文件,将其改为sensor_cfg_OV5647_J2.ini的内容。
然后运行sample_sensor_test,程序启动后输出如下信息:
[root@milkv-duo]~# /mnt/system/usr/bin/sample_sensor_test
[sys_vi_init]-59: MMF Version:7d0dea0a1-64bit
[SAMPLE_COMM_SNS_ParseIni]-2168: Parse /mnt/data/sensor_cfg.ini
[parse_source_devnum]-1761: devNum = 1
[parse_sensor_name]-1842: sensor = OV_OV5647_MIPI_2M_30FPS_10BIT
[parse_sensor_busid]-1871: bus_id = 2
[parse_sensor_i2caddr]-1882: sns_i2c_addr = 36
[parse_sensor_mipidev]-1893: mipi_dev = 0
[parse_sensor_laneid]-1904: Lane_id = 5, 3, 4, -1, -1
[parse_sensor_pnswap]-1915: pn_swap = 0, 0, 0, 0, 0
[sys_vi_init]-70: Parse complete
[sys_vi_init]-126: set VBpool [0] 1920:1080, BlkCnt= 3, Size = 3133440
ISP Vipipe(0) Allocate pa(0x9637d000) va(0x0x3fc2145000) size(284096)
stSnsrMode.u16Width 1920 stSnsrMode.u16Height 1080 30.000000 wdrMode 0 pstSnsObj 0xe8cb0
[SAMPLE_COMM_VI_StartMIPI]-494: sensor 0 stDevAttr.devno 0
awbInit ver 6.9@2021500
0 R:1400 B:3100 CT:2850
1 R:1500 B:2500 CT:3900
2 R:2300 B:1600 CT:6500
Golden 1024 1024 1024
WB Quadratic:0
isWdr:0
ViPipe:0,===OV5647 1080P 30fps 10bit LINE Init OK!
********************************************************************************
cvi_bin_isp message
gerritId: NULL commitId: 7d0dea0a1
md5: 9b60189725b5bcb970ec86e4bbdbf600
sensorNum 1
sensorName0 22087
PQBIN message
gerritId: 80171 commitId: 5c9d8fc5d
md5: ba5a510e093ad42db6788e6c2d13169e
sensorNum 3
sensorName0 2053
author: wanqiang.he desc: 思博慧CV1812H_GC2083_RGB_mode_V1.0.0
createTime: 2023-08-04 16:48:08version: V1.1
tool Version: v3.0.5.24 mode:
********************************************************************************
sensorName(0) mismatch, mwSns:22087 != pqBinSns:2053
JSON_READ_ERR:DATA_TYPE 76(L) vc_motion.MotionThreshold
JSON_READ_ERR:NOT_EXIST 70(L) AWBAttrEx.u16MultiLSThr
JSON_READ_ERR:NOT_EXIST 70(L) AWBAttrEx.u16CALumaDiff
JSON_READ_ERR:NOT_EXIST 70(L) AWBAttrEx.u16CAAdjustRatio
JSON_READ_ERR:NOT_EXIST 70(L) AWBAttrEx.stInterference
[SAMPLE_COMM_ISP_Thread]-390: ISP Dev 0 running!
0 R:1165 B:3087 CT:2688
1 R:1464 B:2327 CT:3937
2 R:1974 B:1613 CT:7225
Golden 1464 1024 2327
wdrLEOnly:1
[main]-613: ---Basic------------------------------------------------
[main]-614: 1: dump vi raw frame
[main]-615: 2: dump vi yuv frame
[main]-616: 3: set chn flip/mirror
[main]-617: 4: linear wdr switch
[main]-618: 5: AE debug
[main]-619: 6: sensor dump
[main]-620: 7: sensor proc
[main]-621: 255: exit
[main]-622: input your choice:
然后就可以进行功能测试。
下面就是用电脑显示开发板采集的YUV文件:
结语
由于支持了树莓派的摄像头,所以DuoS比先前的版本更容易使用。而且DuoS还支持两个CSI摄像头同时工作,这使得开发板更好用。