USB superspeed peripherals Forum Discussions
Hello infineon team,
I am doing a slaveFIFO implementation in FX3. Intially Flag A and B are in high state when FPGA started write process , after writing some bytes Flag A becomes LOW. but Flag B is in high state only. when probing the Flag A it is continuously toggling but Flag B is not toggling.
My buffer size=36848 Bytes & Buffer count=6
i am using current thread flag so Flag A = current thread DMA ready and Flag B = current thread watermark value. my watermark value is 10. address is always 0.
please guide us in what step we are doing mistake. why Flag B is always in HIGH state?
Note: The gpifCONFIG.h file used in this project is already working fine in another FPGA project.
Thanks and regards,
rakesh
@AliAsgar @Hemanth @JayakrishnaT_76
Show LessCan you provide any Queue example code in Fx3 Workspace i tried using existing functions
CyU3PQueueCreate (): queue creation
CyU3PQueueReceive for receiving inn task 2
CyU3PQueueSend for sending onto queue in task1
But it is working as stack, Last given input is executing first followed by Last in first out manner. Really helpful if providing any example coded for implementing the queue in EZ USB suite work space for Fx3.
Thanks and Regards
Bhargav.
Show Less
Hi,
we face the same issue described here:
The above topic is marked "resolved" but I don't think it is what you can see once you read it.
@Sergey if you read this:
Did you solve the issue in the meantime?
---
I found the post above and we also seem to have the same issue with interoperability of ASM3142 based host controllers of different manufactures (e.g. Logilink v.2 PC0080) and FX3.
1) If using IN transfers with our FX3 based device connected to a ASM3142 based host controller the "IN EP" hangs almost immediately when lange image transfer is started.
We use WinUSB driver and there is no BSOD.
The same problem is seen on different PCs with different of our FX3 based USB devices.
2) The Issue appears on Windows 10 only (never saw it on Linux or Windows 7)
3) Now also checked it with CYUSB3KIT-001 DevKit and Streamer App, SDK 1.3.4:
I can reproduce the errors Sergey has described with the Streamer application together with an ASM3142 based host controller including BSOD especially with large block size: Packets per Xfer 256 and XFers to Queue 64
4) The error is dependent on the ASM3142 Firmware version:
"191209_70_02_40" which seem to become the current version of most of the manufacturers of host controllers, always shows this error.
With a previous version of Asmedia 3142 Firmware "170308_70_02_00" the error does not occur.
This is also true for the check with DevKit and Streamer App!
5) There are no issues with other devices connected to ASM3142 of any firmware version which are not FX3 based.
---
Maybe you are able to reproduce the problem at Infineon by using the current ASM3142 firmware?
Regards
Guenter
Hi All,
I am starting a project that will require at least 100W of power being delivered to a USB 3 Superspeed device using the FX3. How does one add PD capability to such a device? I've read through all the information on this site and it appears that all the controllers are tailored to the host/PC side of the problem not the device side. I also found knowledgebase article that claims to show a schematic of PD added to an FX3, but between the schematics being too blurry to read and the schematic not appearing to contain a PD interface I am left confused.
Thanks for your help,
Scott
Show Less
I am using the VECP board (MYD-CZU3EG-ISP) from MYIR, and it is required to install a driver for it, but in the FX3 SDk 1.3.4, there is only drivers for Win7 Win8 Win10, my system is Windows 11, the PC always fails to update the driver. Does anyone knows what's the problem here? And how to solve it? Thank you so much.
Show LessHello Infineon community. I’m a developer new to PSoC and FX3. I am most familiar with STM32, AVR, and traditional MCU programming so it’s been challenging making the switch. I have a little FPGA experience as well.
I’m using CYUSB3KIT-003 for my project. One of the things that’s confused me is which IDE to use. I notice there is an IDE that came with the FX3 suite called eclipse. But in cypress PSoC tutorials I see a lot of demos using PSoC creator. How exactly is eclipse different from PSoC creator and which should I use?
Secondly, id like to learn to use basic I2C with the CYUSB3014 to communicate with a slave device, like I would with any non PSoC MCU. What should I be learning in order to get to this goal?
Thank you.
Show LessHi, i am trying to test an SPI transfer using UsbSpiRegMode example, is there a way to do so with Control Center?
i am using a Saleae logic analyser to visualize the transfered data interconected with EZ-USB FX3 superspeed explorer kit
Show LessHi,
I've written a custom bootloader for the CYUSB3014-BZXC using the Cypress Boot API. We've been using this bootloader without issue for the past couple of months. However, someone recently plugged the board into a USB 3.1 host controller using a USB 2.0 cable. Upon doing so we discovered that in USB 2.0 mode the device stops responding to standard requests after being suspended and then resumed. The traffic on the USB bus was captured with an Ellisys EX350 and shows the following transactions:
1. get device descriptor (success)
2. set address (success)
3. get device descriptor (success)
4. get configuration descriptor (success)
5. get BOS ddescriptor (success)
6. get serial number descriptor (success)
7. get language ID descriptor (success)
8. get product descriptor (success)
9. set configuration 1 (success)
10. LPM transaction (success)
11. Suspended
12. Resume
13. get language ID descriptor x 6 (failure)
14. get manufacturer descriptor x 6 (failure)
15. get product descriptor x 6 (failure)
UART Debug message prints from the firmware show the following:
Initializing FX3 Boot Firmware 1.6
Boot FW Event: CY_FX3_BOOT_USB_IN_SS_DISCONNECT
Boot FW Event: CY_FX3_BOOT_USB_SUSPEND
Boot FW Event: CY_FX3_BOOT_USB_RESET
Boot FW Event: CY_FX3_BOOT_USB_RESET
Boot FW Event: CY_FX3_BOOT_USB_RESUME
Are there any special actions that the firmware must take when it receives CY_FX3_BOOT_USB_SUSPEND or CY_FX3_BOOT_USB_RESUME in order to get the FX3 to ACK the control requests that take place after the the suspend and resume operations?
We also seem to experience the same problem when running the application firmware (uses Cypress full API) when the device is plugged in with a USB 2.0 cable. The bus activity is similar:
1. get device descriptor (success)
2. set address (success)
3. get device descriptor (success)
4. get configuration descriptor (success)
5. get BOS ddescriptor (success)
6. get serial number descriptor (success)
7. get language ID descriptor (success)
8. get product descriptor (success)
9. LPM transaction (success)
10. Suspended
11. Resume
12. set configuration 1 x 3 (failure)
13. Suspended
So the same question applies for the application firmware: what steps must we take in firmware in order for control transfers to succeed after the device has been suspended and then resumed?
Some other information that you may find useful:
Operating system: Windows 10
Host Controller: Asmedia ASM3142
Hub: none
I appreciate any help you can provide.
Thanks,
Michael
Hi,
I am using CYUSB3KIT-003. I am using a custom made firmware, and I enumerate my device as a USB super speed device. When I use the control center to upload my img file, sometimes everything works fine. However, sometimes the device is not recognized (when I try to upload the firmware, the device disappears from control center and also is not recognized anymore from 'device manager').
Any help?
I figure this may be an HW problem since sometimes everything works fine while sometimes it does not?
I cannot figure out what the problem is.
Thank you
Show Lessi am developing an SPI interface on firmware with an FX3 device, but i need to have multiple slaves and be able to choose which one i want to communicate with, as far as i know, fx3 only has one chip select line for SPI
Show Less