CYUSB3011/3013 and FX3S Devices Not Enumerating with GpifToUsb and AN65974 Example Projects - KBA222488

Version: **

 

Question:

Why is the device designed using CYUSB3011/3013 and FX3S (CYUSB3035/3033/3031) chip not enumerating after loading the GpifToUSb or AN65974 example project?

 

Answer:

The FX3 variants CYUSB3011, CYUSB3013 and FX3S variants CYUSB3035, CYUSB3033 and CYUSB3031 support only 16-bit GPIF interface. Refer the ordering information in the FX3 datasheet and FX3S datasheet for the different variants of the FX3 and FX3S devices. The GPIF II state machine in the GpifToUsb example project is created for a 32-bit interface. Loading the 32-bit example project on a 16-bit chip leads to go to the error handler state, which stops enumeration. Modifying the GPIF project to a 16-bit interface and replacing the 32-bit cyfxgpif2config.h file with the 16-bit cyfxgpif2config.h file solve this issue

 

The same behavior can be seen with AN65974 example project, if CY_FX_SLFIFO_GPIF_16_32BIT_CONF_SELECT Macro is set to 1, 32-bit GPIF interface is configured. Modifying the CY_FX_SLFIFO_GPIF_16_32BIT_CONF_SELECT to 0 will solve this issue.