MT9M034
www.onsemi.com
23
The statistics embedded in these rows are as follows:
Line 1:
• 0x0B0 − (identifier)
• Register 0x303A − frame_count
• Register 0x31D2 − frame ID
• Histogram data − histogram bins 0−243
Line 2:
• 0x0B0 (identifier)
• Mean
• Histogram Begin
• Histogram End
• Low End Histogram Mean
• Percentage of Pixels Below Low End Mean
• Normal Absolute Deviation
Gain
Digital Gain
Digital gain can be controlled globally by R0x305E
(Context A) or R0x30C4 (Context B). There are also
registers that allow individual control over each Bayer color
(GreenR, GreenB, Red, Blue).
The format for digital gain setting is xxx.yyyyy where
0b00100000 represents a 1x gain setting and 0b00110000
represents a 1.5x gain setting. The step size for yyyyy is
0.03125 while the step size for xxx is 1. Therefore to set a
gain of 2.09375 one would set digital gain to 01000011.
Analog Gain
The MT9M034 has a column parallel architecture and
therefore has an Analog gain stage per column.
There are 2 stages of analog gain, the first stage can be set
to 1x, 2x, 4x or 8x. This can be set in R0x30B0[5:4] (Context
A) or R0x30B0[9:8] (Context B). The second stage is
capable of setting an additional 1x or 1.25x gain which can
be set in R0x3EE4[9:8].
This allows the maximum possible analog gain to be set
to 10x.
Black Level Correction
Black level correction is handled automatically by the
image sensor. No adjustments are provided except to enable
or disable this feature. Setting R0x30EA[15] disables the
automatic black level correction. Default setting is for
automatic black level calibration to be enabled.
The automatic black level correction measures the
average value of pixels from a set of optically black lines in
the image sensor. The pixels are averaged as if they were
light−sensitive and passed through the appropriate gain.
This line average is then digitally low−pass filtered over
many frames to remove temporal noise and random
instabilities associated with this measurement. The new
filtered average is then compared to a minimum acceptable
level, low threshold, and a maximum acceptable level, high
threshold. If the average is lower than the minimum
acceptable level, the offset correction value is increased by
a predetermined amount. If it is above the maximum level,
the offset correction value is decreased by a predetermined
amount. The high and low thresholds have been calculated
to avoid oscillation of the black level from below to above
the targeted black level.
Row−wise Noise Correction
Row (Line)−wise Noise Correction is handled
automatically by the image sensor. No adjustments are
provided except to enable or disable this feature. Clearing
R0x3044[10] disables the row noise correction. Default
setting is for row noise correction to be enabled.
Row−wise noise correction is performed by calculating an
average from a set of optically black pixels at the start of
each line and then applying each average to all the active
pixels of the line.
Column Correction
The MT9M034 uses column parallel readout architecture
to achieve fast frame rate. Without any corrections, the
consequence of this architecture is that different column
signal paths have slightly different offsets that might show
up on the final image as structured fixed pattern noise.
MT9M034 has column correction circuitry that measures
this offset and removes it from the image before output. This
is done by sampling dark rows containing tied pixels and
measuring an offset coefficient per column to be corrected
later in the signal path.
Column correction can be enabled/disabled via
R0x30D4[15]. Additionally, the number of rows used for
this offset coefficient measurement is set in R0x30D4[3:0].
By default this register is set to 0x7, which means that 8 rows
are used. This is the recommended value. Other control
features regarding column correction can be viewed in the
MT9M034 Register reference. Any changes to column
correction settings need to be done when the sensor
streaming is disabled and the appropriate triggering
sequence must be followed as described below.
Column Correction Triggering
Column correction requires a special procedure to trigger
depending on which state the sensor is in.
Column Triggering on Startup
When streaming the sensor for the first time after
powerup, a special sequence needs to be followed to make
sure that the column correction coefficients are internally
calculated properly.
1. Follow proper power up sequence for power
supplies and clocks
2. Apply sequencer settings if needed
(Linear or HDR mode)
3. Apply frame timing and PLL settings as required
by application