您好,
我正在开发一款双摄像头应用。
相机分辨率和图像格式为 2592x1944,RAW8
数据通路和驱动程序结构是
摄像头(传感器驱动程序.c)-->MIPI-CSI2 (imx8-mipi-csi2-sam.c) --> ISI (imx8-isi-cap.c)--> RAM
修改驱动程序后,我成功地从 CSI1 获取了 2592x1944、RAW8、50~60fps 的视频流。
现在我想从 CSI2 获取另一个视频流,但由于 FIFO 溢出错误而无法工作。
[ 43.892406] mxc-mipi-csi2.1:帧结束事件:1
[ 43.897023] mxc-mipi-csi2.1:帧开始事件:2
[ 43.901811] mxc-mipi-csi2.1:奇数帧事件后的非图像数据:0
[ 43.908248] mxc-mipi-csi2.1:奇数帧事件之前的非图像数据:0
[ 43.914771] mxc-mipi-csi2.1:偶帧事件后的非图像数据:0
[ 43.921297] mxc-mipi-csi2.1:帧事件发生之前的非图像数据:0
[ 43.927906] mxc-mipi-csi2.1:未知错误事件:0
[ 43.932868] mxc-mipi-csi2.1:CRC 错误事件:0
[ 43.937484] mxc-mipi-csi2.1:ECC错误事件:0
[ 43.942097] mxc-mipi-csi2.1:FIFO 溢出错误事件:1209788
[ 43.948100] mxc-mipi-csi2.1:丢帧结束错误事件:0
[ 43.953672] mxc-mipi-csi2.1:丢帧起始错误事件:0
[ 43.959413] mxc-mipi-csi2.1:SOT错误事件:0
我尝试修改 hs-settle 和 clk-settle 参数,但没有成功。
根据参考手册,CSI1 最大工作频率为 500MHz,而 CSI2 为 266MHz。
较低的CSI2频率会限制帧分辨率还是帧速率?
我该如何解决这个问题?
你好,
这个问题解决了吗?我的 Vision Components IMX900C 相机 (2048x1536) 也遇到了同样的问题。在 CSI1 -> ISI0 上以 30fps 的帧率成功传输,但在相同的设置下,CSI2 -> ISI1 出现溢出错误。
谢谢您!
你好,igorpardykov
感谢您的支持。
我再次查阅了参考手册。
• 2路未经处理的4Kp30摄像机流(即无缩放),具体取决于
系统负载和用例
我想要获取 RAW8 格式的视频流(绕过 csc),这样它就对应于未处理的视频流,对吗?
这是否意味着 ISI 支持同时使用两个 4Kp30 视频流?
如果我降低第二帧速率(例如低于 30fps),能否解决 FIFO 溢出问题?
当两个互联网服务提供商同时使用时,每个服务提供商都支持:
• 最高分辨率可达 1080p (1936x1188)
供您参考,我完全不使用 ISP(已在设备树中全部禁用),只使用 ISI。
提前谢谢您。
嗨 Dy
是的,你说得对,FIFO溢出可能是由于ISI的性能限制造成的。
第 13.1.2 节中描述显示界面i.MX 8M Plus 应用处理器参考手册
ISI 的主要特点包括:……
图像处理
• 2路处理后的1080p30摄像头视频流
• 2路未处理的摄像头视频流(即(无缩放)在 4Kp30 下,取决于
系统负载和使用场景……
当两个互联网服务提供商同时使用时,每个服务提供商都支持:
• 最高分辨率可达 1080p (1936x1188)
此致
伊戈尔