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.

C6670 CCS Graph工具实时显示问题



大家好,

************************************************************************************************************************

我们自己设计的板卡用的是C6670,前端有FPGA通过SRIO向C6670发送数据。

FPGA每隔1.5ms,通过SWRITE包,向C6670发送400Bytes的数据,存放在C6670 L2内的A区域。

每发送完一次数据FPGA拉起C6670的GPIO,通知C6670处理这段数据。(目前还未调试Doorbell)

C6670这边,在GPIO中断处理函数中,将每次接收到的400Bytes数据搬移到B区域暂存(4KBytes,就是来10次中断后,覆盖之前的数据)。

然后使用Tools--Graph--Single Time去显示B区域的数据。

如果FPGA通过SRIO向C6670发送正弦波的数据,显示结果中能看到正弦波。

************************************************************************************************************************

但是,偶尔会出现下图情况

************************************************************************************************************************

现在怀疑出错的可能性是:

由于SRIO每次进来的400Bytes的数据都向B区域(4KB)搬移,数据是不断写入B区域的,每隔1.5ms就会向B区域中的某块写入新数据。

而使用Graph---Single TIme这样的实时观察数据形状,有时不断去读取B区域的数据。

所以,可能存在某个时间点,对B区域内部的数据,同时读或者写,这样就会出错。

************************************************************************************************************************

想请教大家,出错的可能性是不是像上面我认为的这样?

如果是,改怎么解决用Graph---Single TIme去实时显示DSP内某段不断被刷新的数据块?

我感觉,只要想去实时显示某块不断被刷新的数据块,都可能存在类似我上面遇到的这个问题,大家怎么认为?

DSP内部有FIFO吗?把数据向FIFO中送,FIFO出口接到“Graph---Single TIme”这个工具?

************************************************************************************************************************

谢谢大家了哈~~

  • 使用graph不断刷新显示图形,由于PC会不断都读取DSP的memory,可能会中断DSP的运行,建议在代码中增加数据验证功能,如在发送端不断发送有规律的已知数据,在接收端接收到数据后将接收数据与已知数据进行比较验证。

  • 您的意思是:与已知数据进行验证,如果出错就丢掉数据?

    主要是,我们要直观地显示我们系统链路的通畅。信号源发数据进前端,然后FPGA通过SRIO把数据发送给DSP,DSP端就是打算用Graph工具实时地画图显示。

    使用graph不断刷新显示图形,由于PC会不断都读取DSP的memory,可能会中断DSP的运行”,是不是就是说我截的那个图中的显示错误是肯定会发生的。

    DSP内部能做到FIFO把数据往仿真器送,最后送到PC吗?

  • 或者简单地说,我想用CCS上的工具,实时地显示DSP内存中某段不断被刷新的数据,能不出现类似上面的显示错误吗?

  • 在前期调测的时候可以用你的方法,但是由于PC与硬件板卡进行数据的传输,会增加系统的loading。你可以增加代码验证一下接收的数据是否存在类似的错误现象。

  • 你好!

    谢谢你的回复!

    我在FPGA端设置发送固定数据,DSP端接收代码有验证,无误,应该不是接收出错。FPGA端也有chipscope实时显示发送的数据波形,也无上图的显示问题。

    我们目前要给第三方演示系统链路传输的正确性,为了更加直观,所以打算用CCS的Graph工具实时显示不断进来的数据;信号源发送信号变化,CCS的Graph工具显示的波形也发生变化,且无误,这样更具有说服力。毕竟第三方更在意的是直观的结果。

    也就是说,用CCS的Graph工具实时显示某块不断被刷新的数据,一定会出现这种问题?没有好的解决方法吗?演示的时候,要是偶尔出现这种毛刺,会给第三方带来不好的映像的。

    FPGA端用Chipscope实时显示波形,就没有这种问题。可能是因为FPGA端缓冲数据用的是FIFO,而DSP端用的是环形缓冲器的原因。