Announcements
IMPORTANT: Cypress Developer Community currently doesn’t allow sign-in to prepare for the upcoming transition. To learn more, check out our announcement.
cancel
Showing results for 
Search instead for 
Did you mean: 

USB Low-Full-High Speed Peripherals

Anonymous
Not applicable
        Host transfers 8k data to peripheral through FX2LP. However, the last 4k data is lost (what is root cause of data lost?). FX2LP is configured as auto out mode and roughly setting is shown as following:   
   
TD_Init () :   
CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1); // set the CPU clock to 48MHz   
   
EP2CFG = 0xA0; // EP2OUT, bulk, size 512, 4x buffered   
EP4CFG = 0x00; // not valid   
EP6CFG = 0x00; // not valid   
EP8CFG = 0x00; // not valid   
   
EP2FIFOCFG = 0x00; // allow core to see zero to one transition of auto out bit   
EP2FIFOCFG = 0x10; // auto out mode, disable PKTEND zero length send, word ops   
   
TD_Poll():   
if( GPIFTRIG & 0x80 ) // if GPIF interface IDLE   
if ( ! ( EP24FIFOFLGS & 0x02 ) ) // if there's a packet in the FIFO domain for EP2   
{   
if ( ext device not full )   
{   
SYNCDELAY;   
GPIFTCB1 = 0x02;   
SYNCDELAY;   
GPIFTCB0 = 0x00;   
SYNCDELAY;   
   
GPIFTRIG = GPIF_EP2; // launch GPIF FIFO WRITE   
SYNCDELAY;   
   
while( !( GPIFTRIG & 0x80 ) ) // poll GPIF Done bit   
{   
;   
}   
SYNCDELAY;   
}   
}   
}   
0 Likes
0 Replies