USB superspeed peripherals Forum Discussions
Hello,
We have a custom board with FX3 that receives image from a sensor with a resolution of 3848x2168 at 13.3fps (RAW12).
We have managed to see the video coming from the sensor with AMCAP and with our custom software. But it seems that, sometimes, the received image is glitched on the initial columns (See "ProperImageCamTool.jpg" and "FailingImageCamTool.jpg").
These screenshots are both using the same firmware, the glitch appears just after unplugging and plugging again to our USB3.0 port.
With a quick look it seems like the last pixels of each row have been moved to the first pixels of each row. But, with further debugging we've managed to see that the first row of pixels has 5 pixels that correspond to the last 5 pixels of the last row of the ... ¿previous frame?. And from there, all the first 5 pixels of each row are a representation of the last 5 pixels from the previous row. (See PixelZoom.jpg).
Have you ever experienced something like this? What can be causing this missalignment of pixels and how can we solve it?
As for our system we have configured the DMA buffers as:
/* UVC Video Streaming Endpoint Packet Size */
#define CY_FX_EP_BULK_VIDEO_PKT_SIZE (0x400)
/* UVC Video Streaming Endpoint Packet Count */
#define CY_FX_EP_BULK_VIDEO_PKTS_COUNT (0x30)
/* DMA buffer size used for video streaming. */
#define CY_FX_UVC_STREAM_BUF_SIZE (CY_FX_EP_BULK_VIDEO_PKTS_COUNT * CY_FX_EP_BULK_VIDEO_PKT_SIZE) //CY_FX_EP_BULK_VIDEO_PKTS_COUNT /* 16 KB */
The descriptors as:
0x08, 0x0F, // Width in pixel
0x78, 0x08, // Height in pixel
0x00,0x0E,0xCC,0x52, // Min bit rate bits/s.
0x00,0x0E,0xCC,0x52, // Max bit rate bits/s.
0x80,0x97,0xFE,0x00, // Maximum video or still frame size in bytes(Deprecated)
0x2D,0xE6,0x0A,0x00, // 14fps
0x01,
0x2D,0xE6,0x0A,0x00,
and the glProbeCtrl as:
0x2D,0xE6,0x0A,0x00, // 14fps
...
0x80,0x97,0xFE,0x00,
Show LessHi,
I have picked up a task to re-spin a design using the CYUSB3014, completed several years ago. All the people involved in the original design have since left the company.
I've looked at the firmware and tried to compile it using the latest SDK. I get two linker errors.
I can't many mentions of these calls anywhere in the documentation supplied with the SDK or online. I assume the API has moved on, though I can't find a note of their deprecation either.
The two calls are :
CyFx3SetCpuFreq(uint32)
CyU3PUsb2Resume()
I can find one mention of the CyU3PUsbResume function in the "EZ-USB FX3 SDK Troubleshooting Guide, V1.3.4" but sadly it does not say what library it exists in or where it is defined.
Is there an older SDK I should be using or are there new ways to achieve the same function?
Show LessHi,
I would like to use the CYUSB3KIT-003 board.
The CYUSB301X datasheet defined that GPIF II can operate at 100MHz at 32bit data bus.
When I look on the CYUSB3KIT-003 layout file I can see a big stub between connector J6 and SRAM memory U5.
Does the 32 bit GPIF II bus can operate at 100MHz with that stub when the CYUSB3KIT-003 connected to FPGA (signals goes from U2 to J6 and than to the FPGA and the trace between J6 and U5 is big stub)?
Did you worked at this mode?
What is the usage of the SRAM (U5) on the board? Is it for easy way to test transactions from PC to memory?
Regards
Roni
Show LessI want to pass the FX3 Compliance Test. There is a statement in the KBA at the URL below that "cyfxbulksrcsink" should be used, so I am trying to use it.
https://community.infineon.com/t5/Knowledge-Base-Articles/FX3-FAQs-KBA224051/ta-p/257566
I want to enter Loopback Mode by checking the Jitter Tolerance of RX. What should I do? Do you have a sample FW?
Thanks,
Tetsuo
Hello,
I am trying to experiment with the examples in AN65974 to buffer my FPGA board using FX3. However, I did not find the links to project files (firmware images and Verilog designs) by any chance. Would someone kindly point where to download it?
Thank you.
Show LessHello,
I am using an electroencephalogram (EEG) that uses a CyUSB.sys driver. I am looking to get the incoming EEG data into MATLAB. I have used the code below and am getting this error. I also do not know what to do even if this code worked, how to get data into MATLAB in real-time is even the bigger challenge I am facing.
Error
Message: Arithmetic operation resulted in an overflow.
Source: CyUSB
HelpLink:
Code:
try
CyUSBdll = NET.addAssembly('C:\Cypress\Cypress Suite USB 3.4.7\CyUSB.NET\bin\CyUSB.dll');
catch error
error.message
if(isa(error,'NET.NetException'))
e.ExceptionObject
else
disp('CyUSB.dll already loaded');
return;
end
end
usbDevices = CyUSB.USBDeviceList(CyUSB.CyConst.DEVICES_CYUSB);
PS: I am a psychology student and do know much about drivers and all.
Show LessHi,
We are developing a USB3.0 camera with FX3(CYUSB3014), the camera consist of one image sensor, one FPGA and one FX3. The camera works well on several host PC we have when using 1m usb3.0 cable, and no frame loss, but when we using 2m usb3.0 cable, on a host PC, only several images can be received first, then the host cannot receive any image, we change the 2m cable to 1m cable, on the same PC, the camera works correctly, furthermore, we change to another host PC with the same 2m usb3.0 cable and the camera, the camera works correctly too. So I have some questions:
1, When use 2m cable, for FX3, what is the different with using 1m cable?
2, Could it be a software issue?
Show LessHello,
We have sucessfuly build an application based on AN75779. Our setup is pretty much the same as mentioned in the doc, except for the image sensor board. We are using AR0330 from OnSemi which is pin to pin compatible. To make things work, except for developing a sensor driver, we have modified GPIF to use 16 bit bus, as the sensor output is 12 bpp. With this setup we were able to see an image (greenish, but that is expected due to YUY2).
Upon this we have decided to create a custom interconnect board, to make use of all 12 bits of data. Initial setup was using only 8MSB (camera bits 11-4 were connected to bits 7-0 of FX3, remaining 8 bits were padded). The custom interconnect board utilized all 12 bits: (camera bits 11- 0 are now connected to bits 11-0 of FX3).
Upon doing so, the image is a complete garbage (not that all the PCB traces were length matched). No changes were made to FX3 firmware. We have then made a test and changed the interconnect board once again, this time the camera bits 11-0 were connected to bits 15-4 of FX3 bus. The result was pretty much the same - junk:
Unfortunately i did not make any pictures of the initial setup, where bits 11-0 of camera were connected to bits 11-0 of FX3 bus, but the output was similar to this:
Have we missted any step ? We can not find any logic behind this behavior. Initially, when 8 bits were used and rest padded the image was sort of ok, and now, when 12 bits are used and only 4 are being padded the output is a complete junk.
Thanks for help in advance
BR
Show Less
I am working on a custom board which uses a Cypress CX3 chip to interface either a Sony IMX219PQ or omnivision OV5647 image sensor with a computer. For this purpose I need the sensor initialization and resolution configuration register settings. I tried contacting the image sensor vendors, i.e. sony and omnivision for the same. I have attached the response recieved from sony. But they are not providing the values. If anyone else has received these register configuration settings from either sony or omnivision before, can i get help with contacting the right channels for getting the values?
Thank you
Show LessHi All,
We are using CYUSB3065-BZXC in our design.
Our hardware team has replaced the Micro-B SuperSpeed plug with a USB-C connector. In an earlier device (with Micro-B SuperSpeed plug ) device was correctly enumerated as a CX3-UVC device in the camera section but in the new design ( with a USB-C connector) same firmware is not enumerated as a CX3-UVC device. We were under impression that firmware does not need to be modified as bit support super-speed data transfer. I am attaching the SCH of the USB connector section in both hardware of the USB section.
I am also attaching a zip that contains the cycx3_uvcdscr.c file for reference.
Please help me with the below question.
1. Does CyCx3USBSSConfigDscr needs to be updated as per connector?
2. If point#1 is correct, Please share reference document/firmware which I can use for development when connect is ESB-C.
3. If No, what could be the reason same firmware does not work when connect is USB-C?
Show Less