fx2lp endpoint 2

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

cross mob
gean_3054931
Level 5
Level 5
10 likes given 5 likes given First like received

HI,

I have defined an another endpoint 2 in fx2lp slave fifo firmware with OUT,4x ,Bulk (register settings -> EP2CFG = 0xA0;)

if i click transferout button  times,bulk out transfer is successfull.if i click transferout button more than 4 times,its giving 997 error.

if i change register setting as EP2CFG = 0xA2; that is OUT,2x,bulk and if i click transferout button more than 2 times,its giving 997 error,first two times request is working.whats the issue.

regards,

geetha.

0 Likes
1 Solution
SrinathS_16
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello Geethanjali,

This is not an issue. This is how the FX2LP is expected to work. When you have configured the endpoint as quad buffered (4x), after 4 'Transfer Out's, the buffers in the FX2LP are filled. This data needs to be emptied. Only then, FX2LP will be able to receive the next data from the host.

Best regards,

Srinath S

View solution in original post

6 Replies
SrinathS_16
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello Geethanjali,

This is not an issue. This is how the FX2LP is expected to work. When you have configured the endpoint as quad buffered (4x), after 4 'Transfer Out's, the buffers in the FX2LP are filled. This data needs to be emptied. Only then, FX2LP will be able to receive the next data from the host.

Best regards,

Srinath S

Hello shrinath,

how to emptied filled buffers?is any speccific registers are there?

regards,

geetha.

0 Likes

Hello Geethanjali,

It depends on your implementation. Kindly, read through the EZ-USB Technical Reference Manual for register information.

http://www.cypress.com/file/126446/download

Best regards,

Srinath S

Hello shrinath,

I am trying to store OUT endpoint data in the endpoint buffer.

after resting the FIFO also, the problem is same.

TD_INIT()

{

EP2FIFOCFG = 0x00;        //automode=0;

//EP2FIFOCFG = 0x10;      //automode=1;

}

TD_poll()

{

FIFORESET = 0x80; // Reset the FIFO

SYNCDELAY;

FIFORESET = 0x82;

SYNCDELAY;

FIFORESET = 0x00;

SYNCDELAY;

EP2BCH=0x02; //512 bytes committed

SYNCDELAY;

EP2BCL=0x00;

SYNCDELAY;

}

0 Likes

Hello shrinath,

any example/projects are there to empty the OUT buffer?

regards,

geetha.

0 Likes

Hello Geetha,

Please refer to the Bulkloop example in the following path- <Install Directory>\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.1\Firmware.

Best Regards,

Sananya

0 Likes