4 Replies Latest reply on Aug 2, 2012 7:07 AM by christian.richter

    CyU3PGpifSocketConfigure() burst parameter at 100 MHz

    silvio.ziegler

      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