CYUSB3014 FIFO同步写出问题

[复制链接]
1819|14
 楼主| renyaq 发表于 2018-9-6 19:03 | 显示全部楼层 |阅读模式
我用的USB3.0的开发板,32位,固件程序是用官网下的SlaveFifoSync程序,FLAGA,FLAGB是写线程0的满和部分满标志,水印值5,缓冲区1024*2,FLAGC和FLAGD 是读线程3的空和部分空标志。
我在用测试数据发送时(每字加1),通讯一切正常。当换成实际的数据时,会正常一会儿后中止,时间不定。上位机会收不到任何数据,FinishDataXfer()调用显示长度为0。
检测标志位发现,FLAGA为低,就是FIFO是满的,但是 FLAGB却为高。
这我就不能理解了,FLAGB不是会先FLAGA为低吗?
pengf 发表于 2018-9-6 19:05 | 显示全部楼层
什么情况会出现这种状态指示?
wangpe 发表于 2018-9-6 19:06 | 显示全部楼层
然后是先连接,连接3条线(VDD、GND、P31),后上电,再按键,红绿灯会闪烁,最后,绿灯亮为烧录正常,红灯亮是不正常
 楼主| renyaq 发表于 2018-9-6 19:09 | 显示全部楼层
我抓波形发现,通讯中会出现FLAGB为高,FLAGA为低的时候,但是过会FLAGA又会变为高。
xxrs 发表于 2018-9-6 19:13 | 显示全部楼层
经常出现?
morrisk 发表于 2018-9-6 19:16 | 显示全部楼层
嗯,直到FLAGA不再为高,FPGA就不会再发送数据了。
pengf 发表于 2018-9-6 19:19 | 显示全部楼层
去cypress官网搜一下AN65974,里面讲的很详细,还有FPGA例程
 楼主| renyaq 发表于 2018-9-6 19:22 | 显示全部楼层
那些我都看过了,里面讲的很好,但是现在出现了的情况里面没有讲到。
 楼主| renyaq 发表于 2018-9-6 19:25 | 显示全部楼层
缓冲区满后,FLAGA为低,什么时候再变为高呢,缓冲区里面全空了还是,只要有一点空位就会变高呢,而且FLAGA已经指示满了,为什么FLAGB部分满标志还指示没有满呢?
stly 发表于 2018-9-6 19:30 | 显示全部楼层
你现在USB3.0在使用同步slavefifo 固件下调通了吗?
pengf 发表于 2018-9-6 19:35 | 显示全部楼层
楼主,关于CYUSB3014 FIFO同步写出问题,你最后是如何解决的啊?我在做项目的过程中遇到了相似的问题,想向您请教一下?同样是一个flag拉高,一个flag为低。而且一直保持这种状态。
xxrs 发表于 2018-9-6 19:38 | 显示全部楼层
我现在也在用FX3芯片,固件配置成了16次突发的16k的自动dma,标准也是用了四个,根据手册来的,FPGA我自己设计的写入程序和stream_in时序一样,就是传不上来数,不知道哪里出问题了,用例程就可以,请问你遇到这种情况吗?
pengf 发表于 2018-9-6 19:42 | 显示全部楼层
可以把你写的fpga写时序发一下看看吗?谢谢了
 楼主| renyaq 发表于 2018-9-6 19:45 | 显示全部楼层

嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽
lxs0026 发表于 2018-9-6 23:23 | 显示全部楼层
可以发一下fpga例程吗?也方便总结一下经验。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

700

主题

10138

帖子

4

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