cancel
Showing results for 
Search instead for 
Did you mean: 

USB Low-Full-High Speed Peripherals

Anonymous
Not applicable

Hi,

   

 

   

I'm working on a design involving a DDS which needs a high speed interface to a PC. The cy7c68013a seemed suitable. I'd like to achieve the highest possible throughput from Host -> FX2LP -> DDS by continuously keeping the FIFO filled.

   

However, I can't find any information on how to set-up the GPIF in such a way that it will automatically start a transaction whenever there is data available in the FIFO. Whever a transaction has finished, and the GPIF is idle again, a new bulk transfer does not automatically initiate a new transfer out of the GPIF; I seem to need to re-initiate a new transfer each time. The only way I have gotten the chip to continuously transmit is to never let the GPIF go idle, but this means it's also transmitting zeroes, when the FIFO is empty.

   

Is there something I'm missing?

   

Any help will be highly appreciated!

   

Thanks in advance.

   

Regards,

   

 Tom

0 Likes
Reply
1 Solution
Moderator
Moderator

Hello Tom,

After iterating through the states, the state machine finally reaches the IDLE state. The firmware can be implemented to check if the GPIF state machine is in the IDLE state and if data is present in the FIFO. In case data is available, the GPIF can be triggered again. This check can be performed in the TD_Poll() function block so that it is repeated continuously. Kindly, refer to the master mode firmware from the below App Note.

http://www.cypress.com/documentation/application-notes/an63787-ez-usb-fx2lp-gpif-and-slave-fifo-conf...

Best regards,

Srinath S

View solution in original post

0 Likes
Reply
1 Reply
Moderator
Moderator

Hello Tom,

After iterating through the states, the state machine finally reaches the IDLE state. The firmware can be implemented to check if the GPIF state machine is in the IDLE state and if data is present in the FIFO. In case data is available, the GPIF can be triggered again. This check can be performed in the TD_Poll() function block so that it is repeated continuously. Kindly, refer to the master mode firmware from the below App Note.

http://www.cypress.com/documentation/application-notes/an63787-ez-usb-fx2lp-gpif-and-slave-fifo-conf...

Best regards,

Srinath S

View solution in original post

0 Likes
Reply