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_YUYVVX_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");}
Qiang:
,
Qiang:
app_single_came_capture_csitx.html
,
Annie Liu:
感谢您对TI产品的关注!由于问题比较复杂,我需要询问更了解这款芯片的TI资深工程师,再为您解答,一旦得到回复会立即回复给您。您也可以查看下帖了解进展:
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1127706/tda4vm-csitx-node-unable-to-meet-30-fps
,
Qiang:
谢谢
,
Annie Liu:
请问您能分享完整的performance log吗?可能是 LDC 需要更多时间,但让我们首先分析Log。
,
Qiang:
是生成的vcd文件么?不能直接上传,我把后缀改成html了,轻下载后去掉app_single_came_capture_csitx – 副本.vcd.html
,
Qiang:
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:Enabled804.586895 s:VX_ZONE_ERROR:Enabled804.586910 s:VX_ZONE_WARNING:Enabled804.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 8NETWORK: Opened at IP Addr = 192.168.11.223, socket port=5000!!! tivxImagingLoadKernels done804.591093 s: ISS: Enumerating sensors ... !!!804.591576 s: ISS: Enumerating sensors ... found 0 : OX08B40_RAW_MAX96717804.591592 s: ISS: Enumerating sensors ... found 1 : IMX390_MAX9296804.591613 s: ISS: Enumerating sensors ... found 2 : IMX390_MAX9296_LOOPBACK804.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 aLDC Selection Yes(1)/No(0) LDC Selection Yes(1)/No(0) 1 Sensor selected : OX08B40_RAW_MAX96717 app_init done Querying OX08B40_RAW_MAX96717805.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 = 0x340805.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 = 0x1805.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 statisticss: Save Sensor RAW, VISS Output and H3A output images to File Systeme: Export performance statisticsu: Update DCC from File Systemx: ExitEnter Choice: Unsupported command==========================Demo : Single Camera w/ 2A==========================p: Print performance statisticss: Save Sensor RAW, VISS Output and H3A output images to File Systeme: Export performance statisticsu: Update DCC from File Systemx: ExitEnter 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 streaming807.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 pSummary 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: READBW: 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/sDetailed 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 =103NODE:VPAC_VISS1:VISS_Processing: avg =13983 usecs, min/max =13721 /14092 usecs, #executions =103NODE:IPU1-0:2A_AlgNode: avg =27446 usecs, min/max =24190 /32801 usecs, #executions =103NODE:CSITX:node_99: avg =38977 usecs, min/max =38176 /42754 usecs, #executions =103NODE:DSS_M2M3:node_127: avg =14374 usecs, min/max =14261 /14647 usecs, #executions =103NODE:VPAC_LDC1:LDC_Processing: avg =14594 usecs, min/max =14290 /15314 usecs, #executions =103PERF:TOTAL: avg =39237 usecs, min/max =32956 /64635 usecs, #executions =107PERF:TOTAL:25.48 FPS==========================Demo : Single Camera w/ 2A==========================p: Print performance statisticss: Save Sensor RAW, VISS Output and H3A output images to File Systeme: Export performance statisticsu: Update DCC from File Systemx: ExitEnter Choice: Unsupported command==========================Demo : Single Camera w/ 2A==========================p: Print performance statisticss: Save Sensor RAW, VISS Output and H3A output images to File Systeme: Export performance statisticsu: Update DCC from File Systemx: ExitEnter 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) pSummary 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: READBW: 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/sDetailed 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 =1027NODE:VPAC_VISS1:VISS_Processing: avg =13988 usecs, min/max =13721 /14621 usecs, #executions =1027NODE:IPU1-0:2A_AlgNode: avg =27979 usecs, min/max =24190 /34718 usecs, #executions =1027NODE:CSITX:node_99: avg =38705 usecs, min/max =38044 /42754 usecs, #executions =1027NODE:DSS_M2M3:node_127: avg =14373 usecs, min/max =14246 /14903 usecs, #executions =1027NODE:VPAC_LDC1:LDC_Processing: avg =14608 usecs, min/max =14263 /15314 usecs, #executions =1027PERF:TOTAL: avg =40332 usecs, min/max =38584 /43513 usecs, #executions =924PERF:TOTAL:24.79 FPS==========================Demo : Single Camera w/ 2A==========================p: Print performance statisticss: Save Sensor RAW, VISS Output and H3A output images to File Systeme: Export performance statisticsu: Update DCC from File Systemx: ExitEnter Choice: Unsupported command==========================Demo : Single Camera w/ 2A==========================p: Print performance statisticss: Save Sensor RAW, VISS Output and H3A output images to File Systeme: Export performance statisticsu: Update DCC from File Systemx: ExitEnter 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 | x850.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 streaming850.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 streaming851.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 done851.159843 s:VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xf172d8 of type 00000813 at external count 1, internal count 0, releasing it851.159855 s:VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_109) now as a part of garbage collection851.159898 s:VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xf17478 of type 00000813 at external count 1, internal count 0, releasing it851.159912 s:VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_111) now as a part of garbage collection851.159942 s:VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xf17618 of type 00000813 at external count 1, internal count 0, releasing it851.159953 s:VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_115) now as a part of garbage collection851.159983 s:VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xf177b8 of type 00000813 at external count 1, internal count 0, releasing it851.159994 s:VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_119) now as a part of garbage collection851.160036 s:VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xeb0318 of type 0000080f at external count 1, internal count 0, releasing it851.160047 s:VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=image_126) now as a part of garbage collection vxReleaseContext done app_deinit done851.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'sof 206247268 bytes MEM: Open's : 0 allocsof 0 bytes MEM: Deinit ... Done !!! APP: Deinit ... Done !!!这是运行时log
,
Annie Liu:
收到,已转给产品工程师。一旦有回复,我会告知您。
,
Qiang:
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发送用时。
,
Annie Liu:
是的,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 的通道速度吗?
,
Qiang:
我尝试过不同的通道速度设置,CSITX_LANE_SPEED_MBPS的值设置为900是分界点,高于900并不能提升csitx node的发送速度,但是低于900,比如800,700等,则会明显降低csitxnode的发送速度,会导致每帧的发送用时加长。我之前也有测试过2200的速度,和设置1000是一样的,刚刚也测试了设置1.5G也就是1500,结果是一样的。
,
Annie Liu:
请问您使用的是 SDK8.0 或更高版本?因为在 SDK7.3 上,只支持很少的Lane速度。
,
Qiang:
我用的8.1版本的sdk,在那里能够确认当前版本支持的速度?
,
Annie Liu:
SDK8.1 确实支持各种 Lane速度。对于您的情况,您能否尝试 1.5Gbps Lane速度,看看它是否有助于提高 CSITX 性能?
,
Qiang:
之前提出1.5Gbps Lane速度的时候,我就试过啊,我试过各种速度,但是仿佛900M是上限,超过900M之后csitx性能不再随lane速度提升而提升
,
Annie Liu:
系统中运行的所有其他masters 是什么?如果 DDR BW 已经达到峰值,那么它将无法以更快的速度传输。您能否尝试仅运行 1.5Gbps 的 CSITX 并查看它是否有效?
,
Qiang:
app_only_csitx.7z.html系统中没有运行其它任何程序,只有这一个流水线在运行,这个流水线节点信息2楼我有提交。附件html是我测试只有csitx的情况下,band lane speed的值对csitx发送的影响,看起来速度上限被设置在了1000M一样,再提高并不能提高csitx的发送速度。其中500Mbps时每帧55ms左右,1000Mbps,1.5Gbps,2.4Gbps时,每帧大约29ms。基本相同
,
Annie Liu:
看来您使用 CSIRX + VISS + LDC + DSS M2M + CSITX 以获得高分辨率。此外,节点是复制的,这意味着正在运行多个通道,看起来像 4 个通道。您可以做一些 DDR BW 的计算吗?我怀疑您可能已达到支持的最大 BW 的边缘。
,
Qiang:
DDR performance statistics,===========================
DDR: READ BW: AVG = 2619 MB/s, PEAK = 7429 MB/sDDR: WRITE BW: AVG = 1851 MB/s, PEAK = 6000 MB/sDDR: TOTAL BW: AVG = 4470 MB/s, PEAK = 13429 MB/s
,
Annie Liu:
您能否尝试删除其中一个节点,比如说 LDC,看看性能是否有所提高?我怀疑由于高峰值BW,它会延迟帧