USB superspeed peripherals Forum Discussions
Hi everyone,
I modified the streaming example explained in the application note AN75779 to stream data from a FPGA to PC. I use a 16 bit wide data bus and the FPGA drives the CLK Pin with 100MHz. So theoretically the data throughput should be exactly 200MB/s, but with my self made program in visual studio but also with the streamer.exe I only get about 195MB/s. This is the first strange thing I experienced, so I tried to find out when and what data gets lost. As far as I've seen no data in one 16kB burst gets lost. It seems that only complete bursts get lost. The data sent from the FPGA is a 16 bit counter, that is increased with the CLK signal that is also sent to the CYUSB-Chip. I made a program that checks if the last 16 bit value of one burst plus 1 is the value of the first 16 bit of the next burst and when that is the case the 'success'-counter is increased. Else the 'failed counter is increased' After every 20000 bursts the counter are put on the console and are set to 0 again. The result of this test is shown in the attached picture. It's a bit strange to me, because there are entries where all 20000 16kB bursts are okay and then there are entries where some bursts failed and then there are entries where most of the bursts have lost data.
I don't know why this happens. I've tested all USB3.0 Ports of my PC with the shortest connection possible. I would be very grateful if someone has an idea where the problem could be.
Best regards
Patrick
Hello there,
I'm trying to follow AN75779, but the sensor I'm using give 8bit Parallel Monochrome output with 640x480 Frame resolution. The sensor doesn't use I2C for configurations, so relying on default configurations.
It looks like AN75779 supports YUY2 format, I don't know how to update the application to get it working for monochrome sensor.
Could any one help me with this.??
On the same line, Below is the link of the question I've asked earlier -
How to interface a DVP sensor and get UVC based streaming using CYUSB3KIT-003.??
Looking forward to a positive response.
Show LessI have followed instructions to redirect the debug data over USB CDC using the following example:
This is working well, but I would also like to respond to messages sent by the PC over the CDC interface. What is the proper way to do this using the Cypress architecture? I believe I would be creating a DMA channel from the USB to memory with a callback, correct? In the callback I would signal to the CDC thread that data is ready to be processed.
I also have already created a thread to process the data.
void CdcThread_Entry (uint32_t input) {
for (;;) {
if (glIsApplnActive) {
// TODO: Perform CLI processing (pop from character queue and process)
}
CyU3PThreadSleep(50);
}
}
Show Less
Hello community, I am having trouble configuring 2 PWM pins to work together.
I have sucessfully configured pin 45 to work as pwm and wanted to configure pin 18 to work as a PWM as well.
I am aware of the modulo 8 pin groups but as one can tell those pins are from different groups.
When I try to set pin 18 as conplexIO with:
io_cfg.gpioComplexEn[0] = (1 << (18));
the first PWM pin stops working and the pin 18 keeps not working. I have no other pins set as complex.
Are there any other rules for wich pins can work together as complex GPIOs?
Show LessHello,
We want to certificate driver by resell process.
Publisher display name : COMPUTER SERVICE TECHNOLOGY INC
Microsoft Hardware Dashboard Publisher Display Name : mshen@simmtester.com
OS : Win10, Win 8, Win8.1 x64/x86.
Driver version : 1.2.3.20
Chip: FX3, FX2
Thank you
MIKE
Show LessWe have been using the CX3 since 2019 with an Omnivision OV12895 sensor, due to its obsolescence we are replacing it with a SONY IMX412 sensor that would be partially identical to our needs.
Currently, we mounted the IMX412 Sony sensor on a Denebola card to de-risk our study, I configured the sensor in 4048x3040 at 15 fps and I also activated setSysClk400 = CyTrue, in order to have a maximum throughput of 2.4Gbits/s.
The CX3 does not go back an error (except first image), the raw images have a fixed size and it is always the same (15,404,688 bytes), however this image is distorted. In my cx3config.cycx tools, I see 2 errors one on the min THS_ZERO = 79, but indicates MIN=104.67. The second error being on the max of the pixel clock equal to 100Mhz MAX=100
image is distorted, but always the same figure
Where does this deformation come from, is it due to the THS_ZERO or the sensor configuration is not good?
Show LessHello,
I am trying to debug the CX3 UVC firmware by adding a CDC interface. I download the firmware from this link Solved: Re: Stream RAW10 with 24bit output format - Infineon Developer Community (replied on Jul 21, 2020 01:05 AM) to the Denebola dev kit, and I am able to see the device enumerate as UVC and has a virtual com port in the device manager.
And I am also able to get video streaming and debug inforamtion from Tera Term.
However, I am facing the issue, that only Tera Term works in my case. In other words, I am not able to open the serial port with other serial terminal (e.g. Serial Debug Assistant from Microsoft Shop), I have confirmed that I have closed other serial termials when I try to use a different one.
Is there a reason for that?
Thank you!
Zhangshun
Show Less
The UVC firmware I use is the cyfxuvcinmem example in the official uvc_examples.
When I connect the FX3 device to the host through the HUB, there will suddenly be no data received and the image will freeze.
The UVC firmware doesn't seem to be dead as the image display can be turned back on and after a while it gets stuck again.
This problem did not occur when I tried to plug the HUB into another USB3.0 interface. Replaced with a new HUB still does not have this problem.
I really want to know the reason of this problem and solve this problem. I have tried many ways to solve this problem but can't solve it.
Can you provide some opinions and solutions, and look forward to your reply.
Show Less