help !! what can i do for Isochronous Transfer in cy68013 ??

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

 in recent days,i am researching the Isochronous Transfer in cy68013。i have done a Bulk 

   

Transfer in cy68013.but,i need the Isochronous Transfer too,which is used for the transmission between CY68013 and FPGA

   

the follow firmware is i did. now,it can work in windriver(driver wizard) but ez-usb console.

   

which can work only in isochronous out,i have try but still.i don't know why.

   

pls help me.

   

thank you very much.

   

--------------------------------------------------------------

   

   

void TD_Init( void )

   

{ // Called once at startup

   

 

   

    CPUCS = 0x12; //48MHZ CLKOUT ENALBE

   

SYNCDELAY;

   

IFCONFIG =0xE3;

   

SYNCDELAY;

   

 

   

EP2CFG=0x9B;

   

SYNCDELAY;

   

EP4CFG=0xDB;

   

SYNCDELAY;

   

 

   

  EP2BCL = 0x00;

   

  SYNCDELAY;

   

  EP2BCL = 0x00;

   

SYNCDELAY;

   

  EP2BCH = 0x04;

   

  SYNCDELAY;

   

  EP2BCH = 0x04;

   

SYNCDELAY;

   

  EP6BCL = 0x00;

   

  SYNCDELAY;

   

  EP6BCL = 0x00;

   

SYNCDELAY;

   

  EP6BCH = 0x04;

   

  SYNCDELAY;

   

  EP6BCH = 0x04;

   

  SYNCDELAY;

   

 

   

FIFORESET = 0x80; // activate NAK-ALL to avoid race conditions

   

SYNCDELAY; // see TRM section 15.14

   

FIFORESET = 0x02; // reset, FIFO 2

   

SYNCDELAY; //

   

FIFORESET = 0x04; // reset, FIFO 4

   

SYNCDELAY;   //

   

FIFORESET = 0x00; // deactivate NAK-ALL

   

SYNCDELAY;

   

   

PINFLAGSAB = 0xEA;   // FLAGB - fixed EP6FF, FLAGA - fixed EP6EF

   

SYNCDELAY;

   

PINFLAGSCD = 0x18;   // FLAGD - reserved, FLAGC - fixed EP2EF

   

SYNCDELAY;

   

PORTACFG = 0x40; // 0x40;

   

SYNCDELAY;

   

FIFOPINPOLAR= 0x00; // all signals active low,

   

SYNCDELAY;

   

 

   

EP2ISOINPKTS = 0x83;            // AUTOOUT=0, WORDWIDE=1

   

SYNCDELAY;

   

EP2ISOINPKTS = 0x83;            // AUTOOUT=1, WORDWIDE=1

   

SYNCDELAY;

   

    EP6ISOINPKTS = 0x82;

   

    SYNCDELAY;

   

EP6ISOINPKTS = 0x82;           

   

SYNCDELAY;

   

   

EP6AUTOINLENH = 0x04;

   

SYNCDELAY;

   

EP6AUTOINLENL = 0x00;

   

SYNCDELAY;

   

EP6AUTOINLENH = 0x04;

   

SYNCDELAY;

   

EP6AUTOINLENL = 0x00;

   

SYNCDELAY;

   

 

   

EP2FIFOCFG = 0x01;            // AUTOOUT=0, WORDWIDE=1

   

SYNCDELAY;

   

EP2FIFOCFG = 0x11;            // AUTOOUT=1, WORDWIDE=1

   

SYNCDELAY;

   

    EP6FIFOCFG = 0x41;

   

    SYNCDELAY;

   

EP6FIFOCFG = 0x49;            // AUTOIN=1, ZEROLENIN=0, WORDWIDE=1

   

SYNCDELAY;

   

 

   

OEA =0x03;

   

SYNCDELAY;

   

enum_high_speed=TRUE;

   

SYNCDELAY;

   

    PA0=1;

   

    SYNCDELAY;

   

    PA1=0;

   

SYNCDELAY;

   

}

0 Likes
1 Reply
Anonymous
Not applicable
0 Likes