USB superspeed peripherals Forum Discussions
1.Is the unit of the last parameter of the CyU3PGpifSocketConfigure() function byte?
2.In SlaveFifoSync, the maximum speed of USB3.0 I tested is 374.7MB/s, which is a bit short of the maximum speed of CYUSB3014, 100MHZ*32bit=381.5MB/s. I know it may be caused by switching DMA buffers. I looked at the UVC case again, it uses two sockets to switch in a loop, is it possible to do this in SlaveFifoSync?
Show LessHi. Infineon 客户有用我们的器件CYUSB3035-BZXI做在服务器上,服务器通过PCIE*1连接到瑞萨UPD720201(PCIe to USB3.0),再连接到我们FX3s USB3.0口,下接2个SD卡,现在他们需要测试USB2.0眼图质量,使用泰克示波器自带的USB 2.0 HighSpeed软件向3035发送Test Packet,结果测试是失败,他们想知道CYUSB3035芯片是否有测试模式的设置。
另外他们之前早期做的一个项目是3035直接连接到服务器的USB3.0端口,并没有通过中间转换器件,同样的测试,结果早期项目是通过测试。
thanks
flance fang
Show LessHi,
Firmware implementation :-
My Fx3 firmware is capturing the interrupt from the FPGA as a Gpio interrupt and corresponding callback handler will run.
Reference :
https://community.infineon.com/t5/USB-superspeed-peripherals/fx3-interrupt/td-p/51446
Now ,
This interrupt info need to be send to Host-pc using the Interrupt Endpoint.
For this Reference taking from "cyfxusbdebug" example firmware.
CyU3PDebugPrint() is use for sending the data at interrupt endpoint whenever get the event status "CyU3PEventGet()"
Host application continuously polling at the interrupt Endpoint using this XferData(fInBuf, length) and successfully the capturing the Interrupt.
Problem Explanation :-
Right Now I have Three Devices connected on single Host-pc. Out of three only two devices will send the interrupt to host-pc.
Now two applications are running for two devices which sending the interrupt.
Two application are capturing the interrupt from the two devices through the .dll file (c++ code: polling at the interrupt endpoint).
But somehow, we are not able to capture the interrupt from one of the devices.
Observation :
Initially , once capture the Interrupt from both devices , one of the device stop capturing the interrupt data meanwhile another device interrupt capturing working fine.
lets say 50% interrupt data lost.
So how to solve this issue ?
Hi!
We tried the firmware attached here:
But we don't see the brightness change after moving the slider bar of e-CAMView or VirtualDub (as you suggest here: https://www.infineon.com/dgdl/Infineon-AN75779_How_to_Implement_an_Image_Sensor_Interface_with_EZ-USB_FX3_in_a_USB_Video_Class_%28UVC%29_Framework-ApplicationNotes-v13_00-EN.pdf?fileId=8ac78c8c7cdc391c017d073ad2b85f0d&utm_source=cypress&utm_medium=referral&utm_campaign=202110_globe_en_all_integration-application_note).
Any idea?
Thank you very much in advance!
Show LessDoes CX3 support MJPEG/JPEG 720p and 1080p video streaming on USB2.0 ?
Hello infineon team,
I am changing the period of the PWM signal using the UVC control option. when i change the frequency from 10 HZ to 60 HZ suddenly the PWM wave stops generating and after 15 to 20 seconds again it started generating the 60HZ PWM wave . can anyone explain why this behavior is happening .
Thanks and regards,
Rakesh
@AliAsgar @Ajeethkumar_P @Rashi_Vatsa @JayakrishnaT_76
Show LessDear Friends:
The following figure shows the state machine included in the AN75779 example:
Because I want to add flow control to this project, but the state machine can only have two transitions out, so I want to use "Mirror States" to achieve:
Here is my vision diagram to inform the FPGA that the buffer of DMA is not ready yet by the change of IO in this intermediate state:
This seems to have some difficulties and seems unachievable;
Can friends provide some suggestions?
If this is not possible, can we only use FLAGA/FLAGB/FLAGC/FLAGB to output the DMA buffer state to notify the FPGA to achieve the function of flow control?
Regards,
QingBao
Show Less
Hi,
I used the cyfxgpiftousb example to read data from the AD7381-4 ADC (Project attached).
<<First, the intention is to stream data continuously from the ADC to a RaspberryPi connected at the USB port>>
The Functionality in general is working, however, I observed some inconsistent IDLE times which I don't know why they happen: (I guess they might be due to a dessarted DMA_READY Flag, but I'm not sure, and I don't know how to get around it).
- First: whether configured manual DMA streaming or Automatic, I observe this first time continuous streaming, followed by a long pause for an unknown reason
- Second, there are these 576.64µs waiting period between each DMA buffer being read. I that a limitation or is there a way to make it a continuous read?
I attached the pi_init.py script running on the raspberryPi which shows I'm reading continuously.
I am using the GPIF empty flag fixed to thread 0 to notify a FPGA when to start a data transfer to the FX3. The FPGA uses the address bus to dictate which thread the data should go to and it is also fixed to thread 0. The FPGA waits for the empty thread to assert before sending any data and I can see that the flag does assert however the flag doesnt unassert when expected. Instead, the flag stays low even after data should be written to the FIFO. I am not sure why the flag is staying asserted. Reading the documentation it doesnt say any firmware setup is required and the GPIF configuration is as follows: Thread_0_DMA_Ready flag, Initial Value High, Active Low Polarity. I have included an ILA photo of what I see during an attempted streaming. Note that no data is ever received by the USB host and the firmware doesnt recognize any production callbacks either. We have gotten data transferring between the FPGA and FX3 before and have done nothing to interfere with that.
Show Less我使用FPGA产生行信号同步和场信号同步信号,使用的GFIF时钟为90MHZ,32bit。当DMA缓冲区大小设置为16kB、个数为4时,最大只能到达1920*1080*30fps;当DMA缓冲区大小设置为48kB、个数为2时,最大只能到1920*1080*60fps。以上是我的测试结果,我想知道如何设置DMA缓冲区大小(CY_FX_UVC_STREAM_BUF_SIZE)、个数(CY_FX_UVC_STREAM_BUF_COUNT)以及传输端点的突发长度大小(CY_FX_EP_BULK_VIDEO的endPointConfig.burstLen),才能达到1920*1080,80fps的速率,理论上90MHZ可以达到90MHZ*32bit/8/1024/1024=343MB>1920*1080*2*80/1024/1024=316MB。
另外,对于AN75779中的UVC固件是不是不支持GPIF为100MHZ,我使用1920*1080*30fps测试时,GPIF设置为100MHZ,调整好行信号同步和场信号同步信号的消隐时间,但是串口显示的部分DMA缓冲区数据(dmaBuffer.count)不是固定的,这是不正常的,我想知道为什么?
Show Less