我用的是OV8810芯片,输出格式为raw 8bit bggr, 我的数据流向是CSI2A->IPIPEIF->ISIF->SDRAM,通过SDRAM得到的数据全为0,但是通过CSI2A->SDRAM取出来的数据是对的,现在不知道怎么来排查这个问题,下面是我的寄存器输出:
[ 96.365966] : ————-IPIPEIF Register dump————-
[ 96.366027] : ###IPIPEIF CFG1=0x00000000
[ 96.366027] : ###IPIPEIF CFG2=0x00000000
[ 96.366027] : ###ISIF SYNCEN=0x00000001
[ 96.366058] : ###ISIF CADU=0x00000000
[ 96.366058] : ###ISIF CADL=0x00000000
[ 96.366058] : ###ISIF MODESET=0x00002000
[ 96.366088] : ###ISIF CCOLP=0x00000000
[ 96.366088] : ###ISIF SPH=0x00000000
[ 96.366088] : ###ISIF LNH=0x0000077f
[ 96.366119] : ###ISIF LNV=0x00000437
[ 96.366119] : ###ISIF VDINT0=0x00000437
[ 96.366119] : ###ISIF HSIZE=0x0000003c
[ 96.366149] : ###ISP5 SYSCONFIG=0x00000021
[ 96.366149] : ###ISP5 CTRL=0x0190c7f8
[ 96.366149] : ###ISP5 IRQSTATUS(0)=0x00000000
[ 96.366180] : ###ISP5 IRQENABLE_SET(0)=0x800c8001
[ 96.366180] : ###ISP5 IRQENABLE_CLR(0)=0x800c8001
[ 96.366180] : ———————————————–
[ 96.366943] : ————-CSI2 Register dump————-
[ 96.366943] : ###CSI2 SYSCONFIG=0x00001000
[ 96.366943] : ###CSI2 SYSSTATUS=0x00000001
[ 96.366973] : ###CSI2 IRQENABLE=0x00007b01
[ 96.366973] : ###CSI2 IRQSTATUS=0x00000000
[ 96.366973] : ###CSI2 CTRL=0x0029a811
[ 96.367004] : ###CSI2 DBG_H=0x00000000
[ 96.367004] : ###CSI2 COMPLEXIO_CFG=0x4a000321
[ 96.367004] : ###CSI2 COMPLEXIO_IRQSTATUS=0x00000000
[ 96.367034] : ###CSI2 SHORT_PACKET=0x00000000
[ 96.367034] : ###CSI2 COMPLEXIO_IRQENABLE=0x07ffffff
[ 96.367034] : ###CSI2 DBG_P=0x00000000
[ 96.367065] : ###CSI2 TIMING=0x7fffe1ff
[ 96.367065] : ###CSI2 CTX_CTRL1(0)=0x000100c9
[ 96.367065] : ###CSI2 CTX_CTRL2(0)=0x0000012a
[ 96.367095] : ###CSI2 CTX_DAT_OFST(0)=0x00000000
[ 96.367095] : ###CSI2 CTX_PING_ADDR(0)=0x00000000
[ 96.367095] : ###CSI2 CTX_PONG_ADDR(0)=0x00000000
[ 96.367126] : ###CSI2 CTX_IRQENABLE(0)=0x00000002
[ 96.367126] : ###CSI2 CTX_IRQSTATUS(0)=0x00000000
[ 96.367126] : ###CSI2 CTX_CTRL3(0)=0x00000000
[ 98.375671] : ————-ISS HL Register dump————-
[ 98.383239] : ###ISS HL_REVISION=0x40000103
[ 98.389282] : ###ISS HL_SYSCONFIG=0x00000028
[ 98.395385] : ###ISS HL_IRQSTATUS_5=0x00000000
[ 98.401641] : ###ISS HL_IRQENABLE_5_SET=0x00000031
[ 98.431610] : ###ISS HL_IRQENABLE_5_CLR=0x00000031
[ 98.438262] : ###ISS CTRL=0x00000003
[ 98.453063] : ###ISS CLKCTRL=0xf0000006
[ 98.458709] : ###ISS CLKSTAT=0xf0000006
[ 98.464324] : ———————————————–
Armstrong:
1.
请问你的平台是什么?
2.
你的数据流程CSI2A->IPIPEIF->ISIF->SDRAM中的CSI2A是什么?是sensor么?
一般我们做IPC的数据流程是Sensor->ISIF->IPIPE->SDRAM
Best Regards!
achun liu:
回复 Armstrong:
我的平台是omap4,我主要是想测试一下数据流过ISIF是否正常,然后再在ipipe里面做图像处理,但是现在发现ISIF导出来的数据不正常,
omap4里的ISP和DAVINCI的ISP几乎是一样的,CSI2A是sensor的接口,可以这样理解
Guohui Li:
回复 achun liu:
有一点可以肯定,你没有设置好ISIF_CADU,和ISIF_CADL, 它们是内存输出的地址。
另外,写使能需要打开,在ISIF_SYNCEN[1] 中,它表示写使能,它应该是‘1’,而不是‘0’。
我们公司(www.xfengche.com)致力于omap4 图像处理平台设计,欢迎沟通,guohuili@xfengche.com