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.

C6657 uPP -> FPGA 帧头sof异常



Hi,all

 

        我司目前采用TI的C6657芯片,通过uPP发送392*288 bytes数据给FPGA:

        upp_hw_set_tx_dma(upp->curr_tx->virt_addr[0], 288, 392, 392);


        但实际上,FPGA端通过uPP采集到的数据时而会发生异常,uPP协议发出的sof信号没有出现在392的有效数据之前,反而出现在了392数据的中间;

        这种情况有人遇到过吗?我应该如何排查呢?或者还需要贴出其他的初始化代码吗?

        BTW. DSP通过uPP接收FPGA过来的数据,配置DMA按照384*288的方式接收,是没有任何问题的!!!
  • 自己顶一下,请各位大牛帮帮忙,出个主意;

    查看UPQD0对应的ddr地址,导出待发送数据发现是正常的,而且这个现象需要运行一段时间才会随机出现;

    尝试关闭L1,L2,发现还是存在这个问题;之前uPP配置为CHN, IWA, IWB配置为1,0,0,通过DATA[7:0]来接收FPGA的数据,DATA[15:8]用来发送数据给FPGA;

    然后就有了低8位可以正常从FPGA接收满384*288bytes,但是高8位发前位于DDR的数据正常,传出后,FPGA收到的异常,直观异常为每行有效数据对应的帧头sof异常了,本应于发送了384bytes后发送下一帧384bytes前,产生sof;现实是这个sof出现在发送不少有效数据后才会产生被FPGA捕获到;

    有相似遭遇的大牛,请给个方向,万分感激!

  • 感觉像是CACHE一致性维护没做带来的问题,但是你说关闭L1, L2也有同样的问题,这个你是怎么关闭的?

    还有是有时候有问题,还是每帧都有问题? 

  • Tony你好

    L1,L2是在Debug时通过.gel函数关闭的,如下图:

    另外,这个错乱的现象,有时候开关机1分钟内就能出来,出来后每帧都会有问题;有时候要开机跑上近半小时才会出现,后续每帧也都有问题;

    CACHE一致性维护问题?这有相关资料或是例程吗?我disable Local ram还会存在CACHE一致性问题吗?