File size: 11,244 Bytes
5aefcf4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
Ticket Name: TDA4VMXEVM: app_single_cam issue: only 1st raw capture is working

Query Text:
Part Number: TDA4VMXEVM Hi, I'm evaluating On Semi AR0323 sensor in TDA4EVM + custom AR0323 sensor board with PSDKRA v0.91. The camera app is app_single_cam, and iss_sensor_ar0233.c is modified for AR0323 (configuration and serdes) power_on, reset, i2c, streaming on are ok, sensor mipi signal is ok. But only 1st raw capture is ok by save_debug_images() in app_single_cam. There're no further operations and display output. Please refer to the following log. tivx_set_debug_zone(VX_ZONE_API/ VX_ZONE_INFO) was added to get tiovx log Regards, Kim HJ root@j7-evm:~/nfs/opt/vision_apps# ./vx_app_single_cam.out
APP: Init ... !!!
APP_LOG: Mapping 0xb8000000 ...
APP_LOG: Mapped 0xb8000000 -> 0xffff9d780000 of size 262144 bytes
MEM: Init ... !!!
MEM: Init ... Done !!!
IPC: Init ... !!!
APP_LOG: Mapping 0xb8040000 ...
APP_LOG: Mapped 0xb8040000 -> 0xffff777c0000 of size 33292288 bytes
APP_LOG: Mapping 0x30e00000 ...
APP_LOG: Mapped 0x30e00000 -> 0xffff9dc90000 of size 3072 bytes
IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
APP: Init ... Done !!!
     0.000144 s:  VX_ZONE_INIT:Enabled
     0.000153 s:  VX_ZONE_ERROR:Enabled
     0.000157 s:  VX_ZONE_WARNING:Enabled
     0.000161 s:  VX_ZONE_API:Enabled
     0.000165 s:  VX_ZONE_INFO:Enabled
     0.000206 s:  VX_ZONE_INFO:### kimhj source_platform_psdk_j7_common_tivx_init.c
     0.000485 s:  VX_ZONE_INIT:[tivxInit:71] Initialization Done !!!
     0.000669 s:  VX_ZONE_INIT:[tivxHostInit:35] Initialization Done for HOST !!!
     0.001239 s: ISS: Enumerating sensors ... !!!
     0.004304 s: ISS: Enumerating sensors ... found 0 : IMX390-UB953_D3
     0.004327 s: ISS: Enumerating sensors ... found 1 : AR0233-UB953_MARS
     0.004332 s: ISS: Enumerating sensors ... found 2 : AR0820-UB953_LI
[MCU2_1]   1331.204468 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CREATE
[MCU2_1]   1331.204549 s: Sensor at index 0 = IMX390-UB953_D3
[MCU2_1]   1331.204584 s: Sensor at index 1 = AR0233-UB953_MARS
[MCU2_1]   1331.204611 s: Sensor at index 2 = AR0820-UB953_LI

3 sensor(s) found
Supported sensor list:
a : IMX390-UB953_D3
b : AR0233-UB953_MARS
c : AR0820-UB953_LI
Select a sensor
b

Sensor selected : AR0233-UB953_MARS
LDC Selection Yes(1)/No(0)
LDC Selection Yes(1)/No(0)
0
Querying AR0233-UB953_MARS
    28.155107 s: ISS: Querying sensor [AR0233-UB953_MARS] ... !!!
    28.155393 s: ISS: Querying sensor [AR0233-UB953_MARS] ... Done !!!
    28.155399 s: ISS: Initializing sensor [AR0233-UB953_MARS], doing IM_SENSOR_CMD_PWRON ... !!!
[MCU2_1]   1359.357684 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_QUERY
[MCU2_1]   1359.357737 s: Received Query for AR0233-UB953_MARS
[MCU2_1]   1359.357790 s: Sensor name is IMX390-UB953_D3
[MCU2_1]   1359.357836 s: Sensor name is AR0233-UB953_MARS
[MCU2_1]   1359.357951 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_PWRON
    28.170422 s: ISS: Initializing sensor [AR0233-UB953_MARS], doing IM_SENSOR_CMD_CONFIG ... !!!
[MCU2_1]   1359.372979 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CONFIG
[MCU2_1]   1359.373033 s: Application requested features = 0x158
[MCU2_1]
[MCU2_1]   1359.373069 s: UB960 config start
[MCU2_1]   1359.612927 s:  End of UB960 config
[MCU2_1]   1359.612969 s: Configuring camera # 0
[MCU2_1]   1359.712922 s:  Configuring AR0233 imager .. Please wait till it finishes
[MCU2_1]   1360.780909 s:  AR0233 config done
[MCU2_1]   1360.781294 s: AR0323_Probe SUCCESS : Read expected value 0xd56 at chip ID register 0x3000
[MCU2_1]   1360.781338 s: IM_SENSOR_CMD_CONFIG returning status = 0
    29.578991 s: ISS: Initializing sensor [AR0233-UB953_MARS] ... Done !!!

