USB superspeed peripherals Forum Discussions
Hello,
I wanna make data flow like below.
===============================
FPGA--------------> FX3 ------------> USB
Slave FIFO UVC
===============================
- 32-bit Slave FIFO interface
- 3264*2448 pixel resolution
- 16 frames per second
reference urls: FX3-UVC: 1080P@60 fps,YUY2
- I refered "Memo_UVC_with_SlaveFifo_Interface" that I include files
reference documents : AN75779 , AN65974
I understand I need to notify the FX3 when a frame starts and ends in order to generate the UVC header.
please let me know how to make the header structure.
Thanks you very much.
Best Regard
TaeYoung Lee
Show LessIn "001-87216_AN87216_Designing_a_GPIF_II_Master_Interface.pdf", chapter 8 Hardware Connections, it says "The GPIF II master design is tested using a second FX3 DVK board programmed to act as the synchronous slave interface. Interface connections between two FX3 chips are shown in Figure 25".
Where to find the exactly two Eclipse firmware projects for the master and the slave in this test? Are they in the SDK firmware samples? Seems not.
Show LessHi
Customer is asking how to set the application circuit using CYPD3196-24LDXS with DCDC-converter.
DCDC has FB terminal need to be connected to FB pin of CYPD3196. And pullup-R must be 200K Ohm.
Regarding pulldown-R must be set to meet VBUS=5V inspite of the FB pin voltage on DCDC.
Is this understanding to set VBUS voltage as 5V correct w/o any problems ?
And VBUS=5V could not bet set by independently by DCDC itself. It should be set by the boith DCDC and CYPD3196.
Is this understanding also correct ?
In the meantime, setting of VBUS=5V is not completed by only DCDC IC.
Ciorrect ?
Regards,
Nino
CYUSB301X is in 32bit mode.
The questions about the interface that is supported in 32bit mode.
Is it possible to use GPIO53 ~ GPIO56 SPI mode in 32bit mode?
And is it possible to use GPIO50 ~ GPIO52 GPIO mode in 32bit mode?
Or it is set to only accept 32bit mode? (Only use to GPIO50 ~ GPIO52 : I2S / GPIO53 ~ GPIO56 : SPI)
I would like to check the GPIO dependence in 32bit mode.
Show Less
Hi,
I'm using Cypress FX3 DVK in my design and CyUSB DLLs are used for USB communication.
For sending data from host to device bulk out transfer will be used and bulk in for receive data to the host.
some times bulk in transfer returns empty buffer. When I check for USB logger bulk out command is sent out and the respective bulk in data also received as a valid buffer all the time but in my application layer, I am getting as an empty buffer. If some delay is added between write and read function I am getting data properly to the application but it is not consistent. The below image is the sample code let me know if I'm missing something.
Show Less
Hello everyone,
i have two questions regarding the application examples for the Cypress FX3S.
The first question is for the FX3SMassStorage example, CyFxMscApplnSibCB function:
In the same function, two kind of errors are managed by resetting the DMA Channels. But glCmdDirection is used to reset different channels:
First case:
if (evt == CY_U3P_SIB_EVENT_XFER_CPLT)
{
if (status != CY_U3P_SUCCESS)
{
glMscCmdStatus = 1;
glSensePtr[portId] = CY_FX_MSC_SENSE_CRC_ERROR;
/* Transfer has failed. Reset the DMA channel. */
if (glCmdDirection)
{
CyU3PDmaSocketGetConfig ((uint16_t)(CY_U3P_UIB_SOCKET_CONS_0 | CY_FX_MSC_EP_BULK_IN_SOCKET),
&sockConf);
glMscResidue -= sockConf.xferCount;
CyU3PDmaChannelReset (&glChHandleMscIn); // <-- resets the bulk_in channel
}
else
{
CyU3PDmaSocketGetConfig ((uint16_t)(CY_U3P_UIB_SOCKET_PROD_0 + CY_FX_MSC_EP_BULK_OUT_SOCKET),
&sockConf);
glMscResidue -= sockConf.xferCount;
CyU3PDmaChannelReset (&glChHandleMscOut); // <-- resets the bulk_out channel
}
}
}
Second case:
if ((evt == CY_U3P_SIB_EVENT_DATA_ERROR) || (evt == CY_U3P_SIB_EVENT_ABORT))
{
/* Transfer has failed. Reset the DMA channel. */
if (glCmdDirection)
{
CyU3PDmaChannelReset ((CyU3PDmaChannel *) &glChHandleMscOut); // <-- resets the bulk_out channel
}
else
{
CyU3PDmaChannelReset ((CyU3PDmaChannel *) &glChHandleMscIn); // <-- resets the bulk_in channel
}
/* Make sure the request is aborted and that the controller is reset. */
CyU3PSibAbortRequest (portId);
}
Why is it different?
---------------
Second question, regarding the RAID1 application note example (AN89661):
Analyzing the content of the CyFxMscApplnSibCB function, I have found different behavior on error conditions:
if (evt == CY_U3P_SIB_EVENT_XFER_CPLT) {
glSPortPending &= ~(1 << portId);
if (status != CY_U3P_SUCCESS) {
...
/* Transfer has failed. Reset the DMA channel. */
if (glCmdDirection) {
CyU3PDmaSocketGetConfig((uint16_t)(CY_U3P_UIB_SOCKET_CONS_0 | CY_FX_MSC_EP_BULK_IN_SOCKET), &sockConf);
glMscResidue -= sockConf.xferCount;
if (glRaidMultiChannelValid)
CyU3PDmaMultiChannelReset((CyU3PDmaMultiChannel *)&glChHandleUSBOut);
else
CyU3PDmaChannelReset(&glChHandleWrErrIn);
} else {
CyU3PDmaSocketGetConfig((uint16_t)(CY_U3P_UIB_SOCKET_PROD_0 + CY_FX_MSC_EP_BULK_OUT_SOCKET), &sockConf);
glMscResidue -= sockConf.xferCount;
CyU3PDmaMultiChannelReset(&glChHandleUSBOut);
}
}
Regardless of glCmdDirection, the glChHandleUSBOut is reset. This example differs from FX3SMassStorage (the first code excerpt). Could this be a bug?
I hope this post is clear enough. Thanks in advance for you time!
Salvatore.
How do you change which GPIO pins are connected on the Databus in GPIF II. I have created a custom board based on the EZ-USB FX3 720p Camera Kit. (http://www.cypress.com/documentation/development-kitsboards/ez-usb-fx3-hd-720p-camera-kit) I've used the same connections on my custom camera boards as does the Camera Kit. (FV, LV, PIXCLK, etc) In the Camera Kit, the board does not use GPIO0:7 for the Databus, it uses GPIO8 - GPIO15 for D0-D7. How do you map this in GPIF II, or do you need to do something in the firmware to remap?
Any help would be greatly appreciated!
Brandon
Show LessHello,
I am using streamer application to transfer data from P-Port to S0-Port.But problem is that all the data transfers are failing even though I am getting PROD events.
Regards,
Sai Kumar.
Show LessHello All,
I'm using Ez-USB suite V1.3.4.
In the attached Properties window, if I Change
configuration: Debug[active] to --> profile release / Release and
optimization level : None(-O0) to--> any other option n drop down.
Will these configurations break anything, Is it recommended to alter these changes ?
I need to optimize my code, now even if I add a single function with a single switch case and with one/two variables code size is increasing more than 2k which is unexpected. At present my code size is 167k.
So If I alter the above said options will it affect anything?
How(in what way) and where are these option will be used?
What are the recommended settings for compiler to optimize the code size?
Thanks and Regards,
Pranay.
Show Less