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: CSI1 DPHY

Part Number: TDA4VM

Tool/software:

Hello TI experts,

SDK8.6,

As shown in the block diagram design, but we currently only have one camera connected at the word connect in the picture.

Execute ./run_app_single_cam.sh. The log is as follows, no camera data is captured:







root@j7-evm:/opt/vision_apps#
root@j7-evm:/opt/vision_apps#
root@j7-evm:/opt/vision_apps#
root@j7-evm:/opt/vision_apps#
root@j7-evm:/opt/vision_apps#
root@j7-evm:/opt/vision_apps#
root@j7-evm:/opt/vision_apps# ./run_app_single_cam.sh
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 !!!
    88.481423 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
    88.490000 s:  VX_ZONE_INIT:Enabled
    88.490034 s:  VX_ZONE_ERROR:Enabled
    88.490040 s:  VX_ZONE_WARNING:Enabled
    88.490985 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
    88.492203 s:  VX_ZONE_INIT:[tivxHostInitLocal:93] Initialization Done for HOST !!!
func:app_single_cam_main,line:2064,
Invalid token [
]
sensor_selection = [0]
Invalid token [
]
ldc_enable = [0]
Invalid token [
]
num_frames_to_run = [1000000000]
Invalid token [
]
is_interactive = [1]
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 = 20.20.1.3, socket port=5000!!!
tivxImagingLoadKernels done
    88.516275 s: ISS: Enumerating sensors ... !!!
    88.516685 s: ISS: Enumerating sensors ... found 0 : IMX390-UB953_D3
    88.516693 s: ISS: Enumerating sensors ... found 1 : AR0233-UB953_MARS
    88.516699 s: ISS: Enumerating sensors ... found 2 : AR0820-UB953_LI
    88.516704 s: ISS: Enumerating sensors ... found 3 : UB9xxx_RAW12_TESTPATTERN
    88.516709 s: ISS: Enumerating sensors ... found 4 : UB96x_UYVY_TESTPATTERN
    88.516714 s: ISS: Enumerating sensors ... found 5 : GW_AR0233_UYVY
Select camera port index 0-11 : [MCU2_0]     88.516483 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_ENUMERATE

Invalid entry
. Please choose between 0 and 11
Select camera port index 0-11 :
Invalid entry
. Please choose between 0 and 11
Select camera port index 0-11 : 4
6 registered sensor drivers
a : IMX390-UB953_D3
b : AR0233-UB953_MARS
c : AR0820-UB953_LI
d : UB9xxx_RAW12_TESTPATTERN
e : UB96x_UYVY_TESTPATTERN
f : GW_AR0233_UYVY
Select a sensor above or press '0' to autodetect the sensor : Invalid selection
. Try again
6 registered sensor drivers
a : IMX390-UB953_D3
b : AR0233-UB953_MARS
c : AR0820-UB953_LI
d : UB9xxx_RAW12_TESTPATTERN
e : UB96x_UYVY_TESTPATTERN
f : GW_AR0233_UYVY
Select a sensor above or press '0' to autodetect the sensor : f
Sensor selected : GW_AR0233_UYVY
LDC Selection Yes(1)/No(0) : LDC Selection Yes(1)/No(0) : 0
app_init done
Querying GW_AR0233_UYVY
   101.376698 s: ISS: Querying sensor [GW_AR0233_UYVY] ... !!!
   101.377123 s: ISS: Querying sensor [GW_AR0233_UYVY] ... Done !!!
YUV Input selected. VISS and AEWB nodes will be bypassed.
Sensor DCC is enabled
Sensor width = 1920
Sensor height = 1536
Sensor DCC ID = 5233
Sensor Supported Features = 0x100
Sensor Enabled Features = 0x100
sensor_name:GW_AR0233_UYVY,channel_mask:16,line:476
   101.377158 s: ISS: Initializing sensor [GW_AR0233_UYVY], doing IM_SENSOR_CMD_PWRON ... !!!
   101.377536 s: ISS: Initializing sensor [GW_AR0233_UYVY], doing IM_SENSOR_CMD_CONFIG ... !!!
   101.378127 s: ISS: Initializing sensor [GW_AR0233_UYVY] ... Done !!!
Creating graph
Initializing params for capture node
capture_config = 0x0xffffbf278968
Creating capture node
obj->capture_node = 0x0xffffbf1ea6e8
[MCU2_0]    101.376887 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_QUERY
[MCU2_0]    101.376943 s: Received Query for GW_AR0233_UYVY
[MCU2_0]    101.377320 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_PWRON
[MCU2_0]    101.377367 s: IM_SENSOR_CMD_PWRON : channel_mask = 0x10
[MCU2_0]    101.377701 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CONFIG
[MCU2_0]    101.377748 s: Application requested features = 0x100
[MCU2_0]
[MCU2_0]    101.377788 s: Disabling broadcast mode
[MCU2_0]    101.377817 s: IM_SENSOR_CMD_CONFIG channel_mask = 10
[MCU2_0]    101.377852 s: Configuring camera # chId 4 channel_mask:1
[MCU2_0]    101.377921 s: IssSensor_Config Error : Incorrect channel ID 4
[MCU2_0]    101.377959 s: IM_SENSOR_CMD_CONFIG returning status = 0
Display Set Target done
vxSetGraphScheduleConfig done
Scaler is disabled
app_create_graph exiting
app_create_graph done
   101.401008 s: ISS: Starting sensor [GW_AR0233_UYVY] ... !!!


 ==========================
 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:    101.401544 s: ISS: Starting sensor [GW_AR0233_UYVY] ... !!!
