USB superspeed peripherals Forum Discussions
Hi
We use cyprss sdk to generate FW of bulk mode uvc and would like to change into FW of isochronous mode uvc. We reference the isochronous sample code to modify the FW. After the modification, the windows (Windows 10) can see the device as a UVC USB 3.0. But when I open the e-cam it doesn't display any video. Could you please let me know what might be causing this issue? I'm also attaching my project with this email. If you can help on this issue would be greatly appreciated.
Show LessHallo,
my question is, is it possible to put a Header in incoming Data in GPIF II State machine or do i have to it like the UVC example in the firmware.
My situation. I'm getting 10Bit Data from an Image Sensor. Since the GPFI II only can read 16Bit, i have 6 Bit free. Every time a new line occur, i want to count up a counter an write the value in the 6Bit i don't use.
kind regards,
Matthias
Show LessHi
I add the other alternate setting(Interface 1,Alternate setting 2) but the USB descriptor didn't detect this setting.
The descriptor of the alternate_1 and alternate_2 are shown as below:
*Interface 1,Alternate setting 1
/* Standard video streaming interface descriptor (Interface 1,Alternate setting 1) */
0x09, /* Descriptor size */
CY_U3P_USB_INTRFC_DESCR, /* Interface descriptor type */
0x01, /* Interface number */
0x01, /* Alternate setting number */
0x01, /* Number of end points : 1 ISO EP */
0x0E, /* Interface class : CC_VIDEO */
0x02, /* Interface sub class : CC_VIDEOSTREAMING */
0x00, /* Interface protocol code : Undefined */
0x00, /* Interface descriptor string index */
/* Endpoint Descriptor for isochronous Streaming Video Data */
0x07, /* Descriptor size */
CY_U3P_USB_ENDPNT_DESCR, /* Endpoint Descriptor Type */
CX3_EP_VIDEO, /* Endpoint address and description: EP 3 IN */
CY_U3P_USB_EP_ISO | 0x04, /* isochronous End point */
0x00,
0x04, /* Max packet size is 1024 bytes. */
0x01, /* Servicing interval for data transfers */
/* Super Speed Endpoint Companion Descriptor */
0x06, /* Descriptor size */
CY_U3P_SS_EP_COMPN_DESCR, /* SS Endpoint Companion Descriptor Type */
CX3_EP_SUPER_SPEED_BURST_LEN, /* Max no. of packets in a burst */
CX3_EP_SUPER_SPEED_MULT, /* Mult setting: Number of bursts per service interval. */
0x00,
0x90, /* Bytes per interval : 1024 */
*Interface 1,Alternate setting 2
/* Standard video streaming interface descriptor (Interface 1,Alternate setting 2) */
0x09, /* Descriptor size */
CY_U3P_USB_INTRFC_DESCR, /* Interface descriptor type */
0x01, /* Interface number */
0x02, /* Alternate setting number */
0x01, /* Number of end points : 1 ISO EP */
0x0E, /* Interface class : CC_VIDEO */
0x02, /* Interface sub class : CC_VIDEOSTREAMING */
0x00, /* Interface protocol code : Undefined */
0x00, /* Interface descriptor string index */
/* Endpoint Descriptor for isochronous Streaming Video Data */
0x07, /* Descriptor size */
CY_U3P_USB_ENDPNT_DESCR, /* Endpoint Descriptor Type */
CX3_EP_VIDEO, /* Endpoint address and description: EP 3 IN */
CY_U3P_USB_EP_ISO | 0x04, /* isochronous End point */
0x00,
0x04, /* Max packet size is 1024 bytes. */
0x01, /* Servicing interval for data transfers */
/* Super Speed Endpoint Companion Descriptor */
0x06, /* Descriptor size */
CY_U3P_SS_EP_COMPN_DESCR, /* SS Endpoint Companion Descriptor Type */
CX3_EP_SUPER_SPEED_BURST_LEN, /* Max no. of packets in a burst */
CX3_EP_SUPER_SPEED_MULT, /* Mult setting: Number of bursts per service interval. */
0x00,
0x90, /* Bytes per interval : 1024 */
If you can help on this issue would be greatly appreciated.
kelvin
Show LessGreetings.
In the bootloader I am creating I am trying to add the functionality that when a specific vendor request is being sent, I want the device to ReNumerate without causing a cold reset to the system. Though since I do not exactly understand what steps renumeration involves, I would appreciate your insight on how to do it as well as perhaps explaining what happens to the system during renumeration.
The bootloader is based on CyFx3Boot library.
Thank you in advance,
Georgios
Show LessHi, Is there anyone with experience (and time) that can help($) porting an FX2 design(cy7c68013) into an CYUSB301x.
Drop me an email, thanks.
Luis.
Show Lesshello everyone, i am using EZ-USB F3 raid1 and raid0 firmware for storage. i am trying to modify the buffer data (coming from host) before storing the data on storage, unfortunately could not get any success to isolate the buffer. Is it possible to modify buffer before storing on storage? Any help will much appreciated.
Show LessHello,
We have an FX3 based design which we are running on a Windows 10 platform which has both an ASMedia 3.0 eXtensible Host Controller and an ASMedia 3.1 eXtensible Host Controller. On the ASMedia 3.0 xHCI, data will transfer but randomly hang (we cannot communicate with the FX3 over USB when this condition occurs). But on the ASMedia 3.1 xHCI controller, the FX3 will never hang/freeze. A few things to note:
- The FX3 firmware is based off the bulk synchronous slave FIFO example. The slave FIFO interface is driven by an FPGA.
- The hang/freeze only occurs on USB IN transactions. USB OUT transactions never fail on either of the ASMedia xHCIs. We done several hundred gigabytes worth of data transfers to the USB OUT endpoint with no failures and zero data errors.
- We have tried both the current Windows 10 (update) ASMedia driver (1.16.41.3) and what we believe is the latest version (1.16.55.1) with the same results.
- We have tried transferring different PC buffer sizes (Windows application buffer) from 1K to 16MB. Again, this only fails when transferring data from the FX3 device to the PC (IN transaction).
- Even though communication over USB is impossible, the FX3 is still live. Through the debugger, we can pause the software or set breakpoints. Since this is a self-powered device, we can move to a new USB port and enumeration and USB communication works fine until the next time the USB interface hangs/freezes.
- We have tried different DMA FIFO sizes from 1 KB to 32 KB.
- We have tried FIFO counts of 1 and 2.
- We have tried USB/DMA burst counts of 1 through 16.
- We have implemented both CyU3PUsbLPMDisable and CyU3PUsbSetLinkPowerState (CyU3PUsbLPM_U0) in our code.
- We have tried moving the EP to EP1, EP2, EP3, and EP6 with the same failure.
- The same results happens on a different computer.
- Our USB protocol analyzer shows no error, just the last USB IN transaction. Followed by a check of our other “application specific command” EP with an ERDY response. But again, communication over USB at this point is impossible.
- In the hung/frozen state, the FX3 slave FIFO interface has the FIFO full flag and the almost full flag asserted, so no new data can be sent from the FPGA to the FX3. It’s like all the DMA FIFOs got committed but since no data is being transferred over USB, no empty DMA FIFO is returned to the FPGA interface.
- Power management for the USB hubs and the CPU have been disabled.
- We have had this code base working on other USB 3.0 eXtensible host controllers for years with no issues.
- The hang occurs randomly. Sometimes the transfer hangs immediately and sometimes it hangs after 10 minutes of continuous transfers.
Thanks in advance,
Motz
Show LessHello Sir,
I'm developing a self powered device, I have connected the FX3 VBUS pin at the USB 5V pin and the other voltages (VDD, VIO, ecc...) are supplied by an external power supply unit.
What happens if the external power supply stays off and the device remains connected to the PC? I assume that only the PHY module remains powered while the rest of the chip will be turned off.
Is this situation dangerous for the FX3? Is there a risk of damaging something?
Thanks in advance.
Regards
Nick
Show LessI will be working with the CCG2 and CCG3 Type-C port controllers and have difficulty determining which of CY8CKIT-002 PSoC® MiniProg3 or the CY8CKIT-005 MiniProg4 is the appropriate programmer/debugger. This community my have quick advice for me. Thank you.
Show LessHi,
I'm using the AN75779 demo project with my camera initialize function, now I can get correct images(1280*1080).
But the output frame rate is always half of input(30FPS),even in other frequence such as 2 FPS.
What's the cause of this problem?
Regards,
Qi
uint8_t glProbeCtrl[CY_FX_UVC_MAX_PROBE_SETTING] = {
0x00, 0x00, /* bmHint : no hit */
0x01, /* Use 1st Video format index */
0x01, /* Use 1st Video frame index */
0x15, 0x16, 0x05, 0x00, /* Desired frame interval in the unit of 100ns: 30 fps */
0x00, 0x00, /* Key frame rate in key frame/video frame units: only applicable
to video streaming with adjustable compression parameters */
0x00, 0x00, /* PFrame rate in PFrame / key frame units: only applicable to
video streaming with adjustable compression parameters */
0x00, 0x00, /* Compression quality control: only applicable to video streaming
with adjustable compression parameters */
0x00, 0x00, /* Window size for average bit rate: only applicable to video
streaming with adjustable compression parameters */
0x0A, 0x00, /* Internal video streaming i/f latency in ms */
0x00, 0x30, 0x4A, 0x00, /* Max video frame size in bytes */
0x00, 0x40, 0x00, 0x00, /* No. of bytes device can rx in single payload = 16 KB */
#ifndef FX3_UVC_1_0_SUPPORT
/* UVC 1.1 Probe Control has additional fields from UVC 1.0 */
0x00, 0x60, 0xE3, 0x16, /* Device Clock */
0x00, /* Framing Information - Ignored for uncompressed format*/
0x00, /* Preferred payload format version */
0x00, /* Minimum payload format version */
0x00 /* Maximum payload format version */
#endif
};
0x1E, /* Descriptor size */
0x24, /* Descriptor type*/
0x05, /* Subtype: uncompressed frame I/F */
0x01, /* Frame Descriptor Index */
0x01, /* Still image capture method 1 supported */
0x00, 0x05, /* Width in pixel */
0x38, 0x04, /* Height in pixel */
0x00,0x00,0x8D,0x27, /* Min bit rate bits/s. */
0x00,0x00,0x8D,0x27, /* Max bit rate bits/s. */
0x00,0x30,0x2A,0x00, /* Maximum video or still frame size in bytes(Deprecated)*/
0x15,0x16,0x05,0x00, /* 30fps */
0x01,
0x15,0x16,0x05,0x00,