USB superspeed peripherals Forum Discussions
Hello, I asked this question two years ago ,
Re: When usb3.1 Gen 2 FX3 chip will be released?
Now is 2020 , I am still waiting for GEN2 Controller....and the newest roadmap shows that FX3GEN2 is still unavailable.
If its possible, could you please give a cue about the detail developing info of FX3GEN2 please?
Thank you.
Show LessHey guys, I'm trying to config a FPGA via SelectMap mode. And what I did is to use GPIO to emulate a 16-bit parallel IO. It works but the speed is quite slow. The problem might be caused by the multi-threading in the firmware: one thread wait for usb vendor cmd and one thread do the job (here is config the fpga from flash). The two threads have the same priority and preemption disabled with time_slice = 1 as I don't want the main thread stall when the worker thread is working. I'm glad to know if there are ways to speed up the configuration process? It can be achieved from the multi-threading side or the 16-bit parallel IO side. Here is a code snippet:
Show Less
Hi All,
I am new to USB environment. My aim is to port from windows to android to communicate with hardware peripheral using cypress device.
Existing system:
Windows Device <---> Cypress Device (FX3) <---> Hardware Peripheral
New system:
Android Device <---> Cypress Device (FX3) <---> Hardware Peripheral
Established the communication between cypress device and android device using libusb. we are using libcyusb.cpp wrapper file to use libusb functions. I can able to get Handle of an USB(cypress device), PID, VID of the connected device by using libcyusb function calls.
Now i want to communicate with hardware peripheral. In the windows code "CCyUSBEndPoint::XferData" function used to send the data. This function available in CyAPI.cpp file.
Can anyone suggest a function corresponding to that API(CCyUSBEndPoint::XferData) in the libcyusb.cpp file?
Best regards,
Iyaps.
Show LessHello Cypress. I have a cy7c67300 microcontroller. When sending in host->device mode, data is transmitted 0xABCD, and when sending in device->host mode data is received 0xD4C4. With the request code and wValue unchanged. Why doesn't the data match? Help!
P.S. the microcontroller work in standalone mode.
Show LessIs the Wrapper for the FX3 3014 Linux USB drive open source?
Can I use embedded systems such as Raspberry Pi and use the Wrapper developed by Cypress?
Show LessThe SPI power domain is VIO4 and the default value is 3.3.
Could anyone tell me how to change the power from 3.3 v to 2.5V?
Is there a API can do it?
Show LessHello there,
I'm using the FX3 Dev Board and I'd like to configure a Slave device over the SPI Interface. Simultaneously, the UART Interface is being used for Debug purposes. Following is a sample of the code:
CyU3PDebugPrint (2, "Address of Data: %X \r\n", &data);
CyU3PDebugPrint (2, "Data: %X\r\n", data);
CyU3PReturnStatus_t status = CyU3PSpiTransferWords (&data,1,response,1);
CyU3PDebugPrint (2, "SPI MOSI Transmission status: %X\r\n", status);
so far, it's working well and data can be exchanged between SPI Master and Slave.
but once the CyU3PDebugPrint() calls are commented out(UART Block of FX3 is still configured and pins are still connected correctly.), the data can not be transferred to the slave any more. does anyone know why?
Show LessHello,
Recently I am implementing firmware for a project where we need to stream (5120*720) sized frames from FPGA to Windows PC.
Our plan is to achieve 60fps, and we have a requirement of 100% of data should be delivered at the PC side.
This is how GPIF Connects and the State machine is implemented.
I am using 8 buffers of 16kB long.
Currently, I am using Bulk endpoint where we need to guarantee that all the data is presented at the PC, but we are losing so much data.
On the PC side, I am using the following mechanism in a separate thread.
int len = BufSz;
EpBulkIn_ImageData.TimeOut = 5;
bool isSuccess = EpBulkIn_ImageData.XferData(ref xferBufs[bufferIdx], ref len);
if (!isSuccess)
{
failures++;
continue;
}
if (len > 0)
{
try
{
ImageRawBuff imgRawBuff = new ImageRawBuff();
imgRawBuff.pBuff = xferBufs[bufferIdx];
imgRawBuff.size = len;
if (g_Que_CollectorBufferPointer.Count >= const_GBuffQueSize)
{
g_Que_CollectorBufferPointer.Dequeue();
}
g_Que_CollectorBufferPointer.Enqueue(imgRawBuff);
}
catch (Exception err)
{
}
}
Please suggest me if I am doing something wrong, or if there is any better way to achieve this.
**Currently, I am trying to use the Isocronus endpoint to transfer frames to achieve the FPS that we required.
Please let me know if you need more information.
Thanks for the help in advance.
Show LessHi,
I am developing firmware that can stream 4912x3684 RAW12 data at 5fps. I know that the normal stream will not appear in e-camview or amcap but some type of color with framerate will be displayed as I have tested with other resolution. Now when I start streaming data in e-camview it shows 0.0fps. In debug log I have printed frame size and MIPI error for debugging attached as below. Frame size is inconsistent and less than expected.
Frame size = 4912*3684*12/8 = 27143712. But I am getting around 25000000. Also after many iterations I am getting DMA_RESET_EVENT from DMA callback and firmware stops to send frame size And display MIPI error shown in Log file
I have attached MIPI configuration window for reference. I have tried changing pll clock multiplier but it is not making much difference. Let me know in case of further clarification.
Thanks in advance
Show LessWe have designed custom board for camera video out in UVC mode. Video out work fine USB2.0 but there is no video when connecting USB3,0 port but the device details PID,VID in device manager are correct. Please suggest steps to troubleshoot the issue.
Thanks,
Jayaram
Show Less