USB superspeed peripherals Forum Discussions
Hello. I'm using Cypress EZ-USB FX3.
I want to increase the frame rate of the fx3 to 120 hz. I changed the descriptors of the example USBVideoClassBulk, what else do I have to change. Actually I get 15 hz with this example, so more than that would be an achievement.
I guess there have to do some changes in cyu3dma.h, right?
I also tried to compare to Fx2g2UvcDemo, an old FX2 Example, which at least transfers with 30 hz.
But I cant find the differences in the GPIF/DMA settings between these both examples.
Can you help me, please? Thank you.
Hi,
I've created a waveform which includes 2 wait states (simple delays, using repeat count). By looking at the generated configuration file, I've seen that the REPEAT_COUNT field is changed for the states which are connected to the wait states but no in the wait states. I expected to find the REPEAT_COUNT field set only in these states (from the FX3 TRM, it's defined as 'Number of times to stay in this state -1', so if I want to stay in the wait state, the REPEAT_COUNT field should be set only for the required states, not for the state which jump to this wait state).
Here is a snippet of the transition code generated. As you can see, the states affected are states 1, 3 and 5, where I expected states 2 & 4 being changed. I've attached the project file.
My main question is : Is it normal ? If so, then I will make my code to work in this way, if not, then there might be a bug in GPIF designer.
#define START_WAITSTATES 0
#define DMAWAIT_WAITSTATES 1
#define WAITSTATE_S0_WAITSTATES 2
#define READDATA_S0_WAITSTATES 3
#define WAITSTATE_S1_WAITSTATES 4
#define READDATA_S1_WAITSTATES 5
CyU3PGpifWaveData CyFxGpifWavedata_WaitStatesConfig[] = {
{{0x1E739A01,0x00000000,0x80000000},{0x00000000,0x00000000,0x00000000}},
{{0x2E739C02,0x00000100,0x80400000},{0x00000000,0x00000000,0x00000000}},
{{0x1E739A03,0x20000006,0x80000100},{0x00000000,0x00000000,0x00000000}},
{{0x2E739C02,0x00000100,0x80400000},{0x2E739C04,0x00000100,0x81400000}},
{{0x1E739A05,0x24000006,0x80000100},{0x00000000,0x00000000,0x00000000}},
{{0x2E739C04,0x00000100,0x81400000},{0x2E739C02,0x00000100,0x80400000}}
};
Regards, Jerome
Show Lesshi,everyone,
I am using FX3 cy3014 to develop a data transmission device. The firmware used is AN65974 salvefifo mode.
But I found that when I sent 1024B data using Control Center, the FLAGC(Empty flag dedicated to thread3) was high. Until I had sent 16KB data (DMA buffersize is 16KB) it became low. When I sent 1023B or any other ,the FLAGC became low immediately. Why I can not send 1024KB data ?
Another problem , when I sent 256B data by FPGA to fx3 using short packet, The Control Center couldn't read data till timeout. But I sent 255B data ,the Control Center could read back immediately, Why ?
Thanks very much.
regards,
hujianhua.
Show LessHi I have a USB 3.0 host to host cable, and I'd like to know how I can get the host-to-host example working? CyUSB can't seem to enumerate any devices when I run 07_bulkreader or 07_bulkwriter in cyusb_linux_1.0.4/src/. I also don't see the any enumerated devices mentioned in the source code itself.
I've connected the cable in a loopback configuration to itself, but it doesn't seem to work.
Do I need an FX3 connected somehow?
Thanks,
Show LessHello,
I'm a little bit confused as to how to access string descriptors after they've been set. In the application that I'm coding for, several string descriptors are initialized with default values. However, after initialization, the firmware queries an on-board EEPROM and changes the string descriptors based upon the values loaded in the EEPROM. The firmware also has the ability to modify the contents of the EEPROM, which then requires the string descriptors to be refreshed. I utilize the CyU3PUsbSetDesc function to set the string descriptors, but I don't see a listing in the API guide for a similar 'Get' function. There is CyU3PUsbGetDevProperty, but I can't find any examples in the SDK that use this function, so I'm not sure it's relevant (side question: how does this function work and what would it be used for?). In some of the examples, if a descriptor is requested, the requisite array that was used to initialize the descriptor is returned. However, if the 'Set' function fails, this value will not have been initialized in memory. The other alternative I've seen is CyFx3BootUsbGetDesc. Are these pointer values still valid, i.e. can I call this function even after the RTOS is up and running and get the right values?
Thanks!
Show LessHello.
I need to get a board status data that pre-defined in my project. I think the best way is using Read function in bCyControlEndPoint class by Host side. but I can't find example code coresponding to the Read function by Device side(FX3).
Can you provide a example code using Control Endpoint by device side??
Thank you.
Regards.
Show LessHello!
I meet some problems about building the firmware example "USBVideoClass" in AN75779.zip,which is download from http://china.cypress.com/?rID=62824
I just down load it,then import it into EZ USB suite and build,without making any changes.
THe attchment show details of these problems.
THank you!
Show LessHello!
I meet some problems about building the firmware example "USBVideoClass" in AN75779.zip,which is download from http://china.cypress.com/?rID=62824
I just down load it,then import it into EZ USB suite and build,without making any changes.
THe attchment show details of these problems.
THank you!
Show LessHello.
I design a USB system using FX3s chip. I need 32KB DMA buffer for USB control, and need more 32KB DMA buffer for SD card Control. but there are no allocated both memory. CyU3PDmaChannelCreate function returned a Error with number 16 meaned CY_U3P_ERROR_MEMORY_ERROR.
I think system has limit memory 32KB for DMA buffer.
according to default application memory map in cyfxtx.c, buffer area size is 224KB. Can I use whole buffer region for DMA buffer??
Thank you
Regards
Show Less