- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Greetings,
I want to use the CYUSB3065 chip to get an image from the OG02B1B OVT sensor on a PC via the USB3 interface. I drew a printed circuit board for the OG02B1B sensor and connected it to the CYUSB3065 starter kit using the mipi csi-2 interface. After that, I modified the code for CYUSB3065. Now I'm running a CLASSIC MEDIA PLAYER in Windows10 and the Wireshark program outputs the log shown on the printscreen. There is data, but they are all equal to 0xFF03. What does it mean? and how to solve the problem?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
If you pad data, then the total data rate will be as follows:
Data rate = 1600 * 1300 * 16 * 60 = 1996800000 bits per second = 1.859Gbps
Padding data to 16 bit will make use of a 16 bit interface, and as the max interface frequency is 100MHz, the maximum possible data rate will be:
Max possible data rate = 16bits*100MHz = 1600Mbps = 1.6Gbps
As the calculated data rate is greater than the max possible data rate, streaming this video by padding the incoming data would not be possible. So, please refer to the following KBA and pack the incoming data to 16 bits:
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please note that CX3 is a bridge between a MIPI based image sensor and USB host. The behavior that you are seeing should be mostly due to an improper configuration of the image sensor. Kindly cross check the image sensor configurations with the sensor vendor. We suspect that the sensor is configured to send some test patterns.
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, I changed the values in the sensor's Test Pattern register so that the sensor outputs a test image and the numbers in Wireshark have changed (see printscreen). But in Media Player Classic I still have a black image. What can I check? Maybe some control points? I also attach my project, can there be obvious problems there?(there are no sensor settings, they are under NDA)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Can you please share the complete UART prints and wireshark trace for us to debug the issue? Please compress and share the .zip files as a part of your response.
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please let us know which host application is used for streaming the video.
Based on the Wireshark traces and UART logs, I find that the host is issuing an ABORT PIPE request to stop the video streaming. But, the reason for the host to issue the abort is not seen from the traces.
Also, please confirm that you are using FX3 SDK 1.3.4 for development.
In addition to this, can you please let me know what are the "actions" mentioned in the following line from your previous response:
"They are somewhat different, although I have always performed the same actions."
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, I am using the Media Player Classic application on the host. SDK version 1.3.4. Printscreen attached. Moreover, the Evaluation Board with the OV5640 native sensor works well. Therefore, it's about the settings of the CX3 MIPI interface. But how to configure the CX3 interface MIPI correctly?
The actions I perform are: launch Media Player Classic, File->Open Device, select the device of interest, wait 1 second, press the "Stop" button. Therefore, there is an interruption of the video stream in the Wireshark logs. The Media Player Classic screen is always black.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please do not press on the Stop button. Let the captures go on. Pressing the stop button is actually responsible for the abort event seen in the wireshark traces.
Also, please make sure that the macro PRINT_FRAME_INFO is enabled while building the project. If not, please enable it and build the firmware.
After making these suggestions, please share the complete UART debug logs for us to check.
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
It looks like you are still pressing on the Stop button. Or the prints shared are incomplete. Can you please cross check once again and share the complete UART debug prints again with me?
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Is it possible to share the complete source with us?
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Nick,
Please try the following and share the complete UART debug logs with us:
1. Program the device with the firmware
2. Open the host application and start playing the video
3. Do not stop or pause the video stream
Please share the logs as a text file and not as a snapshot.
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Can you please change the usage of the below API at line 1443 to:
status = CyU3PEventGet (&glCx3Event, CX3_USB_SUSP_EVENT_FLAG | CX3_DMA_RESET_EVENT,
CYU3P_EVENT_OR_CLEAR, &eventFlag, CYU3P_WAIT_FOREVER);
to
status = CyU3PEventGet (&glCx3Event, CX3_USB_SUSP_EVENT_FLAG | CX3_DMA_RESET_EVENT,
CYU3P_EVENT_OR_CLEAR, &eventFlag, CYU3P_NO_WAIT);
After this, please share the UART debug logs and wireshark traces with us. Please share the complete logs instead of snapshots.
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Based on my understanding, you would like to stream the resolution 1920*1080 in YUY2 format.
So, the size of a frame = 1920*1080*2 = 4147200 bytes
But, from the UART prints, I find that the size of the frame is 679008 bytes which is really less compared to the required size. The same is seen in the Wireshark traces. This is the reason for the black screen seen.
I suspect that the sensor is not configured to stream the video frames at 1080p in YUY2 format. Please cross check with the sensor vendor and update the sensor configuration settings.
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
the sensor is set to,- Configuration Settings for 2Lane R1600x1300 RAW10 MIPI.
I specified the same values in the CX 3 configurator.
/*
## Cypress CX3 configuration settings file
## ===========================
##
## Copyright Cypress Semiconductor Corporation, 2013,
## All Rights Reserved
## UNPUBLISHED, LICENSED SOFTWARE.
##
## CONFIDENTIAL AND PROPRIETARY INFORMATION
## WHICH IS THE PROPERTY OF CYPRESS.
##
## Use of this file is governed
## by the license agreement included in the file
##
## <install>/license/license.txt
##
## where <install> is the Cypress software
## installation root directory path.
##
## ===========================
*/
#include "cyu3mipicsi.h"
/* qqq : */
CyU3PMipicsiCfg_t qqq =
{
CY_U3P_CSI_DF_RAW10, /* CyU3PMipicsiDataFormat_t dataFormat */
2, /* uint8_t numDataLanes */
0, /* uint8_t pllPrd */
0, /* uint16_t pllFbd */
CY_U3P_CSI_PLL_FRS_125_250M, /* CyU3PMipicsiPllClkFrs_t pllFrs */
CY_U3P_CSI_PLL_CLK_DIV_2, /* CyU3PMipicsiPllClkDiv_t csiRxClkDiv */
CY_U3P_CSI_PLL_CLK_DIV_2, /* CyU3PMipicsiPllClkDiv_t parClkDiv */
0, /* uint16_t mClkCtl */
CY_U3P_CSI_PLL_CLK_DIV_2, /* CyU3PMipicsiPllClkDiv_t mClkRefDiv */
1600, /* uint16_t hResolution */
100 /* uint16_t fifoDelay */
};
/* [ ] */
How to fix the situation with the CX3 settings?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please create a new project by referring to the following KBAs:
https://community.infineon.com/t5/Knowledge-Base-Articles/Steps-to-Setup-up-MIPI-CSI-Camera-Solution...
It is not just the MIPI settings that needs to be adjusted. The descriptors also should be adjusted. Please create a new project by following the above KBAs and let me know if the issue persists.
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
In order to create the current project, I have already done what is described in
I have a sensor configuration for Configuration Settings for 2Lane R1600x1300 RAW10 MIPI 60fps. Maybe 60 fps is too much?, Although I have reduced the CLK clock frequency of the sensor (Instead of 24 Mhz it costs 10 Mhz).
Is it possible to understand how many bytes of CX3 are obtained in one frame by mipi?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
As you are using RAW format, the input data can be packed or padded by the MIPI block of CX3. Please refer to the following KBA to understand more on this:
https://community.infineon.com/t5/Knowledge-Base-Articles/Streaming-RAW10-Format-Input-Data-to-16-24...
If you are padding the data into 16 bits, then the frame size can be calculated as follows:
Frame size = 1600 * 1300 * 2 = 4160000 bytes
If you are packing the data into 16 bits/24 bits, the frame size can be calculated as follows:
Frame size = (1600 * 1300 * 10)/8 = 2600000 bytes
Please note that packing the incoming data into 16/24 bits has a constraint that the line size should be perfectly divisible by 1624.
As the UART logs does not show any failure, it looks like the fps is not actually causing any issues. Can you please let me know if you are packing or padding the incoming data? If you are padding the incoming data to 16 bits, then you can change it to pack the incoming data into 16 bits. With this setting, there should not be any problems due to the data rate for the current resolution and fps. Can you please try this and share the complete UART debug logs and Wireshark traces?
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I want to do data padding in 16 bits. Is this not visible in the project source codes?
Right now I can't view the project settings graphically because EZ USB Suite no longer shows graphical settings.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
If you pad data, then the total data rate will be as follows:
Data rate = 1600 * 1300 * 16 * 60 = 1996800000 bits per second = 1.859Gbps
Padding data to 16 bit will make use of a 16 bit interface, and as the max interface frequency is 100MHz, the maximum possible data rate will be:
Max possible data rate = 16bits*100MHz = 1600Mbps = 1.6Gbps
As the calculated data rate is greater than the max possible data rate, streaming this video by padding the incoming data would not be possible. So, please refer to the following KBA and pack the incoming data to 16 bits:
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
I have a question about Example 2: 16-bit output data format (CY_U3P_CSI_DF_YUV422_8_2),-
How from
a. Width in pixel : 1920
b. Height in pixel : 1080
Re-writing the above calculations:
a. Width in pixel : 2400
b. Height in pixel : 540
(1920->2400, 1080->540)?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
This is done as per the following calculation:
The original frame size = 1920 * 1080 * 10 bits
After packing, the original frame size should not change. But, the data sampled at each PCLK will be 16 bits after packing. So, the resolution should be changed in order to make the frame size constant. You can adjust width or height (or even both) of the frame to make the frame size constant.
New frame size = New width * New height * 16 bits
Basically, Original Frame size and New frame size should be the same.
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
how do I upload the configuration in from the cx3config.cycx file to the project? I get an error when I double-click on the cx3config.cycx file.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Can you please elaborate the question as I was not able to understand it properly. You can modify the existing .cycx file on a project instead of uploading it to the project.
Also, what exactly is the error that you see?
Jayakrishna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Helo,
I understand so that from the file cx3config.cy cx takes the parameters to create the rest of the project files, including usb descriptors. I looked at the cx3config.cycx file in the project that we are still discussing and found there a complete discrepancy with the resolution of 1600x1300 60 frames, to which I configure the sensor. I want to modify the CS3 project under 1600x1300 60 frames, but by clicking the left mouse button on cx3config.cy cx and choosing a CX3 receiver, I get an error on the printscreen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
It looks like this is a bug mentioned in the following thread:
Please try changing the language settings as mentioned in the above thread and restart the EZ USB Suite. This should fix the issue. We are already working on this issue and it will be fixed in the next release of FX3 SDK.
Jayakrishna