0 Replies Latest reply on Aug 18, 2017 12:47 PM by wangdong115_2339566

    CX3 MCLK does not work

    wangdong115_2339566

      Hi,

         

      I am using a CX3 (CYUSB3065-BZXI) chip trying to get the image out of a image sensor. I am trying to get the CX3 to output a 24M reference clock on MCLK for the image sensor, but can not get it work until now.

         

      Due to the poor documentations of the images sensor I am currently using (which is a pre-release sample), I used the CX3 MCLK for the sensor for debugging purpose on my PCB. The reference clock for the CX3 is 24M generated by an oscillator. To generate the 24M clock signal, I tried the following configuration:

         


      CyU3PMipicsiCfg_t RAW12_Resolution0 =  
      {
          CY_U3P_CSI_DF_RAW12,                  /* CyU3PMipicsiDataFormat_t dataFormat */
          2,                                                       /* uint8_t numDataLanes */
          2,                                                       /* uint8_t pllPrd */
          95,                                                     /* 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_8,            /* CyU3PMipicsiPllClkDiv_t parClkDiv */
          0x0101,                                             /* uint16_t mClkCtl */
          CY_U3P_CSI_PLL_CLK_DIV_2,            /* CyU3PMipicsiPllClkDiv_t mClkRefDiv */
          224,                                                   /* uint16_t hResolution */
          50                                                      /* uint16_t fifoDelay */
      };

         

       

         

      So:

         

      REF_CLK = 24M;

         

      PLL_CLK = 24 * [(95+1) / (2+1)] / (2^2) M = 192M;

         

      MCLK = 192 / 2 / [(1+1) + (1+1)] M = 24M;

         

       

         

      However, when I tested on the board, there is no output from the MCLK pin on CX3.

         

       

         

      The function CyU3PMipicsiSetIntfParams(&RAW12_Resolution0, CyTrue); returned CY_U3P_SUCCESS, and function CyU3PMipicsiQueryIntfParams returned just the same as the settings above. Also, function CyU3PMipicsiCheckBlockActive returned CyTrue

         

      I tested the MCLK pin, which is G3 pin of the chip, using the Oscilloscope, there is nothing except a straight line on the screen, just like testing a GND pin. 

         

      I noticed that using MCLK is not recommended because of the high jitter value, but since I am debugging the image sensor, is there any additional operations to get it work? 

         

      Thanks!