打印

CYUSB3014 FIFO同步写出问题

[复制链接]
3940|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 固件下调通了吗?

使用特权

评论回复
5
liucan19940228| | 2017-2-22 21:16 | 只看该作者
楼主,关于CYUSB3014 FIFO同步写出问题,你最后是如何解决的啊?我在做项目的过程中遇到了相似的问题,想向您请教一下?同样是一个flag拉高,一个flag为低。而且一直保持这种状态。

使用特权

评论回复
6
lionzh| | 2017-4-27 17:21 | 只看该作者
lz你好,我现在也在用FX3芯片,固件配置成了16次突发的16k的自动dma,标准也是用了四个,根据手册来的,FPGA我自己设计的写入程序和stream_in时序一样,就是传不上来数,不知道哪里出问题了,用例程就可以,请问你遇到这种情况吗?
可以把你写的fpga写时序发一下看看吗?谢谢了

使用特权

评论回复
7
EDAStarer| | 2019-1-21 17:42 | 只看该作者
你好,请问您是怎么解决的。我也是碰到相同的问题。

使用特权

评论回复
8
EDAStarer| | 2019-2-13 09:31 | 只看该作者
我也想知道FLAGA、FLAGB分别在什么情况下变化。
我如果不用局部标志FLAGB,多等几个时钟周期(大于4个)来判断FLAGA来写入应该也是可以的吧?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

1

粉丝