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__7_REV5.fm - Rev. B 2/06 EN
147 ©2004 Micron Technology, Inc. All rights reserved.
MT9D111 - 1/3.2-Inch 2-Megapixel SOC Digital Image Sensor
Firmware
Micron Confidential and Proprietary
• fd.search_f1/2_50 and fl.search_fl/2_60 are ranges of frequencies to look for:
fd.search_f1_50=0.2*fd.R9_step60-1;
fd.search_f2_50=0.2*fd.R9_step60+1;
fd.search_f1_60=0.2*fd.R9_step50-1;
fd.search_f2_60=0.2*fd.R9_step50+1
• fl.stat_min and fl.stat_max are detection thresholds; for flicker to be detected
fl.stat_max continuous frames must contain the searched frequency at least
fl.stat_min times
Other variables are as follows:
fd.windowPosH indicates current sampling window position. Variable fl.windowHeight
indicate window size. Do not change these variables.
Flicker can operate in automatic and manual modes. Automatic mode is enabled by
default, fd.mode[5] indicates current 50Hz/60Hz frequency selection. Make sure to set
flicker detection bits in sequencer states. To choose manual mode, set fd.mode[7]=1.
Bits fd.mode[6] is used for manual 50Hz/60Hz frequency selection. As frequencies are
selected, the auto exposure integration time step is assigned the appropriate
fd.R9_step50/60 variable value.
For the flicker avoidance driver to operate correctly, the sensor frame rate may not be
exactly 15 fps or 30 fps. Frame rate must be tuned off the exact frame rate. This is a nec-
essary condition to have the flicker bars rolling. For this reason the preview mode frame
rate is typically deliberately set not to exactly match 15 fps or 30 fps. However, in capture
mode, the frame rate is set exactly, assuming that the flicker has already been detected
and compensated during preview.
JPEG Driver
The JPEG driver programs Huffman table and quantization table memories, sets up the
MT9D111 to output JPEG compressed data, and handles error checking and handshak-
ing with the host processor.
Usage
JPEG is enabled using mode.mode_config. For example, to enable compression for cap-
ture set mode.mode_congif=16. jpeg.qscale1/2/3, and specify the quantization factor to
control compression ratio. Bigger number indicates more compression. mode.fifo* con-
figure spoof and non-spoof output and specify FIFO output clock divider. If necessary,
use jpeg.config for error handshaking with the host.
Table Programming
At power up initialization, the JPEG driver loads standard Huffman tables into Huffman
memory. Scaled versions of standard luma and chroma quantization tables and are
loaded into quantization memory. The calculation of the scaled quantization table is as
follows:
Scaled_Q = (scaling_factor * standard_Q + 16) >> 5
Scaling factor is bit 6:0 of JPEG driver variables qscale1, qscale2, and qscale3. The stan-
dard quantization and Huffman tables are Tables K.1–K.4 of the ISO/IEC 10918-1 Speci-
fication. Host processor can override Huffman and quantization memory with any
arbitrary Huffman and quantization tables through indirect register access.
If the host chooses to use the scaled standard quantization tables, bit 4 of JPEG driver
variable config must be set to “1.” Scaling factor can be changed at any time. Whenever it
is changed, bit 7 of the corresponding JPEG driver variable qscale must be set to “1,” and
the new value takes effect in the next frame JPEG encoding.










