MT9V115
www.onsemi.com
21
Register and Variable Description
To change internal registers and RAM variables of
MT9V115, use the two-wire serial interface through the
external host device.
NOTE: For more detailed information on MT9V115
registers and variables, see the MT9V115
Register and Variable Reference.
The sequencer is responsible for coordinating all events
triggered by the user.
The sequencer provides the high-level control of the
MT9V115. Commands are written to the command variable
to start streaming, stop streaming, and to select test pattern
modes. Command execution is confirmed by reading back
the command variable with a value of zero. The sequencer
state variable can also be checked for transition to the
desired state. All configuration of the sensor (start/stop
row/column, mirror, skipping) and the SOC (image size,
format) and automatic algorithms for AE, AWB, low light,
are performed when the sequencer is in the stopped state.
When the sequencer is in the idle or test pattern state the
algorithms and register updates are not performed, allowing
the host complete manual control.
Table 12. SUMMARY OF MT9V115 VARIABLES
Name Variable Description
Monitor Variables General information
Sequencer Variables Programming control interface
Advanced Control Variables Advanced Control Variables
Information
FD Variables Flicker Detect
AE_Track Variables Auto Exposure
AWB Variables Auto White Balance
Stat Variables Statistics
Low Light Variables Low Light
Cam Variables Camera Controls
Two-Wire Serial Interface
The two-wire serial interface bus enables read and write
access to control and status registers within the MT9V115.
The interface protocol uses a master/slave model in which
a master controls one or more slave devices. The MT9V115
always operates in slave mode. The host (master) generates
a clock (SCLK) that is an input to the MT9V115 and is used
to synchronize transfers. Data is transferred between the
master and the slave on a bidirectional signal (SDATA).
Protocol
Data transfers on the two-wire serial interface bus are
performed by a sequence of low-level protocol elements, as
follows:
1. a (repeated) start condition
2. a slave address/data direction byte
3. a 16-bit register address (8-bit addresses are not
supported)
4. an (a no) acknowledge bit
5. a 16-bit data transfer (8-bit data transfers are
supported using XDMA byte access)
6. a stop condition
The bus is idle when both SCLK and SDATA are HIGH.
Control of the bus is initiated with a start condition, and the
bus is released with a stop condition. Only the master can
generate the start and stop conditions.
A start condition is defined as a HIGH-to-LOW transition
on SDATA while SCLK is HIGH.
At the end of a transfer, the master can generate a start
condition without previously generating a stop condition;
this is known as a repeated start or restart condition.
A stop condition is defined as a LOW-to-HIGH transition
on SDATA while SCLK is HIGH.
Data is transferred serially, 8 bits at a time, with the most
significant bit (MSB) transmitted first. Each byte of data is
followed by an acknowledge bit or a no-acknowledge bit.
This data transfer mechanism is used for the slave
address/data direction byte and for message bytes. One data
bit is transferred during each SCLK clock period. SDATA can
change when SCLK is LOW and must be stable while SCLK
is HIGH.
MT9V115 Slave Address
Bits [7:1] of this byte represent the device slave address
and bit [0] indicates the data transfer direction. A “0” in bit
[0] indicates a WRITE, and a “1” indicates a READ. The
slave address default is 0x7A.
Messages
Message bytes are used for sending MT9V115 internal
register addresses and data. The host should always use
16-bit address (two bytes) and 16-bit data to access internal
registers. Refer to READ and WRITE cycles in Figure 21
through Figure 25.
Each 8-bit data transfer is followed by an acknowledge bit
or a no-acknowledge bit in the SCLK clock period following
the data transfer. The transmitter (which is the master when
writing, or the slave when reading) releases SDATA. The
receiver indicates an acknowledge bit by driving SDATA
LOW. For data transfers, SDATA can change when SCLK is
LOW and must be stable while SCLK is HIGH.
The no-acknowledge bit is generated when the receiver
does not drive SDATA low during the SCLK clock period
following a data transfer. A no-acknowledge bit is used to
terminate a read sequence.
Typical Operation
A typical READ or WRITE sequence begins by the
master generating a start condition on the bus. After the start
condition, the master sends the 8-bit slave address/data
direction byte. The last bit indicates whether the request is
for a READ or a WRITE, where a “0” indicates a WRITE