Recent discussions
您好!我使用的是av6150(芯片为xlinx XC6SLX150,与所给案例中的spartan 6芯片相同)+CYUSB3KIT-003,参考AN65974和AN65974\FPGA Source files\fx3_slaveFIFO2b_xilinx\fpga_slavefifo2b_verilog文件夹中的ISE文件,希望实现USB3.0的回流传输功能。
由于所使用的开发板没有拨码开关,也仅希望FX3工作在loopback模式,因此在提供的ISE工程文件的slaveFIFO2b_fpga_top文件中将mode_p设置为始终工作在loopback状态下,并对UCF文件中对应的引脚进行更滑,最终程序编译通过了,但是出现了4个时序约束问题,实际BULK OUT可以传出数据,但是BULK IN接收数据失败。
请问是否是我所使用的方式有误?所提供的verilog文件是否有更详细的使用说明?
或者说,该如何使用FPGA与FX3实现数据的传输?
Show LessDear sir,
I have a new project in which CYUSB3013/3014 will be used, it uses 32bit slavefifo with flagA (set to CURRENT_THREAD_DMA_READY) connected to an external host (FPGA), the auto DMA channel (from PPort to USB) is set to CY_U3P_DMA_MODE_BUFFER mode (instead of Byte mode), e.g. the DMA buffer size is 2048bytes and count is 16. External host (FPGA) will read the FlagA and if there's available buffer it will write 2048 bytes (Buffer size) to the SlaveFIFO.
I'm wondering (not fully sure after reading the docs) about FlagA's behavoir, when the FlagA is set to " CURRENT_THREAD_DMA_READY" (assuming active "L"), it will be "L" when there's at least one available DMA buffer (2048 bytes) and FPGA can write 2048 bytes (or 4 bytes , which i guess for "Byte" mode only???), and it will be "H" when all the buffers (e.g. 16 buffers) are occupied. Is that correct?
If it's 4 bytes space only (when FlagA is "L") even in DMA buffer mode, i might have to set to DMA Byte mode, set flagA as "watermark" and set proper water mark If i want to write a bulk of bytes (e.g. 2048 bytes) to slaveFIFO at one time (one check of the flag). is there other alternative?
Thanks!
JT
Show Less
I have FX3 CYUSB2014 / 3014 and I'm trying to make UART work in DMA mode to receive and process data from UART. Using a Manual DMA Channel to read data, and process in a callback. Right now, it just sends the data over the host USB (CDC Interface) I've tried different buffer sizes and counts.
Sending "packets" of 32 bytes at a time to test, After about 4-16 packets it fails with error 73, CY_U3P_ERROR_DMA_FAILURE. Any later calls to CyU3PDmaChannelSetWrapUp return error 71 - CY_U3P_ERROR_INVALID_SEQUENCE.
Wondering why it fails in the first place, or what can be done to reset, and recover the data.
Thanks-Greg
INIT:
CyU3PReturnStatus_t InitializeDebugConsole(void)
{
CyU3PUartConfig_t uartConfig;
CyU3PDmaChannelConfig_t dmaConfig;
CyU3PReturnStatus_t Status = CY_U3P_SUCCESS;
Status = CyU3PUartInit(); // Start the UART driver
CheckStatus("CyU3PUartInit", Status);
CyU3PMemSet ((uint8_t *)&uartConfig, 0, sizeof (uartConfig));
uartConfig.baudRate = CY_U3P_UART_BAUDRATE_115200; //default buad of UART
uartConfig.stopBit = CY_U3P_UART_ONE_STOP_BIT;
uartConfig.parity = CY_U3P_UART_NO_PARITY;
uartConfig.txEnable = CyTrue;
uartConfig.rxEnable = CyTrue;
uartConfig.flowCtrl = CyFalse;
uartConfig.isDma = CyTrue;
Status = CyU3PUartSetConfig(&uartConfig, UartCallback); // Configure the UART hardware
CheckStatus("CyU3PUartSetConfig", Status);
Status = CyU3PUartTxSetBlockXfer(0xFFFFFFFF); // Send as much data as I need to
CheckStatus("CyU3PUartTxSetBlockXfer", Status);
Status = CyU3PDebugInit(CY_U3P_LPP_SOCKET_UART_CONS, 6); // Attach the Debug driver above the UART driver
if (Status == CY_U3P_SUCCESS) glDebugTxEnabled = CyTrue;
CheckStatus("ConsoleOutEnabled", Status);
CyU3PDebugPreamble(CyFalse); // Skip preamble, debug info is targeted for a person
// Now setup a DMA channel to receive characters from the Uart Rx
Status = CyU3PUartRxSetBlockXfer(1); //was 1 GH 7/1/2021
CheckStatus("CyU3PUartRxSetBlockXfer", Status);
CyU3PMemSet((uint8_t *)&dmaConfig, 0, sizeof(dmaConfig));
dmaConfig.size = 128; // 16 is Minimum size allowed, I only need 1 byte. sb multiples of 16
dmaConfig.count = 8; // I can't type faster than the Uart Callback routine!
dmaConfig.prodSckId = CY_U3P_LPP_SOCKET_UART_PROD;
dmaConfig.consSckId = CY_U3P_CPU_SOCKET_CONS;
dmaConfig.dmaMode = CY_U3P_DMA_MODE_BYTE;
dmaConfig.notification = CY_U3P_DMA_CB_PROD_EVENT;
Status = CyU3PDmaChannelCreate(&glUARTtoCPU_Handle, CY_U3P_DMA_TYPE_MANUAL_IN, &dmaConfig);
CheckStatus("CreateDebugRxDmaChannel", Status);
if (Status != CY_U3P_SUCCESS) CyU3PDmaChannelDestroy(&glUARTtoCPU_Handle);
else
{
Status = CyU3PDmaChannelSetXfer(&glUARTtoCPU_Handle, 0); //Zero for infinite transfer
CheckStatus("ConsoleInEnabled", Status);
}
return Status;
}
CALLBACK:
void UartCallback(CyU3PUartEvt_t Event, CyU3PUartError_t Error)
// Handle characters typed in by the developer
{
CyU3PDmaBuffer_t ConsoleInDmaBuffer;
CyU3PReturnStatus_t Status = CY_U3P_SUCCESS;
char pInputChar[32] = "";
uint16_t bufferlen ;
if (Event == CY_U3P_UART_EVENT_RX_DONE)
{
Status = CyU3PDmaChannelSetWrapUp(&glUARTtoCPU_Handle);
CheckStatus("CyU3PDmaChannelSetWrapUp", Status);
if(Status == CY_U3P_SUCCESS)
{
Status = CyU3PDmaChannelGetBuffer(&glUARTtoCPU_Handle, &ConsoleInDmaBuffer, CYU3P_NO_WAIT);
CheckStatus("CyU3PDmaChannelGetBuffer", Status);
if(Status == CY_U3P_SUCCESS)
{
if (ConsoleInDmaBuffer.count > 0)
{
if (ConsoleInDmaBuffer.count > 31) //max of 31 to prevent filling the string.
{
bufferlen = 31;
}
else
{
bufferlen = ConsoleInDmaBuffer.count;
}
strncpy(pInputChar,(char*)ConsoleInDmaBuffer.buffer,bufferlen);
if (gUartEcho)
{
DebugPrint(0, "%s", pInputChar); // Echo the character
}
// If True, the characters typed on the debug console are sent to the PC Host via the CDC Interface
if (gUartReTransOnCDC)
{
SendString(pInputChar);
}
}
}
}
CyU3PDmaChannelDiscardBuffer(&glUARTtoCPU_Handle);
}
CyU3PUartRxSetBlockXfer(1); //Set back to 1 to reset
}
Show Less
Hello,
From KBA https://community.cypress.com/t5/USB-Superspeed-Peripherals/X-gt-16KB-let-Y-X-16-KB-Y-lt-16KB-and-X-1024-0-What-should-I-do/m-p/280695#M27223, I have asked you how to transfer 2160KB+4B from PC to FPGA.Some settings in my design as follows:
DMA buffer: 16KB(size)X 2(number)
In my firmware:CyU3PGpifSocketConfigure (3,CY_U3P_PIB_SOCKET_3,6,CyFalse,1);
watervalue:6
databus width:32
flagc:Thread3_DMA_Ready
flagd:Thread3_DMA_WaterMark
As that KBA mentioned:The sum 2160KB + 4B is not divisible by 16KB. This means that the last DMA buffer will have 4B data and will not be committed to the FPGA side.
Now, I have transfered 2160KB+4B successfully at host side becase the function named xferdata returned true.
And I want to know when 2160KB+4B transfered successfully, the last 4B data will be committed to the FPGA side,flagd can work well or not? Flagc will be '1',flagd will be 1?
Show LessHello,
I have the Cx3UvcAS0260 example and I want to Program the .img file via SPI in USB Control Center, but it is not working. What can I do?
Thank you.
Show Less
Hi,
It seems that we cannot read a specific IOs on the FX3 with the JTAG port. Is-it possible for Cypress to confirm this?
Thanks,
Denis Alain, Eng
I have "control center" to load *.img to CYUSB3014, cause I installed the whole cypress SDK in which "control center" included.
what if my client want to load *.img to CYUSB314 since he don't want to install the whole package of cypress. is there a single package to install only "control center" ?
Show LessHi,
I want to use function I2C_SensorRead to verify that the data was successfully written to the register. But I have no ideal how to use it and how to provide register address and see the value of register.
And why the warning occur?
Best regards,
ZhangWan
Show Less
Hello,
I'm trying to stream an mipi raw 10 camera and trying to stream after configuring camera. I got blank image in my camera app. and the below uart logs has been continuously printing.
"Prod = 114 Cons = 108 Prtl_Sz = 19456 Frm_Cnt = 1 Frm_Sz = 4216480 B
Prod = 60 Cons = 60 Prtl_Sz = 19424 Frm_Cnt = 2 Frm_Sz = 2228384 B
Prod = 60 Cons = 60 Prtl_Sz = 17856 Frm_Cnt = 3 Frm_Sz = 2226816 B
Prod = 60 Cons = 60 Prtl_Sz = 17696 Frm_Cnt = 4 Frm_Sz = 2226656 B
Prod = 60 Cons = 60 Prtl_Sz = 23424 Frm_Cnt = 5 Frm_Sz = 2232384 B
Prod = 60 Cons = 60 Prtl_Sz = 19712 Frm_Cnt = 6 Frm_Sz = 2228672 B
Prod = 60 Cons = 60 Prtl_Sz = 19392 Frm_Cnt = 7 Frm_Sz = 2228352 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 8 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 23360 Frm_Cnt = 9 Frm_Sz = 2232320 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 10 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 23488 Frm_Cnt = 11 Frm_Sz = 2232448 B
Prod = 60 Cons = 60 Prtl_Sz = 19584 Frm_Cnt = 12 Frm_Sz = 2228544 B
Prod = 60 Cons = 60 Prtl_Sz = 19552 Frm_Cnt = 13 Frm_Sz = 2228512 B
Prod = 60 Cons = 60 Prtl_Sz = 19584 Frm_Cnt = 14 Frm_Sz = 2228544 B
Prod = 60 Cons = 60 Prtl_Sz = 23584 Frm_Cnt = 15 Frm_Sz = 2232544 B
Prod = 60 Cons = 60 Prtl_Sz = 19296 Frm_Cnt = 16 Frm_Sz = 2228256 B
Prod = 60 Cons = 60 Prtl_Sz = 19616 Frm_Cnt = 17 Frm_Sz = 2228576 B
Prod = 60 Cons = 60 Prtl_Sz = 19552 Frm_Cnt = 18 Frm_Sz = 2228512 B
Prod = 60 Cons = 60 Prtl_Sz = 23296 Frm_Cnt = 19 Frm_Sz = 2232256 B
Prod = 60 Cons = 60 Prtl_Sz = 19488 Frm_Cnt = 20 Frm_Sz = 2228448 B
Prod = 60 Cons = 60 Prtl_Sz = 23552 Frm_Cnt = 21 Frm_Sz = 2232512 B
Prod = 60 Cons = 60 Prtl_Sz = 17728 Frm_Cnt = 22 Frm_Sz = 2226688 B
Prod = 60 Cons = 60 Prtl_Sz = 19488 Frm_Cnt = 23 Frm_Sz = 2228448 B
Prod = 60 Cons = 60 Prtl_Sz = 19456 Frm_Cnt = 24 Frm_Sz = 2228416 B
Prod = 60 Cons = 60 Prtl_Sz = 19584 Frm_Cnt = 25 Frm_Sz = 2228544 B
Prod = 60 Cons = 60 Prtl_Sz = 17824 Frm_Cnt = 26 Frm_Sz = 2226784 B
Prod = 60 Cons = 60 Prtl_Sz = 23296 Frm_Cnt = 27 Frm_Sz = 2232256 B
Prod = 60 Cons = 60 Prtl_Sz = 19456 Frm_Cnt = 28 Frm_Sz = 2228416 B
Prod = 60 Cons = 60 Prtl_Sz = 19456 Frm_Cnt = 29 Frm_Sz = 2228416 B
Prod = 60 Cons = 60 Prtl_Sz = 19296 Frm_Cnt = 30 Frm_Sz = 2228256 B
TimeDiff = 14578 ms FPS = 2
Prod = 60 Cons = 60 Prtl_Sz = 19488 Frm_Cnt = 31 Frm_Sz = 2228448 B
Prod = 60 Cons = 60 Prtl_Sz = 20576 Frm_Cnt = 32 Frm_Sz = 2229536 B
Prod = 60 Cons = 60 Prtl_Sz = 19392 Frm_Cnt = 33 Frm_Sz = 2228352 B
Prod = 60 Cons = 60 Prtl_Sz = 23392 Frm_Cnt = 34 Frm_Sz = 2232352 B
Prod = 60 Cons = 60 Prtl_Sz = 17792 Frm_Cnt = 35 Frm_Sz = 2226752 B
Prod = 60 Cons = 60 Prtl_Sz = 19488 Frm_Cnt = 36 Frm_Sz = 2228448 B
Prod = 60 Cons = 60 Prtl_Sz = 19456 Frm_Cnt = 37 Frm_Sz = 2228416 B
Prod = 60 Cons = 60 Prtl_Sz = 23456 Frm_Cnt = 38 Frm_Sz = 2232416 B
Prod = 60 Cons = 60 Prtl_Sz = 19424 Frm_Cnt = 39 Frm_Sz = 2228384 B
Prod = 60 Cons = 60 Prtl_Sz = 19584 Frm_Cnt = 40 Frm_Sz = 2228544 B
Prod = 60 Cons = 60 Prtl_Sz = 19360 Frm_Cnt = 41 Frm_Sz = 2228320 B
Prod = 60 Cons = 60 Prtl_Sz = 19360 Frm_Cnt = 42 Frm_Sz = 2228320 B
Prod = 60 Cons = 60 Prtl_Sz = 17792 Frm_Cnt = 43 Frm_Sz = 2226752 B
Prod = 60 Cons = 60 Prtl_Sz = 19616 Frm_Cnt = 44 Frm_Sz = 2228576 B
Prod = 60 Cons = 60 Prtl_Sz = 19648 Frm_Cnt = 45 Frm_Sz = 2228608 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 46 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 47 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 19296 Frm_Cnt = 48 Frm_Sz = 2228256 B
Prod = 60 Cons = 60 Prtl_Sz = 19392 Frm_Cnt = 49 Frm_Sz = 2228352 B
Prod = 60 Cons = 60 Prtl_Sz = 19648 Frm_Cnt = 50 Frm_Sz = 2228608 B
Prod = 60 Cons = 60 Prtl_Sz = 23328 Frm_Cnt = 51 Frm_Sz = 2232288 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 52 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 53 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 19648 Frm_Cnt = 54 Frm_Sz = 2228608 B
Prod = 60 Cons = 60 Prtl_Sz = 19360 Frm_Cnt = 55 Frm_Sz = 2228320 B
Prod = 60 Cons = 60 Prtl_Sz = 19488 Frm_Cnt = 56 Frm_Sz = 2228448 B
Prod = 60 Cons = 60 Prtl_Sz = 19584 Frm_Cnt = 57 Frm_Sz = 2228544 B
Prod = 60 Cons = 60 Prtl_Sz = 19616 Frm_Cnt = 58 Frm_Sz = 2228576 B
Prod = 60 Cons = 60 Prtl_Sz = 19648 Frm_Cnt = 59 Frm_Sz = 2228608 B
Prod = 60 Cons = 60 Prtl_Sz = 19584 Frm_Cnt = 60 Frm_Sz = 2228544 B
TimeDiff = 1084 ms FPS = 27
Prod = 60 Cons = 60 Prtl_Sz = 19488 Frm_Cnt = 61 Frm_Sz = 2228448 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 62 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 23456 Frm_Cnt = 63 Frm_Sz = 2232416 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 64 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 23552 Frm_Cnt = 65 Frm_Sz = 2232512 B
Prod = 60 Cons = 60 Prtl_Sz = 19648 Frm_Cnt = 66 Frm_Sz = 2228608 B
Prod = 60 Cons = 60 Prtl_Sz = 23552 Frm_Cnt = 67 Frm_Sz = 2232512 B
Prod = 60 Cons = 60 Prtl_Sz = 19360 Frm_Cnt = 68 Frm_Sz = 2228320 B
Prod = 60 Cons = 60 Prtl_Sz = 19552 Frm_Cnt = 69 Frm_Sz = 2228512 B
Prod = 60 Cons = 60 Prtl_Sz = 19488 Frm_Cnt = 70 Frm_Sz = 2228448 B
Prod = 60 Cons = 60 Prtl_Sz = 23520 Frm_Cnt = 71 Frm_Sz = 2232480 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 72 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 23360 Frm_Cnt = 73 Frm_Sz = 2232320 B
Prod = 60 Cons = 60 Prtl_Sz = 19360 Frm_Cnt = 74 Frm_Sz = 2228320 B
Prod = 60 Cons = 60 Prtl_Sz = 23392 Frm_Cnt = 75 Frm_Sz = 2232352 B
Prod = 60 Cons = 60 Prtl_Sz = 21920 Frm_Cnt = 76 Frm_Sz = 2230880 B
Prod = 60 Cons = 60 Prtl_Sz = 23648 Frm_Cnt = 77 Frm_Sz = 2232608 B
Prod = 60 Cons = 60 Prtl_Sz = 23392 Frm_Cnt = 78 Frm_Sz = 2232352 B
Prod = 60 Cons = 60 Prtl_Sz = 19360 Frm_Cnt = 79 Frm_Sz = 2228320 B
Prod = 60 Cons = 60 Prtl_Sz = 19648 Frm_Cnt = 80 Frm_Sz = 2228608 B
Prod = 60 Cons = 60 Prtl_Sz = 19552 Frm_Cnt = 81 Frm_Sz = 2228512 B
Prod = 60 Cons = 60 Prtl_Sz = 23296 Frm_Cnt = 82 Frm_Sz = 2232256 B
Prod = 60 Cons = 60 Prtl_Sz = 19392 Frm_Cnt = 83 Frm_Sz = 2228352 B
Prod = 60 Cons = 60 Prtl_Sz = 19616 Frm_Cnt = 84 Frm_Sz = 2228576 B
Prod = 60 Cons = 60 Prtl_Sz = 19712 Frm_Cnt = 85 Frm_Sz = 2228672 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 86 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 19648 Frm_Cnt = 87 Frm_Sz = 2228608 B
Prod = 60 Cons = 60 Prtl_Sz = 23456 Frm_Cnt = 88 Frm_Sz = 2232416 B
Prod = 60 Cons = 60 Prtl_Sz = 19488 Frm_Cnt = 89 Frm_Sz = 2228448 B
Prod = 60 Cons = 60 Prtl_Sz = 19648 Frm_Cnt = 90 Frm_Sz = 2228608 B
TimeDiff = 983 ms FPS = 30
Prod = 60 Cons = 60 Prtl_Sz = 19712 Frm_Cnt = 91 Frm_Sz = 2228672 B
Prod = 60 Cons = 60 Prtl_Sz = 23264 Frm_Cnt = 92 Frm_Sz = 2232224 B
Prod = 60 Cons = 60 Prtl_Sz = 19424 Frm_Cnt = 93 Frm_Sz = 2228384 B
Prod = 60 Cons = 60 Prtl_Sz = 17824 Frm_Cnt = 94 Frm_Sz = 2226784 B
Prod = 60 Cons = 60 Prtl_Sz = 19680 Frm_Cnt = 95 Frm_Sz = 2228640 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 96 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 97 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 19584 Frm_Cnt = 98 Frm_Sz = 2228544 B
Prod = 60 Cons = 60 Prtl_Sz = 19392 Frm_Cnt = 99 Frm_Sz = 2228352 B
Prod = 60 Cons = 60 Prtl_Sz = 19456 Frm_Cnt = 100 Frm_Sz = 2228416 B
Prod = 60 Cons = 60 Prtl_Sz = 19488 Frm_Cnt = 101 Frm_Sz = 2228448 B
Prod = 60 Cons = 60 Prtl_Sz = 19680 Frm_Cnt = 102 Frm_Sz = 2228640 B
Prod = 60 Cons = 60 Prtl_Sz = 19552 Frm_Cnt = 103 Frm_Sz = 2228512 B
Prod = 60 Cons = 60 Prtl_Sz = 19552 Frm_Cnt = 104 Frm_Sz = 2228512 B
Prod = 60 Cons = 60 Prtl_Sz = 23456 Frm_Cnt = 105 Frm_Sz = 2232416 B
Prod = 60 Cons = 60 Prtl_Sz = 19392 Frm_Cnt = 106 Frm_Sz = 2228352 B
Prod = 60 Cons = 60 Prtl_Sz = 19488 Frm_Cnt = 107 Frm_Sz = 2228448 B
Prod = 60 Cons = 60 Prtl_Sz = 19392 Frm_Cnt = 108 Frm_Sz = 2228352 B
Prod = 60 Cons = 60 Prtl_Sz = 19328 Frm_Cnt = 109 Frm_Sz = 2228288 B
Prod = 60 Cons = 60 Prtl_Sz = 19456 Frm_Cnt = 110 Frm_Sz = 2228416 B
Prod = 60 Cons = 60 Prtl_Sz = 19424 Frm_Cnt = 111 Frm_Sz = 2228384 B
Prod = 60 Cons = 60 Prtl_Sz = 19648 Frm_Cnt = 112 Frm_Sz = 2228608 B
Prod = 60 Cons = 60 Prtl_Sz = 19616 Frm_Cnt = 113 Frm_Sz = 2228576 B
Prod = 60 Cons = 60 Prtl_Sz = 23808 Frm_Cnt = 114 Frm_Sz = 2232768 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 115 Frm_Sz = 2228480 B
Prod = 60 Cons = 60 Prtl_Sz = 23296 Frm_Cnt = 116 Frm_Sz = 2232256 B
Prod = 60 Cons = 60 Prtl_Sz = 23520 Frm_Cnt = 117 Frm_Sz = 2232480 B
Prod = 60 Cons = 60 Prtl_Sz = 19584 Frm_Cnt = 118 Frm_Sz = 2228544 B
Prod = 60 Cons = 60 Prtl_Sz = 19552 Frm_Cnt = 119 Frm_Sz = 2228512 B
Prod = 60 Cons = 60 Prtl_Sz = 19328 Frm_Cnt = 120 Frm_Sz = 2228288 B
TimeDiff = 1016 ms FPS = 29
Prod = 60 Cons = 60 Prtl_Sz = 23520 Frm_Cnt = 121 Frm_Sz = 2232480 B
Prod = 60 Cons = 60 Prtl_Sz = 19520 Frm_Cnt = 122 Frm_Sz = 2228480 B"
kindly say what will be the the problem in streaming mipi raw 10 data
hear I'm attaching my project file kindly look for that and check what will be the problem.
Show LessHi all, i`m not familiar with firmware code of FX3 and want to ask sb expert for modifing a little part of firmware.
we currently use the slave fifo firmware for driving FX3, in this example firmware, internal buffer size is configured based on usb rate, as the code piece below:
In above switch of code, three usb rate modes are mapped to three different buffer size configurations, by those configurations, 16kB per one packet for usb3.0 and 8kB per one packet for usb2.0, thus if our device is connected with usb2.0 host, two bulk-in transfers are needed for transferring one 16kB data, actually we expect that transferring 16kB in one packet for all usb rate modes, that will simplify our FPGA interface design.
can i just set all size to 1024 in above three cases of switch ? or i can not do that for some hardware reason of FX3 ?
BTW, need i modify the burstLength of above code ?
Show Less