CyU3PGpifSocketConfigure() burst parameter at 100 MHz

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

cross mob
Anonymous
Not applicable

After updating to SDK 1.1.1  my FX3 application stopped working. Now I figured out that this was because I set the "burst" parameter in CyU3PGpifSocketConfigure() to 0. The description for this parameter is rather interesting:

   

 

   

"Logarithm (to the base 2) of the burst size for this socket.
The burst size is the minimum number of words of data that will
be sourced/sinked across the GPIF interface without further
updates of the GPIF DMA flags. The device connected to FX3 is
expected to complete a burst that it has started regardless of any
flag changes in between. Please note that this has to be set to
a non-zero value (burst size is greater than one), when the GPIF
is being configured with a 32-bit data bus and functioning at
100 MHz."

   

 

   

As I am running the interface a 100 MHz and 32 Bit, this is affecting me. But does it also apply if I run the interfaceat at 95 MHz? Up to now I had the upstream data transfer stalling from time to time with certain USB host controllers. Can this be the reason? And if I understand correctly, I now need to adjust the FPGA logic, so that it ignores the flags during a burst packet? Does it mean that during a burst read or write the flags may become invalid?

   

If this parameter has to be non-zero, it means that the smallest burst size will be 2^1 = 2?.

   

 

   

It think Cypress should provide more detailled information on this as I did not find any mention of this in the slave fifo application note.

   

 

   

-Silvio

0 Likes
4 Replies