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.

DM8168 PCIe图像采集出现拉丝的问题



在使用DM8168做图像采集时,采用了4路32626+1路pcie共5路图像采集,每一路均为1080P。4路32626采集的图像正常,但PCIe一路采集的图像有明显的拉丝现象(在运动的物体边缘出现白色的横线)。

在把4路32626的采集逐个关闭进行测试,PCIe一路的图像会明显好转,当关闭2路时,PCIe一路的拉丝现象会彻底消失。初步怀疑是系统的DDR带宽不够(目前已经运行在800M),导致PCIe一路的DMA传输时可能会被32626抢断。

请问大家有没有碰到过这个问题,又是怎么解决的。

  • Liang Xiquan,

    能否尝试一下下面的方法?

    1. 通过sys_pri.out提高PCIe在DMM侧的优先级,和调整PCIe的bandwidth regular。

    2. 配置DDR寄存器PBBPR为0x10~0x50.

  • 设置过PCIe在DMM一侧的优先级,调整到1实验过,没有什么改善。

    调整过DDR的PBBPR寄存器,目前设置的是255,如果改小了,拉丝情况更严重。

    PCIe的带宽调整怎么设置?您是说的是那个2.5G速率么?这个好像是和设备自动协商的,更改不了吧。2.5G是在X1下的最大速率了吧

  • Liang Xiquan,

    DMM优先级能否配置为最高?

    ./bin/sys_pri.out --dmm-pri-set PCIE 0

    我提到的调整PCIe的bandwidth regular,是指能否在 sys_pri.c里面使能#define L3_STATIC_PRESSURE_SET_ENABLE,然后调整一下PCIe的pressure。

    目前你的DDR时钟配置为800Mhz,请问你的DDR时序参数是否有按照你使用的DDR芯片重新配置过,是否没有使用relaxed时序而是最严格的时序?

    系统里面DDR访问能否还有可以减少的地方?尽量共享指针而不是copy数据。

  • DDR的配置是重新配置过,理论上应该没有什么问题,因为这个系统已经可靠运行很久了,是严格按照DDR时序来配置的。

    关于对DDR的访问,目前可优化的地方不是很多,因为涉及到M3Vpss中的图像拼接,masic等一系列处理。

    我看了一下sys_pri的源码,有点疑问:代码中对PCIe的bandwidth regular好像没有处理,也没有找到相关寄存器的资料,只是看到bandwidth的寄存器基地址是在0x44000000(L3 Cfg),再细的东西就没有了,因此我现在没有办法修改sys_pri源码来支持调整PCIe的bandwidth,您那边有这个L3 Cfg 更细的寄存器说明么?

  • Liang Xiquan,

    默认sys_pri里面注释了#define L3_STATIC_PRESSURE_SET_ENABLE,所以我让你使能它,然后尝试一下。

    导致PCIe一路的DMA传输时可能会被32626抢断

    【Chris】请PCIe部分是使用的EDMA传输么?如果是,请把相应的EDMA写优先级在DMM提高到最高,并且调节bandwidth regular。相关部分没有更多信息,请通过sys_pri这个工具进行调整。e2e论坛上有工具的一些讨论,你可以参考:https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/348654/1239192#1239192

  • 我们现在PCIe设备做Master,8168座slave模式。设备直接通过PCIe把数据DMA到8168一侧的DDR。