Datasheet

Table Of Contents
PDF: 09005aef8202ec2e/Source: 09005aef8202ebf7 Micron Technology, Inc., reserves the right to change products or specifications without notice.
MT9D111__7_REV5.fm - Rev. B 2/06 EN
144 ©2004 Micron Technology, Inc. All rights reserved.
MT9D111 - 1/3.2-Inch 2-Megapixel SOC Digital Image Sensor
Firmware
Micron Confidential and Proprietary
For example, cool-white office illumination tends to have a position near 64. Variables
awb.CCMpositionMin, awb.CCMpositionMax, awb.GainMin, awb.GainMax specify
CCM position and digital RGB gain limits. When changing these settings, issue a
REFRESH command to put new values into effect.
AWB speed is controlled by awb.JumpDivisor and awb.GainBufferSpeed. AWB statistics
window typically covers the entire image. Its size is set by awb.windowPos and awb.win-
dowSize. Issue a REFRESH_MODE command for settings to take effect. AWB can be
forced to daylight when AE detects outdoor condition, see seq.mode[5].
AWB can be operated manually in two ways:
1. Set awb.mode[5] = 1. This forces digital RGB gains to unity. Program desired CCM
position into awb.CCMposition.
2. Set awb.CCMpositionMin and awb.CCMpositionMax limits to desired position. Issue
REFRESH command. CCM moves into specified position. To fix gains to unity, set
awb.GainMin and awb.GainMax to 128. Otherwise digital gains continue changing
automatically.
Auto Focus Driver
The AF driver works to find best lens position providing maximal image sharpness. The
driver operates in two modes: manual and auto mode. In manual mode (af.mode[7] = 1)
focus position is defined by variable af.bestPosition. User can change lens position from
af.posMin to af.posMax.
Automatic mode is started by af.mode=1, The driver automatically scans af.numSteps
focal zones to find best position. AF driver makes search of the best focus position based
on average sharpness and luma information received from 16 programmable windows.
Each filter kernel has seven user-programmable elements specified in registers R75:2,
R75:2, R85:2 and R86:2. User can specify window size and position (af.windowPos,
af.windowSize), number of the focal zones to scan (af.numSteps), weight for each win-
dow (af.zoneWeights).
Public variables of the AF driver listed in Table 15, "Driver Variables-Auto Focus Driver
(ID = 5)," on page 82 and register settings defining the AF filters (see page 14) are all the
parameters that one needs to pay attention to when customizing the built-in AF algo-
rithm. The AF driver variables include two unsigned characters (bytes) named af.win-
dowPos and af.windowSize that should be used to adjust position and size of the AF
windows instead of direct writes to registers R[64:66]:2. It is certainly possible to access
these registers directly, and new values written to them have immediate effect. However,
these values remain in effect only as long as Sequencer driver, the master firmware
driver continuously running on MT9D111 microcontroller unit (MCU), does not call AF
driver function AF_SetSize (or its user-supplied substitute). The Sequencer calls this
function at its initialization, at every change of sensor operation mode (e.g. from pre-
view mode to capture mode), and also whenever sq.cmd variable is set to 6 in the pre-
view mode. The function AF_SetSize translates the current settings of af.windowPos and
af.windowSize to corresponding settings of registers R[64:66]:2 and writes these settings
over the previous values of the registers. There is no way to change the precedence of
af.windowPos and af.windowSize over the register settings other than by overriding the
function AF_SetSize.
In addition to programming the registers R[64:66]:2, the function AF_SetSize automati-
cally sets af.wakeUpLine in accordance with af.windowPos and af.windowSize, so that
during every frame readout the AF driver is activated 2 rows below the bottom of the 4x4
array of AF windows. If af.windowPos and af.windowSize are such that the bottom of the