Recent discussions
Hi
I have to implement a composite super speed USB device on an FX3 that combines a SlaveFifo function (similar to the slfifoasync example) with a virtual UART function (similar to cyfxusbuart example).
I have both functions working separately, i.e. I can create a working SlaveFifo function from a composite device context (EF-02-01) if I leave out the COMx function, and vice versa.
But when I try and instantiate both to operate at the same time, both fail: The COM port does not show up and the SlaveFifo device says "This device cannot start. (Code 10). An invalid parameter was passed to a service or function."
I have tried following the instructions from https://community.infineon.com/t5/USB-Superspeed-Peripherals/How-to-configure-FX3-USB-device-with-multiple-interfaces/m-p/33116
There are a number of things in these posts that do not make sense to me:
1) Step #3: There is no CX3-UVC device listed by the Device Manager. I assumed that it should refer to the Streamer Example Device?
2) Step #15: I do not have an "USB Serial Port" option at this step.
Upon following the instructions to the best of my ability, my laptop semi-freezes up until I uninstall the device.
I am developing on a Windows 10 laptop.
I have not modified any INF files.
I would REALLY appreciate any help/advice.
Show Less
Hello, I'm writing a code on DFU for FX3,then I got stuck with a process named DETACH-ATTACH sequence,
what is DETACH-ATTCAH sequence and how to implement it in FX3?
Thank You.
Show LessHello,
I have bought the book and CYUSB3KIT-003, but I can't find the example software projects that the book is referring to. Where could I find files such as "Chapter3Example1.img"?
I couldn't find them from the book's page or in the code examples:
https://www.cypress.com/documentation/other-resources/superspeed-device-design-example-john-hyde
https://www.cypress.com/documentation/code-examples/usb-superspeed-code-examples
Show LessDear All,
We are using CYUSB3KIT-003 development kit and we want to add file system (FAT) to the device. So that it will detect as device when we connect to any OS.
So how to add file system to the CYUSB3KIT-003?
Show LessCypress专家你好
我正在使用贵公司的Cyusb3014这款产品,目前已经熟悉了基本的开发环境,开发流程,阅读了贵公司提供的FX3相关文档中的大部分。SDK、驱动等都已安装。
我目前希望在我的FX3设备实现如下两个功能,这两个功能希望同时实现,且彼此之间互不干扰
1. FX3与FPGA连接,即使用SlaveFifo功能(如 FX3 SDK slfifosync 示例)
2. 在1的基础上同时使FX3具备USB-UART 桥接功能(如 FX3 SDK UsbUart示例)
目前我在这两个回答的基础上,以FX3 SDK slfifosync(2bit)例程为基础,尝试去生成我所要的工程文件
目前的问题如下:
A. FX3 SDK UsbUart例程中对于UART配置了3个端点,如果我想要实现上述的两个功能,应该需要5个端点,这是否意味着必须使用5bit模式的slavefifo
B. 因为使用了USB-UART桥接功能,在USB Control Center这个软件中,还能否读到描述符等信息。
Show Less
Can any one give me some steps on how to write DFU for FX3 ?
Working with two FX3's in a back to back configuration, and I am wondering if I am missing something.
When I push a buffer from Master->Slave, the correct amount of bytes are received with no additional padding added. However, if I send from Slave->Master, GPIF seems to append zeros to fill out the rest of my buffer, which results in me having to use something like the following to remove them, significantly impacting performance.
i = input->buffer_p.count - 1;
while(input->buffer_p.buffer[i] == 0x00){
i--;
}
//input->buffer_p.count always returns 4096 due to GPIF padding. Find actual size, with benefit to full buffers.
CyU3PDmaChannelCommitBuffer (chHandle, i + 1, 0);
Again, this method works, but I would rather use Auto channels for the speed difference, avoiding CPU modification entirely.
I am aware of the 4 byte alignment padding, where sending 6 bytes will add 2 bytes, giving a total of 8 received bytes. This behavior is fine. The issue is when I want to send a short packet, say 84 bytes. When the Master side receives this, I receive a buffer with its count at 1024, and reading out the data shows my 84 bytes, followed by 940 zeros in the packet.
I have tried a variety of settings, but then found that this behavior appears in the provided back to back example, AN87216. Can this be avoided?
As an example:
A transfer from Master->Slave works fine, and the correct number of bytes arrive on the other side.
But from Slave->Master, you can see all of the padding being added.
Show Less
I am using CYUSB2014-BZXC microcontroller and configured the microcontroller to boot from SPI Flash with usb fallback. When I program the device RAM , everything works as expected. However when I program the Flash , the microcontroller does not appear as a USB device in the operating system (a camera in my case) and I can no longer program the flash nor the RAM. I am using S25FS064SAGMFV010 as Flash. I followed the recomendations on choosing the Flash and did everything according to AN70707 EZ-USB FX3/FX3S Hardware Design Guidelines and Schematic Checklist and according to AN76405-EZ-USB FX3/FX3S boot options. However when I compared the recommendations to the FX3-DVK-BOARD-DEVICE_REV3 board schematics I noticed that in FX3-DVK-BOARD-DEVICE_REV3 MOSI and MISO Pins are pulled up, while in the recommendations this is not advised. I do not really know what is going on. I built the code for SPI flash with the following post build command elf2img.exe -i ${ProjName}.elf -o ${ProjName}_SPI.img -v -i2cconf 0x00 with elf2img.exe being in the Debug folder. Part of the schematic of my board is attached.
Show LessI did the GPIF interface test through "SlaveFifoSync" Example Code.
The DMA size of FX3 was set to 16384 and the count was set to 6.
The FPGA sent 16384 bytes 10 times at 150us intervals through the GPIF interface to FX3.
I sent GPIF data referring to the Figure4 Write Sequence of the AN65974 document.
And I received GPIF data using the application "bulkloop" provided when installing the FX3 SDK on my PC.
I think we should receive data 10 from the application. However, I only received data 6 times.
It was confirmed that FX3 caused an error of "CYU3P_PIB_ERR_THR0_WR_OVERRUN" during debugging.
There was no "CYU3P_PIB_ERR_THR0_WR_OVERRUN" error when sending data 6 times from FPGA to FX3, and there was always an error when sending more than 7 times. I think this error occurs because the DMA count is set to 6.
And this is my questions.
If I write GPIF data from FPGA to FX3 and read the data from application, buffer will be empty, but I don't know why the "CYU3P_PIB_ERR_THR0_WR_OVERRUN" error occurs. And I wonder what I should do to avoid the above error.
Show LessHi, I have a question about EZ-USB® GX3™ Hardware Design Guidelines file. I'm reading the document, and I have found this:
I have searched the EEPROM components but, on this datasheet (https://www.mouser.es/datasheet/2/268/21794b-74044.pdf) A model is 8-bit and B model is 16 bit. Is this a errata?
Show Less