USB superspeed peripherals Forum Discussions
Hi,
I am working on maintenance of my companies FX3-based UVC camera.
I installed FX3 SDK 1.3.4 today, the first update after a couple of years.
I noticed there were a couple of changes, new installer, much faster compile time, and that J-link support was changed a bit.
I got JTAG working, recompiled the firmware and managed to run it on the hardware.
I have some code that handles UVC control requests (a type of Setup requests over Ep0),
and for some controls it cannot meet the 10 ms deadline for UVC control request responses so the response is sent over the Interrupt endpoint (over a DMA channel allocated for this purpose).
When compiled with FX3 SDK 1.3.4 the interrupt endpoint start responding very slowly and with delays.
Recompiling it with FX3 SDK 1.3.3 makes the bug go away.
I don't remember reading anything in the release notes that might indicate something changing in the USB drivers that would cause this.
Or might it be related to the changed compiler version?
I since moved back to using FX3 SDK 1.3.3 since I have deadlines, just letting you know that there seem to be some issues with this release,
in case someone else runs into a similar problem.
I am not sure changing so much stuff was a good idea for a mature product.
Best regards,
Stjepan Henc
Show LessHello,
Maybe one of you has encountered similar problems or can give some advice on this topic. Please see the problem description below:
Preliminary System Setup:
We use the Cypress CYUSB3KIT-003 USB3 device to stream a bigger amount of data from an FPGA capture card to a PC via USB3. The data streamed is composed within the FPGA to a BGR video pixel stream in HD resolution. On the PC side we have a Windows application which uses the Cypress API to access the USB device.
The PC application uses the CCyUSBEndPoint and the CCyUSBDevice API classes to ‘open’ a USB end point.
Our Problem:
During a session it possible that the USB device does not retrieve any new data from the FPGA capturer going to a time out. This could happen several times in a short time period. This causes either the application waiting for a transfer to be done or the USB driver crashes. After such a crash the device has to be reseted by pulling the USB connector to the PC.
The following approach for the communication with the USB device via the driver is used:
1. USB initialize:
1.1 Open usb device and checks it, if it does not satisfy the conditions, then disconnects it and try to connect again. If a video stream disconnect signal appears, stop trying to connect.
1.2 Create an array of empty buffers and a pointer to the OVERLAPPED structure and reset them, start the transfer.
2. Data transfer cycle:
2.1 Wait for the end of the transfer of the i-th element.
2.2 Finish the transfer of the element and save its status.
2.3 Status handling:
2.3.1 If an error is received at the end of the transfer or the overflow counter is greater than 8:
2.3.1.1 Clear all information and delete the buffer pointers.
2.3.1.2 USB initialize[1]
2.3.2 Process the received data, save it and restart the transfer[2].
2.3.3 Increment the transfer counter, to go to the next pointer in the OVERLAPPED structur
Show LessIn EZ-USB FX 3, a crystal is inserted between the XTALIN pin and the XTALOUT pin
It can be connected, or an external clock can be connected to the CLKIN pin
Although it is described in the data sheet, when connecting to XTALIN / OUT
Is it OK to connect the CLK IN terminal?
Show LessHi,
I have configured the GPIF data bus width as 24bit. I am unable to use SPI flash in this configuration ? Did any one have faced this issue ?
Thanks & Regards,
Shanthakumar
Show LessWhen CYUSB 3014 does not use battery circuit
Which of the following is appropriate for VBAT?
* Common with VBUS input / OPEN / Pull-Up / Pull-Down
Show LessI am currently designing and reviewing with CYUSB 3014
Application note AN 70707
001-86523_AN 70707_EZ-SB_R_FX 3 _TM_FX 3 S _ TM_ Hardware_Design_ Guidelines _ and _ Schematic_Checklist_Japanese.pdf
Data sheet
CYUSB 3014 (EN) _ 001 - 79232. Pdf
, The following difference is found in the power domain diagram of EZ - USB FX 3
· U3TXVDDQ Pin does not have corresponding PIN in CYUSB 3014 data sheet
※ 2 PIN exists for U3RXVDDQ. (A 2 / B 5)
· Does U3VSS being pull-down processed correspond to the data sheet U3VSSQ of CYUSB 3014?
For the difference between the two points, what kind of terminal processing should we do if it is replaced by 4P in Figure 1 of application note AN 70707?
Show LessLike here we have the same issue with Adesto and older Atmel Flash chips, but I cannot see the real reason. I can program the image without problems but the FX3 won´t boot. In the datasheet is stated, the old 0x03 read command is supported with 3 bytes address and no dummy byte. So i cannot see why the Adesto/Atmel flash is not correctly working. I tried an Adesto AT25DF041B, an Atmel AT25DF041A and AT25DF021A, but non of them is working. With a Winbond W25Q80 everything is fine.
All of the criteria for SPI flash selection is matched and we use this flash chips in other applications also with 0x03 read and 0xD8 64kByte erase command. I´m confused...
Show LessAs a terminal of CYUSB 3014-BZXIT boot option
Below, when not using the function, which processing is appropriate as terminal processing of PIN will be?
* Pull up or pull down or OPEN
· FX 3 boot option I 2 C
⇒ I2C_GPIO [58/59]
· FX 3 boot option SPI
⇒ GPIO [53/54/55/56]
· JTAG
⇒ TCK / TMS / TRST # / TDO / TDI
Show LessHello,
how to configure fx2lp and fx3 to act as OTG and host?
regards,
geetha.
I am working on Cypress FX3 USB3.0.I am using EZ USB FX3 SDK/1.3/Application/cpp/Streamer.Now in streamer.h code ,there is one function called "Xferloop()".In this function, I collected the data of "buffer" character by character basis and stored in "myfile.txt".The throughput of the streamer utility decreased from 395MBytes per sec to 110MBytes per sec because of writing and saving data into the myfile(I used ofstream as output method for writing data into myfile.txt).How to increase this reduced throughput.Please help.
Show Less