Can you confirm the CX3 can't read from a 1080p sensor @ 60 fps

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

cross mob
ScGr_289066
Level 5
Level 5
100 replies posted 50 replies posted 25 replies posted

Hi All,

I am trying to interface the Sony IMX327 sensor with the CX3 and have run into problems configuring the CX3 using the MIPI Receiver configuration tool.

The sensor's specs are 1080p (1920x1080), RAW10 @ 60fps.  The vertical retrace is 6 lines and horizontal retrace is 20 pixels.  When I enter these parameters, the receiver configuration shows the Output Pixel Clock min and max values are inverted, that is min shows 125.11 MHz and max shows 100 MHz.  Of course no set of values prevents showing an error for this field.  Only if I reduce the frame rate does the inversion disappear.  As I understand it is not possible to reduce the sensor's output rate.  I realize that the output pixel clock isn't actually used, at least in our system, but believe it is signaling some underlying problem.

Thanks for your help.

Scott

pastedImage_0.png

0 Likes
11 Replies
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Scott,

You can try the below configuration:

pastedImage_0.png

- Configure the GPIF bus width to 24 bit (from the above figure, as we have chosen output data format to be 24 bit)

- Ignore the error shown at CSI clock

Regards,

Hemanth

Hemanth
0 Likes

Hi Hemanth,

I tried the above configuration.  Unfortunately it doesn't work either.  I see no activity on either the CX3's VSYNC or HSYNC test points.  I have confirmed the sensor is streaming data.

Best,

Scott

0 Likes
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Scott,

- Did you call CyU3PMipicsiSetPhyTimeDelay(1, 0x07) in your firmware?

- Are there any Mipi errors reported in the firmware?

Regards,

Hemanth

Hemanth
0 Likes

Hi Hemanth,

Yes, I do have the delay, although I found 50 works more reliably than 7.

This code successfully controls OV5640 and OV5647 imagers at several different resolutions.

Yes, there are timeout errors from DMAMultiChannelGetBuffer calls.

Best,

Scott

0 Likes
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Scott,

Let's try one more configuration which uses 16 bit GPIF:

pastedImage_1.png

- This image will look a bit different from your tool view. You can ignore it and consider the values.

- As mentioned, in your firmware please configure GPIF bus width to be 16 bit wide

- Use CyU3PMipicsiSetPhyTimeDelay(1, 0x10)

- Is macro CX3_ERROR_THREAD_ENABLE enabled in your firmware? If yes, then please look for debug prints related to MIPI Receiver errors.

Regards,

Hemanth

Hemanth
0 Likes

Hi Hemanth,

Here are my settings that correspond to those you suggested:

pastedImage_0.png

there are actually the settings I started with that don't work.  There is an error at the top of the screen (cut off in image) saying "parallel output cannot finish within 1 line.  Use faster output pixel clock and/or wider h-blanking".

As your suggestion, I've experimented with various PHY delays from 7 to 50

I do have debug messages enabled, and am getting timeout errors from DMAMultiChannelGetBuffer calls.

Best,

Scott

0 Likes
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Scott,

In the image you shared in the previous post, I see that the data format mentioned in the 'CX3 MIPI Interface Configuration' is RAW10. I think you are not able to make it 16 bit format. So what you can do is: Let the configuration be as shown in your image. In the CyU3PMipicsiCfg_t structure generated by this configuration, change the first parameter from CY_U3P_CSI_DF_RAW10 to CY_U3P_CSI_DF_YUV422_8_2. And then in the firmware configure your GPIF bus width to be 16 bit.

Please test this and let me know the result.

Regards,

Hemanth

Hemanth
0 Likes

Hi Hemanth,

This is the format we've been successfully using for both the OV5647 and OV5640 transporting Bayer data.  I'

ll give your suggestion a try later today.

Best,

Scott

0 Likes

Hi Hemanth,

The CY_U3P_CSI_DF_YUV422_8_2 format didn't work either.

Scott

0 Likes
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Scott,

Looks like the MIPI receiver configuration is good. Is it possible for you to validate if the data coming over the MIPI lanes is good? I note that you have mentioned the errors reported by the firmware is timeouts of GetBuffer calls - which tells there's no data coming into DMA buffers, which we already know since there is no activity on FV_test/ LV_test/PCLK_test pins. Timeout of GetBuffer() call is not MIPI related error.

In the firmware if CX3_ERROR_THREAD_ENABLE macro is enabled, then CyU3PMipicsiGetErrors would give MIPI errors - which can be printed as shown below:

if(errCnts.crcErrCnt|errCnts.ctlErrCnt|errCnts.eidErrCnt|errCnts.frmErrCnt|errCnts.mdlErrCnt|errCnts.recSyncErrCnt|errCnts.recrErrCnt|errCnts.unrSyncErrCnt|errCnts.unrcErrCnt)

CyU3PDebugPrint(4,"\n\rMipi Errors: %d %d %d %d %d %d %d %d %d",errCnts.crcErrCnt,errCnts.ctlErrCnt, errCnts.eidErrCnt, errCnts.frmErrCnt, errCnts.mdlErrCnt, errCnts.recSyncErrCnt, errCnts.recrErrCnt, errCnts.unrSyncErrCnt, errCnts.unrcErrCnt );

Regards,

Hemanth

Hemanth
0 Likes
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Scott,

It looks like the MIPI interface is not good. Please check the signal integrity on that end.

Regards,

Hemanth

Hemanth
0 Likes