USB superspeed peripherals Forum Discussions
text.format{('custom.tabs.no.results')}
we moved from 1_3_3 to 1_3_4,and the bulk endpoint stopped working. At least, how we are calling it. On the PC side, we call CreateFileW() on the device's path, then we call WinUsb_Initialize( ) on the file handle, then use WinUsb() functions to get the pipes, then use WinUsb_ReadPipe and WinUsb_WritePipe to read and write to the CX3. This used to work, now does not. The CX3, from the debug UART, doesn't even see the DMA callback.
Can't use the CCyUsbDevice() stuff (I guess) because when the firmware is loaded onto the CX3, it switches to being a video capture device, and CCyUsbDevice doesn't seem to enumerate or talk to those types of devices!
Not sure how to debug this issue or work around it. Suggestions? Anybody else see this? I can post the descriptors and the endpoint creation logic, if necessary.
Show LessHello
Q1-1) Regarding the external EEPROM ( AT93C66A) used in the GX3 reference KIT please tell me if there is a recommended product with a model number other than the above.
Q1-2) Please let me know if there is a capacity limit (like 128Mb products or more are not supported) mentioned above.
Q3) Also, please tell us about the necessity of the external EEPROM.
The datasheet 「Table 11. Internal Memory Description」is described below.
-「The internal Memory data is a fixed value. User can’t modify it.」
Since the Node ID (= Mac address) is a fixed value of "00 0E C6 F9 D0 00", I think that an external ROM is required. Correct ?
Is there any reason for external EEPROM for GX3?
Best Regards
Arai
Show LessDoes CYP/IFX offer a reference design or have a suggested component to support USB 2.0 to USB 3.1 Gen1 Transaction Translator functionality to convert USB High-speed transactions to Super-speed transactions and vice-versa?
There are cases where newer devices accept only Super-Speed data but need to connect with devices that utilize only High-Speed interfaces.
Greg
Show LessHi guys,
We starting a new project with CX3 chip (We have experience with FX3).
My goal is to stream RAW frames with non-uvc protocol.
My HW is a Denebola RDK from E-CON, with its daughter board (OV5640).
I used the FW from ECON site and change it to work as non-uvc application (the FW is attached).
I can see that the vendor commands receives by the CX3 but I can't see frame streaming using the Streamer application.
I also based on - FX3 / CX3 Firmware for Streaming RAW Image Data using Cypress Driver
What am I doing wrong?
Thanks,
Omri.
Show LessHi,
I want to change the drive strength of 32bit GPIF data signals and flags.
The API provides a set of functions that allow changing the drive strength
of several interfaces like pport, serialio, i2c, gpio and uart.
In my case I think that CyU3PSetPportDriveStrength would be the right choice
but will it also set the full 32-bit data signal drive strength or do I need use
other functions too?
Thanks,
Sven
Show LessHi,
I'm developing a custom PCB with the CYUSB3065. I know questions regarding USB 3 enumeration have been asked many times, but I haven't been able to solve my problem so I need a bit more detail. At this stage I'm not really sure what the problem is, as I believe I have designed my board to the specifications, but happy to be proven wrong.
Problem description:
- My custom PCB will enumerate as a USB 2.1 High Speed device, but not a USB 3.0 Superspeed device.
- I believe this is a hardware issue because my PCB fails to enumerate when only running the example program cyfxbulksrcsink that comes with the EZ-USB FX3 SDK.
So far:
- I am using the DENEBOLA CX3 Reference Design Kit as a reference - everything works fine on here, including my custom firmware.
- I've read the application note AN70707 EZ-USB FX3/FX3S Hardware Design Guidelines and Schematic Checklist.pdf.
- I've also read the Trouble Shooting Guide for the FX3/FX3S/CX3 Enumeration - KBA222372 .
- I designed my board considering both of the above documents.
- I've attached the output from cyfxbulksrcsink (built in debug mode) for my custom board (USBBulkSourceSink-debug-output.txt)
I think there is still a power supply issue - maybe caused by the inrush current event when the USB3.0 SuperSpeed PHY is enabled?
Question:
Is this too much noise?
See these three images. The red trace is the working Denebola CX3 board. The blue trace is my custom PCB. The green trace is a GPIO pin that is set just before USB 3.0 is enabled. I've attached the portion of code used to capture these images (USB-3-test.txt).
On the blue traces (my custom PCB), for U3TXVDDQ and U3RXVDDQ, the minimum voltage is about 1.1V, and the peak is about 1.27V. This doesn't seem drastically greater than the red reference trace.
See also this - the 5V VBUS supply (in blue). There is a voltage drop of 500mV when USB 3.0 is enabled (from 5V down to 4.5V).
I can reduce this voltage drop to only 250mV by adding a large capacitor across VBUS, but doing that doesn't cause the board to magically enumerate.
Is any of this noise likely to be the cause of my device failing to enumerate as USB 3.0?
Any help appreciated,
Thanks!
P.S. I've also attached pictures comparing my custom PCB power supplies with that of the the Denebola CX3 board (Supplies.zip). In all images my custom PCB is the yellow trace, and the Denebola board is the green trace. I captured both so I could be sure I wasn't seeing just the noise on my oscilloscope - it's clearly common to both boards. I'm pretty sure these supplies are within the stated 20 mV/100 mV spec.
Show Lessi have developed a PCB design based on CX3. It is not the first design since we are by second launch. But this second PCB has the following features compared to the first design:
- the SPI FLASH, which is used to store the firmware image, is supplied by 1.8V. Because we have replaced the 3.3V domain by 1.8 V.
- The boot mode is fixed to start always as SPI mode. But we can also start in USB boot mode in order to update the firmware embedded in SPI FLASH memory.
The device worked correctly at the beginning but, after to update the firmware twice the Cypress EZ USB Suite give us an issue, in the USB Control Center when we try to update the firmware into SPI Flash :
Firstly, the software shows us the next:
Waiting for Cypress Boot Programmer device to enumerate.....
And after that:
Cypress Boot Programmer Device Not Found
For this reason I can not update the firmware embedded into SPI. Then my question is if it is a software or firmware error?
Thanks.
Show LessHello,
My USB controller's VR firmware corrupted itself all of a sudden, so I decided to reflash it. I tried reflashing oasisfirmware (gotten from HololensSensors.dll), which is usually what these HMD's come bundled with, on and on, but the firmware wasn't being written permanently, I would unplug the device and plug it back in, and it would be the bootloader all over again, so that's when I flashed the BootProgrammer, to see if it would be any useful (which was a very silly thing to do, it flashed permanently!) and now I basically can't even flash anymore with the CyControl.exe tool, it simply keeps displaying 'Bootloader is not running', which is obvious since well, I flashed the BootProgrammer. How do I go back to the bootloader, I have seen the docs and they mainly just say that I should set the PMODE using pins, but there's no pins on this board, and the BootProgrammer, I couldn't find any documentation on. Thanks, all I want is the bootloader back or a way to write firmware, somehow.
USB Controller chip is at the right, above 'REV:E'
Back of the board, chip at the left above 'CN601'
Please note that this board is from the VR1000 HP headset.
Show LessContinuing from this question since it was closed before I could post a follow-up...
Here are the 1080p@60 2 lane MIPI configuration we're using. Not able to get a stable HSYNC or VSYNC from the CX3 debug pins. Please advise how we should update the settings:
Show Less
Is there a list of arm processors capable of interfacing with fx3(s) GPIF?
As far as i know, most low cost processors from Chinese vendors, such as Rockchip, Allwinner, etc, don't have an interface compatible with fx3s' GPIF.
TI's sitara series do have GPMC, which is frequently used to interface with FPGA, so in theory it should work with FX3s. ST's new low cost processors, STM32MP1, have FMC, Flexible Memory Controller, so perhaps it could be used to interface with FX3s. Don't know whether IMX series from NXP have similar interfacing capabilities.
So. do you have a list of arm processors that could be interfaced with FX39s) via GPIF? including the hardware interface, linux drivers (availability and maturity), as well as reference design or demo projects? USB3 peripherals are rarely used in arm/linux projects nowadays. Perhaps because most low-cost platforms have limited processing power and memory bandwidth. But when this is required, it is a real headache to choose a solution and balance the cost and benefit. There are so little information available online.
Show Less