USB superspeed peripherals Forum Discussions
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 LessHello,
I want to implement a SPI communication between the PC (host application) and the FPGA, via the FX3 device. I want to both send and receive data simultaneously. I want to send some commands to the FPGA and be able to get the FPGA’s response.
I am using the UsbSpiRegMode firmware code example, and the functions CyU3PSpiTransmitWords and CyU3PSpiReceiveWords in same SS low/high period, or the function CyU3PSpiTransferWords. With the functions CyU3PUsbSendEP0Data and CyU3PUsbGetEP0Data.
But on the host application (Control Center), the control point can use either Write or Read (Out or In), but not Write/Read at the same time.
On the host application, I can send successfully some data to the FPGA but I am not able to read the data that are coming from the MISO line (FPGA's response).
How can I do both send and receive data simultaneously?
Thank you.
Jean.
Show Lessit takes at least 90s to config fpga via fx3 in slave selectMAP mode , while the bitfile is about 8MB.
how can i reduce the time cost? where can i change config clock?
thanks。
Show Less