USB superspeed peripherals Forum Discussions
Hi,
I have designed a board with CX3 chip ( CYUSB3065-BZXI ) and deployed for ESD testing with the below configuration, during the ESD test CX3 chip gets restart. Even though the ESD standard accepts if the device gets recovered from the ESD spikes ( performance criterion B ), I would like to have my device to get pass in criterion A in ESD testing ( immune to ESD spike and continues to function normally without any compromise ). Can you please let me know how to get pass ESD test with performance criterion A or is this the behaviour of the CX3 chip in ESD environment. Do please clarify me on this.
Tested scenario:
1) Connected custom made board with CX3 chip to a laptop via USB 3.0 cable ( 1meter length )
2) Have programmed CX3 such that it gives dummy MIPI data via USB. The frames ( 180 fps ) were viewed in laptop through custom made application
3) Have provided ESD voltages of +/- 2kV , 4kV, 6kV and 8kV in contact discharge ( both direct and indirect method ) and till +/- 15kV in air discharge ( on the USB cable )
4) Have provided ESD diode to USB 2.0 line, USB 3.0 SS pair and VBUS
5) In the above condition CX3 gets reset and frame rate gets stop ( 0 fps )
I just want to receive the frames seamlessly without any disruption while performing ESD test
Thanks in advance
Sathiya
Show LessHello,
I am working on FX3S in that we want to write data to SD card which is coming from FPGA and also wants to read data from USB to Host(pc) and i am using the the SlaveFIFO Sync EXAMPLE which is interfaced with FPGA . can any one help me to establish this path
Show LessHi!
So id like to take advantage of usb 3 in HID's but as I can understand, the example labeled cyfxusbhost has the following comment "This example demonstrates the use of FX3 as a USB 2.0 single port host. The example supports simple HID mouse class and simple MSC class devices."
Would it be possible to modify it for full superspeed?
Show Lesshello,
I am interfaced an image sensor to fx3 in 16 bit mode...
i am using only 10 bit data pins of fx3,remaining 6 bit data pins are unconnected
can i use these 6 bit data pins as normal GPIO by calling gpiooverride API?
THANK YOU
Show LessThe USBAudio class read the audio data from flash.
So I think we should store audio data in the flash first, how can I do this? And where can I get the audio data for it? what's the format of the data?
Thanks!
Show LessGood morning,
I have an issue related the usage of CX3 solution.
Let me say that the CX3 based board we designed time ago works fine when the sensor works with clock gated (not in continuous mode).
We are not considering a Video sensor but a Radar sensor where the payload are the conversions from antenna signals. This is not fundamental but it is important when we will consider the configuration procedure of the sensor.
In few words we have our Radar sensor able to stream data on the Host system.
When the Radar works with clock gated and so we have clock that goes from LP11 to HS for each frame, everything works fine.
Instead we are having problems when we need to use the continuous clock mode.
In this working mode we see CX3 in Mipi Csi2 INIT_DONE state (at the beginning the clock and data lanes are kept in LP11 for at least 1ms and this is handled successfully).
I saw on the web that there is a procedure to be done to manage the continuous clock, but this is not clear to me and I don’t know if this is OK with our radar system.
This radar is programmed in order to do a sequence of acquisitions (like several video frames), following several profiles, and then the acquisition starts, it involves the sending of several data frames (called chirps – with related payload encapsulated in several data frames).
For each data frame we have one Frame Start, Line Start, Payload, Line End, Frame End, and then again, ...
This is the procedure available on the Community Forum.
- Upon receiving the Set_Cur (Commit control) request from the host, perform a MIPI reset (CyU3PMipicsiReset() with the reset type as Hard reset ).
- Initialize the MIPI bridge (CyU3PMipicsiInit () )
- Set the MIPI interface parameters (CyU3PMipicsiSetIntfParams ()).
- Release the reset of the sensor (XRST) (CyU3PMipicsiSetSensorControl() ).
- Configure the sensor.
Can you better explain the procedure because I cannot reconfigure the sensor at each data frame?
In this working mode, we will receive several data frames with related synch packets (Short Packet Frames) with clock always in High Speed.
Thanks a lot for your support.
Best regards Edo.
Show LessHello all;
I am actually working on CX3 connected to OV12895 sensor which delivers an 10-bits Raw image. Is it possible that the GPIF module may generate an 8-bits for each pixel rather than 10-bits by 2-bits right shifting. Because we process an 8-bits image.
Thanks.
Message was edited by: BENHAMMAM Abdelghani
Show LessThis is similar to the issue reported here: break does not work after upgrading to FX3 SDK 1.3.4
The issue is that after upgrading the sdk and the version of eclipse packaged with it, we are no longer able to insert a breakpoint while the code is running, only before starting it or when it is already suspended from hitting another breakpoint or stepping through code. Additionally, we can't suspend the code as it is running. Hitting the suspend button just greys out the button and no commands appear to be sent to the debugger or anything.
Following the guidance in the reference discussion, I built and ran the USBBulkSourceSink example code and I encounter the same problem. Is there any way to resolve this? If not, is there a place I can download the previous version of the SDK with all the components and not just the SDK files that are available at https://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-sdk-archives . I am hoping at the least to be able to return to 1.3.3 so that the debugging works properly.
This issue is affected multiple people on my team and not just myself.
Thanks for the help,
Kevin
Show LessHello,
Can we connect (PATA SD-CARD) for example(https://www.amazon.com/SHINESTAR-Adapter-Memory-Converter-Laptop/dp/B079GSGCJY/ref=sr_1_3?keywords=pata+sd+card+mmc&qid=1550482308&s=gateway&sr=8-3-spell) to implement mass storage device. Will this approach work? and what code example do you recommend to use?
Regards.
Show LessThe FX3 SDK for Linux v 1.3.3 includes the example 07_bulkreader.c in which the API uses libusb_bulk_transfer (trivially wrapped) to receive 64 bytes from the device.
r = cyusb_bulk_transfer(h1, 0x83, buf, 64, &transferred, timeout * 1000);
Here a request is being made to fill buf with at most 64 bytes.
The documentation for libusb states that to avoid an overflow situation, the buffer and max length provided should be a multiple of the wMaxPacketSize attribute of the endpoint to avoid an overflow where the device returns more data than libusb can handle given the size of the buffer provided. Here, the right way to handle this according to libusb, is to make repeated calls to libusb_bulk_transfer with buffer size as a multiple of wMaxPacketSize. Unless the actual data returned is this wMaxPacketSize, the call will time out with the actual number of bytes transferred. A check needs to be made of the actual number of bytes returned and if this is less than expected, then the call has to be repeated until all the data has been read.
Not using a buffer that is a multiple of wMaxPacketSize, according to libusb, risks an overflow and this is something that I have seen.
lsusb reports that for the FX3 in our system, wMaxPacketSize is 1024 bytes.
Why doesn't the example included in the FX3 SDK use a multiple of wMaxPacketSize as recommended by libusb? Is this an oversight, or is this the right way and if it's the right way, then how can I avoid overlfows?
What is the right way to make a bulk read of a lot of data that avoids the risk of overflow?
Show Less