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: UB960 CSI and multi YUV cameras issue

Part Number: TDA4VM

Hi team,

Customer's camera stream is  OVX3C--->Gw5200(ISP)---->UB935(SER)------>UB960----->TDA4 CSI 

During debugging, there are some problems :

1. When set one camera work, the camera is working successfully ,and the display can shows image.  But when trying two cameras with UB960,it shows nothing and the  vx_app_multi_cam  is hanged .

=========================
Demo : Camera Demo
=========================

s: Save CSIx, VISS and LDC outputs

p: Print performance statistics

x: Exit

Enter Choice: x

2. In the camera config with one,  the Ub960 CSI  speed is 1600 {0x1F,0x00,}

and the TDA4VM CSI 1600{captureObj->params.instCfg[id].laneBandSpeed         = TIVX_CAPTURE_LANE_BAND_SPEED_1500_TO_1750_MBPS},

they did not work, and the  vx_app_multi_cam  is also hanged .

Here is the config for ub960:

One camera config:

{0x4C,0x010x10},   //for port 0

{0x58,0x5D0x10},

    {0x5C,0xB00x10},
    {0x5D,0x060x10},
    {0x65,0xB20x10},
    {0x5E,0xDA0x10},
    {0x66,0xDA0x10},
    {0x5F,0xD80x10},
    {0x67,0xD80x10},
    {0x6D,0x7C0x10},

    {0x6E,0xA80x10},  //BC_GPIO0=0, GC_GPIO1=Fsync
    {0x70,0x1E0x10},  //vc0,YUV422
    {0x72,0xE40x10},  //vc0
    {0x7C,0xC10x10},

    {0x32,0x01,0x10},
    {0x33,0x03,0x10}, 
    //{0x21,0x3C,0x10}, 
    {0x20,0xC0,0x10}, 
    {0x1F,0x00,0x10}, 
    {0x6E,0xA0,0x10},
    {0x19,0x0C,0x10},//FS_HIGH_TIME_1
    {0x1A,0x81,0x10},//FS_HIGH_TIME_0
    {0x1B,0x60,0x10},//FS_LOW_TIME_1
    {0x1C,0x00,0x10},//FS_LOW_TIME_0    30hz   
    
    {0x18,0x01,0x10},//FrameSync Enable
    {0xFFFF0x000x0} /*End of script */

Two cameras config:

 {0x4C,0x010x10},   //for port 0
    {0x58,0x5D0x10},
    {0x5C,0xB00x10},
    {0x5D,0x060x10},
    {0x65,0xB20x10},
    {0x5E,0xDA0x10},
    {0x66,0xDA0x10},
    {0x5F,0xD80x10},
    {0x67,0xD80x10},
    {0x6D,0x7C0x10},

    {0x4C,0x120x10},   //for port 1
    {0x58,0x5D0x10},
    {0x5C,0xB40x10},
    {0x5E,0xDA0x10},
    {0x66,0xDA0x10},
    {0x5F,0xD80x10},
    {0x67,0xD80x10},
    {0x6D,0x7C0x10},
    {0x6E,0xA80x10},
    {0x70,0x1E0x10},
    {0x72,0xE40x10},
    {0x7C,0xC10x10},

    {0x6E,0xA80x10},  //BC_GPIO0=0, GC_GPIO1=Fsync
    {0x70,0x1E0x10},  //vc0,YUV422
    {0x72,0xE40x10},  //vc0
    {0x7C,0xC10x10},

    {0x32,0x01,0x10},
    {0x33,0x03,0x10}, // #CSI OUT ENABLE
    {0x21,0x2C,0x10}, // Synchronous forwarding with line concatenation
    {0x20,0xC0,0x10}, // #CSI FORWARDING PORT0,1,2,3,4
    {0x1F,0x02,0x10}, // #CSI rate 800

    //frame sync settings, For 25-Mbps backchannel operation, 
    //the frame period is 1200 ns (30 bits x 40 ns/bit).
    //30fps, 33333333/1200=27777=0x6C81
    {0x6E,0xA0,0x10},
    {0x19,0x0C,0x10},//FS_HIGH_TIME_1
    {0x1A,0x81,0x10},//FS_HIGH_TIME_0
    {0x1B,0x60,0x10},//FS_LOW_TIME_1
    {0x1C,0x00,0x10},//FS_LOW_TIME_0    30hz   

    
    {0x18,0x01,0x10},//FrameSync Enable
    {0xFFFF0x000x0} /*End of script */
