USB superspeed peripherals Forum Discussions
-
Hardware
-
host: tinker board 2s(rk3399),kernel 5.13
-
slave: sg130gs(1280*720, YUYV, 30fps) + fpga(spartan 6) + cyusb3014, isochronous mode
-
-
Problem
-
Run this script on host
#!/bin/bash
while :
do
yavta -c30 /dev/video0
sleep 2
yavta -c30 /dev/video1
sleep 2
done -
After random time(from minutes to hours), one of these cameras would be stuck
-
USB packets captured by tcpdump indicate that the host keeps polling(isochronous) the slave while the slave keeps responding with a data packet with zero-length
-
After this, if I restart the test script, the device that is stuck will be missed
-
-
some trials on other settings also failed
-
ov5640(1280*720, YUYV,30fps) + cyusb3014, bulk mode
-
sg130gs(1280*720, YUYV, 30fps) + fpga(spartan 6) + cyusb3014, bulk mode
-
-
In addition, test with a single camera is fine
Any ideas? thanks
Show LessGreetings,
I was wondering anybody encountered this failure: "Error, "Write failed. Aborting" while programming the firmware to the particular eMMC device, which is Koxia THGBMJG6C1LBAIL (8GB, eMMV 5.1 compliant). We use SanDisk iNAND7250 and this device has no issues to program the firmware using 'cyfwstorprog.exe.'
===
[Problem description]
Two partitions, and a user partition were successfully created but while programming the firmware, I got the following error:
Hi, I am working on interfacing ov7670 with CYUSB3KIT-003 as per this blog:
Checked all the signals like PCLK,HREF,VSYNC,XCLK, all looks fine. firmware loaded to FX-3 but failed to display anything on vlc/webcamoid application. Here s the frame/buffer log...
Please help to resolve this issue. What more I should figure out.
Best Regards,
/Ash
Show Less
I download FX3SDKSetup_1.3.4.exe And install.
But find no windows host driver source code and the C++ & C# API library source code.
Where can I get it
I really appreciate your help
Show LessIn my project, there are two interrupt endpoints, 0x01 and 0x81, and the DMA configuration for the interrupt OUT endpoints is as follows:
dmaCfg_int_ep1_out.size = 1024;
dmaCfg_int_ep1_out.count = CY_FX_INT_DMA_BUF_COUNT;
//dmaCfg_int_ep1_out.prodSckId = CY_FX_UIB_INT_EP_PRODUCER_CMD_SOCKET;
dmaCfg_int_ep1_out.prodSckId = CY_U3P_UIB_SOCKET_PROD_1;
dmaCfg_int_ep1_out.consSckId = CY_U3P_CPU_SOCKET_CONS;
dmaCfg_int_ep1_out.dmaMode = CY_U3P_DMA_MODE_BYTE;
dmaCfg_int_ep1_out.notification = CY_U3P_DMA_CB_PROD_EVENT;
dmaCfg_int_ep1_out.cb = CyFxEP1_OUT_CMD_DmaCallback;
dmaCfg_int_ep1_out.prodHeader = 0;
dmaCfg_int_ep1_out.prodFooter = 0;
dmaCfg_int_ep1_out.consHeader = 0;
dmaCfg_int_ep1_out.prodAvailCount = 0;
apiRetStatus = CyU3PDmaChannelCreate (&glChHandle_H2F_CMD, CY_U3P_DMA_TYPE_MANUAL_IN, &dmaCfg_int_ep1_out);
if (apiRetStatus != CY_U3P_SUCCESS)
{
CyU3PDebugPrint(CY_FX_DEBUG_PRIORITY, "EP1 OUT CyU3PDmaChannelCreate failed, Error code = %d\r\n", apiRetStatus);
CyFxAppErrorHandler(apiRetStatus);
}
/* Set DMA Channel transfer size */
apiRetStatus = CyU3PDmaChannelSetXfer (&glChHandle_H2F_CMD, CY_FX_BULKSRCSINK_DMA_TX_SIZE);
if (apiRetStatus != CY_U3P_SUCCESS)
{
CyU3PDebugPrint(CY_FX_DEBUG_PRIORITY, "EP1 OUT CyU3PDmaChannelSetXfer failed, Error code = %d\r\n", apiRetStatus);
CyFxAppErrorHandler(apiRetStatus);
}
apiRetStatus = CyU3PDmaChannelSetWrapUp (&glChHandle_H2F_CMD);
if (apiRetStatus != CY_U3P_SUCCESS)
{
CyU3PDebugPrint(CY_FX_DEBUG_PRIORITY, "EP1 OUT CyU3PDmaChannelSetWrapUp failed, Error code = %d\r\n", apiRetStatus);
CyFxAppErrorHandler (apiRetStatus);
}
When I download the project-compiled firmware to the FX3 development board, the interrupt callback that interrupts the OUT endpoint is executed once,Attached is my project. Could you help me check it,please.
Show LessHello,
Due to supply chain issues I had to re-implement the AN75779 with a different image sensor than I was using before, with a 1280x1024 resolution.
Interestingly, in my camera app I do get a 1280x1024 window, but 150-ish rows on the top and bottom of the image are always black, and the effective area of active pixels come out to 1280x720. And I believe this is somehow squeezing the full Y-dimension of the image into a reduced height, because when I tried to capture a checkerboard pattern for spatial characterization, the squares did not come out to be nearly perfectly square, but they are shorter in the Y direction.
I know this is not my sensor electrically because I plugged the same sensor into an FPGA system and initialized it with the same setup command sequence and the image comes out to the full resolution.
So is there something in the FX3 firmware that could cause this to happen, or is it somehow in the Windows side of things?
Show LessWhat are the costs we can expect when we want to resell and sign the Cypress CyUSB driver?
A USB Vendor ID seems to cost $6000: https://www.usb.org/getting-vendor-id. And there will be costs to get a Extended Validation (EV) Code Signing Certificate. But which other costs can be expected?
Regards,
Show LessWith FX3 Evalutation Kit "CYUSB3KIT-003", modifying its sample project "cyfxuvc_an75779", I am trying to control another image sensor(OV5642) that is connected to GPIF2. In order to generate the master clock (XCLK), I assigned the signal to GPIF2 Pin CTL11(GPIO29) by GPIF2 Designer. And I modified codes in uvc.c CyFxUVCApplnInit() with functions CyU3PDeviceGpioOverride() and CyU3PGpioSetComplexConfig(), then I already got the target 25MHz PWM signal.
But I cannot find the way to adjust amplitude(Voltage) that comes out from a pin of GPIF2. Is there a setting method by software manipulation?
Does Infineon have an example that supports USB 3.x to JTAG?
A USB SuperSpeed (3.0) to JTAG would support downloading an image to an FPGA without setting up a separate channel for data to run over USB 2.0.
CY765215 is a good option to interface USB 2.0 with JTAG.
Reference USB-Serial as JTAG Master - KBA224254 @ https://community.infineon.com/t5/Knowledge-Base-Articles/USB-Serial-as-JTAG-Master-KBA224254/ta-p/252019
The JTAG interface of FX3 is used for debugging firmware only.
Infineon posted a Knowledge Based Article (KBA) in 2014 to documents this:
https://community.infineon.com/t5/Knowledge-Base-Articles/EZ-USB-FX3-Boundary-Scanning-Support-KBA90923/ta-p/248212
Re-affirmed in July 2021 @ https://community.infineon.com/t5/USB-superspeed-peripherals/JTAG-FX3-read-gpio/m-p/282168
Application Note AN84868 = Configuring an FPGA over USB Using Infineon EZ-USB™ FX3 , describes some alternate methods to JTAG programming. Are there examples for users who want to continue to use the JTAG method with FX3?
Greg
Show Less