Enabling LDC
    32.595305 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:547] kernel init for node 0, kernel com.ti.capture ...
    32.836263 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:559] kernel init for node 0, kernel com.ti.capture ... done !!!
    32.836270 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:547] kernel init for node 1, kernel com.ti.hwa.vpac_viss ...
    33.065911 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:559] kernel init for node 1, kernel com.ti.hwa.vpac_viss ... done !!!
    33.065918 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:547] kernel init for node 2, kernel com.ti.imaging.aewb ...
    33.067915 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:559] kernel init for node 2, kernel com.ti.imaging.aewb ... done !!!
    33.067921 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:547] kernel init for node 3, kernel com.ti.hwa.vpac_ldc ...
[MCU2_1]   1364.268670 s:  VX_ZONE_INFO:[tivxAewbCreate:594] tivxAewbCreate : DCC ID = 233
[MCU2_1]   1364.268726 s:  VX_ZONE_INFO:[tivxAewbCreate:595] tivxAewbCreate : Image Format = 0
[MCU2_1]   1364.268765 s:  VX_ZONE_INFO:[tivxAewbCreate:596] tivxAewbCreate : Phase = 3
[MCU2_1]   1364.268800 s:  VX_ZONE_INFO:[tivxAewbCreate:597] tivxAewbCreate : awb_mode = 0
[MCU2_1]   1364.268834 s:  VX_ZONE_INFO:[tivxAewbCreate:598] tivxAewbCreate : awb_mode = 0
[MCU2_1]   1364.268870 s:  VX_ZONE_INFO:[tivxAewbCreate:599] tivxAewbCreate : awb_num_skip_frames = 0
[MCU2_1]   1364.268938 s:  VX_ZONE_INFO:[tivxAewbCreate:600] tivxAewbCreate : ae_num_skip_frames = 0
[MCU2_1]   1364.268981 s:  VX_ZONE_INFO:[tivxAewbCreate:607] tivxAewbCreate : DCC Numbytes = 26307
[MCU2_1]   1364.269043 s:  VX_ZONE_INFO:[tivxAewbCreate:618] Before dcc_update : awb_calb_data.radius = 0xf8f8fcf8
[MCU2_1]   1364.269369 s:  VX_ZONE_INFO:[tivxAewbCreate:623] After dcc_update : awb_calb_data.radius = 0x32
    33.169627 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:559] kernel init for node 3, kernel com.ti.hwa.vpac_ldc ... done !!!
    33.169634 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:547] kernel init for node 4, kernel com.ti.hwa.display ...
    33.170265 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:559] kernel init for node 4, kernel com.ti.hwa.display ... done !!!

    33.238250 s:  VX_ZONE_INFO:[tivxDataRefQueueEnqueueReadyRef:88] Q (queue=67, ref=2)
    33.238263 s:  VX_ZONE_INFO:[tivxDataRefQueueEnqueueReadyRef:88] Q (queue=75, ref=18)
    33.238270 s:  VX_ZONE_INFO:[tivxDataRefQueueEnqueueReadyRef:88] Q (queue=83, ref=19)
    33.238277 s:  VX_ZONE_INFO:[tivxDataRefQueueEnqueueReadyRef:88] Q (queue=67, ref=4)
    33.238283 s:  VX_ZONE_INFO:[tivxDataRefQueueEnqueueReadyRef:88] Q (queue=75, ref=19)
    33.238289 s:  VX_ZONE_INFO:[tivxDataRefQueueEnqueueReadyRef:88] Q (queue=83, ref=20)
    33.238294 s: ISS: Starting sensor [AR0233-UB953_MARS] ... !!!
[MCU2_1]   1364.440750 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_ON
[MCU2_1]   1364.440825 s: IM_SENSOR_CMD_STREAM_ON:  channel_mask = 0x1
[MCU2_1]   1364.440857 s: Starting camera # 0
[MCU2_1]   1364.440919 s: Entering IssSensor_Start
    33.248648 s: ISS: Starting sensor [AR0233-UB953_MARS] ... !!!
    33.248657 s:  VX_ZONE_INFO:[tivxDataRefQueueEnqueueReadyRef:88] Q (queue=67, ref=6)
    33.248667 s:  VX_ZONE_INFO:[ownGraphScheduleGraph:680] Scheduling Graph (graph=102, pipe=0)
    33.248673 s:  VX_ZONE_INFO:[ownNodeKernelSchedule:544] Scheduling Node (node=9, pipe=0)
    33.248685 s:  VX_ZONE_INFO:[tivxDataRefQueueEnqueueReadyRef:88] Q (queue=75, ref=20)
    33.248692 s:  VX_ZONE_INFO:[tivxDataRefQueueEnqueueReadyRef:88] Q (queue=83, ref=18)
    33.248699 s:  VX_ZONE_INFO:[tivxDataRefQueueDequeueDoneRef:161] DQ (queue=68) .. NO BUFFER
