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
162 ©2004 Micron Technology, Inc. All rights reserved.
MT9D111 - 1/3.2-Inch 2-Megapixel SOC Digital Image Sensor
General Purpose I/O
Micron Confidential and Proprietary
General Purpose I/O
Introduction
Actuators used to move lenses in AF cameras can be classified into several categories
that differ significantly in their requirements for driving signals. These requirements
vary also from one device to another within each category. The MT9D111 has been
designed to meet the needs of many different lens actuators without having a lot of
hardware resources dedicated solely to that purpose. Internal resources that MT9D111
brings together to control a lens actuator can be, and at least in part are, used for many
other tasks, which amply justifies their presence on the chip even when no AF support is
required from it. This is particularly true of the embedded 6811 microcontroller (MCU)
with associated memory, but also of the general purpose input/output module (GPIO),
whose description is given below.
The GPIO is, in essence, a programmable digital waveform generator with 12 individu-
ally controllable output pads (GPIO0 through GPIO11), a separate power supply pad
(VDDGPIO), and a separate clock domain. By default, the GPIO clock domain is con-
nected to the master clock, but it can be disconnected to save power, by writing 0 to
R11:1[7]. The maximum rate at which the GPIO outputs can be toggled is 1/2 of the mas-
ter clock frequency. In other words, when the master clock frequency is 80 MHz, the
GPIO can change the state of its output pads every 25ns. This maximum rate is attain-
able only when the GPIO outputs pre-programmed periodic waveforms—a discussion of
these and of differently generated arbitrary output patterns follows in the next two sec-
tions.
Since some lens actuators provide feedback signals that can be used to ascertain their
position, direction of motion, etc., the MT9D111 has the capability to sense such signals
via digital and analog inputs. All of the GPIO output pads can be individually reversed to
become high-impedance digital inputs. Section “Digital and Analog Inputs” on page 144
explains how to change the direction of the GPIO pads and how to sense both digital and
analog input signals.
The GPIO is programmed via 77 8-bit registers mapped to hexadecimal addresses
0x1070–0x10B6 and 0x10B8–0x10BD in the memory space of the MCU. Sixty-five of these
registers and two additional registers with hexadecimal addresses 0x10BE and 0x10BF
return information about GPIO status when read. Like driver variables, the GPIO regis-
ters can be accessed by an external host processor through registers R198:1 and R200:1.
Since the two-wire serial interface is relatively slow, the host processor can never access
the GPIO registers as fast as the embedded MCU. In GPIO applications requiring exact
output timing and/or fast response to input signals, all time-critical writes and reads to
the GPIO registers should be done by the MCU. If the only task of the GPIO is to move an
AF lens, Micron strongly recommends leaving the control of the GPIO entirely to AFM
driver (ID = 6), a part of MT9D111 firmware dedicated to that task. MT9D111 users have
the option to substitute their own code for the AFM driver or part of it, if it does not meet
their needs.
GPIO Output Control Overview
There are two ways to control voltages on the GPIO output pads. One way, direct but not
guaranteeing high timing precision, is to set or clear bits in GPIO_DATA_L and
GPIO_DATA_H registers. Both the MCU and the host processor can do it by writing to
the hexadecimal addresses 0x1070–0x1077. The first two of these provide normal, "what-
you-write-is-what-you-get" access to the registers, while the remaining six provide
selective access to individual register bits. This selective access facilitates changing volt-
ages on some GPIO output pads without affecting the state of other pads—an output
manipulation expected to be routine. For example, to change voltage on the output pad










