I noticed the FX3 USB Video Class Example does not work when plugged into a USB 3.0 port, but does on a USB 2.0 port. I use VLC Media Player to open the FX3 as a video capture device. On a 2.0 port, I see the image flipping between the two frames in the program. On a 3.0 port, the first frame comes up and then it seems the video stream stops. Using wireshark, I see the streaming stops after only a few transfers.
Any idea what the issue is? This example is currently unmodified. I would like to use this program for use with another USB 3.0 video streaming application. A fix to this issue would be great.
This question is further to: Does the CX3 really need a clock buffer?
What are the drive requirements for the REFCLK and CLKIN pins on the CX3? If I want to select an oscillator to drive them, I need to know the input current and capacitance of these pins The datasheet and TRM don't seem to give this information.
Is this information available somewhere?Show Less
Hello I'm using FX3, for debug purpose I'm using Tera Term, to see data sent from FX3, for basic start , I tried to print "Hello world" but all I got is messy data. what's the problem?
and serial port settings
Thank you.Show Less
I'm using CX3(CYUSB3065).
When test using Stremer Program, the USB hub Operates normally.
But Fail occurs when connecting directly to PC.
How can I fix the problem?
I am trying develop an UVC application with the FX3 board(CYUSB3KIT). I am using as a base the AN75779 document and the UVC_AN75779 example project. I needed to modify the project, based on the FX3 Technical reference guide. I had to add some simple GPIO and one complex GPIO for a clock signal. The documentation says i had to bitmasking the gpios(like in the cyfxgpiocomplexapp and the cyfxgpioapp example projects), but if i masked them the board not even enumerate. I could successfully setup the simple gpio pins if i did not masking them, but initialize them with override in the "CyFxUVCApplnInit" thread. But for the complex gpio pin i was not able to use this method. Can you help what can be the problem?Show Less
UVC: Completed 0 frames and 0 buffers
DMA Reset Event: Frame timer overflow, time period = 400
Application Stopped after 30 Commit buffer failures
I have a manual single DMA channel which is dealing with multiple small packets, one at a time. After committing the buffer, the data arrives at the host just fine.
However, I cannot start a new DMA transfer because the previous one is ACTIVE indefinitely.
The setup is:
dmaCfg.size = 96; // Multiple of 32 required
dmaCfg.count = 192; // 256 seems to crash? Not sure why, should be plenty of memory?
dmaCfg.prodSckId = CY_U3P_PIB_SOCKET_0;
dmaCfg.consSckId = CY_U3P_UIB_SOCKET_CONS_1
dmaCfg.dmaMode = CY_U3P_DMA_MODE_BYTE;
dmaCfg.prodHeader = 16; // Multiple of 16 required
dmaCfg.notification = 0xffff; // I'll take anything
dmaCfg.cb = funcCallback;
CyU3PDmaChannelCreate(&handle, CY_U3P_DMA_TYPE_MANUAL, &dmaCfg);
In my callback, I get a CY_U3P_DMA_CB_PROD_EVENT:
CyU3PDmaChannelGetBuffer(&handle, &bufp, CYU3P_NO_WAIT);
CyU3PMemCopy(bufp.buffer - 16, &header, 16);
CyU3PDmaChannelCommitBuffer(&handle, bufp.count + 16, 0);
CyU3PEventSet(&glEvents, PROD_COMPLETE_EVENT, CYU3P_EVENT_OR);
Then, in my event handler, I try to queue up my next packet by waiting for the transfer to complete.
But it never completes. The state is ACTIVE forever.
Is there a better way to handle multiple manual transfers? I'm sure I could completely reset & abort, but that seems like overkill.
Hi Cypress Team,
The question is about the GPIF-to-USB Performance on an AUTO DMA Channel section in the AN86947 - Optimizing USB 3.0 Throughput with EZ-USB® FX3 document.
I found it very helpful to verify the transfer throughputs results from the different configurations. However, on my end, I'm currently working with a board that has a GPIF II 16-bits data and the results from the document are from a GPIF II 32-bits.
I was wondering if I can just use the results and divide them by 2 to adapt them to my 16-bits GPIF II.
I am using the Streamer Application from SDK1.3.4 with the SuperSpeed Explorer Kit. When I plug the setup into a USB3 port that is part of the motherboard, all is fine and I can get transfers approximately 4.3Gbps. There are no failures. I am just using the default settings that the Streamer Application starts with. All looks good and is okay.
However, when I try to use a RocketU 1244A USB3 add-in card with the default settings, I get approximately 200 Successes and then it just keeps failing. The transfer rate just decreases to 0 if I let it run over time. After the initial successes, everything is failure.
The settings are BULK IN, packets per xfer=32, xfers to queue=16. Which is the default.
After trying numerous different things, it appears that the 1244A card cannot queue up any more than one DeviceIoControl() buffer at a time? Other cards, in addition to the motherboard usb ports, appear to allow queuing up multiple buffers simultaneously via DeviceIoControl().
If I make the packets per xfer=1 and xfers to queue=1 in the Streamer Application with the 1244A card, I can get no failures but the transfer rate is 0.043Gbps (much slower). Are you aware of any limitations in using DeviceIoControl() with the 1244A USB3 PCIe card?
Hi, I'm Jay.
The question below has ended, so I'm posting the question again like this.
1. As the message is not working with the default SDK provided firmware also, could you tell me how the uart is connected to the PC?
- I use to connect USB 3.0 cable or USB2.0.
- As shown in the picture below, connect it directly to the PC.
- There is using 32bit set mode, but It occurred same problem from 16bit set mode.
2. Could you try using different cables and check if the issue is seen there also?
- There are same problems from USB 2.0 cable and usb 3.0 cable. It receive the same broken data to connect from various cables.
3. Could you also try using different PC and see if the issue persists.
- I used to another PC's, then It occurred same situations(received broken data).
4. Check the last point in the given KBA : https://community.infineon.com/t5/Knowledge-Base-Articles/FX3-CyU3PDebugPrint-Not-Printing-UART-Debu.... Also compare your schematics with AN70707 schematic checklist.
- This check list are usb setup configurations setup from 16bit or 32bit. and My test board operates normally.
- But Broken data continues to enter intermittently, causing problems.
- Please advise if this problem can occur in software or hardware regarding data breakage.
We've tried so many software attempts, and we can't find a clear answer to this intermittent data breaking problems.
Please help me as much as possible.
I wonder if Cypress can confirm that there is no software problem.
If you are confident that there is no SW problem, it will be a hardware problem and redesign the hardware.
Thank you.Show Less