各位专家好,我在调试SRIO接口的时候发现数据的发送不是连续的,一段连续的数据包(256字节)后会出现长时间的数据空闲状态,数据也没有丢失,只是这样影响了数据的发送效率。
采用1x形式的数据发送方式这种情况不是太严重,当采用4x形式的发送时从FPGA那边踩到的数据看到每隔一段数据后会后很大一段空白,从而达不到预期的速率,想问一下这是什么原因,是不是我的时钟不准啊?非常感谢!
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.
各位专家好,我在调试SRIO接口的时候发现数据的发送不是连续的,一段连续的数据包(256字节)后会出现长时间的数据空闲状态,数据也没有丢失,只是这样影响了数据的发送效率。
采用1x形式的数据发送方式这种情况不是太严重,当采用4x形式的发送时从FPGA那边踩到的数据看到每隔一段数据后会后很大一段空白,从而达不到预期的速率,想问一下这是什么原因,是不是我的时钟不准啊?非常感谢!
怀疑是信号质量的问题,你可以看看SRIO的状态寄存器里是否有错误置位,另外可以对SERDES的参数做一些调整测试一下
您好,Allen Yin!谢谢你的答复。
您说的是不是整了下发送端的swing和接收端的CDR参数啊,是SRIO_SERDES_CFGRX[0-3]和SERDES_CFGTXn_CNTL两个寄存器吗?
谢谢!
你好,Allen Yin,我试着修改了一下这两个参数,还是不行。我把C6678的SRIO配置成4个1x的模式,四个端口都可以分别在3.125G的速率下向v5的FPGA发送数据,发送16K byte的数据,数据包直接基本上是连续的,偶尔也会有间断的情况。
我采用4x模式向FPGA发送数据时,每个256字节包之间还是有很大的间隔,间隔的长度大概是每个256字节包的2倍。我感觉既然1x模式下四个端口都可以正常发送数据,说明信号的质量应该可以啊!
另外还有一个问题想咨询您,就是采用4x模式的SRIO发送数据时,端口号怎么设置啊,我看文档说是设置成最低的那个端口号,也就是0,但是采用4x模式时我采用端口1,2和3也可以发送数据啊,谢谢!
首先感谢你的解答,想问一下,如果是这种情况应该怎么处理啊!我用的keystone 1里面的SRIO驱动配置程序,明明是设置成4x模式了啊,而且我试了一下配置成4x模式下利用端口0,1,2,3都能向FPGA发送数据!
如果是训练成1x了,该怎么解决啊!
你使用的是keystone I的驱动例程吗,直接修改里面的速率配置参数就可以了,我使用的里面SRIO的驱动例程,1x模式下DSP和FPGA能够正常通信。这个例程只需要根据你板子的时钟修改时那个外部时钟就可以了!例程地址是http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/47664.aspx?pi239031348=1,另外注意你的设备ID配置