[MCU2_0]    101.401280 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_ON
[MCU2_0]    101.401365 s: IM_SENSOR_CMD_STREAM_ON:  channel_mask = 0x10
[MCU2_0]    104.401709 s:  REMOTE_SERVICE_SENSOR: Received command 00001002 to configure 0 sensor(s) !!!
[MCU2_0]    104.401786 s: remote service camera sensor begin to config!!!
[MCU2_0]    104.401884 s: SCICLIENT: Sciclient_pmSetModuleState module=192 state=2
[MCU2_0]    104.402149 s: SCICLIENT: Sciclient_pmSetModuleState success

[MCU2_0]    106.030123 s:  REMOTE_SERVICE_SENSOR: Sensor(s) configuration done !!!
get_dcc_dir_size : Could not open directory or directory is empty /opt/vision_apps/dcc/GW_AR0233_UYVY/wdr
[MCU2_0]    111.030741 s:  VX_ZONE_WARNING:[tivxCaptureSetTimeout:796]  CAPTURE: WARNING: Error frame not provided using tivxCaptureRegisterErrorFrame, defaulting to waiting forever !!!


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: k

[MCU2_0]    134.004720 s:  REMOTE_SERVICE_SENSOR: Received command 00001004 to configure 0 sensor(s) !!!
[MCU2_0]    134.004830 s: CSI_RX_IF_VBUS2APB_DPHY_STATUS=0x04504048:0x00333307,line:658
[MCU2_0]    134.304063 s: CSI_RX_IF1_RX_SHIM_VBUSP_MMR_CSI2RXIF=0x04510020:0x8c00001e,line:661
[MCU2_0]    134.604058 s: CSI_RX_IF_VBUS2APB_INFO_IRQS=0x04514020:0x00000002,line:664
[MCU2_0]    134.904056 s: CSI_RX_IF_VBUS2APB_ERROR_IRQS=0x04514028:0x00000000,line:667
[MCU2_0]    135.204039 s: ret:0
[MCU2_0]    135.204067 s:  REMOTE_SERVICE_SENSOR: Sensor(s) configuration 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:
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:

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: p


Summary of CPU load,
====================

CPU: mpu1_0: TOTAL LOAD =   0.17 % ( HWI =   0. 0 %, SWI =   0. 0 % )
CPU: mcu2_0: TOTAL LOAD =  21. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )
CPU: mcu2_1: TOTAL LOAD =  21. 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 =   1. 0 % ( HWI =   0. 0 %, SWI =   0. 0 % )


HWA performance statistics,
===========================



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

DDR: READ  BW: AVG =    226 MB/s, PEAK =   5913 MB/s
DDR: WRITE BW: AVG =     18 MB/s, PEAK =   1078 MB/s
DDR: TOTAL BW: AVG =    244 MB/s, PEAK =   6991 MB/s


Detailed CPU performance/memory statistics,
===========================================

DDR_SHARED_MEM: Alloc's: 6 alloc's of 23593220 bytes
DDR_SHARED_MEM: Free's : 0 free's  of 0 bytes
DDR_SHARED_MEM: Open's : 6 allocs  of 23593220 bytes
DDR_SHARED_MEM: Total size: 536870912 bytes

CPU: mcu2_0: TASK:           IPC_RX:   0. 0 %
CPU: mcu2_0: TASK:       REMOTE_SRV:   0. 1 %
CPU: mcu2_0: TASK:        LOAD_TEST:   0. 0 %
CPU: mcu2_0: TASK:       TIVX_CPU_0:   0. 0 %
CPU: mcu2_0: TASK:        TIVX_V1NF:   0. 0 %
CPU: mcu2_0: TASK:      TIVX_V1LDC1:   0. 0 %
CPU: mcu2_0: TASK:       TIVX_V1SC1:   0. 0 %
CPU: mcu2_0: TASK:      TIVX_V1MSC2:   0. 0 %
CPU: mcu2_0: TASK:       TIVXVVISS1:   0. 0 %
CPU: mcu2_0: TASK:       TIVX_CAPT1:   0. 0 %
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. 0 %
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_DPM2M1:   0. 0 %
CPU: mcu2_0: TASK:      TIVX_DPM2M2:   0. 0 %
CPU: mcu2_0: TASK:      TIVX_DPM2M3:   0. 0 %
CPU: mcu2_0: TASK:      TIVX_DPM2M4:   0. 0 %

