MT9P031
www.onsemi.com
18
If row binning is combined with row mirroring, the
binning is still done in the positive direction. Therefore, if
the first output row in bin 2X + row mirror was 1997, pixels
on rows 1997 and 1999 would be averaged together. The
next pixel output would be from rows 1996 and 1998,
followed by the average of 1993 and 1995.
For column mirroring plus binning, the span of pixels used
should be the same as with non-mirror mode.
Maintaining a Constant Frame Rate
Maintaining a constant frame rate while continuing to
have the ability to adjust certain parameters is the desired
scenario. This is not always possible, however, because
register updates are synchronized to the read pointer, and the
shutter pointer for a frame is usually active during the
readout of the previous frame. Therefore, any register
changes that could affect the row time or the set of rows
sampled causes the shutter pointer to start over at the
beginning of the next frame.
By default, the following register fields cause a “bubble”
in the output rate (that is, the vertical blank increases for one
frame) if they are written in continuous mode, even if the
new value would not change the resulting frame rate:
•Row_Start
•Row_Size
•Column_Size
•Horizontal_Blank
•Vertical_Blank
•Shutter_Delay
•Mirror_Row
•Row_Bin
•Row_Skip
•Column_Skip
The size of this bubble is (SW × tROW), calculating the
row time according to the new settings.
The Shutter_Width_Lower and Shutter_Width_Upper
fields may be written without causing a bubble in the output
rate under certain circumstances. Because the shutter
sequence for the next frame often is active during the output
of the current frame, this would not be possible without
special provisions in the hardware. Writes to these registers
take effect two frames after the frame they are written, which
allows the shutter width to increase without interrupting the
output or producing a corrupt frame (as long as the change
in shutter width does not affect the frame time).
Synchronizing Register Writes to Frame Boundaries
Changes to most register fields that affect the size or
brightness of an image take effect on the frame after the one
during which they are written. These fields are noted as
“synchronized to frame boundaries” in Table 12 of the
register reference. To ensure that a register update takes
effect on the next frame, the write operation must be
completed after the leading edge of FV and before the
trailing edge of FV.
As a special case, in Snapshot modes (see “Operating
Modes”), register writes that occur after FV but before the
next trigger will take effect immediately on the next frame,
as if there had been a Restart. However, if the trigger for the
next frame in ERS Snapshot mode occurs during FV, register
writes take effect as with continuous mode.
Additional control over the timing of register updates can
be achieved by using synchronize_changes. If this bit is set,
writes to certain register fields that affect the brightness of
the output image do not take effect immediately. Instead, the
new value is remembered internally. When
synchronize_changes is cleared, all the updates
simultaneously take effect on the next frame (as if they had
all been written the instant synchronize_changes was
cleared). Register fields affected by this bit are identified in
Table 13 of the register reference.
Fields not identified as being frame−synchronized or
affected by synchronize_changes are updated immediately
after the register write is completed. The effect of these
registers on the next frame can be difficult to predict if they
affect the shutter pointer.
Restart
To restart the MT9P031 at any time during the operation
of the sensor, write a “1” to the restart register (R0x0B[0] =
1). This has two effects: first, the current frame is interrupted
immediately. Second, any writes to frame-synchronized
registers and the shutter width registers take effect
immediately, and a new frame starts (in continuous mode).
Register updates being held by synchronize_changes do not
take effect until that bit is cleared. The current row and one
following row complete before the new frame is started, so
the time between issuing the Restart and the beginning of the
next frame can vary by about tROW.
If Pause_Restart is set, rather than immediately beginning
the next frame after a restart in continuous mode, the sensor
pauses at the beginning of the next frame until Pause_Restart
is cleared. This can be used to achieve a deterministic time
period from clearing the Pause_Restart bit to the beginning
of the first frame, meaning that the controller does not need
to be tightly synchronized to LV or FV.
NOTE: When Pause_Restart is cleared, be sure to leave
Restart set to “1” for proper operation. The
Restart bit will be cleared automatically by the
device.
Image Acquisition Modes
The MT9P031 supports two image acquisition modes
(Shutter Types) (see “Operating Modes”), electronic rolling
shutter and global reset release.
Electronic Rolling Shutter
The ERS modes take pictures by scanning the rows of the
sensor twice in the order described in “Full-Array Readout”.
On the first scan, each row is released from reset, starting the
exposure. On the second scan, the row is sampled,
processed, and returned to the reset state. The exposure for