USB superspeed peripherals Forum Discussions
Hello,
I have modified the project example slfifosync in order to support 8b GPIF (it comes with support for 32 & 16, but not 8 ?!) as described after.
My issue is that it works like a charm (communicate without errors with my FPGA board on all channels) when I compile for 32 or 16 bits but does not for 8bits and it keeps throwing "CYU3P_PIB_ERR_THR0_DIRECTION" errors when I try to transfer data from fpga to usb.
The fpga bitstream and host application are the same for all my 32/16/8 trials, only the firmware slightly differs. Does anyone experienced the same when gpif is 8b ?
These are the modifications I did for supporting 8b in slfifosync example:
cyfxslfifosync.h:
/* Set CY_FX_SLFIFO_GPIF_16_32BIT_CONF_SELECT = 0 for 16 or 8 bit GPIF data bus.
* Set CY_FX_SLFIFO_GPIF_16_32BIT_CONF_SELECT = 1 for 32 bit GPIF data bus.
*/
#define CY_FX_SLFIFO_GPIF_16_32BIT_CONF_SELECT (0)
/* 8/16 bit GPIF Configuration select */
/* Set CY_FX_SLFIFO_GPIF_8_16BIT_CONF_SELECT = 0 for 8 bit GPIF data bus.
* Set CY_FX_SLFIFO_GPIF_8_16BIT_CONF_SELECT = 1 for 16 bit GPIF data bus.
*/
#define CY_FX_SLFIFO_GPIF_8_16BIT_CONF_SELECT (0)
cyfxgpif_syncsf.h:
GPIF II configuration register values.
*/
uint32_t Sync_Slave_Fifo_5Bit_CyFxGpifRegValue[] = {
0x80000380, /* CY_U3P_PIB_GPIF_CONFIG */
#if (CY_FX_SLFIFO_GPIF_16_32BIT_CONF_SELECT == 0)
#if (CY_FX_SLFIFO_GPIF_8_16BIT_CONF_SELECT == 0)
0x00001003, /* CY_U3P_PIB_GPIF_BUS_CONFIG */
#else
0x000010A7, /* CY_U3P_PIB_GPIF_BUS_CONFIG */
#endif
#else
0x000010AC, /* CY_U3P_PIB_GPIF_BUS_CONFIG */
#endif
Thanks
Show LessHi
We made custom board with CYUSB3065-BZXC controller and used "W25Q80EW" flash for SPI boot support. Our board is functional at 1.8V I/O level and we are not able to boot over SPI flash now.
For reference we checked the same in Cypress EZ-USB CX3 MIPI CSI-2 to SuperSpeed USB controller RDK with hardware modification for 1.8V I/O and External SPI flash(W25Q80EW). But we are facing same issue in RDK also. However the SPI boot works fine at 3.3V level.
Any body has faced issue in CX3 SPI booting at 1.8V level ?
Kindly help.
Regards
Pandiyarajan
Show Lesshello,everyone,
I use fpga to generate 8 bit random data,and I want to use FX3 to transfer the data to the computer,and I changed the example "continuous_read.cydsn" to 8 bit ,clock to "external",it was provided by fpga,and then when I use the "streamer" it always shows increasing failures and no success?why? Can I use the cyfxgpiftousb?
Show LessI was planning to make a composite device for simultaneously supporting image acquisition and virtual serial port. But, adding CDC_DEBUG part although,the device could only work at UVC mode.I found that the Virtual COM enumeration was unsuccessful. (Modified code has been attached)
If you have the experience like this case, please help to analyze.
Show LessI mask the I2C setting and init in the An75779 demo code. compile , download in the Fx3 board. find the urb is sent(attch map)by hushound tool 。Can you give me some suggestion about the URB.
Rmark: my solution :two cmos sensor + fpga + cyusb3014. FPGA simulated the cmos sensor data in the test. So I
don't use the I2C 。in fact ,the cmos sensor setting is done by FPGA,no FX3。
Show LessCan the FX3 handle a UVC set-up for an 8-bit camera interface and at the same time have a FIFO implementation to download/upload 16-bit configuration data or control data? Also, to add further workload, have a UART interface as well...?
How would the PC end cope with the FIFO, would it require a dedicated user application or is there a Windows style application?
Shaun
Show LessI've got an image sensor connected to an FX3 device using the AN75779 application note. I've modified the firmware to transfer RAW data instead of UVC. I have an application to receive the data in RAW form. My trouble is the DMA callback is only happening 9 times, and it's very consistent. Never more or less. Should be about 23 times. I'm confident my Image sensor is working correctly and setup correctly. After the 9 callbacks it will never go back unless I restart the firmware again from the beginning. Currently, I'm only trying to capture one frame, for testing and have a breakpoint in the GPIF interrupt callback (triggered by !FV in state machine) then check how many callbacks occurred by having a variable increment in the callback. Is there something I need to do to reset DMA? Could it be that there is an error on the PC side and the FX3 is waiting for something from the PC the I'm missing?
As another note I'm using bulk transfer.
Thanks a ton for any help that can be provided!
Brandon
Show LessHello everybody
I'm trying to combine the two example projects "USBBulkLoopAuto" and "MouseDemo" but I don't get it running. It is the first time I try to do something with USB and probably struggle with some basic problems.
What I did so far:
- Copied the "USBBulkLoopAuto" Project and renamed it.
- Changed the USB descriptor file where I added the HID (not sure if I did this the right way, file is in the appendix)
- Changed the file names in the Makefile
- Added a single .c and .h file for each interface (cyfx_thread_bulkloop.c, cyfx_thread_bulkloop.h, cyfx_thread_hid.c and cyfx_thread_hid.h)
- made a thread for the bulk loop in "cyfx_thread_bulkloop.c" and a thread for the HID in "cyfx_thread_hid.c" and added the code from the examples.
- Created a main.c file where I put everything in it where I think is shared by both interfaces.
- Merged the functions (probably merged wrong)
- CyFxApplicationDefine calles both threads
- CyFxApplnInit is placed in the main file to set the enumeration descriptor for both interfaces
- CyFxApplnLPMRqtCB, CyFxApplnUSBEventCB, CyFxApplnUSBSetupCB are placed in the main.c but not sure what I have to do actually to combine the functions for both interfaces (To be honest, I don't really understand these functions).
I'm able to build the project without errors, but when I load it on the FX3, I get no device in the Cypress Control Center.
Could someone please help me to get this running or is there already an example with two combined interfaces? I searched but didn't find anything which gave me enough information.
Thank for every hint to get closer to a working solution.
Kind regards,
Dominic
Show LessHi,
I'm trying to test the USB3 technology with the Superspeed Explorer Kit (CYUSB3KIT-003), the FMC interconnect board(CYUSB3ACC-005) and the xilinx kintex developement kit KC705.
I was able to run the the default streaming example in stand alone (only the CYUSBkit) without issue.
I was also able to to run the AN65974/SF_loopback.img example in the FX3 and my code in the xilinx FPGA.
However, if i try any other file at the same location the test failed (BULK IN transfer failed with Error Code:997)
I would like to know why?
I also did try to recompile myself the FX3 FW.
I builded in release the slfifosync example found there "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\slavefifo_examples"
The Stream In work in Control center but the throughtput in Streamer.exe is very slow(32000KB/s) or have error depending on the packets and Xfer configuration.
When i do recompile the same code in 32 bit mode CY_FX_SLFIFO_GPIF_16_32BIT_CONF_SELECT(1) and program the FX3 in RAM after a reset with the KC705 at off, the device won't enumerate in control center. So there is no way I can test a streamer program in my FPGA with a 32 bits interface.
Anyone know how to fix those issues?
Thanks
JeanAlexis
Show Lesshello, I am new to usb_fx3,now I have an adc control by spi, so I wonder if usb_fx3 can finish the job?In other words,if I can use spi of fx3 to control the adc? If it can ,how to do ? which firmware I should read?
thanks!
Show Less