USB superspeed peripherals Forum Discussions
in 2019, I developed an application based on a cx3 and an ov12895 camera based on the 1.3.3 library. Currently, I am working on the transition to the 1.3.4 library, for this to work I commented out a line of code from the library, the file cyu3usbpp.c line 556,
in the comment above it says "Make sure that all USB sockets are disabled."
I don't really understand what I have to do in order to be able to use the 1.3.4 library in full binary mode.
Hi,
my question is, how does the GPIF II calculate the the dma_rdy_th0 or th1 signal. I am especially interested in the lambdas.
Background on the application:
Our team is using the FX3 to implement a customized raw data / image streaming system. The base example is based upon the raw data streamer example from Cypress. So, the setup is an FPGA providing the image and clock as well as the end of frame signal. The FX3 uses two threads to retrieve / sample the data and forward it to the USB.
Our Problem:
Our problem is that after GPIF II and DMA reset and reconfiguration the DMA ready signal in the lambda sometimes is NEVER set again. The lambdas for the state machine indicate this clearly. But manually driving the DMA via the debugger is no problem. The DMA descriptors show that the buffers are empty (not occupied) and the sck_status registers indicated that the sockets are enabled and ready. We are able to manually set the ‘wrap up’ bit which will trigger the sockets to send their data via USB to the host. Afterwards the next buffer will be selected automatically. From which we conclude that the transfer process from the buffers via the DMA to the USB is working as expected.
We did not find a way, beside a hardware reset, to get the DMA back into a state where the DMA ready would be asserted.
From what our team has investigated it seems that not only the descriptor status is responsible for the lambda flags but some other, not known signal / state.
Background on the problem:
We currently investigate a problem, where we try to reset the GPIF II state machine and the DMA descriptors (many to one) and restart our frame capturing. But the GPIF II gets stack due to the lambda for the start transition. Removing the condition, to wait for the dma rdy, also does not solve the problem. It will cause some DMA problem later.
Also, it should be noted that the error only occurs seldom.
Background on the lambda:
We found a description of the lambdas within the SDK file cyu3gpif.h and there the enum CyU3PGpifLambdaIp after searching for it in the documentation. But it seems, that we may have overlooked the description and specification why and when these signals get asserted.
Problem with minimal example:
As the application has grown rather big and is complicated to accommodate the use cases, creating a minimal example is complicated.
Show LessI have implemented UVC 1.5 gadget user-space application with Linux OS and ARM Processor.
In UVC to process setup events, control events and get stream on/off events, We used to do polling on v4l2 device - Everything is running fine.
Now wants to add UAC 1.0 gadget support at user-space where one pcm device with capture and playback is created on sound card at USB device side.
So, How I will get UAC set-up events, control events and stream on/off events on UAC pcm device. How to poll/handle the same events/requests.
Thanks in advance.
Show LessFrom "USB Device Calss Definition for Video: Video Camera Example".
Those values (dwMinBitRate,dwMaxBitRate and dwMaxVideoFrameBufSize) would be determined after the frame size (176x144).
I want to know how they can be calculated, i.e. formula on them.
Regards,
Rossi
Show Less
Hi. Now I need to control the sensor exposure. To do this, I studied the documents:
, but I get error 0x80070490. What could be the problem? The firmware and host projects are attached.
Show Less初めてCX3+AR1335CS(13M Sensor)使い開発を行っています。
EZUSB Suiteで既存ファームウェアーを使わずCX3 Configurationで設定し、cyu3imagesensor.cでセンサー設定データを記述したら映像出力を得ました。
しかし、Brightness、Contrast、Hue、Saturetion、Sharpness、White Balance、Gainなどのプロパティー制御の実装方法をどのようにおこなえばいいかわかりません。
詳しく教えていただきますか?
Show LessDear Team,
Currently we are using the CYUSB3065-BZX connected to the ISP+Image sensor. The ISP's reset and powerdown pin is connected to the XRST and XShutdown pin of the CX3. I hope that this XRST and Shutdown GPIO are the MIPI bridge's GPIO and not the CX3's GPIO. So we are using the CyU3PMipicsiSetSensorControl() API to control this GPIO and this API internally communicates with the MIPI bridge through I2C to Set/clear the GPIO.
During the ESD testing(direct contact 4KV, 6KV and 8KV) on CX3 and ISP. In our firmware we have added the logic, if we are not getting the frames, then we will renumerate the CX3 using the CyU3PDeviceReset(CyFalse) API. Sometimes this logic is working and our device got streaming after renumeration.
Sometimes, we are facing the issue where the ISP pulled down the I2C's SDA line and its not releasing the SDA line. When we are not getting the frames during ESD testing, the CX3 will renumerate and since the SDA line pulled low, we cannot toggle the XRST pin. Also, we cannot configure the MIPI bridge as well.
We would like to know the better solution to overcome this issue. Can we connect the ISP's reset pin to the CX3 GPIO instead of the MIPI bridge GPIO? or Can we connect the MIPI RESET pin to the CX3's GPIO?
Show Less
I'm debuging the fx3 board, with a fpga bridge, using GPIF, pclk 100MHZ 32bit, i get DMA Reset Event: Commit buffer failure error,
now the image size is 1440x1099 and pixel is 10bit, so line data is 1440x10/32 = 450, the line valid time is 4.5us, and horizontal blanking is 5.2us, vertical blanking is about 5ms, I attach the image show the line vaild and v blank
and the dma buffer size is 16KB, what i can do to solve the issue?
Show LessHi,
I have designed a board with an USB FX3 SuperSpeed chip. There is a small uncertainty in the working of the board when I use the 1.3.4 version of the ET USB Suite. The cause of the erroneous behavior is in the spi driver code. I have found out that the board works fine with the 1_3_3 version of spi driver. I have the source code of the 1_3_4 version, because it can be found in the c:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\ directory. Unfortunately from the Infineon site only the newest version can be downloaded. In the newest version only the precompiled version of 1_3_3 driver can be found in the c:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\fw_lib\1_3_3\fx3_release\ directory. This is how I could try out the 1_3_3 driver. It would be nice to compare the two source codes, to find out what causes the error. So I wonder, if the fx3_sdk_1_3_3_src.zip file can be found somewhere.
BR,
Laszlo
Show LessHello,
I used an an75779 based firmware in a Windows environment to set up an image sensor through a StreamerExample device.
Once the device was driver bound to the StreamerExample device, it was able to load data into bulk endpoints using CYAPI and send it to fx3.
However, when I tried to port the application(using CYAPI) to the linux environment, I could only see one cypress device with the lsusb command.
$ dmesg
$ lsusb
How to use StreamerExample Interface in AN75779 Chapter 5.9 on Linux?
I read the data(Community, KBA, Docs...) about CDC and extension unit, but I don't understand exactly if they apply to this situation.
Attach the firmware that connects to two devices in Windows.
Thanks.
Show Less