USB superspeed peripherals Forum Discussions
text.format{('custom.tabs.no.results')}
before the computer sleep ,the video stream is normal ,the mannul_force the computer into sleep ,then wake up the computer ,the video steam is stop ,the following is the log of bushound:
20.1 USTS c0007000 no device 75us 1.1.0(170M)
then i press the "reset device "button in the upload picture ,then the video stream continue.
so i can't find the reason .hope answers.
Show LessHi.
I wanted to try to program the FX3 CYUSB3KIT-001 using example from Quick Start Guide. I followed all the steps and after successful programming I do not have Cypress USB StreamerExample in device manager and the Streamer does not see it too.
If someone could help me i would be grateful.
edit. USB 2.0 works fine, it's the problem with 3.0
Show LessHi,
I used CYUSB3KIT-003 board in one my designs , it has an amplifier to amplify the antenna analog signal , an ADC to convert the signal to digital and an FPGA for managing data and send it to PC through
CYUSB3KIT-003 board. my board and CYUSB3KIT-003 board connected through the two 2x20 connector (headers on usb3kit and pins on fpga board part). i send fpga managed data with a 100 MHz Clock (i use the asynchronous FIFO example provided in the package ) and with the rate of 260 MBytes/s.
now , the problem is that the long tracks that connects fpga outputs to the cypress usb3 chip on the CYUSB3KIT-003 (and of course the connectors) generate a huge amount of noise, and even without any amplification you can see the noise generated by the CYUSB3KIT-003 board input digital signals on the data captured by the ADC , very clearly (they have the amplitude of more than tens of milivolts ).
My question is that how i can get rid of them? (preferably without having to design a new board with the usb3 chip mounting on it )
can i resolve the problem and also use the CYUSB3KIT-003 board in the design ?
Hi,
we recently switch from SDK Version 1.3.1 to 1.3.3 and found that our FX3 USB Device Application when connected at USB High Speed, each call to CyU3PUsbSendEP0Data() takes 20 ms which previously took well below 1 ms.
The device has two IN Data Endpoints (one Isochronous and one Interrupt) and we traced the problem down to a modification in the implementation of CyU3PUsbSendEP0Data() which now makes a call to CyU3PUsbSuspendInEpChannels (), which tries to suspend all IN Endpoints before doing the DMA for Endpoint 0.
It seems the call to CyU3PDmaChannelSuspendUsbConsumer() with waitOption set to 10 always needs 10 ms to complete.
What can be done to prevent this problem? Is it really necessary to suspend Interrupt and Isochronous IN Endpoints while doing EP0 data transfers?
The Cypress EZ-USB FX3 SDK Release Notes Version 1.3.3 mentions one point:
Implemented a firmware solution to prevent data corruption due to concurrent BULK-IN and Control-IN transfers on a Hi-Speed link.while the 1.3.3 firmware implementation in cyu3usb.c and cyu3channel.c suspends ALL IN endpoints, not just BULK.
Which kind of corruption can happen due to concurrent transfers?
What is the best workaround to make CyU3PUsbSendEP0Data() calls to work again as fast as before while having other IN Endpoints in an USB device? Would it be sufficient to suspend only BULK-IN endpoints?
Thanks for any help,
Peter
Show LessHello
In my application I want to use CyU3PGpifSMSwitch():
CyU3PGpifSMSwitch (
uint16_t fromState, /* The state from which to do the switch to the desired state. */
uint16_t toState, /* The state to which to transition from fromState. */
uint16_t endState, /* The end state for this execution path. */
uint8_t initialAlpha, /* Initial Alpha values to use when switching states. */
uint32_t switchTimeout /* Timeout setting for the switch operation in GPIF clock cycles. */
);
According to the API documentation state switching is only carried out if the state machine is in "fromState" or "fromState" is not a valid state (>255). In my application I would like to define "fromState" larger than 255 to force state switching all the time. However, there is different behaviour between using the values 257, 0xFFF and 10 (which is the actual state derived from CyU3PGpifGetSMState()). When using 257, the state machine crashes after stepping trough this instruction around 1-10 times. If 0xFFFF is used, then I can reset the state machine up to 32'0000 times. When using 10, which is the actual state, commiting DMA buffer fails afterwards with error message 71 (CY_U3P_ERROR_INVALID_SEQUENCE).
Has anyone a good explanation for this behaviour? Thanks for help.
-Silvio
Show LessHi,
I'm trying to understand how to program the FX3 in production. I've been checking the Superspeed Explorer Kit and I've seen that there is a IC with the part number CY7C65215.
In our product we are planning to have an I2C eeprom to boot the firmware so, Is this IC CY7C65215 necessary to program the I2C eeprom or Can you do this by the USB 3.0 connector?
Best regards.
Show LessHi,
I'm new in the FX3 platform. I'm thinking about purchasing the FX3 Super Speed Explorer Kit. But First I'm trying to study all the documentation.
I want to develop a UVC with an Aptina (On Semiconductor CMOS Sensor) with parallel interface. I know there is an example with another aptina sensor but first of all I'm going to try to study the example and I would like to check how is the support.
I've followed the Application Note: AN75705_Getting_Started_with_EZ-USB_FX3.pdf after installing the Cypress EZ USB Suite and to import the Cypress SDK firmware folder but when I open the files from the project suddenly appears a lot of errors. I attach an image with the errors.
Any suggestion to solve this problem?
Best regards.
Show LessHi,
I'm working on a project using FX3 device (CYUSB3014), which is mostly based on official slave fifo example. Now, almost every thing works fine. But there is a problem that I can't figure out why. Currently, the firmware has an U2P DMA channel used for bulking out. The DMA channel has 4 DMA buffers and each of them has length of 16384 bytes. The burst length is set to 16. The DMA channel uses U-port input socket 1 as producer socket and P-port socket 0 as consumer socket. FLAGA is bound to that DMA channel. FX3 is connected to an FPGA.
On the PC sides, I use API function XferData(buf, len) to send data to FX3. The problem is when "len" is an integral number of 1024, FLAGA is always 0 (I use SignalTap II to check FLAGA), but function XferData(buf, len) returns true, and the actual transformed length is equal to what I passed to it. However, when "len" is not an integral number of 1024, FLAGA works as expected. How could I solve this problem?
Thanks.
Show LessI am developing an application for data process based on the GPIF SlaveFifo sample. We divide a big data buf into small packets which the packet size equals the size of the DMA buffer size. we call xferdata() in our middleware to realize the requirement. But the same code gets different results. It runs normally on USB2.0 but fails on USB3.0. The Lasterror is 0XC0000120, UsbdStatusString is "state=STALLED, status=UNKNOWN". Furthermore when I send only one short packet, the result is correct.I had tried some ways to fix this problem, but I hadn't found any clue,Can anybody give me some advices to solve this problem?
Show LessHello
Due to a PCB issue, I need INT#/CTL[15] either fixed to 0.0 V or high impedance. Currently, I did not do anything with it and it drives an intermeidate level of 1.5 V.
From the technical reference manual (Spec No.: 001-76074 Rev. *B), I learn "The INT# pin can be configured to indicate the presence of FX3 in low-power mode" so I assume that it can actually be configured. But how?
Regards
Peter