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.

TDA4VH-Q1: TDA4VH-Q1

Part Number: TDA4VH-Q1
Other Parts Discussed in Thread: TDA4VH

Hi support team :

I am currently debugging ov OX03F10 sensor , but when I use the single cam demo to capture the image, I found that the image from dump is empty.
Could you please help me check if there are any issues with the parameter configuration? Thank you!


1) The underlying driver configuration is good, and it seems that the register borrowing device already has data

2) Due to the camera data being connected to CSI2-RX, I modified the single cam demo code ,

obj ->selectedCam=8;
local_capture_config.numInst = 3U

- The capture parameter code is as follows:

The parameter print log is as follows:

3) Detailed log as attached
ps: I temporarily replace using the parameters of ar2033 for debugging

tda4vh-sidecam.log

  • Hi zheng,

    What is the value of selectedCam variable? This variable decides the instance to be used and also virtual channel. Like if the selectedCam is set to 0 to 3, it uses instance0 and virtual channel as 0 to 3. But it is set to 4 to 7, it uses instance1 and virtual channel as 0 to 3. 

    Regards,

    Brijesh

  • HI Brijesh :

    As described above,

    obj ->selectedCam=8;

    Final implementation

    local_capture_config.chInstMap[0] = 2;
    local_capture_config.chVcNum[0] = 0;

    Is this configuration correct?

  • HI Brijesh :

       Could  you help to check that  if the configuration is correct? thank you ! 

  • Hi zheng,

    The above parameters look correct. Could you please check and confirm 

    - CSIRX lane speed is matching with the output lane speed of the deserializer?

    - data type and virtual channel id are correct and matching with deserializer output?

    - Deserializer and sensor are enabled only in stream_on callback and not before this callback? 

    Regards,

    Brijesh

  • HI Brijesh : 

    please check my reply,thank you ! 

    1)- CSIRX lane speed is matching with the output lane speed of the deserializer?
    I have set the lane BandSpeed of CSIRX to 15 and the MIPI speed output by the deserializer to be 1500Mbps, but the problem is still exist .

    2)- data type and virtual channel id are correct and matching with deserializer output?
    The output format is raw10,Is there a problem with the raw10 format output from the camera?
    Is the virtual channel ID the configuration discussed "chVcNum" on last reply of ? I am connected to 4 cameras, so it is correct for my configuration ? If what I am incorrect, could you please tell me how to check?

    3)- Deserializer and sensor are enabled only in stream_on callback and not before this callback?
    Yes, it's configured like this. Regarding this point, even if it is not in this configuration order, there should be abnormal image display instead of empty images, right?

  • Hi zheng,

    I have set the lane BandSpeed of CSIRX to 15 and the MIPI speed output by the deserializer to be 1500Mbps, but the problem is still exist

    did not get it, what do you mean by CSIRX to 15? Do you mean value 0x10 or 0x15? Both do not set CSIRX in 1.5Gpbs lane speed. Please use value 0x12 or 0x13 for this lane speed.

    The output format is raw10,Is there a problem with the raw10 format output from the camera?
    Is the virtual channel ID the configuration discussed "chVcNum" on last reply of ? I am connected to 4 cameras, so it is correct for my configuration ? If what I am incorrect, could you please tell me how to check?

    In the raw_image parameters, can you please check if you are setting "msb" parameter to value 9?

    Yes, it's configured like this. Regarding this point, even if it is not in this configuration order, there should be abnormal image display instead of empty images, right?

    No, in this case, capture will not work correctly. 

    Regards,

    Brijesh

  • HI Brijesh : 

    1) There is a problem with my description. The default lane BandSpeed of CSIRX is 0x12, and the MIPI speed output by the serializer is 1500Mbps.
    This configuration captures empty images. Then I only changed the lane BandSpeed of CSIRX to 0x10, and the captured image is still empty.

    2)I am using the default single cam demo code without modifying the msb parameters.
    In fact, I searched for the code and only found it in the main_x86.c file shows the msb,
    but I think it won't be call .Could you tell me how to check this code?

    3) OK,I will retry it and double check the result .

  • Hi Zheng

    msb position is set in the IssSensor_CreateParams for the given sensor. For example, below code sets the msb position as 11, which mean RAW12 data type for the image sensor. In your case, since sensor is outputting RAW10 (assuming output is also tagged with 0x2B value), please set it to value 9.

    {
    {TIVX_RAW_IMAGE_16_BIT, 11}, /*dataFormat and MSB [0]*/
    },

    Regards,

    Brijesh

  • HI Brijesh : 

    I checked the code you mentioned and it was indeed 11.

    There is a problem with my SD card so I cannot verify it tonight. I will feedback after verifying it tomorrow. Thank you for your support!

  • Sure Zheng, will wait for your feedback.

  • HI Brijesh :

    I have made modify some driver code, Now I see that the output status of the deserializer is incorrect, and I am still checking it.
    So today's experiment may not necessarily prove the problem.

    1) When configured {TIVX_RAW_IMAGE_P12_BIT, 9}
    I find that Fps=0, there is some VX_ZONE_ERROR error find
    The dump file is empty, please refer to the log for details

    tda4vh-bit12-9-error-fps-0.log
    1) When configured {TIVX_RAW_IMAGE_P12_BIT, 11}
    I find that Fps=58, no VX_ZONE_ERROR error find .
    The dump file is still empty, please refer to the log for details

    tda4vh-bit12-11-fps-58.log

    I will go to fixed the driver issue firstly.

    thank you !

  • Hi zheng,

    From the above experiment, it looks like the sensor or deserializer is outputting RAW12 data, not RAW10. Also looking at the log, especially below statement, there are only 4 frames enqueued and dequeued. Are you closing the usecase too soon? Can you please let it run for longer duration and then check the output? 

    [MCU2_0] 62.452391 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 62.452459 s: 0 | 4 | 4 | 0 | 0 |

    Regards,

    Brijesh

  • Hi zheng,

    1) Do you mean the sensor data is raw12? What we discussed above is raw12.

    2) There is a problem with the sensor data output in these two logs because the video lock of the deserializer is incorrect. Continuing to check, it was found that when writing to the sensor register, the return status was' 0 ', but when reading this register again, it was  still the original value. I am continuing to investigate

  • Hi zheng,

    But i thought you are trying to output raw10 from below reply, isn't it?

    The output format is raw10,Is there a problem with the raw10 format output from the camera?

    ok, then sensor and probably deserializer is still not configured properly. Probably still there is some i2c issue. 

    Yes, please check if there is lock between SERDES and if you are able to configure entire chain correctly first. 

    Regards,

    Brijesh

  • HI Brijesh :


    1) Really sorry, the camera output is raw10, the datatype value is 0x2b. I got mixed up with another project currently in progress.

    2) Because the underlying driver only sees TIVX_RAW_IMAGE_P12_BIT does not have raw10. May I ask that how to configure raw10?

    3) I will continue to check the lock between SERDES issue

    Thank you!

  • Hi Zheng,

    For RAW10 ie data type of 0x2B, please use below.

    {
    {TIVX_RAW_IMAGE_16_BIT, 9}, /*dataFormat and MSB [0]*/
    },

    In the code below i see that it configures CSIRX for RAW10 datatype when msb is set to 0. 

    switch (params->format[0].msb)
    {
    case 9u:
    inCsiDataType = FVID2_CSI2_DF_RAW10;
    break;

    Regards,

    Brijesh

  • HI Brijesh :

    Okay, I understand how to set raw10 .

    Next step I will continue to check the lock between SERDES issue firstly . thank you ! 

  • HI Brijesh :

    I haven't found the problem yet, but the register seen by my sensor driver is in a chaotic state after reading and writing. I will update you with the results as soon as possible. Thank you!

  • Sure, thanks zheng, will wait for your feedback.

  • HI Brijesh : 

    After resolving the sensor driver issue, the raw10 image can now be displayed, but it seems that there are the following issues

    1) The RAW10 screen also has screen cutout, and I suspect it is a problem with the resolution setting of the test demo,I will retest it .

    2) The image effect is not clear. I am using 7yuv for preview. Can you help me check if the settings are correct?

    3) Could you provide the ISP driver code for sensor OX03F10? Do you need me to resubmit new ticket  ?

     

    thank you ! 

  • Hi zheng,

    This sensor is not supported in the standard SDK, so we dont have ISP tuning parameters for this sensor.

    Regards,

    Brijesh 

  • HI Brijesh : 

       OK . Is my 7yuv setting is correct for preview raw10 image  ?

  • Hi zheng,

    I think 7yuv supports limited formats, i would recommend here to use IrfanViewer application. This application supports raw10 format. 

    Regards,

    Brijesh

  • HI  Brijesh:

      thanks ,you can close this ticket . 

  • Thanks zheng, closing this ticket.