1 Reply Latest reply on May 8, 2013 1:01 AM by prajith.cheerakkoda

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

    sad.sad.h

       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;

         

      }