提示Bulk OUT failed

[复制链接]
378|11
手机看帖
扫描二维码
随时随地手机跟帖
liuzaiy|  楼主 | 2019-3-15 12:28 | 显示全部楼层 |阅读模式
我想通过SlaveFIFO模式把主机数据通过EZ-USB传输给外部其它的MCU。外部MCU的数据通过SlaveFIFO模式已经用CYpress Console软件不断的读出来了!
   可是我把端点2设为OUT端点用CYpress Console软件确发不出来,提示Bulk OUT failed
pengf| | 2019-3-15 12:30 | 显示全部楼层
你把设置端点的固件程序发上来看看

使用特权

评论回复
liuzaiy|  楼主 | 2019-3-15 12:34 | 显示全部楼层

BREAKPT &= ~bmBPEN;      // to see BKPT LED go out TGE
    Rwuen = TRUE;            // Enable remote-wakeup
    OEE=0xFF;
    IOE=0x00;
    // set the CPU clock to 48MHz
    CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1) ;
    // set the slave FIFO interface to 48MHz
    //IFCONFIG |= 0x40;
    IFCONFIG=0xcb;
    SYNCDELAY;
    REVCTL=0x03;
    SYNCDELAY;

   EP1OUTCFG = 0xA0;
   EP1INCFG = 0xA0;
   SYNCDELAY;                    // see TRM section 15.14
   EP2CFG = 0xA2;
   SYNCDELAY;                    
   EP4CFG = 0xA0;
   SYNCDELAY;                    
   EP6CFG = 0xE2;
   SYNCDELAY;                    
   EP8CFG = 0xE0;
   SYNCDELAY;
   FIFORESET=0x80;
   SYNCDELAY;
   FIFORESET=0x08;
   SYNCDELAY;
   FIFORESET=0x00;
   SYNCDELAY;
   EP6FIFOCFG=0x0C;
   SYNCDELAY;
   EP2FIFOCFG=0x10;
   
   SYNCDELAY;
   EP2AUTOINLENH=0x02;
   SYNCDELAY;
   EP2AUTOINLENL=0x00;

SYNCDELAY;                    
   EP2BCL = 0x80;                // arm EP2OUT by writing byte count w/skip.
   SYNCDELAY;                    
   EP2BCL = 0x80;
   SYNCDELAY;                    
   EP4BCL = 0x80;                // arm EP4OUT by writing byte count w/skip.
   SYNCDELAY;                    
   EP4BCL = 0x80;   

  FIFORESET=0x80;
   SYNCDELAY;
  FIFORESET=0x02;
   SYNCDELAY;
  FIFORESET=0x04;
   SYNCDELAY;
  FIFORESET=0x06;
   SYNCDELAY;
  FIFORESET=0x08;
   SYNCDELAY;
  FIFORESET=0x00;
   SYNCDELAY;
  // enable dual autopointer feature
   AUTOPTRSETUP |= 0x01;

使用特权

评论回复
liuzaiy|  楼主 | 2019-3-15 12:37 | 显示全部楼层
现在可以PC机数据输出给EZ-USB了,但是有时候明明FIFO是空的,从空标志FLAGC判断出,但是从PC就是不能发数据给EZ-USB,一定要重新下载程序到EZ-USB后,重新开始。

使用特权

评论回复
chenjunt| | 2019-3-15 12:39 | 显示全部楼层
你的Slave FIFO OUT传输速度太慢了吧?

使用特权

评论回复
liuzaiy|  楼主 | 2019-3-15 12:42 | 显示全部楼层

只有300KB/S
我PC不断的发数据,EZ-USB接收,外面的AVR-单片机就从FIFO读出数据SLRD=0;
     SLRD=1;没有其它的处理。
怎么只有这么点速度?

使用特权

评论回复
renyaq| | 2019-3-15 12:45 | 显示全部楼层
USB的传输速度用软件可以精确测量吧

使用特权

评论回复
liuzaiy|  楼主 | 2019-3-15 12:49 | 显示全部楼层


我是在Bus Hound软件的Devices下看到的,这个速度是否正确?

使用特权

评论回复
morrisk| | 2019-3-15 12:51 | 显示全部楼层

这个应该是上位机程序的问题。

使用特权

评论回复
zyf部长| | 2019-3-15 12:55 | 显示全部楼层
PC发送数据到OUT端点,如果外部的MCU能及时把OUT端点的数据读出来,PC那端就不会出现BULK OUT FAILED问题.

使用特权

评论回复
xxmmi| | 2019-3-15 12:57 | 显示全部楼层
建议看看MCU与FX2LP的之间的读写通讯.

使用特权

评论回复
liuzaiy|  楼主 | 2019-3-15 13:01 | 显示全部楼层

知道了,多谢

使用特权

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

本版积分规则

735

主题

7546

帖子

2

粉丝