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.

8168DDR3的使用

请问专家们:

1 8168采集、DSP处理、显示的图像数据是放到DDR3中的么??

2 如果是,那么请问DDR3的处理速度是1.6GHz,,Demo例程中的OSD算法,为何必须要把数据用DDR3中传输到DSP的L2中??如果不用DMA传输,直接对DDR3中的数据进行处理不可么??

3 如果必须用到DMA传输,那么DSP的L2缓存只有256K,根本容不下一幅彩色图像,如果要在DSP中实现图像的旋转,那么应该如何处理呢??

非常感谢!

  • - 图像的处理通常是分块操作的。很多图像处理也无需对整幅图像都做处理,一部分就可以了。

    - 不可能直接在DDR内对数据进行修改,只会是 DDR读到处理器,处理,写回DDR。这样数据出现在L2是正常的 

  • 你好,谢谢你的回答!还想请教你两个问题:

    (1)你说的不能直接在DDR内对数据进行修改,是指不能对FVID2_frame中,诸如addr[0][0],addr[0][1]中的数据进行修改么,就像附件中标出的红色部分,我只是在AlgLink_algProcessData中增加了一段这样的代码,就很卡,就是因为我直接修改了DDR的数据么??

     如果要改写此段代码,需要用到函数SWOSD_TI_DMA_Fast2D1D()或2D2D()把数据传输到L2中么??

    (2)DDR为不同的子系统分配了不同的空间,做算法处理的时候,需要把数据(Video M3)拷贝到DSP所属的DDR空间中么??

     

  • 你好,谢谢你的回答!不过我还是有两个问题请教您:

    (1)我在AlgLink_algProcessData(0函数中添加了一段代码(如附件),实现的功能为,将Pframe->addr[0][1]的彩色分量置为128,结果就很卡,这是为什么              呢?是因为,我直接对DDR的数据进行修改了么??

          如果要优化此段代码,需要用DMA把数据传送到L2,进行处理,然后再用DMA把数据从L2传送到DDR么??

            DMA读,写的过程,是用到函数SWOSD_TI_DMA_2D2D()或2D1D()函数么??

    (2)如果算法较为复杂,L2缓存容量不够,可否不将数据从DDR传送到L2中,将数据缓存在DDR分配给DSP的专有内存中,可以么??

    (3)能否详细告知从采集,处理,到最终显示,数据的存储方式,或者说,每一步数据存在哪里??

    非常感谢!

  • 急需TI专家给出解答,能够帮助我这个初学者走出疑惑,谢谢,非常感激!