AnsweredAssumed Answered

使用mipi csi接口如何获取cmos传来的原始数据

Question asked by zhang lijun on Sep 18, 2017
Latest reply on Sep 19, 2017 by Wigros Sun

我们使用imx6q开发了一个实验板,外接一个fpga控制的cmos相机。相机数据为raw格式,希望从mipi csi接口传送到cpu内存。

目前相机部分已经完成,正在准备软件调试,在mipi csi这里我对处理流程还不是很清晰,所以提出我的一些想法请客服给予指导。

环境是ltib ,linux是3.035 ,uboot是200908。

我的想法是在启动时加入:

imx6q_add_ipuv3(0, &ipu_data[0]); // ipu支持

imx6q_add_mipi_csi2(&mipi_csi2_pdata); // mipi csi 驱动支持

然后自行编写相机驱动,启动后加载驱动,并在init时使用 mxc_mipi_csi2.c中的接口初始化 mipi csi到我需要的参数。这里主要是检测相机与csi连接是否提供时钟,从而确保设备已连接,相机控制使用的spi而不是I2C。

然后使用应用程序通过 /dev/mxc_ipu 设备管理ipu,使用ipu驱动进行图像数据接收。

这里有两个问题:

1、ipu图像处理中没有raw格式,IPU_PIX_FMT_GENERIC是否可以将raw格式数据当做通常数据接收;

2、ipu缓存只有4M,我们的图像远远大于4M,因此fpga对图像进行切割,切成CSI支持的最大分辨率8192*4096*1,这样一幅图传送中ipu驱动是否需要修改,我没有找到对ipu缓存处理的代码。

简单点说,我们的目的就是使用mipi csi如同通讯接口一样传递数据,不需要图像处理和解码功能,请问有没有范例或经验。

谢谢 zhanglijun

Outcomes