You are here

CY7C64713 : how should I use EP2OUT without external FIFO's (manual mode) ? | Cypress Semiconductor

CY7C64713 : how should I use EP2OUT without external FIFO's (manual mode) ?

Summary: 1 Reply, Latest post by gopv on 09 Dec 2009 02:30 AM PST
Verified Answers: 0
Last post
Log in to post new comments.
ossandust's picture
6 posts

I have a MIDI-USB application on the EZ-USB FX1, which has been working without problems, using EP1 for communication.

Now I simply want to move from using EP1 IN and OUT to using EP6 IN and EP2 OUT. Trying for days now, without result. That is, I got all IN communication working correctly, and OUT packets work for small amounts of data only (probably everything below the 64 byte packet size).

Any suggestion on how exactly I should use EP2 in a "PORT mode" application (that is, without any use of external FIFO's)? The problem must be related to the double buffering, or maybe an error in how I implement this "manual" mode.

What is very strange: everything works fine when I download my firmware over USB and run it from RAM. Running the same code from EEPROM doesn't work (data read from the OUT endpoint seems to be corrupted, when the data communication involves more then 64 bytes)

Another thing I don't understand: the datasheet makes me believe that I need to arm EP2 (after processing its content) by writing 0x80 to the byte count register (i.e. SKIP bit high). If I do that, things don't work at all. I need to write 0.

Any suggestions are more than welcome, I'm kind-off stuck...

gopv's picture
Cypress Employee
20 posts

Hi Ossandust,

Download Example project from the link In the example project you can find bulkloop example. It is the implementation of Endpoints in PORT mode ( manual). You can refer TD_Poll() and TD_Init() function in bulkloop.c.



Log in to post new comments.