USB superspeed peripherals Forum Discussions
We send data of FPGA wirelessly(WIFI) through FX3 ,use USB port of the FX3 HOST mode ,
Whether FX3 supports the TCPIP protocol stack and How much bandwidth can I get?
Show LessHello.
I have a question about how to use FX3 USB3.0 SlaveFIFO 5Bit address and EPSWITCH.
As shown in the picture below, I have configured 6 endpoints.
FIFO ADDRESS : 0x1~0x3 = Bulk In endpoint(0x81~0x83)
FIFO ADDRESS : 0x5~0x7 = Bulk out endpoint(0x01~0x03)
FIFO address: 0x1~0x3 = Bulk In endpoint (0x81~0x83)
FIFO Address: 0x5~0x7 = Bulk Out Endpoint (0x01~0x03)
In this configuration, if EPSWITCH is set to '1' and data is transferred to the bulk out endpoint (0x01), a Flag signal is generated in FIFO ADDRESS 0x1 inside the FPGA as shown below.
If you think about it, why is the FLAG signal that only occurs at FIFO ADDRESS 0x5 occurs at FIFO ADDRESS 0x1 and FIFO ADDRESS 0x5?
When data is transmitted to the endpoint (0x02), a FLAG signal is generated at FIFO ADDRESS 0x2 and FIFO ADDRESS 0x6.
FIFO Address: Flag signal from 0x1 to 0x3 is '1' and should be changed to '0' when sending data from FPGA.
FIFO address: The flag signal of 0x5~0x7 is usually '0', but when sending data from the PC, the flag signal of the corresponding FIFO address must be changed to '1'.
I looked at the datasheet and used EPSWITCH, but it doesn't work as expected.
SlaveFIFO read and SlaveFIFO write must be repeated continuously.
Can you tell me the correct way to use EPSWITCH to use FIFO address: 0x1 ~ 0x3 as SlaveFIFO read and FIFO address: 0x5 ~ 0x7 SlaveFIFO write?
Show Less
Hi,
I was looking for the proper way to assign a different custom serial numbers using the same firmware image without having to compile a different firmware image for every device and I followed the steps explained below thread.
https://community.infineon.com/t5/USB-Superspeed-Peripherals/FX3-Serial-number/m-p/95991#M7831
I was able to add serial number to firmware but when I used SerialNumberGenerater application to create different serial numbers, we couldn't use those newly generated firmware images to flash the device since it gave an error for all the image files created by SerialNumberGenerater application.
I looked into SerialNumberGenerater application and investigated the created .img files using hex file reader and it seems that the serial number was assigned in a correct way but still gave me an error when tried to flash it.
I did some more investigation and did another test. I created two firmware image with different serial numbers and checked the differences between .img files and I realized not only the serial numbers needs to be changed but also the last 4 hex values were different! Why is that happening? maybe checksum/md5 hash?
Since SerialNumberGenerater application only changes the serial number values in the firmware image file, how can we overcome this problem? How can I assign a different custom serial numbers using the same firmware image without having to compile a different firmware image?
Thanks in advance,
Irfan
Show LessHi everyone,
I've achieved to install the FX3 SDK on Linux Platform, but I've got an error when I'm trying to compile my project with the ezUsbSuit. This is the error I've got:
----------------------
17:08:47 **** Build of configuration Debug for project USB_VIDEO_CLASS_MT9D131 ****
cs-make all
Cannot run program "cs-make" (in directory "/home/xxxx/SVN/xxxx/trunk/sw/usb_videoclass_mt9d131/Debug"): error=2, No such file or directory
Error: Program "cs-make" not found in PATH
PATH=[/home/xxxx/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/xxxx/Cypress/arm-2013.11/bin]
17:08:48 Build Finished (took 3ms)
----------------------
I've followed the instruction of the FX3_SDK_Linux_Support_0.pdf document to install everything.
Can anyone help me?
Best regards.
Show LessI use the reference design on the official website to design my schematic.
After PCBA came back, it burned the software on the official website to flash and found that the board could not work normally.
I opened the. Bit file in software "sx3_hdmi_4K_capture_card.zip" and found that the ecp5 25F series of lattice was used, but the schematic diagram and BOM were written in 12F series. I replaced the 12F on the board with a 25F FPGA, and the board still doesn't work properly.I want to confirm whether the reference schematic diagram on the official website corresponds to the software.Can you give me a software version of cyusb3017 + 12F or cyusb3017 + 25F of "SX3 HDMI 4K CAPTURE CARD Schematic.pdf" based on the schematic diagram of the official website?
Thank you!
Show Less
Hi,
I am currently working in a firmware for CX 3 device, based on RTOS, in order to send CMOS sensor data frame to laptop through USB, using UVC driver. I am following the example design which you have for another OV sensor.
I have seen that when CyU3PThreadCreate() is called, it has a field named priority, and I assume it determines the thread importance for the scheduler. So I have a question related with this:
- How many priorities has CX3? Are this priorities increasing or decreasing order? I mean, If I have a couple of threads with different priorities (7 and 8, for instance) which will have a higher priority execution for the scheduler?.
Show Less
Hi,
I looked at this topic -https://community.cypress.com/t5/USB-Superspeed-Peripherals/FX3-multiple-descriptors/m-p/81912
and I’m trying to do it also but I’m having trouble with opening the socket,
Is there any chance that you have example of multi endpoint? Or can guide me how to open socket for each of the endpoint?
I want to create FX3 with
- ISOC in and out endpoint
- Interrupt in and out endpoint
- Bulk in and out endpoint
Thanks,
EliW.
https://community.cypress.com/t5/USB-Superspeed-Peripherals/FX3-multiple-descriptors/m-p/81912
Show LessI have got a problem and need some help.I have designed a custom board refer to datasheet and a development board bought online.The board I desined contains two sensor OV5640 , two CYUSB3065,and a usb hub controller TUSB8020BPHP. (I want to send two sensor image to USB )
The question is that the board I bought on online (only one Cyusb3065) can download .img file to SPI flash,but custom board I designed cannot work as that.
When I connect my custom board to USB, EZ USB Suite can identify the two CYUSB3065,but when I try to click "Program ->FX3 ->SPI Flash",One of CYUSB3065 can prompt me to select .img file, but after selecting .img file EZ USB Suite indicates "Programming of SPI FLASH Erase Failed",and I use oscilloscope but can not see the waveform of SPI SCK, MOSI,MISO,etc
Another CYUSB3065 indicates that "Waiting for Cypress Boot Programmer device to enumerate" ->"Cypress Boot Programmer Device not Found".
It seems that the configuration and driver of EZ USB Suite is correct, because I can burn the SPI Flash program normally with the same procedure on the development board I bought online (only one Cyusb3065).
I need some help to solve the problem of my custom board,Thank you very much.
Show LessI want to develop C++ application for fx3 bulk transfer IN?
where I need to refer?
How much data (maximum data) can able to transfer in fx3 in sec? Is any calculation for this?
I want to receive 7,40,54,400 bits from FPGA through FX3.
Show LessI need to write synchronously to a DAC. No samples can be skipped. This requires multiple threads ping-ponging, just as it does on reading. However...
According to https://community.cypress.com/t5/USB-Superspeed-Peripherals/GPFI-II-question/m-p/84212 there is a bug in GPIF Designer which requires an extra state to be inserted between driving on thread0 and driving on thread1. Without this extra state, GPIF Designer reports:
"'Thread Number' in action 'DR_DATA' of state-'WRITE_TH1' need to be same as 'Thread number' of action 'DR_DATA0' in state 'WRITE_TH0'"
This extra state causes the GPIF to not write anything for one clock cycle each DMA buffer, which is a problem.
So, questions:
1) Is this a bug in GPIF Designer or in the GPIF state machine? If the former, can we get a fix? If the latter, is there a workaround?
2) Is there documentation available about the waveform states so I can work around the GPIF Designer bug and write my own state machine? I've tried reverse engineering the bits, but don't want to burn days investigating something which may never work.
I've attached two images--the first is the state machine I want, but GPIF Designer will not let me have. The second is the state machine I can get, but does not work due to the skipped GPIF driving samples.
Thanks for the help!
Show Less