TI中文支持网
TI专业的中文技术问题搜集分享网站

k7 6678 srio 通信

您好

我是k7给6678发swrite包,每次发送120包(每包256B)时,fpga的ireq_ready信号就不能正常拉高,会出现延迟几十个时钟周期才拉高,中间出现卡壳,检查6678寄存器发现

Input_Retry_STP

输入端口进入重传停止状态

置1了。

所以我判断是dsp收数出了问题,但不知道怎么解决?

补充:

srio速率设置为3.125或者5.0都会出现这种情况。。所以综合下来,两张速率设置下,实际速度几乎都是500MB/s。

fpga的ip核fifo=16时,是第90包开始ireq_ready信号不稳定

fpga的ip核fifo=32时,是第120包开始ireq_ready信号不稳定

根据论坛上srio错误判决的帖子,“设备B发现一些临时问题导致不能接收报文(比如没有空闲buffer可以接收),那么设备B丢弃该报文,进入input retry stop状态(该bit置1,同时input retry encounter也置位)。” 可能是rx 没有空闲buffer。。那怎么解决?

谢谢!

qiao qian:

今天增加了测试,发现只要传输速度超过500MB/s,DSP的input retry stp就会置位,FPGA的ireq ready信号就会不稳定。

例如:4x,1.25Gbps,上述情况就不会出现,因为理论速度就是在500MB/s左右

或者2x,2.5gbps,也不会出现

但是4x,2.5gbps,上述错误就会出现,导致实际传输速率只要500MB/s

 

我感觉是,fpga与dsp直接连接时,用direct io方式发送swrite包,感觉dsp接受的速度上限只有500MB/s。

不知道有其它人遇到这种情况??希望有人尽快帮助,都要调疯了

 

d vince:

回复 qiao qian:

  朋友,你好。我们教研室目前在做这个 6657与K7 的SRIO 通信,完全没有任何经验与参考,FPGA IP核调出来了,两端链接建立起来之后,不知道该怎么控制数据收发?弄了3周了,不知道该怎样从IP核提供的"example_top"修改 来传输数据,尝试过几种参数修改,还是不能传数。想请教一下 在FPGA端 该怎样来控制数据的传输? 

赞(0)
未经允许不得转载:TI中文支持网 » k7 6678 srio 通信
分享到: 更多 (0)