Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

USB superspeed peripherals Forum Discussions

oguzandic
Level 1
Level 1
10 sign-ins 5 sign-ins First solution authored

Hello,

I'm trying to get stream AS0149 image sensor.

Output: Bayer 12bit

Resolution: 1280 x 960 @30FPS

I've verified configuration and get stream successfully on a Linux device but can't get stream with CX3.

I followed steps in https://community.infineon.com/t5/Knowledge-Base-Articles/Streaming-RAW10-Format-Input-Data-to-16-24... but not worked.

************************************mipicsi.c ************************************

/* as0149at_UYVY_Resolution0 : */
CyU3PMipicsiCfg_t as0149at_UYVY_Resolution0 =
{
CY_U3P_CSI_DF_YUV422_8_2, /* CyU3PMipicsiDataFormat_t dataFormat */
2, /* uint8_t numDataLanes */
2, /* uint8_t pllPrd */
93, /* uint16_t pllFbd */
CY_U3P_CSI_PLL_FRS_250_500M, /* CyU3PMipicsiPllClkFrs_t pllFrs */
CY_U3P_CSI_PLL_CLK_DIV_4, /* CyU3PMipicsiPllClkDiv_t csiRxClkDiv */
CY_U3P_CSI_PLL_CLK_DIV_4, /* CyU3PMipicsiPllClkDiv_t parClkDiv */
0, /* uint16_t mClkCtl */
CY_U3P_CSI_PLL_CLK_DIV_2, /* CyU3PMipicsiPllClkDiv_t mClkRefDiv */
1280, /* uint16_t hResolution */
250 /* uint16_t fifoDelay */
};

************************************uvcscr.c ************************************

/* Class specific Uncompressed VS format descriptor */
0x1B, /* Descriptor size */
CX3_CS_INTRFC_DESCR, /* Class-specific VS interface Type */
0x04, /* Subtype : VS_FORMAT */
0x01, /* Format desciptor index */
0x01, /* Number of Frame Descriptors that follow this descriptor: 1 */

/* GUID, globally unique identifier used to identify streaming-encoding format*/
0X55,0X59,0X56,0X59,
0X00,0X00,0X10,0X00,
0X80,0X00,0X00,0XAA,
0X00,0X38,0X9B,0X71,

0x10, /* Number of bits per pixel: 16*/
0x01, /* Optimum Frame Index for this stream: 1 (Resolution0) */
0x00, /* X dimension of the picture aspect ratio; Non-interlaced */
0x00, /* Y dimension of the pictuer aspect ratio: Non-interlaced */
0x00, /* Interlace Flags: Progressive scanning, no interlace */
0x00, /* duplication of the video stream restriction: 0 - no restriction */

/* Class specific Uncompressed VS Frame Descriptor 1 - Resolution0 */
0x1E, /* Descriptor size */
CX3_CS_INTRFC_DESCR, /* Descriptor type*/
0x05, /* Subtype: frame interface*/
0x01, /* Frame Descriptor Index: 1 */
0x00, /* No Still image capture method supported */
0x00,0x05, /* Width in pixel: 1280 */
0xc0,0x03, /* Height in pixel: 960 */
0x00,0x00,0x28,0x23, /* Min bit rate (bits/s): 1280 x 960 x No Of Bits per Pixel x FrameRate = 589824000 */
0x00,0x00,0x28,0x23, /* Max bit rate (bits/s): Fixed rate so same as Min */
0x00,0x80,0x25,0x00, /* Maximum video or still frame size in bytes(Deprecated): 1280 x 960 x 2 */
0x15,0x16,0x05,0x00, /* Default frame interval (in 100ns units): (1/30)x10^7 */
0x01, /* Frame interval type : No of discrete intervals */
0x15,0x16,0x05,0x00, /* Frame interval 3: Same as Default frame interval */

Receiver configuration

oguzandic_0-1669983412836.png

Also I can't see Hsynch and Vsynch signals.

Where am I doing wrong? Could you help me, it's kinda urgent.

Best regards.

0 Likes
3 Replies
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Please refer to this KBA  EZ-USB™ CX3 troubleshooting guide - KBA233853 - Infineon Developer Community   

If HSYNC and VSYNC signals are not seen, then the issue could be due to the mismatch in the settings between MIPI Transmitter and MIPI Received. Please check the MIPI errors and set the Phy Time Delay calculated by CX3 MIPI Tool in the firmware.

Also, confirm if the firmware is generated by the CX3 MIPI Receiver tool

Regards,
Rashi
0 Likes
oguzandic
Level 1
Level 1
10 sign-ins 5 sign-ins First solution authored

Hello Rashi,

I've enabled debug prints can see at below.

************************************

bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0
StpCB:In SET_FTR 0::1
AppInit:GpifSMStart passed

EnterSuspendMode Status = 0x0, Wakeup reason = 0x8
bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0
StpCB:In SET_FTR 0::1
bRType = 0xA1, bRequest = 0x81, wValue = 0x100, wIndex = 0x1, wLength= 0x22
bRType = 0x21, bRequest = 0x1, wValue = 0x100, wIndex = 0x1, wLength= 0x22
bRType = 0xA1, bRequest = 0x81, wValue = 0x100, wIndex = 0x1, wLength= 0x22
bRType = 0xA1, bRequest = 0x83, wValue = 0x100, wIndex = 0x1, wLength= 0x22
bRType = 0xA1, bRequest = 0x82, wValue = 0x100, wIndex = 0x1, wLength= 0x22
bRType = 0x21, bRequest = 0x1, wValue = 0x200, wIndex = 0x1, wLength= 0x22
CyCx3UvcAppHandleSetCurReq app start called
AplnStrt:SMState = 0x2

************************************

CX3 doesn't output PRINT_FRAME_INFO messages. Is it normal?

 

 

 

0 Likes
AliAsgar
Moderator
Moderator
Moderator
750 replies posted 50 likes received 500 replies posted

Hi,

If the PRINT_FRAME_INFO macro is enabled in the firmware, debugPrints related to the PRINT_FRAME_INFO should appear on the UART lines only when a full frame has been received by CX3. 

I assume the setPhyTimeDelay API is called in the firmware after setIntfParams API call. Please uncomment the code to print the MIPI CSI2 errors and share with us the complete UART logs.

Also please share the wireshark traces from start to when the issue is seen.

Best Regards,
AliAsgar

 

0 Likes