4 Replies Latest reply on Aug 2, 2012 7:07 AM by userc_40979

    CyU3PGpifSocketConfigure() burst parameter at 100 MHz

      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.