打印

CYUSB3014 FIFO同步写出问题

[复制链接]
1384|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又会变为高。

使用特权

评论回复
5
xxrs| | 2018-9-6 19:13 | 只看该作者
经常出现?

使用特权

评论回复
6
morrisk| | 2018-9-6 19:16 | 只看该作者
嗯,直到FLAGA不再为高,FPGA就不会再发送数据了。

使用特权

评论回复
7
pengf| | 2018-9-6 19:19 | 只看该作者
去cypress官网搜一下AN65974,里面讲的很详细,还有FPGA例程

使用特权

评论回复
8
renyaq|  楼主 | 2018-9-6 19:22 | 只看该作者
那些我都看过了,里面讲的很好,但是现在出现了的情况里面没有讲到。

使用特权

评论回复
9
renyaq|  楼主 | 2018-9-6 19:25 | 只看该作者
缓冲区满后,FLAGA为低,什么时候再变为高呢,缓冲区里面全空了还是,只要有一点空位就会变高呢,而且FLAGA已经指示满了,为什么FLAGB部分满标志还指示没有满呢?

使用特权

评论回复
10
stly| | 2018-9-6 19:30 | 只看该作者
你现在USB3.0在使用同步slavefifo 固件下调通了吗?

使用特权

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

使用特权

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

使用特权

评论回复
13
pengf| | 2018-9-6 19:42 | 只看该作者
可以把你写的fpga写时序发一下看看吗?谢谢了

使用特权

评论回复
14
renyaq|  楼主 | 2018-9-6 19:45 | 只看该作者

嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽

使用特权

评论回复
15
lxs0026| | 2018-9-6 23:23 | 只看该作者
可以发一下fpga例程吗?也方便总结一下经验。

使用特权

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

本版积分规则

700

主题

10138

帖子

4

粉丝