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.

TDA4VM: TDA4 failded to capture 16bit raw image from sensor

Part Number: TDA4VM

Hi TI experts, 

On TDA4VM with sdk 8.5, we now use 12 bit raw to  light up OV3C10 sensors, and it works fine. 

However, if the sensor output changes to 16bit raw, the TDA4 cannot capture any image, even though the output signal of deserializer can be detected using an oscilloscope.

Should I change the settings of sensor driver in the sdk 8.5?

best regards, 

Jianxiong Hua

  • Hi Jianxiong Hua,

    For RAW16 image, have you also changed output datatype (0x2E) in the CSI stream? I think this should be done in the deserializer. Also have you also changed sensor driver in the imaging component to expect RAW16 data? 

    Regards,

    Brijesh

  • Hi, brijesh, 

    I have changed datatype (0x2e) in both serializer and deserializer settings, and I have changed the imaging driver to RAW16 bit. 

    But I'm not sure is this change correct. 

    Best regards, 

    Jianxiong

  • Hi Jianxiong,

    The above changes look fine. The code will now configure CSIRX to expect the data with datatype 0x2E. Are there any other changes in lets say virtual channel number and/or lane speed etc ? 

    Regards,

    Brijesh

  • The virtual channel number and lane speed remained unchanged. 

    In this case, I still used the dcc_viss.h of 12 bit raw's. Does this cause the failure of capturing stream?

  • Hi Hua Jianxiong,

    VISS can cause failure in the capture ie CSIRX. Both are different independent modules.. Can you please try setting "msb" field to 11 and lets see if it recognizes the input stream?

    Regards,

    Brijesh

  • Hi, Brijesh, 

    Here are the test results:

    12bit sensor raw + ser-des 0x2c + msb 11 + 12bit dcc_viss.h, success;

    12bit sensor raw + ser-des 0x2e + msb 11 + 12bit dcc_viss.h, success;

    12bit sensor raw + ser-des 0x2e + msb 15 + 12bit dcc_viss.h, failure;

    16bit sensor raw + ser-des 0x2e + msb 11 + 12bit dcc_viss.h, failure;

    16bit sensor raw + ser-des 0x2e + msb 15 + 12bit dcc_viss.h, failure;

    So, do I need to generate a 16bit dcc_viss.h to test? I think this might be the cause. 

    Best regards, 

    Jianxiong

  • Hi Jianxiong,

    12bit sensor raw + ser-des 0x2e + msb 11 + 12bit dcc_viss.h, success;

    This is interesting case. It should not have worked, as serdes is outputting data with 0x2e and csirx is configured with 0x2c and still it is working, which mean deserializer is not really outputting 0x2e data type. Can you please check and confirm? 

    Also can you please confirm that enableCsiv2p0Support flag is set to true in csirx parameters? 

    Regards,

    Brijesh