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.

OV sensor integration to DM8127 IPNC

Hi Rajat,

            H/W : DM8127

            S/W:  ipnc_rdk_release version 3.00


I am trying to integrate 10-bit OV  sensor to Dm8127 IPNC (s/w version 3.00). I am able to capture RAW data/ stream, YUV over RTSP  successfully after below changes in the ISIF registers.

     

case1: IPIPE is configured to support 12 bit(default settings)

Register                                   Value                                         Meaning

ISIF_CGAMMAWD                   0x08                                         supporting 12-bit data from sensor

ISIF_MODESET                        0x0C                                         No data shift.

Understanding:

Using above settings, we are trying to read 12 bit data from sensor.

Sensor BIT11 --> ISIF Data bus BIT15  DATA INVALID

Sensor BIT10 --> ISIF Data bus BIT14 DATA INVALID {Invalid because it is 10 bit sensor}

Sensor BIT9 -->   ISIF Data bus BIT13 DATA9

Sensor BIT8 -->  ISIF Data bus BIT12 DATA8

Sensor BIT7 -->  ISIF Data bus BIT11 DATA7

Sensor BIT6 -->  ISIF Data bus BIT10 DATA6

Sensor BIT5 -->  ISIF Data bus BIT9   DATA5

Sensor BIT4 -->  ISIF Data bus BIT8   DATA4

Sensor BIT3 -->  ISIF Data bus BIT7   DATA3

Sensor BIT2 -->  ISIF Data bus BIT6   DATA2

Sensor BIT1 -->  ISIF Data bus BIT5   DATA1

Sensor BIT0 -->  ISIF Data bus BIT4   DATA0

                              ISIF Data bus BIT3      0

                              ISIF Data bus BIT2     0

                              ISIF Data bus BIT1     0

                             ISIF Data bus BIT0     0

                             

Now, If I pass this data to IPIPE, IPIPE read the data as 00DATA[9:0].

Result: Data streamed over RTSP is clear as expected.

-----------------------------------------------------------------------------------------------

Case2: IPIPE is configured to support 12 bit(default settings)

Register                                   Value                                         Meaning

ISIF_CGAMMAWD                   0x08                                         supporting 12-bit data from sensor

ISIF_MODESET                        0x20C                                         2-bit right shift.

Now, If I pass this data to IPIPE, IPIPE read the data as 0000DATA[9:2].

do we loose  2 bits @ LSB..??

Result: Data streamed over RTSP is clear as expected. I am not able to make out much about Quality difference between case1 & case2.

-----------------------------------------------------------------------------------------------

Case3: IPIPE is configured to support 12 bit(default settings)

Register                                   Value                                         Meaning

ISIF_CGAMMAWD                   0x12                                         supporting 10-bit data from sensor

ISIF_MODESET                        0x0C                                         No shift

Now, If I pass this data to IPIPE, IPIPE read the data as DATA[9:0]00. i.e actual sensor data is multiplied by 4 which is incorrect.

Result: Data streamed over RTSP is Not as as expected. I see some saturation in the bright areas of the picture.

-----------------------------------------------------------------------------------------------

Case4: IPIPE is configured to support 10 bit

changes done w.r.t this are as below.

Register                                   Value                                         Meaning

ISIF_CGAMMAWD                   0x12                                         supporting 10-bit data from sensor

ISIF_MODESET                        0x20C/0x0C                                      2-bit right shift/No shift( tried both )

1. ISIF_CGAMMAWD register configured for 10th bit as MSB.

2. issdrv_captureApi.c  eMsbPos set to BIT9.

3. iss_params_default.c ignored the macro #ifdef SENSOR_12BIT and forced everything to work with 10-bit data. (BIT9)

 4. Using ISIF_SDRAM_PACK_16BITS (iss_drv_isif.c) for SDRAM write. (using isif register settings accordingly.) (RAW-dump)

Now the DATA[9:0] is expected to passed to ipipe since it is configured to work with 10 bits.

Result: Data streamed over RTSP is Not as as expected. I see some saturation in the bright areas of the picture.

-----------------------------------------------------------------------------------------------

Querries:

1. Refering to Case4, since I am shifting the data by 2-bits right, data fed to IPIPE must be DATA[11:2]. i.e. valid 10-bits. Still I am not getting the correct output. Why?

2. I assume MODESET register defines the input bits of IPIPE. is that right?

3. Since the case1 & case2 work fine, is there any other dependencies with those settings anywhere in the Application? or Can I use that as it is?

Looking forward for your precious reply.

Thanks in advance :)

(Continued from previous thread. refer the link below)

http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/214355/764146.aspx#764146

Best Regards

Ravikiran