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.
在我设计的板子上,有两片C6678和一片xilinx公司FPGAVirtex6,他们之间是4X的SRIO。
我使用的程序是在论坛提供的SRIO程序上修改的,SRIO是4X3.125G,可以实现FPGA和DSP之间相互发送数据(SWRITE,NWRITE,NREAD都试过),数据也是正确的,但是碰到一个奇怪的问题:
我通过DSP发送1600Bytes的数据给FPGA,那么将LSU的寄存器配置完毕后,DSP应该会自动的将这数据拆分成7个packets发送到FPGA,FPGA也应该收到7个Packets,如下图:
从图中看出,FPGA确实是收到了数据,也是正确的数据。
但是当我重新加载程序,FPGA和DSP都是使用相同的程序,但是有时候FPGA收到的数据不连续,但是数据全都正确的,如下图:
就好像配置成的4XSRIO变成了1XSRIO,而且在FPGA端的一个信号显示link确实变成了1X,但我明明两边都配置成的4X,难道DSP在另外3X的SRIO有问题的情况下,会自动的变成1X吗?还有同样的程序,有时候正确,有时候错误?实在找不到问题所在,打扰了!
谢谢了!
重新加载也不是不行,就是有时候行,有时候不行,现在确定不了是那边的问题,但是肯定是不对,数据应该连续的发送才对,DSP闭环测试是没有问题的,感觉不是配置的问题,在我的程序里是重复的发送20次1600bytes数据,假设第一次对了,后面19次发送都正确,第一次错了,19次都不对,特奇怪。
我在现在在C6657上面调试与FPGA之间的有通信,两者之间可以建立硬件连接,FPGA作为主机发送包信号了,但是DSP不能接收到数据。而且像其他同仁说的一样,FPGA只能发一次包信号。请高手赐教!能否给一下你修改后的DSP的SRIO程序供我学习下。谢谢 !我的邮箱为apgyying@163.com
你好,最近我也在调6678的SRIO接口,另一个设备是Xilinx K7,测试中遇到了几个问题,能抽出宝贵的时间帮忙解答下吗,在此先谢谢了,
我使用的6678的代码也是论坛上下来的,K7 为申请的IP核生成的代码,
1、首先发现,测试的是5.0Gbps,6678的SRIO参考时钟为312.5MHz,但是K7在5Gbps下只能将参考时钟设置成125MHz,请问这两者不同可以正常通信吗?
2、其次程序中的SRIO_test.h中有个DSP0_RIO_BASE_ID,请问这个是另一端的DEV_ID 号吗?
3、使用NO_LOOPBACK时,我看代码中有两种测试,一种是CORE0上跑的SRIO_2DSP_TEST作为主设备测试,另一个是CORE1上跑的,作为从设备测试,个人理解CORE1上是不是只能测试message传输啊,因为没有看到srio_cfg对lsucfg进行配置,另外,发现DSP侧的Direct I/O这种说法在FPGA那边找不到,个人理解Direct I/O是不是就是一般的NREAD、NWRITE之类的操作啊,不知道对不对?
你好,我现在也在做SRIO的DSP与FPGA之间的通信,但是程序卡在
/*---------wait all enabled ports OK-------------*/
for(i=0; i<SRIO_MAX_PORT_NUM; i++)
{
if(srio_cfg->blockEn.bLogic_Port_EN[i])
{
while(0==(srioRegs->RIO_SP[i].RIO_SP_ERR_STAT& CSL_SRIO_RIO_SP_ERR_STAT_PORT_OK_MASK));
}
这个地方了,端口初始化失败,是因为DSP的测初始化失败还是FPGA侧啊,求指教
}