USB superspeed peripherals Forum Discussions
We are using Cypress FX3 USB solution in our system with a device configuration, and have encountered the following:
- Executing 'lsusb' command yields the following result:
lsusb
Bus 002 Device 005: ID 04b4:00f1 Cypress Semiconductor Corp.
While 'lsusb -t' shows that FX3 device is running at 5Gbps, but is missing a driver (can be seen from the last line shown here):
lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
|__ Port 1: Dev 5, If 0, Class=Vendor Specific Class, Driver=, 5000M
We have tried Cypress's 'cyusb' application and it shows the following details:
- Device := FX3.
- Bulk size of 1024.
Problem is, we are seeing a degradation with performance, seeing a downlaod speed rates of ~25MBps maximum. If this problem can simply be solved by installing a driver, please share a download link, along with installation instructions.
Show LessHello,
This is a call out for help regarding a high speed problem that I am experiencing with the EZ-USB FX3 Superspeed Explorer Kits, using a USB2 cable.
I programmed the FX3 I3C EEPROM with the unmodified Isochronous example Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxisolpmaninout (USBIsochLoopManualInOut.img).
Running USB Control Center confirms that the DEVICE FriendlyName is “Cypress FX3 USB Bulkloop Example Device”.
The Isoc in and out endpoints have ENDPOINT MaxPktSize values of “1024”.
When I select the “Isoc out endpoint” descriptor, and navigate to the “Data Transfers” tab, the “Bytes to transfer” value has defaulted to 8192 (which is 8*MaxPktSize). When I press the “Transfer Data-OUT” button it successfully transfers out the 8192 bytes – “ISOC OUT transfer completed”. All is well so far.
However, after I change the “Bytes to transfer” to 1024 (i.e. the MaxPktSize), the “Transfer Data-OUT” button always fails with “ISOC OUT transfer failed with Error Code:997”.
My questions are, why is this error occurring, and why can’t I transfer, using high speed, the number of bytes that is equal to the MaxPktSize?
P.S. Bizarrely, this error message is output for any “Bytes to transfer” value less than 7169 for this particular firmware example.
P.P.S. I have seen that forcing full speed makes this problem go away, so the problem seems to be specific to high speed.
Show LessDear all,
We are planning to use CYUSB3035 to implement USB storage device. Is it possible to interface cyusb3035 with micro-controller(Atmel or NXP)?
Show LessHi,
I am trying to integrate an HID class and UAC class. I am really struck with the descriptors. Can you please send some example code for a composite USB class (HID and UAC) or give some hint on integrating the descriptors.
Show LessHi,
A question about BulkRead.
The data length i am reading from USB device is not constant (for each individual trial). However, XferData( ) requires to specify data length before reading action. Is there anyway to know the data length in advance? Or, how to read out all data while do not know data length?
Thanks.
Show LessIs there a version, hopefully open source, of tools to set up the DMA engine and FSM of the FX3 under Linux? Don't need a fancy graphical tool. I'm happy with some text based description, makefiles, etc.
Further, are there any reference designs or similar available which is using a FPGA based video generator to stream video over the FX3 to V4L2 on the host side (either using UVC or a custom driver)?
Thanks!
Show LessHi.
I want to design Fx3S board. I use only SD card. I want to use GPIO mode unused DATA pin on S0 PORT.
I have modify main function on firmware this.
io_cfg.isDQ32Bit = FALSE;
io_cfg.s0Mode = CY_U3P_SPORT_4BIT;
io_cfg.s1Mode = CY_U3P_SPORT_INACTIVE;
io_cfg.useUart = TRUE;
io_cfg.useI2C = FALSE;
io_cfg.useI2S = FALSE;
io_cfg.useSpi = FALSE;
io_cfg.lppMode = CY_U3P_IO_MATRIX_LPP_DEFAULT;
// No GPIOs are enabled.
io_cfg.gpioSimpleEn[0] = 0;
// 43(D3) - S0 WP, 45(F2) - S0 VSEL, 52(D3) - S1 WP, 57(D4) S1 VSEL
// 37(J3) - CONFIG_SW0, 38(J1) - CONFIG_SW1, 39(H2) - CONFIG_SW0
io_cfg.gpioSimpleEn[1] = 0x21028E0;
io_cfg.gpioComplexEn[0] = 0;
io_cfg.gpioComplexEn[1] = 0;
status = CyU3PDeviceConfigureIOMatrix(&io_cfg);
and I tested SD card and GPIO. there are not working not only SD card but also GPIO.
What I miss it??
Regards
Shin.
Show LessI am experiencing about a 5 seconds worth of delay between the data on the slave end and what I observe in the application running on the PC.
I am using cyapi.lib and C++ for coding. I am wondering if there is a way to reduce the latency in the cypress driver. I have tried doing rapid reads in the beginning to reduce the data in the driver buffer.
I there an api call or a driver setup change that would reduce the size of that buffer.
Thanks.
Show LessHi folks,
My fx3 dvk device board cannot work. And the D14(another label V1P2 is very close to it) LED keep blinking after powered on. Is any one can tell me what can I do?
You can see the attachment for accurate location.
Thanks in advance
George
Show LessHello.
I am trying to configure SPI DMA auto channel. My question is:
CyU3PSpiSetBlockXfer function must be called before DMA channel will be created using CyU3PDmaChannelCreate method? Or I can to use this method after DMA channel is created?
Show Less