USB superspeed peripherals Forum Discussions
text.format{('custom.tabs.no.results')}
Hello,
I posted this issue previously: https://community.infineon.com/t5/USB-superspeed-peripherals/EZ-USB-FX3-Explorer-kit-as-16-channel-logic-analyzers-gt-dropped-samples-after/m-p/635325/
The topic has been locked and I cannot reply there, so I have to start a new one.
Unfortunately my first test were wrong, the issue is not solved, they are just less extreme. With the new firmware now after every 16 KB samples are dropped (which makes sense, as there are now two 16KB buffers instead of one 32KB). It seems the FX3 cannot swap the buffers seamlessly. Is there any way to fix that? As I want to connect a ADC to the chip it is important that I get all samples without any loss.
Best regards,
Stefan
Edit: I'm absolutely no expert in programming this device (or similar devices), but could this approach work: Instead of having two buffers just have a single 32 KB ringbuffer (address & 0x7fff) that gets continuously written to by the GPIF state machine (a single state) and have a second GPIF thread (?) that counts the clock cycles and causes an interrupt on buffer half full (first part will be send) and buffer complete full (second part will be send).
Show LessHello,
I want to flash the firmware in linux through control center. In windows we have EZUSB supported control center to flash the firmware. I came to know that in linux we have CYUSB linux to flash the firmware.But it is not working. Can I know any other application that supports flashing the firmware in linux, or else how to make CYUSB works for linux to flash the firmware.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
Thanks and Regards,
StarDust
Show LessHello, please tell me the problem I encountered in using FX3, the way I use is FX3 connect to FPGA, FPGA connect to a kind of adc module, then adc module connect to linear sensor. fx3 transmit to pc through UVC, the problem I encountered is, when I set the linear sensor to transmit clock to 8M, the fx3 read the image is normal, but when I set the linear sensor to transmit clock to 2M or 1M, there will be a problem, 2M data will be wrong occasionally, 1M no data at all, please tell me who also encountered this problem.
Show LessI set up a project using the steps at the following URL:
I want to use this code to start the "smart sensor" device, but during the execution process, I found that when my program executed the CyU3PMipicsiInit function in the CyCx3AppInit function, an error occurred when I2C was written to the Sensor and could not be read. written. However, before the CyU3PMipicsiInit function, I2C is executed to write to the sensor. All commands work fine.
I was wondering if you have any experience with this situation and if you could provide me with some guidance so that I can determine where the problem is.
postscript:
CyU3PMipicsiInit has no errors and returns the value 0x00.
After executing this function,
The Sensor's I2C transmission (CyU3PI2cTransmitBytes) could have been written successfully, but it turned into a write error and return error value of 0x4A.
Thank you.
Show LessHello,
I've developed a ADC board for a FX3 SuperSpeed Explorer Kit to be plugged onto and would like to make it available to others. I use a modified firmware that is provided here in the forum.
The firmware is released under the Cypress Software License Agreement. But I'm not a lawyer, not even a native English speaker. As I understand the license I'm not allowed to distribute the source code, but the clause about object code is very unclear to me:
License to Distribute Licensed Software in Object Code Form. Subject
to the terms and conditions set forth herein, Cypress hereby grants to Licensee
a worldwide, non-exclusive, non-transferable, royalty-free license to
reproduce, sublicense and distribute the Firmware, Drivers, and/or Application
Software, and derivative works thereof, in object code form only, with the
applicable Licensee Product.
What exactly does that mean? I do not sell anything, I only provide the documentation of the device for others to build it themselves (and buy a SuperSpeed Explorer Kit themselves). Is the documentation considered a product I can distribute the firmware with (e.g. have the binary in the repo on GitHub)?
Unfortunately the firmware license issue for sigrok is also still unclear (see https://community.infineon.com/t5/USB-superspeed-peripherals/Sigrok-needs-authorization-to-use-the-Logic-Analyzer-firmware-blob/m-p/367526), therefore the pull request to add FX3 support is till open.
Best regards
Stefan
Hi there,
The SRAM Master GPIF Example doesn't work in USB 2.0 mode in SDK 1.3.4. Control Center doesn't see device after programming via USB (cypress kit and custom board too). PMODE settings OK. To test/simulate it, just switch USB to 2.0 here:
apiRetStatus = CyU3PConnectState (CyTrue, /*CyTrue*/CyFalse); // USB 2.0
Getting the error: CyU3PSetEpConfig 0x01 failed, Error code = 64
If I comment out CyFxSRAMApplnStart () like below, it works and recognized in Control Center:
case CY_U3P_USB_EVENT_SETCONF: /* Stop the application before re-starting. */
if (glIsApplnActive)
{
CyFxSRAMApplnStop ();
}
/* Disable USB Low Power Mode Transitions once the device has been configured. */
CyU3PUsbLPMDisable ();
//CyFxSRAMApplnStart (); // - this causes trouble
break;
Any help is appreciated, thanks!
Show LessHi, @Ajeethkumar_P
I have encountered the same striping case discussed on this page, under the same MultiChannel DMA conditions.
Since I am unable to comment on the above thread, I am starting a new thread here.
Is it possible for you to tell us how to configure the FX3 side to solve this problem?
* Sorry, I can't give you our in-house information right away, so I would first like to know what information you have that you can write here, if any.
I am using the DMA_RDY_TH0 and DMA_RDY_TH1 actions in my GPIF state machine to determine when an error state can be left and am looking for how exactly these transitions work within GPIF. Looking online, they seem to assert as long as there is at least 1 buffer available to be filled in the specific thread but after reading this thread I am not sure if I need to insert an IN_DATA or DR_DATA action into the state I am using DMA_RDY_TH0/ DMA_RDY_TH1 for them to function.
Can I get clarification if there are any requirements for states using the DMA_RDY_TH0 and DMA_RDY_TH1 transitions and whether a IN_DATA or DR_DATA action is required?
Show LessHello,
I'm debugging the FX3 with double functions, uvc+msc, now the msc works well, but uvc will get errors "DMA Reset Event: Commit buffer failure", I check the bushound, find that the host is keepping requesting the Test unit ready, I think it will effect the uvc dma buffer commit, and casing frame miss, can you help on this? thanks.
Show Less