I finally got all the information from the camera supplier and filled the 'Image Sensor Configuration' tab in the CX3 MIPI Receiver Configuration.
When I switch to the 'CX3 Receiver Configuration' tab, I get the two following errors :
Min/Max values don't make sense so I don't know how to fix these errors ?
I still tried to use the resulting configuration but I only get black screen.
Any idea how to make this interface work ?
We are upgrading the communication interface of our peripheal from USB2 to USB3 with an FX3 development kit CYUSB3KIT-003.
This peripheal will be connected to a Windows computer.
In our application, the peripheal must receive packets (size below 512Bytes) at the lowest latency possible (<200us).
Is this latency figure achievable with this configuration?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 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
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.
I'm working with Denebola kit, so my question is does the data I'm receiving from OV5640 contains header, does uncompressed YUV2 contain header?
According to the CX3 datasheet, on page 8:
Note: REFCLK and CLKIN must have either separate clock
inputs or if the same source is used, the clock must be passed
through a buffer with two outputs and then connected to the clock
Normally, I design in this clock buffer, but today I tried unsoldering one of the buffers, and shorting across the pads with some wire. Now my CX3 has a single oscillator feeding both the REFCLK and CLKIN pins, with no buffer, and everything seems to work just fine. I'm streaming about 900Mbps of video over USB 3.0, and the 19.2MHz clock waveform looks just fine on the oscilloscope.
Why does the datasheet insist that a buffer is needed. And why does my circuit work just fine without one?
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 want to use the part CYUSB3065-BZXI in one of the project we are facing, however we need to make a USB link up to 5 meters. May I know which is the maximum USB 3.0 distance you can reach with your device?
Thanks in advance and greetings.Show Less