打印

USB Slave FIFO的OUT传输

[复制链接]
7695|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuww|  楼主 | 2011-10-31 15:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想通过SlaveFIFO模式把主机数据通过EZ-USB传输给外部其它的MCU。外部MCU的数据通过SlaveFIFO模式已经用CYpress Console软件不断的读出来了!
  可是我把端点2设为OUT端点用CYpress Console软件确发不出来,提示Bulk OUT failed
沙发
zhanglli| | 2011-10-31 15:46 | 只看该作者
你把设置端点的固件程序发上来看看

使用特权

评论回复
板凳
zhuww|  楼主 | 2011-10-31 15:52 | 只看该作者
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;

使用特权

评论回复
地板
zhuww|  楼主 | 2011-10-31 16:05 | 只看该作者
现在可以PC机数据输出给EZ-USB了,但是有时候明明FIFO是空的,从空标志FLAGC判断出,但是从PC就是不能发数据给EZ-USB,一定要重新下载程序到EZ-USB后,重新开始。

使用特权

评论回复
5
yufe| | 2011-10-31 16:13 | 只看该作者
你的Slave FIFO OUT传输速度太慢了吧?

使用特权

评论回复
6
zhuww|  楼主 | 2011-10-31 16:17 | 只看该作者
只有300KB/S
我PC不断的发数据,EZ-USB接收,外面的AVR-单片机就从FIFO读出数据SLRD=0;
    SLRD=1;没有其它的处理。
怎么只有这么点速度?

使用特权

评论回复
7
llia| | 2011-10-31 16:22 | 只看该作者
USB的传输速度用软件可以精确测量吧

使用特权

评论回复
8
zhuww|  楼主 | 2011-10-31 16:28 | 只看该作者
我是在Bus Hound软件的Devices下看到的,这个速度是否正确?

使用特权

评论回复
9
liangziusb| | 2011-11-1 08:16 | 只看该作者
这个应该是上位机程序的问题。

使用特权

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

本版积分规则

893

主题

8252

帖子

1

粉丝