SOLVED IMX178M 触发模式,软触发会概率性无法触发
-
我目前在 firefly rk3588上使用IMX178的触发模式,使用软触发,触发帧数是1, 使用手动曝光,16ms的曝光时间。
使用gstreamer 程序打开摄像头,使用命令行触发,发现每三帧会有一次触发后,图像不更新,触发间隔 > 1s.
你们可以尝试使用gst-launch-1.0 打开摄像头复现我的问题。
请问使用软触发是否有需要注意的地方?我的使用方法是否有错误?
如需更多信息,请直接留言,感谢。
-
@xym
你好,你的IMX178的固件应该还是老版本的。新版本的IMX178固件已经舍弃了UYVY这个数据格式。
建议你参考下面这个链接进行固件升级先。
https://wiki.veye.cc/index.php/Mvcam_firmware_update_manual其次,可以参考下面这个步骤进行触发测试:
- 现在一个终端执行:
export WIDTH=3088 export HEIGHT=2064 export FPS=22 export I2C_BUS=7 v4l2-ctl -d /dev/v4l-subdev2 --set-ctrl roi_x=0 v4l2-ctl -d /dev/v4l-subdev2 --set-ctrl roi_y=0 v4l2-ctl -d /dev/v4l-subdev2 --set-ctrl trigger_mode=1 v4l2-ctl -d /dev/v4l-subdev2 --set-ctrl trigger_src=0 media-ctl -d /dev/media0 --set-v4l2 '"m00_b_mvcam '"$I2C_BUS"'-003b":0[fmt:Y8_1X8/'"$WIDTH"'x'"$HEIGHT"'@1/'"$FPS"']' v4l2-ctl -d /dev/video0 --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY --stream-mmap --stream-count=100 --stream-to=y8-${WIDTH}x${HEIGHT}.raw
- 在另一个终端进行触发。
v4l2-ctl -d /dev/v4l-subdev2 --set-ctrl soft_trgone=1
-
@veye_xumm 你好,我检查了178M 模组的的版本信息,和我从你们官网下载的最新的版本号一致。我有重新按照你们的教程刷写下面版本的固件,然后测试结果如下:
MV-MIPI-IMX178M_C1.36_L2.01_upgrade_20230920.bin- 使用你提供的v4l2-ctl 命令直接拿图,可以不丢帧得全部拿到触发的帧
- 使用gst-launch-1.0 命令拿图的时候,还是和之前的现象一样,每3帧,会有一帧图像没拿到,使用的gst命令如下
gst-launch-1.0 v4l2src device=/dev/video0 io-mode=mmap ! video/x-raw,format=GRAY8,width=$WIDTH,heigh=$HEIGHT,framerate=22/1 ! videoconvert ! autovideosink
-
@xym 另外,在未刷新图像的下一帧图像刷新时, kernel log会有如下的报错
-
@xym 可能是pipeline效率的原因,buffer不够用导致丢帧了。