CX3 can't get the data from the OV12895(12M sensor)

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

cross mob
Anonymous
Not applicable

     Hello, I try to connect the OV12895 to the CX3(denebola), there are many issues. I make a daughter board to connect the sensor and the CX3, and I can get the 800*480@15fps raw10 data, and the csi-2 clock is 552Mhz, so i think my daughter was work well.

     Then i make the csi clock to 138Mhz, and try to get 4096*3072@1fps image, but failed. I uncomment the CX3_ERROR_THREAD_ENABLE and print the error code per 5 secs, I can get some info.

pastedImage_14.png

frmErrCnt;          /**< Framing Error Count*/

crcErrCnt;          /**< CRC Error Count*/

mdlErrCnt;          /**< Multi-Data Lane Sync Byte Error Count*/

ctlErrCnt;          /**< Control Error (Incorrect Line State Sequence) Count*/

eidErrCnt;          /**< Unsupported Packet ID Error Count */

recrErrCnt;         /**< Recoverable Packet Header Error Count*/

unrcErrCnt;         /**< Unrecoverable Packet Header Error Count*/

recSyncErrCnt;      /**< Recoverable Sync Byte Error Count*/

unrSyncErrCnt;      /**< Unrecoverable Sync Byte Error Count*/

I don't know what is it actually mean, and how can I fix it .

my configure:

CyU3PMipicsiCfg_t OV12895_RAW10 =

{

    CY_U3P_CSI_DF_RAW10,  /* CyU3PMipicsiDataFormat_t dataFormat */

    4,                          /* uint8_t numDataLanes */

    3,          /* uint8_t pllPrd */

    139,        /* uint16_t pllFbd */

    CY_U3P_CSI_PLL_FRS_500_1000M, /* CyU3PMipicsiPllClkFrs_t pllFrs */

    CY_U3P_CSI_PLL_CLK_DIV_8, /* CyU3PMipicsiPllClkDiv_t csiRxClkDiv */

    CY_U3P_CSI_PLL_CLK_DIV_8, /* CyU3PMipicsiPllClkDiv_t parClkDiv */

    0x0606,                 /* uint16_t mClkCtl */

    CY_U3P_CSI_PLL_CLK_DIV_8, /* CyU3PMipicsiPllClkDiv_t mClkRefDiv */

    4096,         /* uint16_t hResolution */

    0                         /* uint16_t fifoDelay */

}

pastedImage_0.png

and I can capture the MIPI wave, but the DMA callback never called.

0 Likes
1 Solution

Yes, the THS Prepare should be in between the Min. and Max. shown in the tool. You also need to configure the MIPI THS Settle time using the CyU3PMipicsiSetPhyTimeDelay API.

The second argument of theCyU3PMipicsiSetPhyTimeDelay API is the PHY Time Delay Value generated by the tool. (See the bottom right corner of the attached screen shot)

View solution in original post

0 Likes
5 Replies