CYUSB3014 FIFO同步写出问题

[复制链接]
 楼主| dgtg3d 发表于 2016-1-12 13:22 | 显示全部楼层 |阅读模式
我用的USB3.0的开发板,32位,固件程序是用官网下的SlaveFifoSync程序,FLAGA,FLAGB是写线程0的满和部分满标志,水印值5,缓冲区1024*2,FLAGC和FLAGD 是读线程3的空和部分空标志。
我在用测试数据发送时(每字加1),通讯一切正常。当换成实际的数据时,会正常一会儿后中止,时间不定。上位机会收不到任何数据,FinishDataXfer()调用显示长度为0。
检测标志位发现,FLAGA为低,就是FIFO是满的,但是 FLAGB却为高。
这我就不能理解了,FLAGB不是会先FLAGA为低吗?什么情况会出现这种状态指示?
我抓波形发现,通讯中会出现FLAGB为高,FLAGA为低的时候,但是过会FLAGA又会变为高。经常出现,直到FLAGA不再为高,FPGA就不会再发送数据了。
星PSOC 发表于 2016-1-12 16:13 | 显示全部楼层
去cypress官网搜一下AN65974,里面讲的很详细,还有FPGA例程
 楼主| dgtg3d 发表于 2016-1-12 16:40 | 显示全部楼层
星PSOC 发表于 2016-1-12 16:13
去cypress官网搜一下AN65974,里面讲的很详细,还有FPGA例程

那些我都看过了,里面讲的很好,但是现在出现了的情况里面没有讲到。
缓冲区满后,FLAGA为低,什么时候再变为高呢,缓冲区里面全空了还是,只要有一点空位就会变高呢,而且FLAGA已经指示满了,为什么FLAGB部分满标志还指示没有满呢?
gs850997871 发表于 2016-6-1 16:04 | 显示全部楼层
楼主你好 ,  请问你现在USB3.0在使用同步slavefifo 固件下调通了吗?
liucan19940228 发表于 2017-2-22 21:16 | 显示全部楼层
楼主,关于CYUSB3014 FIFO同步写出问题,你最后是如何解决的啊?我在做项目的过程中遇到了相似的问题,想向您请教一下?同样是一个flag拉高,一个flag为低。而且一直保持这种状态。
lionzh 发表于 2017-4-27 17:21 | 显示全部楼层
lz你好,我现在也在用FX3芯片,固件配置成了16次突发的16k的自动dma,标准也是用了四个,根据手册来的,FPGA我自己设计的写入程序和stream_in时序一样,就是传不上来数,不知道哪里出问题了,用例程就可以,请问你遇到这种情况吗?
可以把你写的fpga写时序发一下看看吗?谢谢了
EDAStarer 发表于 2019-1-21 17:42 | 显示全部楼层
你好,请问您是怎么解决的。我也是碰到相同的问题。
EDAStarer 发表于 2019-2-13 09:31 | 显示全部楼层
我也想知道FLAGA、FLAGB分别在什么情况下变化。
我如果不用局部标志FLAGB,多等几个时钟周期(大于4个)来判断FLAGA来写入应该也是可以的吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部