This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM385 ISIF接口



你好,前端无SENSOR ,由摄像机代替,摄像机->FPGA>(isif接口)DM385,分辨率25帧,目前Issdrv_IspIsifVdInt也能产生每秒25个中断,打印信息如下:其中111是Issdrv_IspIsifVdIn中断打印。

root@DM385_IPNC:~# [m3vpss ] 1111111111111
[m3vpss ] 28314: CAMERA: Dequeued 1 frames !!!
[m3video] Channel:0 inputframerate:60 targetfps:60
[m3vpss ] 28314: CAMERA: Dequeued 1 frames !!!
[m3vpss ] CT: 1000, 3dlut index:0
[m3video] Channel:1 inputframerate:30 targetfps:60
[m3video] Channel:2 inputframerate:60 targetfps:5
[m3vpss ] 28343: CAMERA: Queued back 1 frames !!!
[m3vpss ] 28351: CAMERA: Queued back 1 frames !!!
[m3vpss ] 1111111111111
[m3vpss ] 28354: CAMERA: Dequeued 1 frames !!!
[m3vpss ] 1111111111111
[m3vpss ] 28394: CAMERA: Dequeued 1 frames !!!
[m3vpss ] 28394: CAMERA: Dequeued 1 frames !!!
[m3vpss ] 1111111111111
[m3vpss ] 28434: CAMERA: Dequeued 1 frames !!!
[m3vpss ] 1111111111111
[m3vpss ] 28474: CAMERA: Dequeued 1 frames !!!
[m3vpss ] 28474: CAMERA: Dequeued 1 frames !!!
[m3vpss ] 1111111111111
[m3vpss ] 28514: CAMERA: Dequeued 1 frames !!!

m3vpss ] 1111111111111
[m3vpss ] 1111111111111
[m3vpss ] 1111111111111
[m3vpss ] 1111111111111
[m3vpss ] 1111111111111
[m3vpss ] 1111111111111
[m3vpss ] 1111111111111

问题是:

应该正常是收到一个中断,应该 CAMERA: Dequeued 1 frames !!!,然后CAMERA: Queued back 1 frames !!!

但是我这个板子很奇怪,就前2帧是正常的,以后就是没有Queued back,到7帧以后就一直打印Issdrv_IspIsifVdIn中断。

  • Xin Jin,

    重打印看你现在设置的是采集60帧每秒,建议修改为25帧。

    采集到的buffer会送到后端处理,处理后才会还回来,你需要检查你的chain里面是什么原因导致buffer没有还回来。

    中断里的打印在确认VDINT正常后,请去掉。中断打印太多也会导致一些问题。

  • 目前我收到的vdint正常,是不是说明,isif->ipipe->resize都没问题,数据没有回来,是和其他的的链路有问题。

    但我用的是multich_tristream_lowPower,程序都没有修改过,直接烧的。

  • jin xin 说:

    目前我收到的vdint正常,是不是说明,isif->ipipe->resize都没问题,数据没有回来,是和其他的的链路有问题。

    只能说明采集口到ISIF输出应该是正确的。

    jin xin 说:

    但我用的是multich_tristream_lowPower,程序都没有修改过,直接烧的。

    你之前的帖子有采集不到数据,有采集的帧率不对,请问你修改了什么现在软件没有修改,帧率就对了?FPGA的时序改了?

    你尝试上电时关闭2A算法,看看是否还是同样的现象。 因为你FPGA输出的是数据是假的数据,不清楚是否会导致2A算法输出有问题。

  • 之前是由于FPGA的晶振坏了,导致FPGA工作不正常,换了晶振就好了。

    我怎么验证,ipipe的输出和RESIZE输出是不是正常,有中断吗。谢谢

  • Xin Jin,

    Issdrv_IspRszDmaEndInt

    另,是否有尝试上电时关闭2A算法,结果如何?

  • 目前没有关闭2A,通过串口打印抓的RAW数据(由于网卡没调通,只能通过串口看),发现数据不对,fpga发送固定数FF,但是DM385这边收到F4还是很多0x80,0x80,是buf初始化的默认值0x80.感觉接收FPGA的长度不够,没有覆盖。

  • Xin Jin,

    你抓的RAW是ISIF的输出么?

  • 我在Issdrv_IspIsifVdInt函数下添加了如下代码:

    wraddr = Utils_memAlloc(4147200,32);
    Vps_rprintf("\nRAW capture started to address %x", wraddr);
    issTriggerRawCapture((Int32 *) wraddr, ISIF_START_WRITE);
    for (delay = 0u; delay < 300000; delay ++);/////等待写入DDR完毕
    for(i=0;i<518400;i++){
    Vps_printf(" 0x%x",*((int*)wraddr+i));
    }

  • Xin Jin,

    打印似乎太多了,建议你可以隔几个隔几行打印一下。

    还是之前说的,同步信号极性和pclk采集沿,FPGA和DM385要对上,这样采集的数据才能正确,你再看看这块。