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.

[参考译文] CCS/TMS320C6678:SRIO:将 DIO nread 从 DSP (C6678)发送到 FPGA (Virtex7)

Guru**** 2005515 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/880708/ccs-tms320c6678-srio-send-dio-nread-from-dsp-c6678-to-fpga-virtex7

器件型号:TMS320C6678

工具/软件:Code Composer Studio

大家好、

我想将 DIO 数据包从 DSP (C6678)发送到 FPGA (Virtex7)。   我为我的设计读取并更改了 SRIO_TputBenchmarking_evmc6678_C66TestProject 项目。

首先、我要测试 Nread 数据包。 我打开一个阻塞套接字并 从 DSP 发送一个 Nread 数据包。 在 FPGA 侧、我接收 nread 数据包的标头。 然后、我在 FPGA 侧响应数据包(标头和数据有效载荷)。

但问题是、我无法在 DSP 端看到预期的数据负载。

在 DSP 端、套接字处于阻塞模式、完成代码为  此外、 数据应该被写入 DDR3存储器(0x8000000地址)。

值得注意的一点是、当我在 DSP 端以环回模式运行程序时、我可以看到 DDR3存储器中的预期数据和结果是正确的。

我为 SRIO 协议选择5Gbps 和2x 模式。 此外、对于 DSP、我选择参考时钟为312.5MHz、对于 FPGA、选择125MHz。

小问题***

以 μ ِDSP 为单位的一些寄存器的值如下:

0x0290c008 ->   SRIO_RIO_ERR_DET ->      00 00 00 01

0x0290c040 ->   SRIO_RIO_sp_er_det ->  00 00 00 00 00

0x0290b15c ->   SRIO_RIO_pt_ctl ->       01 00 60 98

0x0290b158 ->   SRIO_RIO_sp_err_stat -> 02 00 00 00 00

0x0290b144 ->   SRIO_RIO_sp_lm_resp -> 00 00 00 00 00

0x0290b148 ->   SRIO_RIO_ackid_stat ->  01 01 00  

0x0290b154 ->   SRIO_RIO_sp_ctl2 ->      00 00 aa 02

小问题***

FPGA 侧的调试信号值如下:

PHY_DEBUG[223:0]= 0x 0000 001f 0000 0000 0000 0000 0000 0080 0000 0000 0000 0158 0008 8c0c。

小问题***

您能帮我解决这个问题吗? 此外、我应该检查哪些寄存器?

此致、

Mohammad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此外、在另一个测试中、我可以从 FPGA 向 DSP 发送读取数据包、并从 DSP 获取其响应。 但是、当我将 NWRITER 数据包从 FPGA 发送到 DSP 时、我看不到它从 DSP 发出的响应。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    有人可以帮帮我吗?

    是否由于内存访问 DDR3而导致上述问题?

    在我的设计中、我是否应该考虑使用 RIO_SUPRVSR_ID 来解决上述问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、

    最后 、我能够从 FPGA (Virtex7)向 DSP (C6678)发送 nread/NWRitER。

    正如我所猜测的、问题是 SRIO IP 内核中的 AXI4流通道。 我 以不良 的方式使用了 AXI4流信号、例如 tVALID、tLast 和 tdata 信号。

    此外,我没有在国际法协会中使用其中的一些信号。  这种情况导致了对设计的错误分析。