Datasheet
Table Of Contents
- 1/3.2-Inch System-On-A-Chip (SOC) CMOS Digital Image Sensor
- Features
- Applications
- Ordering Information
- General Description
- Feature Overview
- Typical Connection
- Ballout and Interface
- Architecture Overview
- Registers and Variables
- Registers
- Registers
- IFP Registers, Page 1
- IFP Registers, Page 2
- JPEG Indirect Registers
- Table 8: JPEG Indirect Registers (See Registers 30 and 31, Page 2)
- Firmware Driver Variables
- Table 9: Drivers IDs
- Table 10: Driver Variables-Monitor Driver (ID = 0)
- Table 11: Driver Variables-Sequencer Driver (ID = 1)
- Table 12: Driver Variables-Auto Exposure Driver (ID = 2)
- Table 13: Driver Variables-Auto White Balance (ID = 3)
- Table 14: Driver Variables-Flicker Detection Driver (ID = 4)
- Table 15: Driver Variables-Auto Focus Driver (ID = 5)
- Table 16: Driver Variables-Auto Focus Mechanics Driver (ID = 6)
- Table 17: Driver Variables-Mode/Context Driver (ID = 7)
- Table 18: Driver Variables-JPEG Driver (ID = 9)
- Table 19: Driver Variables-Histogram Driver (ID = 11)
- MCU Register List and Memory Map
- JPEG Indirect Registers
- Output Format and Timing
- Sensor Core
- Feature Description
- PLL Generated Master Clock
- PLL Setup
- Window Control
- Pixel Border
- Readout Modes
- Figure 20: 6 Pixels in Normal and Column Mirror Readout Modes
- Figure 21: 6 Rows in Normal and Row Mirror Readout Modes
- Table 30: Skip Values
- Figure 22: 8 Pixels in Normal and Column Skip 2x Readout Modes
- Figure 23: 16 Pixels in Normal and Column Skip 4x Readout Modes
- Figure 24: 32 Pixels in Normal and Column Skip 8x Readout Modes
- Figure 25: 64 Pixels in Normal and Column Skip 16x Readout Modes
- Table 31: Row Addressing
- Table 32: Column Addressing
- Frame Rate Control
- Context Switching
- Integration Time
- Flash STROBE
- Global Reset
- Analog Signal Path
- Analog Inputs AIN1-AIN3
- Firmware
- Firmware
- Start-Up and Usage
- General Purpose I/O
- Introduction
- GPIO Output Control Overview
- Waveform Programming
- Notification Signals
- Digital and Analog Inputs
- GPIO Software Drivers
- Auto Focus
- Figure 42: Search for Best Focus
- Figure 43: Scene with Two Potential Focus Targets at Different Distances from Camera
- Figure 44: Dependence of Luminance-Normalized Local Sharpness Scores on Lens Position
- Figure 45: Example of Position Weight Histogram Created by AF Driver
- Figure 46: Auto Focus Windows
- Figure 47: Computation of Sharpness Scores and Luminance Average for an AF Window
- Table 41: Examples of AF Filters that can be Programmed into the MT9D111
- Spectral Characteristics
- Electrical Specifications
- Packaging
- Appendix A: Two-Wire Serial Register Interface
- Protocol
- Sequence
- Bus Idle State
- Start Bit
- Stop Bit
- Slave Address
- Data Bit Transfer
- Acknowledge Bit
- No-Acknowledge Bit
- Page Register
- Sample Write and Read Sequences
- Figure 52: WRITE Timing to R0x09:0-Value 0x0284
- Figure 53: READ Timing from R0x09:0; Returned Value 0x0284
- Figure 54: WRITE Timing to R0x09:0-Value 0x0284
- Figure 55: READ Timing from R0x09:0; Returned Value 0x0284
- Figure 56: Two-Wire Serial Bus Timing Parameters
- Table 46: Two-wire Serial Bus Characteristics
- Revision History
PDF: 09005aef8202ec2e/Source: 09005aef8202ebf7 Micron Technology, Inc., reserves the right to change products or specifications without notice.
MT9D111__2_REV5.fm - Rev. B 2/06 EN
20 ©2004 Micron Technology, Inc. All rights reserved.
MT9D111 - 1/3.2-Inch 2-Megapixel SOC Digital Image Sensor
Architecture Overview
Micron Confidential and Proprietary
Auto Focus
Algorithm
Auto focus (AF) algorithm implemented in the MT9D111 firmware seeks to maximize
sharpness of vertical lines in images output by the sensor, by guiding an external lens
actuator to the position of best lens focus. The algorithm is actuator-independent: it
provides guidance by means of an abstract 1-dimensional position variable, leaving the
translation of its changes into physical lens movements to a separate AF mechanics
(AFM) driver. The AF algorithm relies on the AFM driver to generate digital output sig-
nals needed to move different lens actuators and to correctly indicate at all times if the
lens is stationary or moving. The latter is required to prevent the AF algorithm from
using line sharpness measurements distorted by concurrent lens motion.
For measuring line sharpness, the AF algorithm relies on focus measurement engine in
the color pipeline, which is a programmable vertical-edge-filtering module. The module
convolves two pre-programmed 1-dimensional digital filters with luminance (Y) data it
receives row by row from the color interpolation module. In every interpolated image,
the pixels whose Y values are used in the convolution form a rectangular block that can
be arbitrarily positioned and sized, and in addition divided into up to 16 equal-size sub-
blocks, referred to as AF windows or zones. The absolute values of convolution results
are summed separately for each filter over each of the AF windows, yielding up to 32
sums per frame. As soon as these sums or raw sharpness scores are computed, they are
put in dedicated IFP registers (R[77:84]:2 and R[87:94]:2), as are Y averages from all the
AF windows (in R[67:74]:2). The AF algorithm reduces these data to one normalized
sharpness score per AF window, by calculating for each window the ratio (S1+S2)/<Y>,
where <Y> is the average Y and S1 and S2 are the raw sharpness scores from the two fil-
ters multiplied by 128. Programming the filters into the MT9D111 includes specifying
their relative weights, so each ratio can be called a weighted average of two equally nor-
malized sharpness scores from the same AF window. In addition to unequal weighting of
the filters, the AF algorithm permits unequal weighting of the windows, but window
weights are not included in the normalized sharpness scores, for a reason that will soon
become clear.
There are several motion sequences through which the MT9D111 AF algorithm can
bring a lens to best focus position. All these sequences begin with a jump to a prese-
lected start position, e.g. the infinity focus position. This jump is referred to as the first
flyback. It is followed by a unidirectional series of steps that puts the lens at up to 19 pre-
selected positions different from the start position. This series of steps is called the first
scan.
Before and during this scan, the AF algorithm stops the lens at each preselected position
for long enough to obtain valid sharpness scores. The first normalized score from each
AF window is stored as both the worst (minimum) and best (maximum) score for that
window. These two extreme scores are then updated as the lens moves from one position
to the next and a new maximum position is memorized at every update of the maximum
score. In effect, the preselected set of lens positions is scanned for maxima of the nor-
malized sharpness scores, while at the same time information needed to validate each
maximum is being collected. This information is in the difference between the maxi-
mum and the minimum of the same score. A small difference in their values indicates
that the score is not sensitive to the lens position and therefore its observed extrema are
likely determined by random noise. On the other hand, if the score varies a lot with the
lens position, its maximum is much more likely to be valid, i.e. close to the true sharp-
ness maximum for the corresponding AF window. Due to these considerations, the AF
algorithm implemented in MT9D111 ignores the maxima of all sharpness scores whose
peak-to-trough variation is below a preset percentage threshold. The remaining max-










