打印

通过SlaveFIFO模式把主机数据通过EZ-USB传输给外部其它的MCU

[复制链接]
1918|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuww|  楼主 | 2015-5-26 21:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
外部MCU的数据通过SlaveFIFO模式已经用CYpress Console软件不断的读出来了!
  可是我把端点2设为OUT端点用CYpress Console软件确发不出来,提示Bulk OUT failed
沙发
zhanglli| | 2015-5-26 21:07 | 只看该作者
你把设置端点的固件程序发上来看看

使用特权

评论回复
板凳
zhuww|  楼主 | 2015-5-26 21:08 | 只看该作者
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|  楼主 | 2015-5-26 21:08 | 只看该作者
现在可以PC机数据输出给EZ-USB了,但是有时候明明FIFO是空的,从空标志FLAGC判断出,但是从PC就是不能发数据给EZ-USB,一定要重新下载程序到EZ-USB后,重新开始。

使用特权

评论回复
5
yufe| | 2015-5-26 21:08 | 只看该作者
你的Slave FIFO OUT传输速度太慢了吧?

使用特权

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

使用特权

评论回复
7
llia| | 2015-5-26 21:09 | 只看该作者
USB的传输速度用软件可以精确测量吧

使用特权

评论回复
8
zhuww|  楼主 | 2015-5-26 21:09 | 只看该作者

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

使用特权

评论回复
9
wangzsa| | 2015-5-26 21:09 | 只看该作者

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

使用特权

评论回复
10
wangzsa| | 2015-5-26 21:09 | 只看该作者
PC发送数据到OUT端点,如果外部的MCU能及时把OUT端点的数据读出来,PC那端就不会出现BULK OUT FAILED问题.
建议看看MCU与FX2LP的之间的读写通讯.

使用特权

评论回复
11
zhuww|  楼主 | 2015-5-26 21:10 | 只看该作者
嗯,我知道了

使用特权

评论回复
12
electronictech| | 2016-5-4 11:52 | 只看该作者
楼主,你好,我的外部MCU的数据在SlaveFIFO模式下写入了EP6IN端点,但在上位机的EP6IN中看不到?怎么回事

使用特权

评论回复
13
cnb12345| | 2016-5-4 16:40 | 只看该作者

使用特权

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

本版积分规则

893

主题

8252

帖子

1

粉丝