Could you help check this case? Thanks.
Best Regards,
Cherry
  • Hi,

    May I know is there any updates?

    Thanks and Best Regards,

    Cherry

  • I use the ti-processor-sdk-rtos-j721e-evm-07_03_00_07 sdk . Also I add my camera driver reference gw_ar0233_yuv example . There is no any other updates.

  • Hi,

    Moreover,I change the ub960 work in round-robin mode ,  the  Ub960 CSI  speed  in 800,the vx_app_multi_cam  can work . But the display show only one camera image.

    When I exit , the log is:


    [MCU2_0] 56.770780 s: invalidSpCount: 0
    [MCU2_0] 56.770803 s: strmFIFOOvflCount[0]: 0
    [MCU2_0] 56.770831 s: strmFIFOOvflCount[1]: 0
    [MCU2_0] 56.770857 s: strmFIFOOvflCount[2]: 83
    [MCU2_0] 56.770883 s: strmFIFOOvflCount[3]: 14
    [MCU2_0] 56.770926 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 56.770979 s: 0 | 103 | 103 | 0 | 0 |
    [MCU2_0] 56.771031 s: 1 | 103 | 103 | 0 | 0 |
    56.782583 s: ISS: De-initializing sensor [GW_OVX03C_UYVY] ... !!!
    56.782698 s: ISS: De-initializing sensor [GW_OVX03C_UYVY] ... Done !!!
    56.783086 s: VX_ZONE_WARNING:[vxReleaseContext:1011] Found a reference 0x718648 of type 0000080f at external count 1, internal count 0, releasing it
    56.783095 s: VX_ZONE_WARNING:[vxReleaseContext:1015] Unreleased reference name = image_93
    56.783100 s: VX_ZONE_WARNING:[vxReleaseContext:1017] Releasing reference now as a part of garbage collection

    Best Regards,

    Qian

  • Hi Qian,

    Which example are you using this test? Is mosaic included in the test application? Because if the mosaic is not included, then display will just display channel0 ie camera0's images..

    Regards,

    Brijesh

  • I ues the app_multi_cam example.I found mosaic is disable for yuv camera default:

       if(1 == obj->sensorObj.sensor_out_format)
        {
            printf("YUV Input selected. VISS, AEWB and Mosaic nodes will be bypassed. \n");
            obj->enable_viss = 0;
            obj->enable_aewb = 0;
            obj->enable_mosaic = 0;
        }
    When I set enable_mosaic=1 , the app_multi_cam  will be error :
    VX_ZONE_ERROR:[tivxKernelImgMosaicMscDrvSubmit:983] Failed to Submit Request
    [MCU2_0] 448.936665 s: VX_ZONE_ERROR:[tivxKernelImgMosaicMscDrvSubmit:983] Failed to Submit Request
    [MCU2_0] 448.969924 s: VX_ZONE_ERROR:[tivxKernelImgMosaicMscDrvSubmit:983] Failed to Submit Request
    So in app_multi_cam example ,mosaic  can not support for yuv camera?
  • Hi Qian Mars,

    oh ok, Mosaic cannot be used for the YUV422 capture, because Mosaic supports only NV12 format. In order to use the mosaic, you would have to convert YUV422 data to YUV420 format. You could use DSS WB path, as explained in the below link or LDC module in the VPAC to this format conversion.

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1007456/faq-tda4vm-how-to-use-dss-m2m-for-format-conversion

    Regards,

    Brijesh