USB superspeed peripherals Forum Discussions
Hi All,
I want an application to display the video coming to Windows UVC driver. We are using CX3 board with sensor sending data in RAW10 format. I understand that UVC supports only YUV format hence we have to send RAW10 as YUV data and in the application it has to be treated as RAW10 and display accordingly. I am wondering if there is any application which can do this or anyone modified any application for this.
Regards,
Nandan
Show Less
Hi,
While flashing CX3 NIR USB camera for 30FPS and 1280x720 resolution , I am not getting proper frames.
I have attached the frame screenshot, Image sensor configuration and Log generated related to the issue:
Please Help with this.
Regards!
Show LessHello,
I am using FX3 with Synchronous Slave FIFO Interface (based on the Cypress FW example “slfifosync”, 32-bit data bus) to perform data read/write accesses from an external processor.
One DMA Channel is configured as CY_U3P_DMA_TYPE_MANUAL with P-port as producer and U-port as consumer. The number of buffers to be allocated for this channel is two. Inside the callback function the DmaChannelCommitBuffer function is called. This DMA Channel is only used to commit short packets.
After data is transferred successful for some time, the DmaChannelCommitBuffer function returns error code 71 (CY_U3P_ERROR_INVALID_SEQUENCE) and the data is not committed. This error may occur when there is a DMA buffer overflow (see KBA218830). I do not understand why a DMA buffer overflow occur, because with Slave FIFO Structure there is no possibility to overflow the FX3 DMA buffers. But it happens, if two short packets are transferred in a very short period of time. The system clock is set to 403.2MHz (KBA85503).
Increasing the number of buffers to be allocated for the channel results in the same error. However, when switching the DMA Channel to CY_U3P_DMA_TYPE_AUTO (also with two reserved buffers) the application runs without error and all data packets are committed.
What would be your suggestions for solving the problem with the manual DMA Channel?
Thank you!
Show LessHi,
I used two CYUSB3KIT-003 boards to implement GPIF II Slave/Master FIFO interface. I ran the code provided with AN87216 - Designing a GPIF II Master Interface:
https://www.cypress.com/documentation/application-notes/an87216-designing-gpif-ii-master-interface
I used USB Control Center application to send data from bulk out endpoint of slave and receive data from bulk out endpoint of master.
But I found data transfer failed only if I send 1024 bytes data(for any other data size it seemed okay).
Show Less
We are trying to use Cypress USB FX3 as an interface in our product and we are trying to use our own VID/PID and strings. It is mentioned in your CyUSB3.sys reference document (Attached), that if the CYUSB.inf file is modified the driver will become unsigned. If we just modify the INF file and did not modify the CyUSB3.sys file, is it necessary to follow the Driver Resell process and get it signed from Microsoft? Or can we sign the CAT file with SHA1 & SHA 256 certificates and use the driver?
Show LessDocument Number: 001-87516 page 13 "System-Level ESD" wording regarding the ESD protection on D+, D- & GND USB interface lines is not clear. Is level 3A/4C IEC 61000-4-2 6kV/8kV protection built into the chip or not? If it isn't, then why mention it in these two dot points - seems misleading.
Show LessHi, I’ve 2 questions for cyfxuvcdscr.c - CyFxUSBSSConfigDscr[ ]’s “class specific uncompressed VS frame” descriptor in AN75779 example.
Q1: Min/Max bit rate bits/s field is NOT MATCH actual situation
According to the definition in UVC spec:
However, I still don’t understand clearly. Does it means that the max/min range for the total bits per second?
Min/Max bit rate bits/s value: 0x31975000 = 832,000,000bps
1 frame bytes: 1280 * 720 * 2 = 1,843,200
Total bits in 30 frames: 1,843,200 * 8 * 30 = 442,368,000bps
832,000,000bps > 442,368,000bps: So the situation(720p, 2bytes for 1 pixel, 30fps) is still valid?
Q2: Maximum video or still frame size field is NOT MATCH actual situation
According to AN75779:
I found the field is correspond totally in High Speed’s descriptor(480p):
High speed descriptor: 0x00096000 = 614,400
Actual frame size: 640 * 480 * 2 = 614,400
However, in Super Speed descriptor(720p), the value isn’t match…
Super speed descriptor: 0x001FA400 = 2,073,600
Actual frame size: 1280 * 720 * 2 = 1,843,200
2,073,600 > 1,843,200: So the situation is still valid?
Any help will be highly appreciated!
Show LessHi, according to AN95779 example, I know that the color format is YUY2, and it's 8 bits data size for one channel(ex: Y, U or V). Therefore, each 2 pixels is comprised by 4 bytes(Y0 U0 Y1 V0), which can be simplified: per pixel is comprised by 2 bytes(16 bits).
Q1: Is it the reason for "Number of bits per pixel" field which is set to 0x10(=16) in "Class specific Uncompressed VS format" descriptor(cyfxuvcdscr.c)?
Now, if my image sensor sends out 16 bits data for one channel, the order is Y0a Y0b U0a U0b Y0a Y0b V0a V0b by byte => each 2 pixel is comprised by 8 bytes => per pixel is comprised by 4 bytes(32 bits).
Q2: In this case, the "Number of bits per pixel" field needs to set to 0x20(=32). Is it correct?
Any help will be highly appreciated!
Show LessIs there any information about the reliability of SPI flash writes in the FX3 SDK Programming tools?
Is there a way to check if Programming is really correct if Programming success is achieved for SPI on the SDK?
Thanks,
Tetsuo