This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA3MV: How to make vsync and hsync occur only when new data is generated in the display link

Part Number: TDA3MV


Tool/software:

Hello

I have two questions regarding how to make vsync and hsync occur only when new data is available on the display link.

1. When should I turn VP on and off?

I got the following answer last time. (TDA3MV: How to output video based on an external trigger - Processors forum - Processors - TI E2E support forums)

  • DSS once started, will continue to generate vsync periodically
  •  If you want to stop vsync, you need to stop VP. I think driver has an ioctl to stop VP, can you please check if displ.ay controller has some API to do same?

I looked into the display controller side and found an ioctl that enables/disables VP output.

DISPLAYCTRL_LINK_CMD_SET_CONFIG (-> IOCTL_VPS_DCTRL_SET_CONFIG)

DISPLAYCTRL_LINK_CMD_CLR_CONFIG (-> IOCTL_VPS_DCTRL_CLEAR_CONFIG)

I confirmed that 1 vsync cycle is generated when DISPLAYCTRL_LINK_CMD_SET_CONFIG and DISPLAYCTRL_LINK_CMD_CLR_CONFIG are used, but the frame grabber cannot capture it.

Do you know why the grabber can't grab the frame?

Is it because of the wrong method?

Is this the right timing that VPdisable is in framedoneCb and VP enble is before the gobit command (right before data is output)?

2.Is there any setting like trigger mode or oneshot mode? Or do you have any idea to implement it? Below is the camera operation method I found on the internet, and I want to implement it like that.

(External Trigger Usage of See3CAM_CU135 Camera - e-con Systems)

Trigger Mode:

In trigger mode, the camera will be kept in standby mode waiting for an external trigger pulse to start streaming. In this mode, the camera is capable of synchronized streaming by connecting two or multiple See3CAM_CU135 cameras to the same trigger source.

Before setting to the Trigger mode, the user can adjust the camera settings such as the preview resolution and frame rate and configure the camera settings such as exposure, brightness, etc while operating the camera in Master mode, once the camera enters Trigger Mode, the preview is not available, so cannot adjust the parameters without the preview.

After configuring the camera setting, change the streaming mode to “trigger mode”. Once streaming mode changed camera will not stream any frame and wait for the external trigger pulse, the external Trigger requires an active high 1.8V logic signal that can be given through pin 10 in the GPIO connector. The trigger pulse frequency is based on the frame rate required.

For example, if user wants to stream the camera in 1920 x 1080 @30fps, the user needs to set the external PWM pulse range as 30Hz and set the exposure time of the sensor as 33.33 ms.

  • Do you know why the grabber can't grab the frame?

    Sorry, but this question is for the DSS, isn't it? 

    Is this the right timing that VPdisable is in framedoneCb and VP enble is before the gobit command (right before data is output)?

    Sorry didn't get the question here. Driver is implemented as recommended in the TRM.

    2.Is there any setting like trigger mode or oneshot mode? Or do you have any idea to implement it? Below is the camera operation method I found on the internet, and I want to implement it like that.

    No, DSS does not have this trigger mode or one shot mode support.

    Regards,

    Brijesh

  • Thank you for your reply.

    you said:

    Sorry didn't get the question here. Driver is implemented as recommended in the TRM.

    -> I found how to turn VP off and on, but I'm looking for what timing to put it in at.

    When I didn't put in the VP enable/disable code, I looked at the vsync with an oscilloscope and it was continuous.

    However, when I put the VP enable at the beginning of SYSTEM_CMD_NEW_DATA and the VP disable at the end of SYSTEM_CMD_NEW_DATA, the vsync on the oscilloscope was continuous and then dropped out once in a while.

  • Hi,

    I found how to turn VP off and on, but I'm looking for what timing to put it in at.

    Well, VP on could be any time you want VP to be started. Regarding VP off, it should be done few lines before the next vsync, if you want to stop on that vsync. If you want to stop on the vsync interrupt, then it would be stopped on the next vsync. 

    Regards,

    Brijesh