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
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