The ON Semiconductor MT9V023 is a 1/3-inch wide-VGA format
CMOS active-pixel digital image sensor with global shutter and high
dynamic range (HDR) operation. The sensor has specifically been
designed to support the demanding interior and exterior automotive
imaging needs, which makes this part ideal for a wide variety of
imaging applications in real-world environments.
This wide-VGA CMOS image sensor features ON Semiconductor’s
breakthrough low-noise CMOS imaging technology that achieves
CCD image quality (based on signal-to-noise ratio and low-light
sensitivity) while maintaining the inherent size, cost, and integration
advantages of CMOS.
The active imaging pixel array is 752 H x 480 V. It incorporates
sophisticated camera functions on-chip-such as binning 2 x 2 and
4 x 4, to improve sensitivity when operating in smaller resolutions-as
well as windowing, column and row mirroring. It is programmable
through a simple two-wire serial interface.
The MT9V023 can be operated in its default mode or be
programmed for frame size, exposure, gain setting, and other
parameters. The default mode outputs a wide-VGA-size image at 60
frames per second (fps).
An on-chip analog-to-digital converter (ADC) provides 10 bits per
pixel. A 12-bit resolution companded for 10 bits for small signals can
be alternatively enabled, allowing more accurate digitization for
darker areas in the image.
In addition to a traditional, parallel logic output the MT9V023 also
features a serial low-voltage differential signaling (LVDS) output. The
sensor can be operated in a stereo-camera, and the sensor, designated
as a stereo-master, is able to merge the data from itself and the
stereo-slave sensor into one serial LVDS stream.
The sensor is designed to operate in a wide temperature range
(–40°C to +105°C).
Features
• Array Format: Wide-VGA, Active 752 H x 480 V (360,960 pixels)
• Global Shutter Photodiode Pixels; Simultaneous Integration and
Readout
• Monochrome or Color: NIR Enhanced Performance for Use with
The MT9V023 pixel array is configured as 809 columns
by 499 rows, shown in Figure 4. The dark pixels are
optically black and are used internally to monitor black
level. Of the left 52 columns, 36 are dark pixels used for row
noise correction. Of the top 14 rows of pixels, two of the dark
rows are used for black level correction. Also, three black
rows from the top black rows can be read out by setting the
Show Dark Rows bit in the Read Mode register; setting
Show Dark Columns will display the 36 dark columns.
There are 753 columns by 481 rows of optically active
pixels. While the sensor’s format is 752 x 480, one
additional active column and active row are included for use
when horizontal or vertical mirrored readout is enabled, to
allow readout to start on the same pixel. This one pixel
adjustment is always performed, for monochrome or color
versions. The active area is surrounded with optically
transparent dummy pixels to improve image uniformity
within the active area. Neither dummy pixels nor barrier
pixels can be read out.
(0, 0)
active pixel
4.92 x 3.05mm
Pixel Array
809 x 499 (753 x 481 active)
Figure 5. Pixel Color Pattern Detail (Top Right Corner)
www.onsemi.com
6
MT9V023
COLOR DEVICE LIMITATIONS
The color version of the MT9V023 does not support or
offers reduced performance for the following
functionalities.
Pixel Binning
Pixel binning is done on immediate neighbor pixels only,
no facility is provided to skip pixels according to a Bayer
pattern. Therefore, the result of binning combines pixels of
different colors. See “Pixel Binning” for additional
information.
Interlaced Readout
Interlaced readout yields one field consisting only of red
and green pixels and another consisting only of blue and
green pixels. This is due to the Bayer pattern of the CFA.
Automatic Black Level Calibration
When the color bit is set (R0x0F[1]=1), the sensor uses
black level correction values from one green plane, which
are applied to all colors. To use the calibration value based
on all dark pixels’ offset values, the color bit should be
cleared.
Defective Pixel Correction
For Defective Pixel Correction to calculate replacement
pixel values correctly, for color sensors the color bit must be
set (R0x0F[1] = 1). However, the color bit also applies
unequal offset to the color planes, and the results might not
be acceptable for some applications.
Other Limiting Factors
Black level correction and row-wise noise correction are
applied uniformly to each color. The row-wise noise
correction algorithm does not work well in color sensors.
Automatic exposure and gain control calculations are made
based on all three colors, not just the green channel. High
dynamic range does operate in color; however,
ON Semiconductor strongly recommends limiting use to
linear operation where good color fidelity is required.
www.onsemi.com
7
MT9V023
OUTPUT DATA FORMAT
The MT9V023 image data can be read out in a progressive
scan or interlaced scan mode. Valid image data is surrounded
by horizontal and vertical blanking, as shown in Figure 6.
The amount of horizontal and vertical blanking is
programmable through R0x05 and R0x06, respectively
(R0xCD and R0xCE for context B). LV is HIGH during the
shaded region of the figure. See “Output Data Timing” for
the description of FV timing.
The data output of the MT9V023 is synchronized with the
PIXCLK output. When LINE_VALID (LV) is HIGH, one
10-bit pixel datum is output every PIXCLK period.
LINE_VALID
PIXCLK
...
...
Valid Image DataBlankingBlanking
...
D
OUT(9:0)
P
0
(9:0)
P
(9:0)
1
(9:0)
Figure 7. Timing Example of Pixel Data
The PIXCLK is a nominally inverted version of the master
clock (SYSCLK). This allows PIXCLK to be used as a clock
to latch the data. However, when column bin 2 is enabled, the
PIXCLK is HIGH for one complete master clock master
period and then LOW for one complete master clock period;
when column bin 4 is enabled, the PIXCLK is HIGH for two
FRAME_VALID
LINE_VALID
Number of master clocks
Figure 8. Row Timing and FRAME_VALID/LINE_VALID Signals
Table 4. FRAME TIME
Parameters
AActive data timeContext A: R0x04
P1Frame start blankingContext A: R0x05 - 23
P2Frame end blanking23 (fixed)23 pixel clocks
QHorizontal blankingContext A: R0x05
A+QRow timeContext A: R0x04 + R0x05
VVertical blankingContext A: (R0x06) x (A + Q) + 4
NameEquation
P1A QA QAP2
Context B: R0xCC
Context B: R0xCD - 23
Context B: R0xCD
Context B: R0xCC + R0xCD
Context B: (R0xCE) x (A + Q) + 4
P2
P
3
(9:0)
P
4
(9:0)
...
P
n−1
(9:0)
P
n
(9:0)
complete master clock periods and then LOW for two
complete master clock periods. It is continuously enabled,
even during the blanking period. Setting R0x72 bit[4] = 1
causes the MT9V023 to invert the polarity of the PIXCLK.
The parameters P1, A, Q, and P2 in Figure 8 are defined
in Table 4.
...
...
...
Default Timing at
752 pixel clocks
= 752 master
= 28.2 μs
71 pixel clocks
= 71master
= 2.66 μs
= 23 master
= 0.86 μs
94 pixel clocks
= 94 master
= 3.52 μs
846 pixel clocks
= 846 master
= 31.72 μs
38,074 pixel clocks
= 38,074 master
= 1.43 ms
26.66 MHz
www.onsemi.com
9
MT9V023
Table 4. FRAME TIME (continued)
Parameters
Nrows x (A + Q)Frame valid timeContext A: (R0x03) × (A + Q)
Context B: (R0xCB) x (A + Q)
FTotal frame timeV + (Nrows x (A + Q))444,154 pixel clocks
Default Timing at
EquationName
26.66 MHz
406,080 pixel clocks
= 406,080 master
= 15.23 ms
= 444,154 master
= 16.66 ms
Sensor timing is shown above in terms of pixel clock and
master clock cycles (refer to Figure 7). The recommended
master clock frequency is 26.66 MHz. The vertical blanking
and the total frame time equations assume that the
integration time (Coarse Shutter Width plus Fine Shutter
Width) is less than the number of active rows plus the
blanking rows minus the overhead rows:
Table 5. In this example it is assumed that the Coarse Shutter
Width Control is programmed with 523 rows, and the Fine
Shutter Width Total is zero.
For Simultaneous mode, if the exposure time registers
(Coarse Shutter Width Total plus Fine Shutter Width Total)
exceed the total readout time, then the vertical blanking time
is internally extended automatically to adjust for the
additional integration time required. This extended value is
Window Height ) Vertical Blanking * 2
(eq.1)
not written back to the vertical blanking registers. The
Vertical Blank register can be used to adjust frame-to-frame
If this is not the case, the number of integration rows must
be used instead to determine the frame time, as shown in
Table 5. FRAME TIME−LONG INTEGRATION TIME
ParameterName
V’
F’
1. The MT9V023 uses column parallel analog−digital converters, thus short row timing is not possible. The minimum total row time is 690
columns (horizontal width + horizontal blanking). The minimum horizontal blanking is 61. When the window width is set below 627, horizontal
blanking must be increased.
Vertical blanking (long integration time)
Total frame time (long integration time)
Context A:
(R0x0B + 2 − R0x03) y (A + Q) + R0xD5 + 4
Context B:
(R0xD2 + 2 − R0xCB) x (A + Q) + R0xD8 + 4
Context A: (R0x0B + 2) y (A + Q) + R0xD5 +4
Context B: (R0xD2 + 2) x (A + Q) + R0xD8 +4
readout time. This register does not affect the exposure time
but it may extend the readout time.
(Number of Master Clock Cycles)
Equation
Default Timing
at 26.66 MHz
38,074 pixel
clocks
= 38,074 master
= 1.43 ms
444,154 pixel
clocks
= 444,154 master
= 16.66 ms
www.onsemi.com
10
MT9V023
SERIAL BUS DESCRIPTION
Registers are written to and read from the MT9V023
through the two-wire serial interface bus. The MT9V023 is
a serial interface slave with four possible IDs (0x90, 0x98,0xB0 and 0xB8) determined by the S_CTRL_ADR0 and
S_CTRL_ADR1 input pins. Data is transferred into the
MT9V023 and out through the serial data (S
S
DATA line is pulled up to VDD off-chip by a 1.5KΩ resistor.
Either the slave or master device can pull the S
down−the serial interface protocol determines which device
is allowed to pull the S
DATA line down at any given time. The
registers are 16-bit wide, and can be accessed through 16−
or 8−bit two−wire serial interface sequences.
Protocol
The two-wire serial interface defines several different
transmission codes, as shown in the following sequence:
1. a start bit
2. the slave device 8-bit address
3. a(n) (no) acknowledge bit
4. an 8-bit message
5. a stop bit
Start Bit
The start bit is defined as a HIGH-to-LOW transition of
the data line while the clock line is HIGH.
Slave Address
The 8-bit address of a two-wire serial interface device
consists of 7 bits of address and 1 bit of direction. A “0” in
the LSB of the address indicates write mode, and a “1”
indicates read mode. As indicated above, the MT9V023
allows four possible slave addresses determined by the two
input pins, S_CTRL_ADR0 and S_CTRL_ADR1.
Acknowledge Bit
The master generates the acknowledge clock pulse. The
transmitter (which is the master when writing, or the slave
when reading) releases the data line, and the receiver
indicates an acknowledge bit by pulling the data line LOW
during the acknowledge clock pulse.
No-Acknowledge Bit
The no-acknowledge bit is generated when the data line is
not pulled down by the receiver during the acknowledge
clock pulse. A no-acknowledge bit is used to terminate a
read sequence.
DATA) line. The
DATA line
Stop Bit
The stop bit is defined as a LOW-to-HIGH transition of
the data line while the clock line is HIGH.
Sequence
A typical READ or WRITE sequence begins by the
master sending a start bit. After the start bit, the master sends
the slave device’s 8-bit address. The last bit of the address
determines if the request is a read or a write, where a “0”
indicates a WRITE and a “1” indicates a READ. The slave
device acknowledges its address by sending an
acknowledge bit back to the master.
If the request was a WRITE, the master then transfers the
8-bit register address to which a WRITE should take place.
The slave sends an acknowledge bit to indicate that the
register address has been received. The master then transfers
the data 8 bits at a time, with the slave sending an
acknowledge bit after each 8 bits. The MT9V023 uses 16-bit
data for its internal registers, thus requiring two 8-bit
transfers to write to one register. After 16 bits are transferred,
the register address is automatically incremented, so that the
next 16 bits are written to the next register address. The
master stops writing by sending a start or stop bit.
A typical READ sequence is executed as follows. First the
master sends the write mode slave address and 8-bit register
address, just as in the write request. The master then sends
a start bit and the read mode slave address. The master then
clocks out the register data 8 bits at a time. The master sends
an acknowledge bit after each 8-bit transfer. The register
address is automatically incremented after every 16 bits is
transferred. The data transfer is stopped when the master
sends a no-acknowledge bit. The MT9V023 allows for 8-bit
data transfers through the two-wire serial interface by
writing (or reading) the most significant 8 bits to the register
and then writing (or reading) the least significant 8 bits to
Byte-Wise Address register (0x0F0).
Bus Idle State
The bus is idle when both the data and clock lines are
HIGH. Control of the bus is initiated with a start bit, and the
bus is released with a stop bit. Only the master can generate
the start and stop bits.
One data bit is transferred during each clock pulse. The
two-wire serial interface clock pulse is provided by the
master. The data must be stable during the HIGH period of
the serial clock−it can only change when the two-wire serial
interface clock is LOW. Data is transferred 8 bits at a time,
followed by an acknowledge bit.
www.onsemi.com
12
MT9V023
P
TWO-WIRE SERIAL INTERFACE SAMPLE READ AND WRITE SEQUENCES
16-Bit Write Sequence
A typical write sequence for writing 16 bits to a register
is shown in Figure 9. A start bit given by the master,
followed by the write address, starts the sequence. The
image sensor then gives an acknowledge bit and expects the
register address to come first, followed by the 16-bit data.
After each 8-bit the image sensor gives an acknowledge bit.
SCLK
SDATA
All 16 bits must be written before the register is updated.
After 16 bits are transferred, the register address is
automatically incremented, so that the next 16 bits are
written to the next register. The master stops writing by
sending a start or stop bit.
0xBA ADDR
STARTACK
Reg0x09
Figure 9.Timing Diagram Showing a WRITE to Reg0x09 with the Value 0x0284
16-Bit Read Sequence
A typical read sequence is shown in Figure 10. First the
master has to write the register address, as in a write
sequence. Then a start bit and the read address specifies that
a read is about to happen from the register. The master then
SCLK
DATA
S
0xBA ADDR0xB9 ADDR0000 0010
STARTACK
Reg0x09
ACKACKACK
Figure 10.Timing Diagram Showing a READ from Reg0x09, Returned Value 0x0284
8-Bit Write Sequence
To be able to write 1 byte at a time to the register a special
register address is added. The 8-bit write is done by first
writing the upper 8 bits to the desired register and then
writing the lower 8 bits to the Bytewise Address register
0000 0010
ACKACKACK
1000 0100
clocks out the register data 8 bits at a time. The master sends
an acknowledge bit after each 8-bit transfer. The register
address is auto-incremented after every 16 bits is
transferred. The data transfer is stopped when the master
sends a no-acknowledge bit.
1000 0100
NACK
(R0xF0). The register is not updated until all 16 bits have
been written. It is not possible to just update half of a register.
In Figure 11, a typical sequence for 8-bit writing is shown.
The second byte is written to the Bytewise register (R0xF0).
STOP
STOP
CLK
ATA
0xB8 ADDR
Figure 11.Timing Diagram Showing a Bytewise Write to R0x09 with the Value 0x0284
R0x09
0000 00101000 0100
ACKSTART
0xB8 ADDR
START
www.onsemi.com
13
R0xF0
ACKACKACKACK
STO
ACK
Loading...
+ 30 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.