CPU: mcu2_0: HEAP:    DDR_LOCAL_MEM: size =   16777216 B, free =   16688896 B ( 99 % 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_CPU_1:   0. 0 %
CPU: mcu2_1: TASK:         TIVX_SDE:   0. 0 %
CPU: mcu2_1: TASK:         TIVX_DOF:   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: TASK:      IPC_TEST_TX:   0. 0 %

CPU: mcu2_1: HEAP:    DDR_LOCAL_MEM: size =   16777216 B, free =   16744192 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: TASK:      IPC_TEST_TX:   0. 0 %

CPU:  c6x_1: HEAP:    DDR_LOCAL_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 (100 % 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: TASK:      IPC_TEST_TX:   0. 0 %

CPU:  c6x_2: HEAP:    DDR_LOCAL_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 (100 % 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_C71_P1:   0. 0 %
CPU:  c7x_1: TASK:      TIVX_C71_P2:   0. 0 %
CPU:  c7x_1: TASK:      TIVX_C71_P3:   0. 0 %
CPU:  c7x_1: TASK:      TIVX_C71_P4:   0. 0 %
CPU:  c7x_1: TASK:      TIVX_C71_P5:   0. 0 %
CPU:  c7x_1: TASK:      TIVX_C71_P6:   0. 0 %
CPU:  c7x_1: TASK:      TIVX_C71_P7:   0. 0 %
CPU:  c7x_1: TASK:      TIVX_C71_P8:   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: HEAP:    DDR_LOCAL_MEM: size =  268435456 B, free =  268435200 B ( 99 % 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 =  385875968 B, free =  385875968 B (100 % unused)


GRAPH:         graph_85 (#nodes =   2, #executions =      0)
 NODE:       CAPTURE2:                  node_96: avg =      0 usecs, min/max = 18446744073709551 /      0 usecs, #executions =          0
 NODE:       DISPLAY1:                  node_97: avg =      0 usecs, min/max = 18446744073709551 /      0 usecs, #executions =          0

 PERF:            TOTAL: avg =      0 usecs, min/max = 4294967295 /      0 usecs, #executions =          0

 PERF:            TOTAL:    0. 0 FPS

But the deserializer indicates that data has been obtained (Video pipeline locked OK and Sufficient throughput detected OK).

The CSIrx register has been read During single app execution:

Enter Choice:
[MCU2_0] 91.142662 s: REMOTE_SERVICE_SENSOR: Received command 00001004 to configure 0 sensor(s) !!!
[MCU2_0] 91.142757 s: CSI_RX_IF_VBUS2APB_DPHY_STATUS=0x04504048:0x00333307,line:658
[MCU2_0] 91.442258 s: CSI_RX_IF1_RX_SHIM_VBUSP_MMR_CSI2RXIF=0x04510020:0x8c00001e,line:661
[MCU2_0] 91.742250 s: CSI_RX_IF_VBUS2APB_INFO_IRQS=0x04514020:0x00000002,line:664
[MCU2_0] 92.042253 s: CSI_RX_IF_VBUS2APB_ERROR_IRQS=0x04514028:0x00000000,line:667
[MCU2_0] 92.342233 s: ret:0
[MCU2_0] 92.342260 s: REMOTE_SERVICE_SENSOR: Sensor(s) configuration done !!!

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] 96.342653 s: REMOTE_SERVICE_SENSOR: Received command 00001004 to configure 0 sensor(s) !!!
[MCU2_0] 96.342749 s: CSI_RX_IF_VBUS2APB_DPHY_STATUS=0x04504048:0x00333307,line:658
[MCU2_0] 96.642253 s: CSI_RX_IF1_RX_SHIM_VBUSP_MMR_CSI2RXIF=0x04510020:0x8c00001e,line:661
[MCU2_0] 96.942250 s: CSI_RX_IF_VBUS2APB_INFO_IRQS=0x04514020:0x00000002,line:664
[MCU2_0] 97.242250 s: CSI_RX_IF_VBUS2APB_ERROR_IRQS=0x04514028:0x00000000,line:667
[MCU2_0] 97.542233 s: ret:0
[MCU2_0] 97.542263 s: REMOTE_SERVICE_SENSOR: Sensor(s) configuration done !!!

q:

Is the DPHY clock mode in CSIRX a continuous output clock mode?

In order to locate and solve this problem, what do we do now? We are anxiously looking forward to your help.

  • hi,

    Lock typically just says that serializer is detected. So can you please first check if serializer is transmitting the data and it is being detected by the deserialzier? 

    From the CSIRX perspective, 

    - please check if number of lanes and lane polarity are matching with the HW connection.

    - make sure to set the same lane speed as it is being output from the deserializer.

    - virtual channel id and data type are also matching with the deserializer output. 

    - and finally make sure to enable deserialzier only in the streamon callback and not before this callback. 

    Regards,

    Brijesh