[MCU2_1]   1364.450899 s: UB960 config start
[MCU2_1]   1364.450979 s:  End of UB960 config
[MCU2_1]   1364.451179 s:  VX_ZONE_INFO:[tivxTargetNodeDescNodeExecute:584] Node (node=9, pipe=0) acquiring parameters on target 00000068
[MCU2_1]   1364.451266 s:  VX_ZONE_INFO:[tivxTargetNodeDescAcquireParameterForPipeup:249] Parameter acquired for pipe up (node=9, pipe=0, data_ref_q=61, queue=67, ref=2)
[MCU2_1]   1364.451421 s:  VX_ZONE_INFO:[tivxTargetNodeDescAcquireParameterForPipeup:249] Parameter acquired for pipe up (node=9, pipe=0, data_ref_q=61, queue=67, ref=4)
[MCU2_1]   1364.451546 s:  VX_ZONE_INFO:[tivxTargetNodeDescAcquireParameter:177] Parameter acquired (node=9, pipe=0, data_ref_q=61, queue=67, ref=6)
[MCU2_1]   1364.451618 s:  VX_ZONE_INFO:[tivxTargetNodeDescNodeExecute:642] Node (node=9, pipe=0) executing on target 00000068
[MCU2_1]   1364.496012 s:  VX_ZONE_INFO:[tivxTargetNodeDescNodeExecute:665] Node (node=9, pipe=0) executing on target 00000068 ... DONE !!!
[MCU2_1]   1364.496096 s:  VX_ZONE_INFO:[tivxTargetNodeDescReleaseParameter:442] Parameter NOT released (node=9, pipe=0, data_ref_q=61, ref=2, users=1)
[MCU2_1]   1364.496212 s:  VX_ZONE_INFO:[tivxTargetNodeDescNodeExecute:584] Node (node=21, pipe=0) acquiring parameters on target 00000067
[MCU2_1]   1364.496291 s:  VX_ZONE_INFO:[tivxTargetNodeDescAcquireParameter:177] Parameter acquired (node=21, pipe=0, data_ref_q=69, queue=75, ref=18)
[MCU2_1]   1364.496362 s:  VX_ZONE_INFO:[tivxTargetNodeDescAcquireParameter:187] Parameter ALREADY acquired (node=21, pipe=0, data_ref_q=61, ref=2)
[MCU2_1]   1364.496432 s:  VX_ZONE_INFO:[tivxTargetNodeDescAcquireParameter:177] Parameter acquired (node=21, pipe=0, data_ref_q=85, queue=88, ref=10)
[MCU2_1]   1364.496499 s:  VX_ZONE_INFO:[tivxTargetNodeDescAcquireParameter:177] Parameter acquired (node=21, pipe=0, data_ref_q=89, queue=92, ref=16)
[MCU2_1]   1364.496559 s:  VX_ZONE_INFO:[tivxTargetNodeDescNodeExecute:642] Node (node=21, pipe=0) executing on target 00000067

 ==========================
 Demo : Single Camera w/ 2A
 ==========================
 p: Print performance statistics
 s: Save Sensor RAW, VISS Output and H3A output images to File System
 x: Exit
 Enter Choice: s

Test data path is NULL. Defaulting to current folder
RAW file name capture/./img_0000_1920x1080.g12l
YUV file name capture/./img_0000.yuv
out width =  1920
out height =  1080
out format =  842094158
H3A file name capture/./h3a_0000.bin

Responses:
I found a very interesting point. It works well if resolution configuration is larger than real sensor output size. * sensor mipi-csi2 real output resolution: 1920x1080 - tivx_raw_image_create_params_t.width = 1920, height = 1080 ==> blocking (only 1st raw capture ok) - tivx_raw_image_create_params_t.width = 1920, height = 1280 ==> ok (preview display ok) Are there any memory overwrites between frame buffers, corruption of meta data?

This is most probably because of H3A DCC configuration. Please modify the following AR0233_viss_h3a_aewb_cfg.xml in both of the folders below imaging\sensor_drv\src\ar0233\dcc_xmls\linear imaging\sensor_drv\src\ar0233\dcc_xmls\wdr black row vertical position should be no more than frame height - blk_win_numlines. Please change the following setting 2, //blk_win_numlines 1094, //blk_row_vpos to 2, //blk_win_numlines 1078, //blk_row_vpos Run the script generate_dcc.bat on a Windows PC. This will update header files in the folder imaging\sensor_drv\include Rebuild SDK and try the camera app

It's ok after changing H3A size in DCC configurations. Do you have plans to implement basic parameters in sensor drivers? For TDA2, they are implemented in sensor drivers, so it was worked without DCC configurations.

In TDA4 SW architecture, we are trying to separate ISP tuning from sensor driver. All ISP tuning parameters will be specified through DCC.