Cypress技术论坛
直播中

李海必

8年用户 176经验值
私信 关注
[问答]

SlaveFIFO 32位错误

你好,
我使用FX3作为一个设备控制器,用于与PC机的USB 3.0通信。我将FPGA Xilinx StAut6接口与FX3从FIFO 32比特GPIG IIfollowing连接到网站的指南。为了测试通信,我使用了AN6974下载文件夹的回环实例,我用GPIF工具为我的Boad软件化了GPIF。用USB控制中心流数据到FPGA,它正确地写回FIFO(我可以用CHISCPOP分析器观看它们)。在FX3到PC的通信中出现了一些问题。在所附文件中,您可以看到第三行、第四行、第七行等的第三字节中的错误。
GPIO的每一行都被正确地路由到FPGA并均衡,我认为信号完整性不存在问题。硬件看起来还行。
请你帮帮我好吗?
谢谢
FX3Err.TX.Zip
735字节

以上来自于百度翻译


     以下为原文
   Hello,
    [size=10.909090995788574px]I am using FX3 as a Device controller used for USB3.0 communication with PC. I'm interfacing an FPGA xilinx Spartan6 to the FX3 with the slave fifo 32 bit [size=10.909090995788574px]by GPIG II[size=10.909090995788574px] [size=10.909090995788574px] following the the guide of the website. For testing communication I'm using the loopback example of AN65974 [size=10.909090995788574px]downloaded folder and I custmoized the GPIF for my board [size=10.909090995788574px]with the GPIF tool[size=10.909090995788574px] [size=10.909090995788574px]. With the USB Control Center I stream data to the FPGA and it write back to the fifo correctly (I can watch them with chiscpope analyzer). Something fails in the communication from fx3 to pc. In the the attached file you can see  the error in the 4th byte of 3rd line, 5th line, 7th line and so on.
    Each line of the GPIO are right routered to the FPGA and equalized, I don't think there are problem with signal integrity. The hardware it seems ok.
    Could you help me please?
    thanks a lot


回帖(6)

姜春阳

2019-6-18 06:33:01
我也有同样的问题。我已经改写了FPGA代码没有成功。
软件中有硅缺陷或路径吗?
我们改变了USB控制器(对于我们的项目),因为我们没有解决任何问题。

以上来自于百度翻译


     以下为原文
   I have exactly the same problem. I have rewritten the FPGA code without success.
    Is there any silicon bug or path to the software?
    We are changint the USB controller (for our project) because we did't fuond any solution.
举报

李咏华

2019-6-18 06:38:39
你好,CusialBi,
让我们来分析一下数据。
在错误之前的GPIF总线上的32位字是1C 1D 1E 1F(第二行,字节13…16)二进制中的最后字节:0001 1111下一个32位字在总线上被假定为20 21 21 22 23(第三行,字节1…4)最后一个字节在二进制:4,但是FX3似乎捕获这个最后字节作为γ(x在十六进制)-位是HI。GH就像前面的单词在公共汽车上一样。对于下一个32位字之后,这个第四位已经正确地确定为0位。所有的错误完全一样。32位字的同一比特似乎从1到0太慢。这是定时误差的一个非常重要的特征。
你不认为信号完整性有问题。但是,你验证过FPGA的输出确实满足FX3数据设置要求吗?
最好的问候,
卡列夫

以上来自于百度翻译


     以下为原文
  Hi cusialbi,
    Let's analyze the data.
    32-bit word on GPIF bus before error is 1C 1D 1E 1F  (2nd row, bytes 13...16)
last byte in binary: 0001 1111

Next 32-bit word on bus is assumed to be 20 21 22 23  (3rd row, bytes 1...4)
last byte in binary: 0010 0011

But FX3 seems to capture this last byte as 0011 0011 (33 in hex) - 4th bit is high like in previous word on bus. For next 32-bit word after that, this 4th bit has correctly settled to 0.  All the errors are exactly the same. The same bit of 32-bit word seems to go from 1 to 0 too slowly. This is very characteristic of  timing errors.
    You don't think there are problem with signal integrity. But, have you verified that FPGA output indeed fulfills FX3 data setup requirement?
    Best regards,
    kalev
举报

h1654155275.5814

2019-6-18 06:45:46
你好,
他同意卡莱夫给出的推理。
这无疑是一个与时间有关的问题。
谢谢,
西克里希纳。

以上来自于百度翻译


     以下为原文
  Hi,
    I totally agree with the reasoning that has been given by kalev.
    This is definitely a timing related issue.
    Thanks,
    sai krishna.
举报

李海必

2019-6-18 06:52:55
谢谢你的回复,
问题就在这里,我会努力解决的。
最好的问候

以上来自于百度翻译


     以下为原文
   Thank you for the reply,
    the problem is exactly that, I'll try to solve it.
    Best regards
举报

更多回帖

发帖
×
20
完善资料,
赚取积分