The test points on CX3 (VSYNC, HSYNC and PCLK) are driven by the MIPI block of CX3 and are used for debugging purposes only. It is not possible to configure these test points through firmware.
Please let us know why do you want to stop the image sensor in the middle of the frame?
Also, you can call the function CyCx3AppStop() when you stop the image sensor. This function internally does the following:
1. Disable the PLL clocks on the MIPI-CSI interface block and place it in low-power sleep. No data transfers from the Image Sensor to the CX3 will occur while the block is in low power sleep mode.
2. Put the image sensor to sleep.
3. Disable the GPIF Interface.
4. Clean the DMA channel and flush the Endpoint memory.
5. Enable LPM
You can restart the stream by calling the function CyCx3AppStart().
Thank you for your reply.
In my system
Since the power supply of the camera was stopped at any time,
image sensor also stops in the middle of the frame or blanking.
I will try image sensor stops during V blanking by call the function CyCx3AppStop().
Please let me know if the power supply for CX3 and the image sensor are different or not.
In this case there should be some feedback signal (say transition from HIGH to LOW indicates power is turned off) to a GPIO in CX3 when the power supply is turned off. When this change in feedback signal is seen by CX3 you can follow the procedures that I mentioned in my previous response. When the power is turned ON, the feedback signal behaves in the opposite way (that is it goes from LOW to HIGH). This can be used to start the streaming back by calling CyCx3AppStart(). Also, please make sure that the feedback signal is in the power domain voltage level of the CX3's GPIO used.
The power supply of the CX3 and the image sensor is different.
The CX3 and image sensors are mounted on separate boards and interfaced by SER DES.
The power of the image sensor is controlled by connecting the FET to the GPIO (xshutdown) of the CX3.
Since the MIPI output of the deserializer is input to the CX3, the MIPI input of the CX3 is 1.2V when the image sensor is powered down.
So, I want to control following sequence.
1) V blank detection
2) DES MIPI Stop
3)Image sensor power stop
regarding V blank detection.
I'm going to try to detect V blank with glHitFV.
Please find my understandings from our discussions so far below:
1. CX3 and image sensors are not powered using the same supply.
2. CX3 and image sensors are mounted on separate boards and interfaced by SER DES.
3. Power of image sensor is controlled by xshutdown of CX3.
4. You want to turn off (power down) the image sensor during v blanking.
For turning off the image sensor you can try following the sequence mentioned in your previous response. But, once the image sensor is powered down, CX3 will not get any more valid data from the image sensor. During this time, CyCx3AppStop() needs to be called so that the DMA channels are cleaned, endpoint memories are flushed and the GPIF state machine is disabled. Please note that by doing so you might lose data.
Please let me know why do you want to stop the image sensor all of a sudden? I understand that if the image sensor is stopped during blanking time, the VSYNC_TEST point will be LOW. Do you want to use this LOW state of VSYNC_TEST when the image sensor is stopped for a different purpose? Please elaborate your application so that we can understand why you need to stop the image sensor.
I want VSYNC_TEST to be Low because I want to measure the camera startup time with an oscilloscope.
The first Vsync rise is measured after the camera is turned on.
If VSYNC_TEST was in the High state and the camera was on, the first Vsync rise occurred in the second frame.
If VSYNC_TEST was in the Lowh state and the camera was powered on, the first Vsync rise occurred correctly in the first frame.
I changed the FW and was able to stop during blanking, so I can now measure the camera startup time correctly.
Thank you very much.