你好,我这边之前在CX3使用YUV格式成功获取2lane、raw10、1280*960的sensor,配置如下:
.data_format = 0x26,
.num_datalanes = 2,
.pll_prd = 2,
.pll_fbd = 119,
.pll_frs = 1,
.csi_rx_clk_div = 1,
.par_clk_div = 1,
.mclk_ctl = 0,
.mclk_ref_div = 2,
.hresolution = 1280,
.fifo_delay = 50,
.pll_clock = 384,
.mclk = 24,
现在我需要驱动2lane、raw12、1280*480的sensor,对应修改配置如下:
.data_format = 0x26,
.num_datalanes = 4,
.pll_prd = 2,
.pll_fbd = 119,
.pll_frs = 1,
.csi_rx_clk_div = 1,
.par_clk_div = 1,
.mclk_ctl = 0,
.mclk_ref_div = 2,
.hresolution = 1280,
.fifo_delay = 50,
.pll_clock = 384,
.mclk = 8,
得到的图像大小是错误的,而且是变化的。打印如下:
我现在新sensor的行有效时间较短,不知道是否有影响。抓取我sensor的mipi波形如下:
已解决! 转到解答。
你好,感谢你的回答。根据你的提示,测试CX3解析出的Hsync和Vsync如下图:
Hsync不正常。我再次测量我mipi数据每行时间如下图:
我的行有效像素是1280,RAW12数据,我计算了下带宽1280*12(bit)/ 5.37(us)≈ 2.66 Gbit/s,不满足“由于可在CX3中使用的GPIF II最大数据总线宽度为24位,另外受支持的最大PCLK为100 MHz,CX3支持的最大吞吐量为2.4 Gbps。”中的PCLK最大为100MHz,所以将行有效像素改为640后得到正常的数据长度,抓取波形如下:
请问这个应该是我带宽超过限制的原因吧?
刚描述有点错误,我是要驱动4lane、raw12、1280*480的新sensor。
你好,感谢你的回答。根据你的提示,测试CX3解析出的Hsync和Vsync如下图:
Hsync不正常。我再次测量我mipi数据每行时间如下图:
我的行有效像素是1280,RAW12数据,我计算了下带宽1280*12(bit)/ 5.37(us)≈ 2.66 Gbit/s,不满足“由于可在CX3中使用的GPIF II最大数据总线宽度为24位,另外受支持的最大PCLK为100 MHz,CX3支持的最大吞吐量为2.4 Gbps。”中的PCLK最大为100MHz,所以将行有效像素改为640后得到正常的数据长度,抓取波形如下:
请问这个应该是我带宽超过限制的原因吧?
是的