打印

在用CYUSB3014做数据传输时,从FIFO读不到数据

[复制链接]
1148|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Tori128|  楼主 | 2016-12-19 19:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Tori128 于 2016-12-19 19:47 编辑

用CYusb3014做USB3.0的数据传输,利用同步从FIFO模式,从FIFO读数据时空标志位一直是0,也就是空,读不到数据,请问大神们,这是怎么回事呢?附图
沙发
Tori128|  楼主 | 2016-12-19 19:48 | 只看该作者
这是控制代码
process(current_GPIF_STATE,usb_rd_empty,usb_wr_full)
begin
--next_GPIF_STATE <= current_GPIF_STATE;
case current_GPIF_STATE is

       when USB_RD_IDEL  =>

       next_GPIF_STATE <= USB_RD_W1;
       
        --usb interface------------------
                usb_cs_buf        <= act_off_usb;
                usb_wr_buf        <= act_off_usb;
                usb_rd_buf        <= act_off_usb;
                usb_oe_buf        <= act_off_usb;
               
                usb_pkt_buf        <= act_off_usb;               
       
               
          ----PC write cmd          
                   usb_a0_buf        <= '0';
                   usb_a1_buf        <= '0';                
                         
                                when USB_RD_W1 =>
                                        next_GPIF_STATE <= USB_RD_W2;
                                        usb_a0_buf        <= '1';
                         usb_a1_buf        <= '1';
                                       
                                when USB_RD_W2 =>
                                        next_GPIF_STATE <= USB_RD_W3;
               usb_a0_buf        <= '1';
                         usb_a1_buf        <= '1';
                                when USB_RD_W3 =>
                                        next_GPIF_STATE <= USB_RD_CS;
               usb_a0_buf        <= '1';
                         usb_a1_buf        <= '1';
                                when USB_RD_CS =>
                                        next_GPIF_STATE <= USB_RD_OE;
                                        usb_cs_buf        <= act_on_usb;                                       
                                        usb_a0_buf        <= '1';
                         usb_a1_buf        <= '1';
                                when USB_RD_OE =>               
               next_GPIF_STATE <= USB_RD_START_STATE;                               
                                   usb_cs_buf        <= act_on_usb;                                       
                                        usb_a0_buf        <= '1';
                         usb_a1_buf        <= '1';                                       
                                        usb_oe_buf        <= act_on_usb;
                                       
                                when USB_RD_START_STATE =>
                                   usb_cs_buf        <= act_on_usb;                                       
                                        usb_a0_buf        <= '1';
                         usb_a1_buf        <= '1';                       
                                       
                                        usb_oe_buf        <= act_on_usb;
                                        usb_rd_buf        <= act_on_usb;
                                       
                                        if usb_rd_empty = act_off_usb then
                                           next_GPIF_STATE <= USB_RD_START_STATE;
               else
                  next_GPIF_STATE <= USB_RD_CS;                                       
                                        end if;       
                               
                        end case;       
end process;


使用特权

评论回复
板凳
Tori128|  楼主 | 2016-12-19 19:49 | 只看该作者
C:\Users\Administrator\Desktop

使用特权

评论回复
地板
Tori128|  楼主 | 2016-12-19 19:53 | 只看该作者
这是Chipscope抓数据的结果

QQ截图20161219193050.jpg (146.51 KB )

QQ截图20161219193050.jpg

2.jpg (118.01 KB )

2.jpg

1.jpg (149.22 KB )

1.jpg

QQ截图20161219193050.jpg (146.51 KB )

QQ截图20161219193050.jpg

使用特权

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

本版积分规则

4

主题

7

帖子

0

粉丝