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: CSITX node,Unable to meet 30 fps

Part Number: TDA4VM

My pipeline is capture(raw_data)->viss->csitx,Resolution:3840*2166,viss out uyvy422,csitx node,avg time over 33.3ms.if my pipeline add ldc node,Common viss data with csitx。The average time of csitx node will reach 36ms。

/* CSITX Start */
#define NUM_CHANNELS        (1U)
#define CSITX_INST_ID       (0U)

#define CSITX_LANE_BAND_SPEED       (TIVX_CSITX_LANE_BAND_SPEED_950_TO_1000_MBPS)
#define CSITX_LANE_SPEED_MBPS       (1000)
    // uint32_t loopCnt;
    vx_user_data_object csitx_config;
    tivx_csitx_params_t local_csitx_config;
    /* CSITX Config initialization */
    tivx_csitx_params_init(&local_csitx_config);
    local_csitx_config.numInst = 1U;
    local_csitx_config.numCh = NUM_CHANNELS;
    local_csitx_config.instId[0U] = CSITX_INST_ID;
    local_csitx_config.instCfg[0U].rxCompEnable = (uint32_t)vx_true_e;
    local_csitx_config.instCfg[0U].rxv1p3MapEnable = (uint32_t)vx_true_e;
    local_csitx_config.instCfg[0U].laneBandSpeed = CSITX_LANE_BAND_SPEED;
    local_csitx_config.instCfg[0U].laneSpeedMbps = CSITX_LANE_SPEED_MBPS;
    local_csitx_config.instCfg[0U].numDataLanes = 4U;
    for (loopCnt = 0U;
         loopCnt < local_csitx_config.instCfg[0U].numDataLanes;
         loopCnt++)
    {
        local_csitx_config.instCfg[0U].lanePolarityCtrl[loopCnt] = 0u;
    }
    for (loopCnt = 0U; loopCnt < NUM_CHANNELS; loopCnt++)
    {
        local_csitx_config.chVcNum[loopCnt] = loopCnt;
        local_csitx_config.chInstMap[loopCnt] = CSITX_INST_ID;
    }

    csitx_config = vxCreateUserDataObject(obj->context, "tivx_csitx_params_t", sizeof(tivx_csitx_params_t), &local_csitx_config);

    if (vx_false_e == yuv_cam_input)
    {

        vx_image tx_frame = vxCreateImage(
                                obj->context, 
                                sensorParams.sensorInfo.raw_params.width, 
                                sensorParams.sensorInfo.raw_params.height, 
                                //VX_DF_IMAGE_YUYV
                                VX_DF_IMAGE_UYVY
                         );
        obj->csitx_frames = vxCreateObjectArray(obj->context, (vx_reference)tx_frame, num_capture_frames);
        status = vxReleaseImage(&tx_frame);
        status = vxGetStatus((vx_reference)obj->csitx_frames);
        if (status != VX_SUCCESS)
        {
            APP_PRINTF("csitx vxCreateObjectArray error\n");
        }
        else
        {
            APP_PRINTF("csitx vxCreateObjectArray success\n");
        }
        obj->csitx_node = tivxCsitxNode(obj->graph, csitx_config, obj->csitx_frames);
    }
    else
    {
        obj->csitx_node = tivxCsitxNode(obj->graph, csitx_config, obj->cap_frames[0]);
    }
    if(status == VX_SUCCESS)
    {
        status = vxReleaseUserDataObject(&csitx_config);
    }
    if (status == VX_SUCCESS)
    {
        status = vxSetNodeTarget(obj->csitx_node, VX_TARGET_STRING, TIVX_TARGET_CSITX);
    }
    else
    {
        APP_PRINTF("capture node set error\n");
    }
    if (status == VX_SUCCESS)
    {
        APP_PRINTF("csitx node set success\n");
    }
    else
    {
        APP_PRINTF("csitx node set error\n");
    }

  • 感谢您对TI产品的关注!由于问题比较复杂,我需要询问更了解这款芯片的TI资深工程师,再为您解答,一旦得到回复会立即回复给您。您也可以查看下帖了解进展:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1127706/tda4vm-csitx-node-unable-to-meet-30-fps 

  • 请问您能分享完整的performance log吗?可能是 LDC 需要更多时间,但让我们首先分析Log。

  • 是生成的vcd文件么?不能直接上传,我把后缀改成html了,轻下载后去掉app_single_came_capture_csitx - 副本.vcd.html

  • log.log
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=4) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
       804.578661 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
       804.586876 s:  VX_ZONE_INIT:Enabled
       804.586895 s:  VX_ZONE_ERROR:Enabled
       804.586910 s:  VX_ZONE_WARNING:Enabled
       804.587729 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
       804.587955 s:  VX_ZONE_INIT:[tivxHostInitLocal:86] Initialization Done for HOST !!!
    
     Single Camera Demo - (c) Texas Instruments 2019
     ========================================================
    
     Usage,
      ./vx_app_single_cam_capture_csitx.out --cfg <config file>
    
    Defaulting to interactive mode
    IttCtrl_registerHandler: command echo registered at location 0
    IttCtrl_registerHandler: command iss_read_2a_params registered at location 1
    IttCtrl_registerHandler: command iss_write_2a_params registered at location 2
    IttCtrl_registerHandler: command iss_raw_save registered at location 3
    IttCtrl_registerHandler: command iss_yuv_save registered at location 4
    IttCtrl_registerHandler: command iss_read_sensor_reg registered at location 5
    IttCtrl_registerHandler: command iss_write_sensor_reg registered at location 6
    IttCtrl_registerHandler: command dev_ctrl registered at location 7
    IttCtrl_registerHandler: command iss_send_dcc_file registered at location 8
     NETWORK: Opened at IP Addr = 192.168.11.223, socket port=5000!!!
    tivxImagingLoadKernels done
       804.591093 s: ISS: Enumerating sensors ... !!!
       804.591576 s: ISS: Enumerating sensors ... found 0 : OX08B40_RAW_MAX96717
       804.591592 s: ISS: Enumerating sensors ... found 1 : IMX390_MAX9296
       804.591613 s: ISS: Enumerating sensors ... found 2 : IMX390_MAX9296_LOOPBACK
       804.591641 s: ISS: Enumerating sensors ... found 3 : SENSOR_OX08BC_8M
    4 sensor(s) found
    Supported sensor list:
    a : OX08B40_RAW_MAX96717
    b : IMX390_MAX9296
    c : IMX390_MAX9296_LOOPBACK
    d : SENSOR_OX08BC_8M
    Select a sensor
    [MCU2_0]    804.591330 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CREATE
    a
    
    LDC Selection Yes(1)/No(0)
    LDC Selection Yes(1)/No(0)
    1
    Sensor selected : OX08B40_RAW_MAX96717
    app_init done
    Querying OX08B40_RAW_MAX96717
       805.778480 s: ISS: Querying sensor [OX08B40_RAW_MAX96717] ... !!!
       805.779026 s: ISS: Querying sensor [OX08B40_RAW_MAX96717] ... Done !!!
    WDR mode is supported
    CMS Usecase is supported
    obj->aewb_cfg.ae_mode = 0
    obj->aewb_cfg.awb_mode = 0
    Sensor DCC is enabled
    Sensor width = 3840
    Sensor height = 2166
    Sensor DCC ID = 310
    Sensor Supported Features = 0x340
    Sensor Enabled Features = 0x340
       805.779094 s: ISS: Initializing sensor [OX08B40_RAW_MAX96717], doing IM_SENSOR_CMD_PWRON ... !!!
    [MCU2_0]    805.778702 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_QUERY
    [MCU2_0]    805.778786 s: Received Query for OX08B40_RAW_MAX96717
    [MCU2_0]    805.779287 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_PWRON
    [MCU2_0]    805.779352 s: IM_SENSOR_CMD_PWRON : channel_mask = 0x1
       805.817503 s: ISS: Initializing sensor [OX08B40_RAW_MAX96717], doing IM_SENSOR_CMD_CONFIG ... !!!
    [MCU2_0]    805.817706 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CONFIG
    [MCU2_0]    805.817788 s: Application requested features = 0x340
    [MCU2_0]
    [MCU2_0]    805.817835 s: Configuring cameras OX08B40_RAW_MAX96717
    [MCU2_0]    805.817885 s: Config deserializer...
    [MCU2_0]    806.242847 s: Config deserializer...done!
    [MCU2_0]    806.242926 s: Config serializer...
    [MCU2_0]    806.266657 s: Config deserializer...done!
    [MCU2_0]    806.266732 s: Config sensor...
       807.168585 s: ISS: Initializing sensor [OX08B40_RAW_MAX96717] ... Done !!!
    Creating graph
    Initializing params for capture node
    Initializing params for capture node
    local_capture_config.numDataLanes = 4
    local_capture_config.dataLanesMap[0] = 1
    local_capture_config.dataLanesMap[1] = 2
    local_capture_config.dataLanesMap[2] = 3
    local_capture_config.dataLanesMap[3] = 4
    capture_config laneBandSpeed = 14
    capture_config = 0x0xe7cf10
    Creating capture node
    obj->capture_node = 0x0xe2b810
    csitx vxCreateObjectArray success
    csitx node set success
    [MCU2_0]    807.168282 s: Config sensor...done!
    [MCU2_0]    807.168354 s: IM_SENSOR_CMD_CONFIG returning status = 0
    VISS Set Reference done
    AEWB Set Reference done
    Enabling LDC
    vxSetGraphScheduleConfig done
    Scaler is disabled
    app_create_graph exiting
    app_create_graph done
    
    
     ==========================
     Demo : Single Camera w/ 2A
     ==========================
    
     p: Print performance statistics
    
     s: Save Sensor RAW, VISS Output and H3A output images to File System
    
     e: Export performance statistics
    
     u: Update DCC from File System
    
    
     x: Exit
    
     Enter Choice:
    Unsupported command
    
    
    
     ==========================
     Demo : Single Camera w/ 2A
     ==========================
    
     p: Print performance statistics
    
     s: Save Sensor RAW, VISS Output and H3A output images to File System
    
     e: Export performance statistics
    
     u: Update DCC from File System
    
    
     x: Exit
    
     Enter Choice:    807.241166 s: ISS: Starting sensor [OX08B40_RAW_MAX96717] ... !!!
    [MCU2_0]    807.241498 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_ON
    [MCU2_0]    807.241583 s: IM_SENSOR_CMD_STREAM_ON:  channel_mask = 0x1
    [MCU2_0]    807.241626 s: Configuring cameras OX08B40_RAW_MAX96717
    [MCU2_0]    807.241677 s: Start streaming
       807.625388 s: ISS: Starting sensor [OX08B40_RAW_MAX96717] ... !!!
    [MCU2_0]    807.625917 s:  VX_ZONE_WARNING:[tivxCaptureSetTimeout:774]  CAPTURE: WARNING: Error frame not provided using tivxCaptureRegisterErrorFrame, defaulting to waiting forever !!!
    [MCU2_0]    807.692311 s: p_ae_exp_prg->target_brightness:44
    [MCU2_0]    807.692395 s: 11111
    p
    
    
    Summary of CPU load,
    ====================
    
    CPU: mpu1_0: TOTAL LOAD =   0.48 % ( HWI =   0. 6 %, SWI =   0. 6 % )
    CPU: mcu2_0: TOTAL LOAD =  22. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU: mcu2_1: TOTAL LOAD =   4. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c6x_1: TOTAL LOAD =   0. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c6x_2: TOTAL LOAD =   0. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c7x_1: TOTAL LOAD =   0. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    
    
    HWA performance statistics,
    ===========================
    
    HWA:   VISS: LOAD =   0.57 % ( 3 MP/s )
    HWA:   LDC : LOAD =   0.61 % ( 3 MP/s )
    
    
    DDR performance statistics,
    ===========================
    
    DDR: READ  BW: AVG =    477 MB/s, PEAK =   5011 MB/s
    DDR: WRITE BW: AVG =     35 MB/s, PEAK =   3237 MB/s
    DDR: TOTAL BW: AVG =    512 MB/s, PEAK =   8248 MB/s
    
    
    Detailed CPU performance/memory statistics,
    ===========================================
    
    CPU: mcu2_0: TASK:           IPC_RX:   0. 0 %
    CPU: mcu2_0: TASK:       REMOTE_SRV:   0. 7 %
    CPU: mcu2_0: TASK:        LOAD_TEST:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CPU_0:   0.33 %
    CPU: mcu2_0: TASK:          TIVX_NF:   0. 0 %
    CPU: mcu2_0: TASK:        TIVX_LDC1:   0. 1 %
    CPU: mcu2_0: TASK:        TIVX_MSC1:   0. 0 %
    CPU: mcu2_0: TASK:        TIVX_MSC2:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_VISS1:   0. 5 %
    CPU: mcu2_0: TASK:       TIVX_CAPT1:   0. 1 %
    CPU: mcu2_0: TASK:       TIVX_CAPT2:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_DISP1:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_DISP2:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CSITX:   0. 2 %
    CPU: mcu2_0: TASK:       TIVX_CAPT3:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT4:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT5:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT6:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT7:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT8:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DISP_M:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DISP_M:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DISP_M:   0. 2 %
    CPU: mcu2_0: TASK:      TIVX_DISP_M:   0. 0 %
    
    CPU: mcu2_0: HEAP:   DDR_SHARED_MEM: size =   16777216 B, free =   16293120 B ( 97 % unused)
    CPU: mcu2_0: HEAP:           L3_MEM: size =     262144 B, free =     261888 B ( 99 % unused)
    
    CPU: mcu2_1: TASK:           IPC_RX:   0. 0 %
    CPU: mcu2_1: TASK:       REMOTE_SRV:   0. 0 %
    CPU: mcu2_1: TASK:        LOAD_TEST:   0. 0 %
    CPU: mcu2_1: TASK:         TIVX_SDE:   0. 0 %
    CPU: mcu2_1: TASK:         TIVX_DOF:   0. 0 %
    CPU: mcu2_1: TASK:       TIVX_CPU_1:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_RX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU: mcu2_1: HEAP:   DDR_SHARED_MEM: size =   16777216 B, free =   16773376 B ( 99 % unused)
    CPU: mcu2_1: HEAP:           L3_MEM: size =     262144 B, free =     262144 B (100 % unused)
    
    CPU:  c6x_1: TASK:           IPC_RX:   0. 0 %
    CPU:  c6x_1: TASK:       REMOTE_SRV:   0. 0 %
    CPU:  c6x_1: TASK:        LOAD_TEST:   0. 0 %
    CPU:  c6x_1: TASK:         TIVX_CPU:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_RX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU:  c6x_1: HEAP:   DDR_SHARED_MEM: size =   16777216 B, free =   16773376 B ( 99 % unused)
    CPU:  c6x_1: HEAP:           L2_MEM: size =     229376 B, free =     229376 B (100 % unused)
    CPU:  c6x_1: HEAP:  DDR_SCRATCH_MEM: size =   50331648 B, free =   50331648 B ( 14 % unused)
    
    CPU:  c6x_2: TASK:           IPC_RX:   0. 0 %
    CPU:  c6x_2: TASK:       REMOTE_SRV:   0. 0 %
    CPU:  c6x_2: TASK:        LOAD_TEST:   0. 0 %
    CPU:  c6x_2: TASK:         TIVX_CPU:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_RX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU:  c6x_2: HEAP:   DDR_SHARED_MEM: size =   16777216 B, free =   16773376 B ( 99 % unused)
    CPU:  c6x_2: HEAP:           L2_MEM: size =     229376 B, free =     229376 B (100 % unused)
    CPU:  c6x_2: HEAP:  DDR_SCRATCH_MEM: size =   50331648 B, free =   50331648 B ( 14 % unused)
    
    CPU:  c7x_1: TASK:           IPC_RX:   0. 0 %
    CPU:  c7x_1: TASK:       REMOTE_SRV:   0. 0 %
    CPU:  c7x_1: TASK:        LOAD_TEST:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_RX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU:  c7x_1: HEAP:   DDR_SHARED_MEM: size =  268435456 B, free =  268435200 B (  3 % unused)
    CPU:  c7x_1: HEAP:           L3_MEM: size =    8159232 B, free =    8159232 B (100 % unused)
    CPU:  c7x_1: HEAP:           L2_MEM: size =     458752 B, free =     458752 B (100 % unused)
    CPU:  c7x_1: HEAP:           L1_MEM: size =      16384 B, free =      16384 B (100 % unused)
    CPU:  c7x_1: HEAP:  DDR_SCRATCH_MEM: size =  134217728 B, free =  134217728 B (  4 % unused)
    
    
    GRAPH:         graph_84 (#nodes =   6, #executions =    103)
     NODE:       CAPTURE1:                  node_97: avg =  13661 usecs, min/max =    140 /  49872 usecs, #executions =        103
     NODE:     VPAC_VISS1:          VISS_Processing: avg =  13983 usecs, min/max =  13721 /  14092 usecs, #executions =        103
     NODE:         IPU1-0:               2A_AlgNode: avg =  27446 usecs, min/max =  24190 /  32801 usecs, #executions =        103
     NODE:          CSITX:                  node_99: avg =  38977 usecs, min/max =  38176 /  42754 usecs, #executions =        103
     NODE:       DSS_M2M3:                 node_127: avg =  14374 usecs, min/max =  14261 /  14647 usecs, #executions =        103
     NODE:      VPAC_LDC1:           LDC_Processing: avg =  14594 usecs, min/max =  14290 /  15314 usecs, #executions =        103
    
     PERF:            TOTAL: avg =  39237 usecs, min/max =  32956 /  64635 usecs, #executions =        107
    
     PERF:            TOTAL:   25.48 FPS
    
    
    
     ==========================
     Demo : Single Camera w/ 2A
     ==========================
    
     p: Print performance statistics
    
     s: Save Sensor RAW, VISS Output and H3A output images to File System
    
     e: Export performance statistics
    
     u: Update DCC from File System
    
    
     x: Exit
    
     Enter Choice:
    Unsupported command
    
    
    
     ==========================
     Demo : Single Camera w/ 2A
     ==========================
    
     p: Print performance statistics
    
     s: Save Sensor RAW, VISS Output and H3A output images to File System
    
     e: Export performance statistics
    
     u: Update DCC from File System
    
    
     x: Exit
    
     Enter Choice: [MCU2_0]    811.860838 s: ==========================================================
    [MCU2_0]    811.860958 s:  Capture Status: Instance|0
    [MCU2_0]    811.860998 s: ==========================================================
    [MCU2_0]    811.861049 s:  overflowCount: 0
    [MCU2_0]    811.861086 s:  spuriousUdmaIntrCount: 0
    [MCU2_0]    811.861122 s:  frontFIFOOvflCount: 0
    [MCU2_0]    811.861157 s:  crcCount: 0
    [MCU2_0]    811.861190 s:  eccCount: 0
    [MCU2_0]    811.861225 s:  correctedEccCount: 0
    [MCU2_0]    811.861260 s:  dataIdErrorCount: 0
    [MCU2_0]    811.861296 s:  invalidAccessCount: 0
    [MCU2_0]    811.861332 s:  invalidSpCount: 0
    [MCU2_0]    811.861373 s:  strmFIFOOvflCount[0]: 0
    [MCU2_0]    811.861403 s:  Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0]    811.861480 s:            0 |               112 |                  110 |               17 |                 0 |
    [MCU2_0]    812.851971 s: CpswCpts_ioctl: Eth RX event not found (msgType=2, seqId=12083, dom=0, portNum=1)
    [MCU2_0]    812.852065 s: EnetPer_ioctl: cpsw9g: Failed to do IOCTL cmd 0x01000306: -14
    [MCU2_0]    844.428886 s: CpswCpts_ioctl: Eth RX event not found (msgType=2, seqId=12083, dom=0, portNum=1)
    p
    
    
    Summary of CPU load,
    ====================
    
    CPU: mpu1_0: TOTAL LOAD =   0.24 % ( HWI =   0. 4 %, SWI =   0. 0 % )
    CPU: mcu2_0: TOTAL LOAD =  54. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU: mcu2_1: TOTAL LOAD =   1. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c6x_1: TOTAL LOAD =   0. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c6x_2: TOTAL LOAD =   1. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    CPU:  c7x_1: TOTAL LOAD =   1. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
    
    
    HWA performance statistics,
    ===========================
    
    HWA:   VISS: LOAD =  33.54 % ( 206 MP/s )
    HWA:   LDC : LOAD =  35.88 % ( 206 MP/s )
    
    
    DDR performance statistics,
    ===========================
    
    DDR: READ  BW: AVG =   2619 MB/s, PEAK =   7429 MB/s
    DDR: WRITE BW: AVG =   1851 MB/s, PEAK =   6000 MB/s
    DDR: TOTAL BW: AVG =   4470 MB/s, PEAK =  13429 MB/s
    
    
    Detailed CPU performance/memory statistics,
    ===========================================
    
    CPU: mcu2_0: TASK:           IPC_RX:   0.25 %
    CPU: mcu2_0: TASK:       REMOTE_SRV:   0. 0 %
    CPU: mcu2_0: TASK:        LOAD_TEST:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CPU_0:  19.87 %
    CPU: mcu2_0: TASK:          TIVX_NF:   0. 0 %
    CPU: mcu2_0: TASK:        TIVX_LDC1:   1. 1 %
    CPU: mcu2_0: TASK:        TIVX_MSC1:   0. 0 %
    CPU: mcu2_0: TASK:        TIVX_MSC2:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_VISS1:   3. 1 %
    CPU: mcu2_0: TASK:       TIVX_CAPT1:   0.95 %
    CPU: mcu2_0: TASK:       TIVX_CAPT2:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_DISP1:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_DISP2:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CSITX:   1.19 %
    CPU: mcu2_0: TASK:       TIVX_CAPT3:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT4:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT5:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT6:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT7:   0. 0 %
    CPU: mcu2_0: TASK:       TIVX_CAPT8:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DISP_M:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DISP_M:   0. 0 %
    CPU: mcu2_0: TASK:      TIVX_DISP_M:   1.44 %
    CPU: mcu2_0: TASK:      TIVX_DISP_M:   0. 0 %
    
    CPU: mcu2_0: HEAP:   DDR_SHARED_MEM: size =   16777216 B, free =   16293120 B ( 97 % unused)
    CPU: mcu2_0: HEAP:           L3_MEM: size =     262144 B, free =     261888 B ( 99 % unused)
    
    CPU: mcu2_1: TASK:           IPC_RX:   0. 0 %
    CPU: mcu2_1: TASK:       REMOTE_SRV:   0. 0 %
    CPU: mcu2_1: TASK:        LOAD_TEST:   0. 0 %
    CPU: mcu2_1: TASK:         TIVX_SDE:   0. 0 %
    CPU: mcu2_1: TASK:         TIVX_DOF:   0. 0 %
    CPU: mcu2_1: TASK:       TIVX_CPU_1:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_RX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU: mcu2_1: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU: mcu2_1: HEAP:   DDR_SHARED_MEM: size =   16777216 B, free =   16773376 B ( 99 % unused)
    CPU: mcu2_1: HEAP:           L3_MEM: size =     262144 B, free =     262144 B (100 % unused)
    
    CPU:  c6x_1: TASK:           IPC_RX:   0. 0 %
    CPU:  c6x_1: TASK:       REMOTE_SRV:   0. 0 %
    CPU:  c6x_1: TASK:        LOAD_TEST:   0. 0 %
    CPU:  c6x_1: TASK:         TIVX_CPU:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_RX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_1: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU:  c6x_1: HEAP:   DDR_SHARED_MEM: size =   16777216 B, free =   16773376 B ( 99 % unused)
    CPU:  c6x_1: HEAP:           L2_MEM: size =     229376 B, free =     229376 B (100 % unused)
    CPU:  c6x_1: HEAP:  DDR_SCRATCH_MEM: size =   50331648 B, free =   50331648 B ( 14 % unused)
    
    CPU:  c6x_2: TASK:           IPC_RX:   0. 0 %
    CPU:  c6x_2: TASK:       REMOTE_SRV:   0. 0 %
    CPU:  c6x_2: TASK:        LOAD_TEST:   0. 0 %
    CPU:  c6x_2: TASK:         TIVX_CPU:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_RX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c6x_2: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU:  c6x_2: HEAP:   DDR_SHARED_MEM: size =   16777216 B, free =   16773376 B ( 99 % unused)
    CPU:  c6x_2: HEAP:           L2_MEM: size =     229376 B, free =     229376 B (100 % unused)
    CPU:  c6x_2: HEAP:  DDR_SCRATCH_MEM: size =   50331648 B, free =   50331648 B ( 14 % unused)
    
    CPU:  c7x_1: TASK:           IPC_RX:   0. 0 %
    CPU:  c7x_1: TASK:       REMOTE_SRV:   0. 0 %
    CPU:  c7x_1: TASK:        LOAD_TEST:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      TIVX_CPU_PR:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_RX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    CPU:  c7x_1: TASK:      IPC_TEST_TX:   0. 0 %
    
    CPU:  c7x_1: HEAP:   DDR_SHARED_MEM: size =  268435456 B, free =  268435200 B (  3 % unused)
    CPU:  c7x_1: HEAP:           L3_MEM: size =    8159232 B, free =    8159232 B (100 % unused)
    CPU:  c7x_1: HEAP:           L2_MEM: size =     458752 B, free =     458752 B (100 % unused)
    CPU:  c7x_1: HEAP:           L1_MEM: size =      16384 B, free =      16384 B (100 % unused)
    CPU:  c7x_1: HEAP:  DDR_SCRATCH_MEM: size =  134217728 B, free =  134217728 B (  4 % unused)
    
    
    GRAPH:         graph_84 (#nodes =   6, #executions =   1027)
     NODE:       CAPTURE1:                  node_97: avg =   6573 usecs, min/max =    135 /  49872 usecs, #executions =       1027
     NODE:     VPAC_VISS1:          VISS_Processing: avg =  13988 usecs, min/max =  13721 /  14621 usecs, #executions =       1027
     NODE:         IPU1-0:               2A_AlgNode: avg =  27979 usecs, min/max =  24190 /  34718 usecs, #executions =       1027
     NODE:          CSITX:                  node_99: avg =  38705 usecs, min/max =  38044 /  42754 usecs, #executions =       1027
     NODE:       DSS_M2M3:                 node_127: avg =  14373 usecs, min/max =  14246 /  14903 usecs, #executions =       1027
     NODE:      VPAC_LDC1:           LDC_Processing: avg =  14608 usecs, min/max =  14263 /  15314 usecs, #executions =       1027
    
     PERF:            TOTAL: avg =  40332 usecs, min/max =  38584 /  43513 usecs, #executions =        924
    
     PERF:            TOTAL:   24.79 FPS
    
    
    
     ==========================
     Demo : Single Camera w/ 2A
     ==========================
    
     p: Print performance statistics
    
     s: Save Sensor RAW, VISS Output and H3A output images to File System
    
     e: Export performance statistics
    
     u: Update DCC from File System
    
    
     x: Exit
    
     Enter Choice:
    Unsupported command
    
    
    
     ==========================
     Demo : Single Camera w/ 2A
     ==========================
    
     p: Print performance statistics
    
     s: Save Sensor RAW, VISS Output and H3A output images to File System
    
     e: Export performance statistics
    
     u: Update DCC from File System
    
    
     x: Exit
    
     Enter Choice: [MCU2_0]    849.128796 s: ==========================================================
    [MCU2_0]    849.128913 s:  Capture Status: Instance|0
    [MCU2_0]    849.128953 s: ==========================================================
    [MCU2_0]    849.129003 s:  overflowCount: 0
    [MCU2_0]    849.129037 s:  spuriousUdmaIntrCount: 0
    [MCU2_0]    849.129074 s:  frontFIFOOvflCount: 0
    [MCU2_0]    849.129110 s:  crcCount: 0
    [MCU2_0]    849.129142 s:  eccCount: 0
    [MCU2_0]    849.129175 s:  correctedEccCount: 0
    [MCU2_0]    849.129210 s:  dataIdErrorCount: 0
    [MCU2_0]    849.129244 s:  invalidAccessCount: 0
    [MCU2_0]    849.129280 s:  invalidSpCount: 0
    [MCU2_0]    849.129320 s:  strmFIFOOvflCount[0]: 0
    [MCU2_0]    849.129352 s:  Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0]    849.129431 s:            0 |              1036 |                 1034 |              211 |                 0 |
    x
    
       850.650085 s: ISS: Stopping sensor [OX08B40_RAW_MAX96717] ... !!!
    [MCU2_0]    850.650336 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_OFF
    [MCU2_0]    850.650425 s: IM_SENSOR_CMD_STREAM_OFF:  channel_mask = 0x1
    [MCU2_0]    850.650489 s: Stop streaming
       850.803876 s: ISS: Stopping sensor [OX08B40_RAW_MAX96717] ... Done !!!
       850.854857 s: ISS: Stopping sensor [OX08B40_RAW_MAX96717] ... !!!
    [MCU2_0]    850.855199 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_OFF
    [MCU2_0]    850.855284 s: IM_SENSOR_CMD_STREAM_OFF:  channel_mask = 0x1
    [MCU2_0]    850.855341 s: Stop streaming
       851.008934 s: ISS: Stopping sensor [OX08B40_RAW_MAX96717] ... Done !!!
    app_run_graph done
    releasing capture node
    releasing csitx node
    releasing node_viss
    releasing node_aewb
    releasing m2m_node
    releasing raw image done
    releasing cap_frame # 0
    releasing cap_frame # 1
    releasing cap_frame # 2
    releasing cap_frame # 3
    releasing cap_frame # 4
    releasing csitx_frames
    releasing h3a_stats_arr
    releasing out_dss_rgb_arr
    releasing y12
    releasing uv12_c1
    releasing s8_b8_c4
    releasing y8_r8_c2
    releasing histogram
    releasing configuration
    releasing m2m_config
    releasing ae_awb_result done
    releasing h3a_aew_af
    releasing aewb_config
    releasing VISS DCC Data Object
    releasing 2A DCC Data Object
    releasing LDC Mesh Image
    releasing LDC Output Image
    releasing LDC Mesh Parameters Object
    releasing LDC Parameters Object
    releasing LDC Region Parameters Object
    releasing LDC Node
    releasing graph
    [MCU2_0]    851.151102 s: ==========================================================
    [MCU2_0]    851.151209 s:  Capture Status: Instance|0
    [MCU2_0]    851.151247 s: ==========================================================
    [MCU2_0]    851.151296 s:  overflowCount: 0
    [MCU2_0]    851.151331 s:  spuriousUdmaIntrCount: 0
    [MCU2_0]    851.151368 s:  frontFIFOOvflCount: 0
    [MCU2_0]    851.151402 s:  crcCount: 0
    [MCU2_0]    851.151433 s:  eccCount: 0
    [MCU2_0]    851.151466 s:  correctedEccCount: 0
    [MCU2_0]    851.151502 s:  dataIdErrorCount: 0
    [MCU2_0]    851.151537 s:  invalidAccessCount: 0
    [MCU2_0]    851.151573 s:  invalidSpCount: 0
    [MCU2_0]    851.151680 s:  strmFIFOOvflCount[0]: 0
    [MCU2_0]    851.151718 s:  Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0]    851.151826 s:            0 |              1068 |                 1068 |              224 |                 0 |
    [MCU2_0]    851.153372 s: ==========================================================
    [MCU2_0]    851.153479 s:  Display M2M Status: Instance|0
    [MCU2_0]    851.153517 s: ==========================================================
    [MCU2_0]    851.153567 s:  Queue Count: 1066
    [MCU2_0]    851.153603 s:  De-queue Count: 1066
    [MCU2_0]    851.153640 s:  Write-back Frames Count: 1066
    [MCU2_0]    851.153677 s:  Underflow Count: 0
    [MCU2_0]    851.154172 s: ==========================================================
    [MCU2_0]    851.154266 s:  Csitx Status: Instance|0
    [MCU2_0]    851.154301 s: ==========================================================
    [MCU2_0]    851.154350 s:  FIFO Overflow Count: 0
    [MCU2_0]    851.154382 s:   Channel Num | Frame Queue Count | Frame De-queue Count | Frame Repeat Count |
    [MCU2_0]    851.154446 s:               0|              1066|           1066|           0|
    releasing graph done
    app_delete_graph done
    tivxHwaUnLoadKernels done
    tivxImagingUnLoadKernels done
       851.159843 s:  VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xf172d8 of type 00000813 at external count 1, internal count 0, releasing it
       851.159855 s:  VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_109) now as a part of garbage collection
       851.159898 s:  VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xf17478 of type 00000813 at external count 1, internal count 0, releasing it
       851.159912 s:  VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_111) now as a part of garbage collection
       851.159942 s:  VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xf17618 of type 00000813 at external count 1, internal count 0, releasing it
       851.159953 s:  VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_115) now as a part of garbage collection
       851.159983 s:  VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xf177b8 of type 00000813 at external count 1, internal count 0, releasing it
       851.159994 s:  VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_119) now as a part of garbage collection
       851.160036 s:  VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xeb0318 of type 0000080f at external count 1, internal count 0, releasing it
       851.160047 s:  VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=image_126) now as a part of garbage collection
    vxReleaseContext done
    app_deinit done
       851.160118 s: ISS: De-initializing sensor [OX08B40_RAW_MAX96717] ... !!!
       851.160467 s: ISS: De-initializing sensor [OX08B40_RAW_MAX96717] ... Done !!!
       851.160482 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:100] De-Initialization Done for HOST !!!
       851.164853 s:  VX_ZONE_INIT:[tivxDeInitLocal:193] De-Initialization Done !!!
    APP: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... Done !!!
    IPC: Deinit ... !!!
    IPC: DeInit ... Done !!!
    MEM: Deinit ... !!!
    MEM: Alloc's: 34 alloc's of 206247268 bytes
    MEM: Free's : 34 free's  of 206247268 bytes
    MEM: Open's : 0 allocs  of 0 bytes
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    
    这是运行时log

  • 收到,已转给产品工程师。一旦有回复,我会告知您。

  • app_single_cam_capture_csitx.vcd.htmlapp_single_cam_capture_csitx.html

    这是去掉ldc节点和m2m节点时,csitx稍微超过33.3ms,还是有点丢帧,更改CSITX_LANE_SPEED_MBPS为更大的值也不能提高csitx发送用时,但是减小CSITX_LANE_SPEED_MBPS的值得话,会增大csitx发送用时。

  • 是的,fps 下降似乎是因为 CSITX 节点。

     NODE:          CSITX:                  node_99: avg =  38977 usecs, min/max =  38176 /  42754 usecs, #executions =        103

     NODE:          CSITX:                  node_99: avg =  38705 usecs, min/max =  38044 /  42754 usecs, #executions =       1027

    计算所需的通道速度,我会在 4.5Gbps 左右,所以每个通道设置 1Gbps 是不够的,你可以尝试设置 1.5Gbps 的通道速度吗?

  • 我尝试过不同的通道速度设置,CSITX_LANE_SPEED_MBPS的值设置为900是分界点,高于900并不能提升csitx node的发送速度,但是低于900,比如800,700等,则会明显降低csitxnode的发送速度,会导致每帧的发送用时加长。我之前也有测试过2200的速度,和设置1000是一样的,刚刚也测试了设置1.5G也就是1500,结果是一样的。

  • 请问您使用的是 SDK8.0 或更高版本?因为在 SDK7.3 上,只支持很少的Lane速度。

  • 我用的8.1版本的sdk,在那里能够确认当前版本支持的速度?

  • SDK8.1 确实支持各种 Lane速度。对于您的情况,您能否尝试 1.5Gbps  Lane速度,看看它是否有助于提高 CSITX 性能?

  • 之前提出1.5Gbps Lane速度的时候,我就试过啊,我试过各种速度,但是仿佛900M是上限,超过900M之后csitx性能不再随lane速度提升而提升

  • 系统中运行的所有其他masters 是什么?如果 DDR BW 已经达到峰值,那么它将无法以更快的速度传输。您能否尝试仅运行 1.5Gbps 的 CSITX 并查看它是否有效?

  • app_only_csitx.7z.html系统中没有运行其它任何程序,只有这一个流水线在运行,这个流水线节点信息2楼我有提交。附件html是我测试只有csitx的情况下,band lane speed的值对csitx发送的影响,看起来速度上限被设置在了1000M一样,再提高并不能提高csitx的发送速度。其中500Mbps时每帧55ms左右,1000Mbps,1.5Gbps,2.4Gbps时,每帧大约29ms。基本相同

  • 看来您使用 CSIRX + VISS + LDC + DSS M2M + CSITX 以获得高分辨率。此外,节点是复制的,这意味着正在运行多个通道,看起来像 4 个通道。您可以做一些 DDR BW 的计算吗?我怀疑您可能已达到支持的最大 BW 的边缘。

  • DDR performance statistics,
    ===========================

    DDR: READ BW: AVG = 2619 MB/s, PEAK = 7429 MB/s
    DDR: WRITE BW: AVG = 1851 MB/s, PEAK = 6000 MB/s
    DDR: TOTAL BW: AVG = 4470 MB/s, PEAK = 13429 MB/s

  • 您能否尝试删除其中一个节点,比如说 LDC,看看性能是否有所提高?我怀疑由于高峰值BW,它会延迟帧