Most of the data I'm trying to transmit seems to be going between the FX3 and the other chip just fine, but I'm periodically getting zero length packets seemingly coming from nowhere. I've been trying to debug this, but everything I've tried has been a dead end so far.
I'm trying to use the FX3 to connect an 8051 on our board with a host application on a windows PC. My setup is as follows:
Now the problem I'm seeing is that, the 8051 sends a keepalive signal periodically to the host app, and every once in a while, we get a zero length packet as well.
Here's what I've tried in my investigation:
I suspected that maybe there's noise or something changing the PKTEND pin long enough to trick the state machine into sending a ZLP, but my coworker has already dismissed that notion. He's the hardware guy, so I can't really make him check it, and he didn't leave a way to attach a scope or anything to the pin, so wouldn't be easy.
If anyone has any suggestions of what might be going wrong, or ideas for other things I could test, I'd love to hear them.Show Less
For my initial evaluation of USB3 Vision, I am using the source code shared in the forum. Using that source code, I am able to enumerate the device as a USB3 Vision device, but I cannot connect to any GenICAM application to test the streaming. Any guidance on this would be appreciated.
Thanks in Advance,
Vigneshkumar R.Show Less
Hi, I'm engineer developing camera modules using FX3 controller.
I'm configuring FX3 GPIF-II interface for some image sensor now.
The sensor support resolution as 2560x721x30FPS.
And data bus line is 10 lines and PCLK from sensor is 120Mhz.
But the FX3 is not support PCLK over 100 Mhz, isn,t it?
So I'm figuring out solving this problem.
If the PCLK is over 100Mhz, what problem is occured?
How can I solve this problem?
Please give me the solution.Show Less
We would like to make use of the Cypress CyUSB3 Driver Resell opportunity for Windows 10. Which information do you need to be able to proceed?Show Less
We want to certificate driver by resell process.
Could you please confirm below information?
publisher display name : 주식회사 휴톤
MPN ID : 6558010
os : win 10 x64, win 10 x86
driver version : 18.104.22.168
chip : fx3
Thank youShow Less
I'm using Qt Creator 7.0.1 based on Qt 6.2.3 (MVSC 2019, 64bits)
I got several issues while trying to build my project.
CyAPI.lib(CyAPI.obj):-1: erreur : LNK2019: symbole externe non r‚solu __imp_UnregisterDeviceNotification r‚f‚renc‚ dans la fonction "public: void __cdecl CCyUSBDevice::DestroyHandle(void)" (?DestroyHandle@CCyUSBDevice@@QEAAXXZ)
CyAPI.lib(CyAPI.obj):-1: erreur : LNK2019: symbole externe non r‚solu __imp_RegisterDeviceNotificationA r‚f‚renc‚ dans la fonction "private: bool __cdecl CCyUSBDevice::RegisterForPnpEvents(void *)" (?RegisterForPnpEvents@CCyUSBDevice@@AEAA_NPEAX@Z)
CyAPI.lib(CyAPI.obj):-1: erreur : LNK2019: symbole externe non r‚solu __imp_MessageBoxA r‚f‚renc‚ dans la fonction "int `public: bool __cdecl CCyUSBDevice::Open(unsigned char)'::`1'::catch$0" (?catch$0@?0??Open@CCyUSBDevice@@QEAA_NE@Z@4HA)
Do you know what is missing ?
my .pro file possess these libraries
LIBS += "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\library\cpp\lib\x64\CyAPI.lib"
LIBS += "C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\SetupAPI.Lib"
LIBS += "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\lib\x64\legacy_stdio_definitions.lib"
INCLUDEPATH += "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\library\cpp\inc"
I have CYUSB3014, and i willing to i2c working in slave fifo,because we want to transfer USB data and i2C data at the same time .
Is this can possible?If it's can do it, could you please let me know example source code like bulkloop or slavefifo ?
Thank youShow Less
I follow Adding Communication Device Class Interface to FX3 Firmware - KBA229099. and added all the codes into cyfxslfifousbdscr.c and cyfxslfifosync.c. When i try it out at my host-PC, windows 10 device manager can detect the cypress bootloader but the USB-Serial-device did not show up in device-manager-other device.
i am using the example from SlaveFifoSync.rar in https://community.infineon.com/t5/Knowledge-Base-Articles/Adding-Communication-Device-Class-Interface-to-FX3-Firmware-KBA229099/ta-p/259825
do i need to add the codebelow from https://community.infineon.com/t5/Resource-Library/SlaveFiFoSync-example-with-a-CDC-debug-console/ta-p/246083, into cyfxslfifosync.c
// Only proceed if USB connection is up
// Tear down DMA channels that need to be reassigned
// Switch console
UsingUARTConsole = !UsingUARTConsole;
CyU3PDebugPrint(4, "Switching console to %s", UsingUARTConsole ? "UART" : "USB");
CyU3PThreadSleep(100); // Delay to allow message to get to the user
// Disconnect the current console
CyU3PThreadSleep(100); // Delay to allow Debug thread to complete and all buffers returned
// Connect up the new Console out - this is simpler than the I2C case since the USB socket is an infinite sink
Status = CyU3PDebugInit(UsingUARTConsole ? CY_U3P_LPP_SOCKET_UART_CONS : CY_FX_EP_CONSUMER_CDC_SOCKET, 8);
CyU3PDebugPreamble(CyFalse); // Skip preamble, debug info is targeted for a person
// Say hello on the new console
CyU3PDebugPrint(4, "Console is now %s", UsingUARTConsole ? "UART" : "USB" );
// Now connect up Console In
Status = InitializeDebugConsoleIn(UsingUARTConsole);
// Connect CDC_Loopback if necessary
else CyU3PDebugPrint(4, "USB not active, cannot switch consoles\n");
CyU3PReturnStatus_t InitializeDebugConsoleIn(CyBool_t UsingUART)
CyU3PDebugPrint(4, "\nSetting up USB_CDC Console In");
CyU3PMemSet((uint8_t *)&dmaConfig, 0, sizeof(dmaConfig));
dmaConfig.size = EpSize[CyU3PUsbGetSpeed()];
dmaConfig.count = 2;
dmaConfig.prodSckId = CY_FX_EP_PRODUCER_CDC_SOCKET;
dmaConfig.consSckId = CY_U3P_CPU_SOCKET_CONS;
dmaConfig.dmaMode = CY_U3P_DMA_MODE_BYTE;
dmaConfig.notification = CY_U3P_DMA_CB_PROD_EVENT;
dmaConfig.cb = CDC_CharsReceived;
Status = CyU3PDmaChannelCreate(&CDCtoCPU_Handle, CY_U3P_DMA_TYPE_MANUAL_IN, &dmaConfig);
if (Status != CY_U3P_SUCCESS) CyU3PDmaChannelDestroy(&CDCtoCPU_Handle);
Status = CyU3PDmaChannelSetXfer(&CDCtoCPU_Handle, 0);
Dear infineon team,
I am trying to port my old code build using 1.3.1 SDK to 1.3.4 SDK. I faced a problem during I2C communication. I was sending some data through I2C before the CyU3PConnectState() API in my previous code. But while using 1.3.4 SDK the data transmitted over I2C was not written properly in registers. This is happening randomly (out of 5 times 2 or 3 times this issue occurs) . But in 1.3.4 SDK when I transmit I2C data after the CyU3PConnectState() API it is working properly.
kindly provide a solution to sort out this issue.
I am currently learning to work with the EZ-USB FX3 kit and trying to implement some UART messages to follow the execution of my programs with a puTTy terminal.
The CyU3PDebugPrint() function, frome the cyu3system.h library, seems to be made for that purpose, however I have not been able to make it work so far, even though the subject has been discussed many times on this forum.
In particular, I am confused by the fact that there are entire blocks of code dedicated to initializing the UART in the UsbUart example firmware that are not mentioned in this article on how to use the function.
I also tried to import and run the edited Debug firmware provided in this previous discussion about a similar issue, yet cannot read anything in my terminal.
For your information, PuTTy scans the COM port on the USB 2.0 connector, since it is linked with the UART interface, with the default settings (115200 bauds, 8 data bits, no Parity bit, 1 stop bit, no Flow control). Could I be doing this wrong ?
>Do you happen to have a template on how to use this DebugPrint function for a basic application? My next test would be to print a message when the on-board user button is pressed.
>Is there another message-printing function I might have missed and that could be easier to use?
Thanks very muchShow Less