1 Reply Latest reply on Sep 6, 2019 6:24 AM by YashwantK_46

    Using both slave fifo interface and uart interface on FX3


      I want to use both slave fifo interface and uart interface on FX3 Board. The slave fifo interface is used to transfer data from FPGA to PC, and the uart interface is used to transfer command to control my data transfer. The conmmand is from PC to FPGA. So I tried to combine two frimware examples in EZ-USB FX3 SDK. One is Cypress\EZ-USB FX3 SDK\1.3\firmware\slavefifo_examples\slfifosync, the other is Cypress\EZ-USB FX3 SDK\1.3\firmware\serialif_examples\cyfxusbuart. But I meet the same problem like this one discussion mentioned. The link is https://community.cypress.com/message/195158#195158 . My problem is the same as his. I'm stuck in the following:


      If (PID=0x4B4 VID=0x00F1 && CY_U3P_USB_CONFIG_DESCR.wTotalLength=FIFO+UART)

      •   The StreamerExample device does show up in device manager but cannot start (Code 10), invalid parameter was passed to a service or function.
      •   The USB to UART device and associated COM port do not appear in device manager.
      •   The StreamerExample device is not enumerated by USBDeviceList(CyConst.DEVICES_CYUSB).


      The problem may come from the FX3 driver. Like the above discussion. On Windows, what do I need to do to bind the correct drivers so I can access to both the Slave FIFO device/function and the USB to UART COM port at the same time?


      I also tried to modify the EZ-USB FX3 SDK\1.3\driver\bin\Win10\x64\cyusb.inf. But my problem is still unsolved. Maybe I did something wrong somewhere. I need your help and advice.


      I have attached my whole project and the driver file.

        • 1. Re: Using both slave fifo interface and uart interface on FX3



          After you program the device, can you please uninstall and delete the driver bound to the device until the device can't find any drivers to bound to and comes up as two different unknown devices?

          When you re-program the device, you should be able to distinguish two different interfaces ( corresponding to the two interfaces specified in the descriptors) of the device.


          Can you please check the above behavour in windows 7 PC as well?