USB superspeed peripherals Forum Discussions
We are struggling to get the Sony IMX304 to work correctly with the CX3. The basic problem may be that it is simply too fast / too high resolution to be handled by the MIPI interface, but it is also possible that we just aren't setting things correctly! The output of the 304 is a 4 or 8 line LVDS at 594MHz per channel and we use the Lattice XO2 application to convert this to 4 lane MIPI. Unfortunately, the calculation module in the CX3 firmware always gives some invalid figures when we insert the desired frequencies etc. Can you advise if this is a hopeless case, or if there is a way to get it to work?
Thanks!
Terry
Show LessHello, I'm using FX3.
I read there is "CyU3PGpifSMSwitch" API
that can switch GPIF state machine to a state id from 0 to 255.
What happend if state machine is switched to a state not defined in GPIF II designer ?
Show LessI have a program for image capture, which run in superspeed explorer kit (cyusb3014) with a sensor board.
which can run properly, I can see the captured image in PC monitor with an application.
but the image capture will stop after some time, maybe 30 minutes or 50 minutes.
when stop, I can receive some errors from UART, "Error in CyU3PDmaMultiChannelCommitBuffer: code 71".
who can tell me how to solve this program?
Show LessI have a program for image sensor data capture, which can run properly when I download .img to SRAM.
But when I program this .img to I2C EEPROM, which can boot from EEPROM and run. While it run improperly.
maybe USB communication or DMA operation been locked.
Can who tell me why this cause?
I run in superspeed explorer kit (cyusb3014) with a sensor board.
Show LessI am interested in using the CX3 for a new project. The requirements are to stream 640x480 video from an OmniVision OV5640 sensor over USB 2.0 at 15 frames per second. The CX3 appears like it would be a good fit for this application. However, I see the Denebola dev kit for the CX3 has a 4 week lead time. I need something within a couple days.
Is there an alternate source of these dev kits?
If not, is there an alternative dev kit that would get me started before custom hardware boards are available?
And if not, is there an alternative to the CX3, with an available dev kit, that would work for this application?
Thanks...
Show LessHello,
I successfully managed to send a single bitstream of 160KB on I2C.
But the device on the other end is not able to cope with the bitrate, even if my clock is only 100kHz.
Is there a way to insert pauses on this bitstream without adding start/stop condition?
Is it possible to get the source code for the function CyU3PI2cTransmitBytes?
Best regards,
Ludovic
Show LessHello, I'm using FX3 device.
I'm using "USBBulkSourceSinkLED"
and I notice in rows 1004 ... 1011 this code:
/* Request to reset the FX3 device. */
CyU3PUsbAckSetup ();
CyU3PThreadSleep (2000); /* Delay for 2 seconds */
CyU3PConnectState (CyFalse, CyTrue);
CyU3PThreadSleep (1000); /* Delay for 1 second */
CyU3PDeviceReset (CyFalse);
CyU3PThreadSleep (1000); /* Delay for 1 second */
The delays between UsbAckSetup...ConnectState....DeviceReset are mandatory ?
Show LessHi Cypress,
I am using cyusb3014 to transfer image dataflow through UVC, but there is no any image on AMCap.The attached file is dataflow captured by busbound.Is the format of video data wrong? If it's wrong, then what is the correct format?
Thank you!
Show LessHi,
I am developing a custom camera application derived from the UVC example. I don't need to insert the UVC header for my application, so the CPU does not need to be interrupted to modify the Bulk transfer data on DMA commit. I'm trying to get rid of the Callback by using the DMA in AUTO_MANY_TO_ONE. However the host always reports failed Xfers (0 bytes received) unless I alter the data count value(partially corrupted data due to some skipped bytes in between, but at least I get something). I include my DMA Channel and GPIF setup, maybe I'm just doing something stupid or missing something.
<code>
/* Configure the video streaming endpoint. */
endPointConfig.enable = 1;
endPointConfig.epType = CY_U3P_USB_EP_BULK;
endPointConfig.pcktSize = CY_FX_EP_BULK_VIDEO_PKT_SIZE;
endPointConfig.isoPkts = 1;
endPointConfig.burstLen = 16;
endPointConfig.streams = 0;
apiRetStatus = CyU3PSetEpConfig(CY_FX_EP_BULK_VIDEO, &endPointConfig);
/* Create a DMA Manual channel for sending the video data to the USB host. */
dmaMultiConfig.size = CY_FX_UVC_STREAM_BUF_SIZE; // 32kB
dmaMultiConfig.count = CY_FX_UVC_STREAM_BUF_COUNT; // 3
dmaMultiConfig.validSckCount = 2;
dmaMultiConfig.prodSckId[0] = (CyU3PDmaSocketId_t) CY_U3P_PIB_SOCKET_0;
dmaMultiConfig.prodSckId[1] = (CyU3PDmaSocketId_t) CY_U3P_PIB_SOCKET_1;
dmaMultiConfig.consSckId[0] = (CyU3PDmaSocketId_t) (CY_U3P_UIB_SOCKET_CONS_0
| CY_FX_EP_VIDEO_CONS_SOCKET);
dmaMultiConfig.prodAvailCount = 0;
dmaMultiConfig.prodHeader = 0; /* 12 byte UVC header to be added. */
dmaMultiConfig.prodFooter = 0;
/* 4 byte footer to compensate for the 12 byte header. */
dmaMultiConfig.consHeader = 0;
dmaMultiConfig.dmaMode = CY_U3P_DMA_MODE_BYTE;
dmaMultiConfig.notification = CY_U3P_DMA_CB_CONS_EVENT
| CY_U3P_DMA_CB_PROD_EVENT;
dmaMultiConfig.cb = CyFxUvcApplnDmaCallback;
apiRetStatus = CyU3PDmaMultiChannelCreate(&glChHandleUVCStream,
CY_U3P_DMA_TYPE_AUTO_MANY_TO_ONE, &dmaMultiConfig);
/* Start the state machine from the designated start state. */
CyU3PGpifInitDataCounter(0, (CY_FX_UVC_BUF_FULL_SIZE / (BUS_WIDTH / 8)-2),
RELOAD, UP_COUNT, 1);
</code>
Please let me know if I'm doing something horribly wrong, missing something or if you need additional information.
Thanks in advance.
Show LessC++ streamer (EPIN bulk) failed with Altera FPGA writer using a FIFO writing at low clock speed <1MHz and 'slavefifosync' as CYUSB firmware
XferData fails after few 1024KB EPIN Xfer due to HOST non-retry after NRDY condition found on USB traces.
NB : XferData runs OK at high clock speed (100MHz)
See doc attached for detailed description with USB traces taken with LECROY Advisor T3
Show Less