之前camera口输入的是raw数据,已经出图;前端数据改成yuv422之后,数据流没到cameralink端。所以想问下,这个camera口支不支持yuv422(16bit)的
Chris Meng:
你好,
硬件是支持的。软件修改请参考下面的论坛讨论:
e2e.ti.com/…/390954
,
yang yang10:
感谢回复,参考论坛回复,加打印之后,发现是前端每帧图像过来时,没有进入Issdrv_IspIsifVdInt中断函数;如果修改为raw,中断正常,不知道从raw改到yuv,软件哪些地方需要修改。我更改参数如下
//管脚复用
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A6C) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A70) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A74) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A78) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A7C) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A80) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A84) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A88) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A8C) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A90) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A94) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A98) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0A9C) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0AA0) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0AA4) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0AA8) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0AAC) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0AB0) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0AB4) = 0x50002;
REG32(CSL_TI814x_CTRL_MODULE_BASE + 0x0AB8) = 0x50002;
isif_reg->SYNCEN = 0x3;
ipipeif_reg->CFG2 = 0x0E;
ipipe_reg->SRC_FMT = 0x3;
,
Chris Meng:
你好,
请参考ipnc代码里ov10630的驱动,以及下面的论坛讨论:
e2echina.ti.com/…/87101
,
yang yang10:
感谢回复。现在数据能过来,但是用dcc采集到的raw原始数据感觉比较奇怪,输入的是yuv422,Y数据递加,但是低4位碰到0和4就变成6,碰到8和c就变成e。UV数据也比较奇怪,碰到某些数会加0x80,比如00变80 6b变eb 55变d5。
是不是从dcc抓取的raw数据,还是经过了处理呢
,
Chris Meng:
你好,
请看看digital clamp的功能是否有关闭。
,
yang yang10:
感谢回复。
digital clamp关闭了。用从0-0xffff的递加测试数据测试,收到的数据都正常(收到数据见raw文件0488.asamplesensor_3264x2448_Date_18-01-2021_Time_17-45-10.zip),但是换成7色的彩条就不正常。
正确的是
收到的是
,
Chris Meng:
你好,
能否确认下面寄存器值为0?
Set the DC offset for black clamp: ISIF_CLDCOFST[12:0] CLDC
,
yang yang10:
感谢回复,isif-clamp寄存器dcc读取如图
,
Chris Meng:
你好,
DCC抓取的raw是ISIF的输出,你再看看ISIF/IPIPEIF相关寄存器的值,看看是否有什么处理模块使能了。
但递进的数据没有问题,彩条有问题,这个比较奇怪啊。
,
Chris Meng:
你好,
ISIF_MISC.DPCMEN是否为0?
ISIF_MODESET[10:8] CCDW是否为0?
,
yang yang10:
感谢回复,ISIF_MIC.DPCMEN=0 ISIF_MODESET[10:8]=0
详细配置如下:
,
yang yang10:
感谢回复,ISIF_MIC.DPCMEN=0 ISIF_MODESET[10:8]=0
详细配置如下:
,
Chris Meng:
你好,
从寄存器看,我没有看出太大的问题。
请问你输入color bar的数据的时候,接收到的数据的变化有什么规律么? 为什么增量数据输入,又没有问题?
,
yang yang10:
感谢回复,彩图的时候,YU YV分别为(0xff80ff80,0x69d469ea,0xb2aab200(变成0xb2aab280),0x1cff1c6b(变成0x1cff1ceb),0xe200e294(变成0xe280e294,0x4c554cff(变成4cd54cff),0x952b9515,0x00800080),发现其中uv数据有的加了0x80。另外一种图像是uv为0x80,y递增的时候,发现Y的低4位,碰到0和4,就变成6;碰到8和c,就变成e。4401.raw.zip
,
Chris Meng:
你好,
你有测量过数据线确认输入的数据是正确的么?下面这个现象比较像是数据线bit1/bit2一直为高。(最低位为bit0)
发现Y的低4位,碰到0和4,就变成6;碰到8和c,就变成e
,
yang yang10:
感谢回复,但是递加又正常,不像是数据线的问题。前端是fpga给过来的,那边用了ILA确认了数据
,
yang yang10:
有办法能看见原始的数据吗,从内存中
,
Chris Meng:
你好,
没有内存可以看原始数据。
你们用逻辑分析确认数据是在实际电路的线上测试确认的数据?
,
yang yang10:
固定数据都是对的;彩条那种,用示波器没法点
,
Chris Meng:
你好,
或者能否把容易出问题的彩条里的数据重复发一下,看问题是否还是存在?
,
yang yang10:
每个颜色单发是正常的
,
Chris Meng:
你好,
会否还是FPGA输出的问题?能否再检查一下FPGA的代码?
,
yang yang10:
嗯。这个如果消隐区的数据如果有影响的话,会是哪个模块工作的
,
Chris Meng:
你好,
这时候时钟/同步信号的极性有关。
下面的的应用文档里的时序信息是类似的,可以参考看看。
www.ti.com.cn/…/zhca600.pdf
,
yang yang10:
感谢回复,可能跟数据和时钟对齐上有点问题,fpga优化了下时序,测试数据正常了