USB superspeed peripherals Forum Discussions
I am using 32bits slave FIFO sychronous mode. I need to send 8KB data to PC, and I divided them into 16 packets, each packet is 128*32bits (512B), at the end of each packet, there is a packet_end signal. The endpoint buffer size was set to 1024B and I keep monitoring the full flag to make sure there is no overflow. However, I can not receive the whole 8KB data in the USB control center. Instead I only got 2342~2396B, each time different. Can anybody tell me what may be the proper problem? I am sure FPGA has write the data into CYUSB3014, and there is no overflow.
Show LessI am now working with the FX3 for quite some time and while there are a lot of good things to say about, I see one big problem that continues to bugger me during the whole development.
This problem is the tendency of the FX3 to crash whenever something goes wrong with the host reading data from the slave fifo interface. As discussed in this forum before, if you request less or more bytes with the XferData() function that there are actually available in the input buffer, the upstream link stalls and seems to recover only with a hardware reset of the FX3. While I am taking extra care to avoid such conditions, in real applications we will always have situations where the requested bytes are not matching with the ones available in the buffer.
I have now encountered another problem that is likely to be related to the above topic. I have an application that is reading data from the slave fifo with maximum performance using overlapped data transfers. At the same time, small amounts of data are written to the slave fifo interface to send memory read requests to the FPGA. In this configuration I can reach more than 300 MB/s upstream performance. I have tested this using an ASmedia controller that is integrated on a mainboard and a Renesas/Nec 720700 PCIe host controller. In both setups, everything seems to work fine and data is transferred without problems for hours or even days. I have now tested the same application using a Lenovo T420s laptop with an on-board 720700 host controller and the latest driver software. The performance is nearly the same but after 10…60 minutes no data can be read anymore and the FX3 upstream link stalls until a hardware reset on the FX3 is carried out. On the slave fifo interface I can see that FLAGB indicates buffer full, so data should be available.
I have attached a JTAG debugger and found that the FX3 operating system is still working. In fact I am using auto DMA transfer mode and therefore I can even stop the application running on the FX3 and my demo application can still work. Therefore I suspect that the DMA engine in the FX3 gets stuck. At this point I am wondering if there are some different software settings for the FX3 I could try or if there is a problem with the NEC host controller working with the FX3 chip.
Show LessI need to verify the operation of my code running USB2. Whats the easiest way to force my client to boot in USB2 HS mode, even when connected to a USB3 host?
Ken
Show LessHow would I modify a GPIF 2 Slave FIFO implementation to include an additional flag? I would like 3 flags but the precanned implemenation only provide 2.
Show LessHi
I have a problem wih the CYUSB3014-BZX. it does not enumerate (windows does not detect a usb device) when the rising edge of the +5V supply is in bad shape. I have to do a hard reset. I try to hold the reset pin for 200ms while the +5V is unstable without succes (respecting the reset sequence in the datasheet). We sometime have this problem on the CYUSB3014-BZX evaluation board. What is the correct reset sequence?
Thanks.
Show LessDoes FX3 support LPM power managment for USB2 traffic as defined in the USB Addendmum and 9.6.2.1 of the USB3 spec If so, do I just need to set this up in hte descriptor and will the FX3 device use it?
Ken
Show LessMy Gpif (16 Bit and only SPI) and the Firmware running fine, as long I do not Using Bit 8 an higher.
If there is any Change on these Bits above, (Debugger is running), any thing from "USB RESET" or "UNKWON SETUP" Requests in various ways is happen.
Sometimes the FX3 make a full Reset (so I can Reload it in Control Center). I build 3 Boards, and all do the same, but in different manner.
Any Help ?
Best Regards
Ralf
Show LessI have some problem.
In order to load Firmware, I work as below.
1. Connect FX3 device. -> It displayed "WestBridge" at [Device Manager]
2. Install CYUSB driver.
3. Load Firmware. -> After loading FW, CYUSB driver is re-installed. (I don't know why re-installation the drvier)
Question.
- Why CYUSB driver was re-installed after loading FW?? [VID and PID is not changed.]
Please help me, if you know the solution about this.
Show LessHi everyone,
Pin 44 of the Samtec expansion connector for the P-port is p_gpio[16] and used as the default synchronous clock for the GPIF II interface. I was able to measure and confirm this output while modifying the "SlaveFifoAsync" example (adjusted to a 100 MHz output) with the following part of code:
#include "cyu3pib.h"
//---------------------------
CyU3PPibClock_t pibClock;
CyU3PReturnStatus_t apiRetStatus = CY_U3P_SUCCESS;
/* Initialize the p-port block. */
pibClock.clkDiv = 4;
pibClock.clkSrc = CY_U3P_SYS_CLK;
pibClock.isHalfDiv = CyFalse;
/* Disable DLL for sync GPIF */
pibClock.isDllEnable = CyFalse;
apiRetStatus = CyU3PPibInit(CyTrue, &pibClock);
I am now working on GPIO manipulation and have been using the "GpioApp" example as a starting point. However I am not able to get the PCLK to output the same signal I was getting before... it isn't outputting anything at all. I noticed that the "GpioApp" example uses a "gpioClock" and calls the "CyU3PGpioInit" API. Are these configurations somehow interfering with eachother?
Show LessHello,
i set up my slavefifo app (BULK_IN )as CY_U3P_DMA_TYPE_AUTO_SIGNAL (for debugging).
I can produce an error condition on my GPIF and after that the CyFxSlFifoPtoUDmaCallback() is
not called anymore.
The only way to recover from this, is CyU3PDeviceReset().
But I do not want CyU3PDeviceReset(), because it forces a reload on the PC.
What can cause CyFxSlFifoPtoUDmaCallback() to stop working?
How can I see the relating error messages?
Best regards
g.
Show Less