UVC based application for FX3 is created based on the framework of AN75779. 24bit GPIF is used(D23:D0) . image is 800*600. Pixel depth is 24bit/pixel, i.e. 3Byte/pixel. Since it is 24bits/pixel raw image, GUID for RGB888 is used for media type and RGB888 will be debayered in host. DMA buffer keeps the same: 16kB, 4 counts, 2 sockets. Only change the GPIF bus to 24bits, LD_DATA_COUNT, LD_ADDR_COUNT to 5455. However, it can't stream.
But according to KBA226722,
S= 800*600*3= 1,440,000 byte,
F= int(S/(16384-16))= 1440000/16368 = 87
P= fraction of S/(16384-16) * 16368 = 0.976594*16368 = 15984
It should be working.
I noticed that in KBA226722 , it mentioned in item 5 "If exact line data (i.e nothing is appended at the end of the line data) is intended to be sent to the Host, then make sure that line size in bytes is divisible by GPIF bus width (in bytes)." I don't quite get this point.
Help is needed on the proper setting of DMA configuration and GPIF state machine data and address count value.
Thanks in advance
I have a CX3 project and now I need to do UART debugging, but my hardware does not have the UART wired out. The alternative I found in the community is to add a CDC interface to the UVC project. I have tried to find a way to add it myself on Cypress community, but I failed, I don't know how to add it and what information I need to change in the firmware, can you tell me exactly what to change or just help me to change it to create a CDC interface? Thank you very much!The following file is a project to which I have not added the CDC interface，I would like to add CDC interface on top of that.
I'm working with CX3 conencted to the sensor which streams RAW8 data at 2592x920@30fps. My goal is to make this work with Android phones which support superspeed USB. (Galaxy S series, for example)
After lots of trials and errors, I manage to make it work with a few Android phone such as Galaxy20.
The problem I have been struggling to solve is that it doesn't work well with all superspeed supporting Android phone. As I tested on Galaxy S9 and S10 (both phones also supports Superspeed), the streaming stops with CB_Failure after a few frames. USB versions on each phone may not be identical, but I confirmed that all phones above meets 5Gbps at least.
I have read all articles talking about CB_failure and tried the recommended modification, but didn't work for my case.
Does it possibly happen that UVC camera operates diffrently depending on devices? Could anyone give me advice or suggestion to try? I have been stuck in this problem without progress for long time.
Thnaks in advance.
I am currently working in a project based on CX3. We have developed both an own hardware which embedded it, and a host application.
Our product works as a bridge between MIPI and USB protocols, in order to drive the pixel information from a CMOS Image Sensor to a host.
A complex softwere layer, inside the host, will run after it applying image processing algorithms.
After this overview, I want to explain my doubt. I have been working in both hardware and firmware layers, for this reason I have EZ-USB Suit
installed in my laptop, because I use it to complile the firmware image, which it will be store inside the embedded SPI-Flash memory in the PCB. So, as I have installed the EZ-USB Suite, my laptop has the cypress custom driver which achieve recognize the CX3 as Cypress USB BootLoader. Finally I store the firmware in our hardware design via Control Center tool.
But We need to update the firmware image in whatever laptor, including all of them which do not have the EZ-USB Suite installed. For this reason I would like to know which are the minimum necessary files (contemplated in the SDK EZ-USB Suite) that We need to add in our software layer in order to be able to upload the firmware, discarding the rest of the files of the SDK EZ-USB Suite.
Thanks so much.Show Less
Sample firmware " USBBulkSourceSinkLED.img" is downloaded to RAM of FX3 on CYUSB3KIT-003 demo board. In normal working, after downloading, the device enumerates as device"Cypress FX3 USB StreamerExample Device". But sometimes, after downloading , the device can't enumerate. It has to recycle the power by unplug USB cable and download it again. I need some help on why and how to avoid itShow Less
A follow up question to this thread:
...where 4dB was stated to be the default CTLE Rx Equalization.
My follow up question is:
What pole and zero frequencies do you use for the CTLE Transfer Function? Refer to Figure 6-27 (from USB3.2 Spec - https://www.usb.org/document-library/usb-32-specification-released-september-22-2017-and-ecns) copied below.
Does CYUSB3014 use characteristics for "Long Channel" or "Short Channel"?
And if I want to change these frequencies in the CYUSB3014 device, is that possible? Imagine if I have a "short channel" and your default Rx Equalization is for "Long channel". Then I may want to change to "Short Channel" equalization to avoid over equalization.
We are developing a custom module that features MIPI 2lane, 960 Mbps/lane.
The module has "Embedded Line Data" so we are able to recognize whether the stream is successive or not.
We can get an index for each image and the index should be one of 0, 1, 2, and 3.
However, we only can get images that contain an index of 0 or 2. as below.
Previously, we posted a thread on how to check the DMA buffer to check the image index as below.
We tried to apply the advice from the above thread but it didn't work.
When we applied it, the image flows like below.
Also, the log didn't print out as I expected.
Actually, I want to check the index information, but it was not possible.
So I tested whether it is possible to retrieve data as below.
First, we copied the buffer count to the temp variable that is "ptr_buf_count".
Second, print copied count value.
However, the count value is "0" and even "CB failure" log appears. (Originally, it didn't appear.)
Also, when the image flows, the "Embedded Data Line" is totally abnormal.
(Phase should be one of 0, 1, 2, and 3 / MicroFrame should be 100)
we want to verify that we can receive a successive image.
I have several demo setups available to me.I have a Denebola CX3 RDK board (with 0v5640 camera, a CYUSB3KIT (FX3 Superspeed explorer), a CYUSB3ACC-004A ON Semi interconnect board and finally an AS0260 DEMO3HEAD board. I need to prototype a AS0260 camera on etither the CX3 development board or preferably the FX3 version. This has been done in the past as firmware examples exist in the FX3 SDK directory. The interconnect board gives details to setup an obsolete MT9M114 DEMO3 board only. While the pinouts of the interconnect board appear compatible, I dont really know if this hardware setup is appropriate. Is there a good example of configuring a CX3 or FX3 to AS0260 camera with all off the shelf hardware as I described with jumper settings etc? Thank you for your help.Show Less