Confidential For Truly Only: Datasheet
Confidential For Truly Only: Datasheet
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
OV5647
datasheet
PRELIMINARY SPECIFICATION
1/4" color CMOS QSXGA (5 megapixel) image sensor
with OmniBSI™ technology
C
o
n
fi
d
e
n
ti
a
l
fo
r
tr
u
ly
O
n
ly
i
ly
or sample.
OmniVision Technologies, Inc. and all its affiliates disclaim all liability, including liability for infringement of any proprietary
n
rights, relating to the use of information in this document. No license, expressed or implied, by estoppel or otherwise, to
any intellectual property rights is granted herein.
O
The information contained in this document is considered proprietary to OmniVision Technologies, Inc. and all its
affiliates. This information may be distributed to individuals or organizations authorized by OmniVision Technologies, Inc.
ly
to receive said information. Individuals and/or organizations are not allowed to re-distribute said information.
u
Trademark Information
tr
OmniVision and the OmniVision logo are registered trademarks of OmniVision Technologies, Inc. OmniBSI is a trademark of OmniVision
Technologies, Inc.
r
All other trademarks used herein are the property of their respective owners.
fo
l
a
ti
n
e
d
datasheet (COB)
n
PRELIMINARY SPECIFICATION
o
version 1.0
november 2009
C
ly
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
ly
PC multimedia
digital still cameras
n
00features
O
1.4 µm x 1.4 µm pixel with OmniBSI technology for support for LED and flash strobe mode
high performance (high sensitivity, low crosstalk, low
support for internal and external frame
ly
noise) synchronization for frame exposure mode
optical size of 1/4"
support for horizontal and vertical sub-sampling
u
automatic image control functions: automatic
standard serial SCCB interface
exposure control (AEC), automatic white balance
digital video port (DVP) parallel output interface
tr
(AWB), automatic band filter (ABF), automatic
50/60 Hz luminance detection, and automatic black MIPI interface (two lanes)
level calibration (ABLC)
32 bytes of embedded one-time programmable
programmable controls for frame rate, AEC/AGC
r
(OTP) memory
16-zone size/position/weight control, mirror and flip,
fo
a
support for video or snapshot operations support for black sun cancellation
ti
00key specifications
n
e
power requirements:
active: TBD QVGA (320 x 240): 120 fps
o
operating: -30°C to 70°C (see table 8-2) maximum exposure interval: 1968 x tROW
stable image: 0°C to 50°C (see table 8-2) pixel size: 1.4 µm x 1.4 µm
output formats: 8-/10-bit RGB RAW output well capacity: TBD
lens size: 1/4" dark current: TBD
lens chief ray angle: 24° (see figure 10-2) fixed pattern noise (FPN): TBD
input clock frequency: 6~27 MHz image area: 3673.6 µm x 2738.4 µm
S/N ratio: TBD die dimensions: 5520 µm x 4700 µm
dynamic range: TBD
ly
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
00table of contents
ly
2 system level description 2-1
2.1 overview 2-1
n
2.2 architecture 2-1
O
2.3 format and frame rate 2-3
2.4 I/O control 2-3
2.4.1 system clock control 2-3
ly
2.5 power up sequence 2-3
2.5.1 power up with internal DVDD 2-3
u
2.5.2 power up with external DVDD source 2-4
tr
2.6 reset 2-5
2.7 standby and sleep 2-5
r
3 block level description 3-1
fo
ly
4.7 black level calibration (BLC) 4-13
n
4.8 strobe flash and frame exposure 4-14
4.8.1 strobe flash control 4-14
O
4.9 xenon flash control 4-14
4.9.1 LED1 & 2 mode 4-15
4.9.2 LED 3 mode 4-16
ly
4.10 frame exposure (FREX) mode 4-17
4.10.1 FREX control 4-17
u
4.11 FREX strobe flash control 4-18
tr
4.12 one-time programmable (OTP) memory 4-19
5 image sensor processor digital functions 5-1
r
5.1 ISP general controls 5-1
fo
ly
10 optical specifications 10-1
10.1 sensor array center 10-1
n
10.2 lens chief ray angle (CRA) 10-2
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
ly
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
00list of figures
ly
figure 2-1 OV5647 block diagram 2-1
figure 2-2 reference design schematic 2-2
n
figure 2-3 power up timing with internal DVDD 2-4
O
figure 2-4 power up timing with external DVDD source 2-5
figure 3-1 sensor array region color filter layout 3-1
figure 3-2 example of 2x2 binning 3-2
ly
figure 4-1 mirror and flip samples 4-1
figure 4-2 image windowing 4-2
u
figure 4-3 color bar types 4-3
tr
figure 4-4 color, black and white square bars 4-3
figure 4-5 transparent effect 4-4
r
figure 4-6 rolling bar effect 4-4
fo
ly
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
00list of tables
ly
table 1-2 pad configuration under various conditions 1-3
table 2-1 format and frame rate 2-3
n
table 3-1 horizontal and vertical binning registers 3-2
O
table 4-1 mirror flip control registers 4-1
table 4-2 image windowing registers 4-2
table 4-3 test pattern registers 4-5
ly
table 4-4 50/60 Hz detection control registers 4-6
table 4-5 AEC/AGC control function registers 4-7
u
table 4-6 average based control function registers 4-9
tr
table 4-7 average luminance control function registers 4-10
table 4-8 BLC control functions 4-13
r
table 4-9 flashlight modes 4-14
fo
ly
table 7-7 STROBE/frame exposure control registers 7-13
table 7-8 50/60 HZ DETECTION registers 7-15
n
table 7-9 OTP control registers 7-16
table 7-10 BLC registers 7-18
O
table 7-11 frame control registers 7-21
table 7-12 DVP registers 7-21
ly
table 7-13 MIPI top registers 7-23
table 7-14 ISPFC registers 7-33
u
table 7-15 ISP TOP control registers 7-34
table 7-16 AWB registers 7-39
tr
table 7-17 average registers 7-41
table 7-18 DPC registers 7-42
r
table 7-19 LENC registers 7-43
fo
1 signal descriptions
table 1-1 lists the signal descriptions and their corresponding pad numbers for the OV5647 image sensor. The die
information is shown in section 9.
ly
table 1-1 signal descriptions (sheet 1 of 2)
n
O
pad pad
number signal name type description
1 AVDD power power for analog circuit, 2.8V
ly
2 AGND power ground for analog circuit
u
4 SCL input SCCB clock input
tr
5 SDA I/O SCCB data I/O
16 DVDD power
(connect to 0.1uF capacitor to ground)
o
17 RESETB input hardware reset (active low with internal pull-up resistor)
20 TM input test mode (active high with internal pull down resistor)
pad pad
number signal name type description
ly
power for digital core circuit, 1.5V
23 DVDD power
(connect to 0.1uF capacitor to ground)
n
24 DOVDD power power for digital I/O, 1.7 ~ 3.0V
O
26 AVDD power power for analog circuit, 2.8V
ly
28 PCLK I/O DVP PCLK output
u
30 DOVDD power power for digital I/O, 1.7 ~ 3.0V
tr
31 D0 I/O DVP data bit 0
35 D9/MDN0 I/O DVP data bit 9/ MIPI data lane0 negative output
36 D8/MDP0 I/O DVP data bit 8/ MIPI data lane0 positive output
l
a
41 D5/MDN1 I/O DVP data bit 5/ MIPI data lane1 negative output
d
42 D4/MDP1 I/O DVP data bit 4/ MIPI data lane1 positive output
hardware standby
signal RESETa RESETb post-RESET software sleep (power down pin = 1)
ly
input by default high-z by default high-z by default
VSYNC high-z high-z
(configurable) (configurable) (configurable)
n
input by default high-z by default high-z by default
HREF high-z high-z
(configurable) (configurable) (configurable)
O
input by default high-z by default high-z by default
PCLK high-z high-z
(configurable) (configurable) (configurable)
ly
D[9:0] high-z high-z
(configurable) (configurable) (configurable)
u
(configurable) (configurable) (configurable)
tr
STROBE high-z high-z
(configurable) (configurable) (configurable)
o
n
fi
figure 1-1
d
e
n
AGND 50 1 AVDD
AVDD 49
2 AGND
DOGND 48
pad diagram
ti
DVDD 47 3 DOGND
a DOVDD 46 4 SCL
D1 32 14 VREF1
tr
D0 31 15 PWDN
DOVDD 30 16 DVDD
VSYNC 29
u 17 RESETB
PCLK 28
HREF 27 18 AVDD
AVDD 26 19 AGND
ly
DOGND 25
20 TM
DOVDD 24 21 DOGND
PRELIMINARY SPECIFICATION
DVDD 23 22 DVDD
O
color CMOS QSXGA (5 megapixel) image sensor with OmniBSI™ technology
5647_COB_DS_1_1
n
ly
version 1.0
2-1
ly
The OV5647 is a low voltage, high performance, 5 megapixel CMOS image sensor that provides 2592x1944 video output
using OmniBSI™ technology. It provides multiple resolution raw images via the control of the serial camera control bus
n
or MIPI interface.
O
The OV5647 has an image array capable of operating up to 15 fps in 2592x1944 resolution with user control of image
quality, data transfer, camera functions through the SCCB interface. The OV5647 uses innovative OmniBSI technology
to improve the sensor performance without the physical and optical trade-off.
ly
For customized application, the OV5647 includes a one-time programmable (OTP) memory.
2.2 architecture
u
tr
The OV5647 sensor core generates streaming pixel data at a constant frame rate, indicated by HREF and VSYNC.
figure 2-1 shows the functional block of the OV5647 image sensor. figure 2-2 shows an example application of the
OV5647 sensor.
r
fo
OV5647
l
sensor interface
column processor
ti
sample/hold
n
DVP
D[9:0]
calibration
black level
row select
image 10-bit
FIFO
DPC
array AMP
ADC
e
MCP/N
MIPI
MDP/N[1:0]
d
50/60 Hz gain
auto detection control
fi
n
PLL
and system control logic interface interface
XCLK
PWDN
RESETB
TM
GPIO[1:0]
FREX
STROBE
VSYNC
HREF
PCLK
SCL
SDA
5647_DS_2_1
AVDD
1 35 D9/MDN0 D3 1 2 D2
AVDD D9/MDN0 D3 D2
18 36 D8/MDP0 D5/MDN1 3 4 D4/MDP1
AVDD D8/MDP0 D5 D4
ly
26 38 D7/MCN D7/MCN 5 6 D6/MCP
AVDD D7/MCN D7 D6
DVDD 49 39 D6/MCP Do not populate. D9/MDN0 7 8 D8/MDP0
AVDD D6/MCP D9 D8
6 41 D5/MDN1 RESETB R3 0-0603 9 10 R4 0-0603 PWDN
DVDD D5/MDN1 RESET PWDN
16 42 D4/MDP1 11 12 SIOD
DVDD D4/MDP1 NC SIOD
n
22 34 D3 HREF 13 14 SIOC
CON32A
DVDD D3 HREF SIOC
23 33 D2 VSYNC 15 16
DVDD D2 VSYNC GND
DOVDD 47 32 D1 VDD PCLK 17 18
DVDD D1 PCLK GND
O
12 31 D0 19 20 R5 33-0603 XCLK
DOVDD D0 PWR XCLK
J1
24 29 VSYNC 21 22
DOVDD VSYNC PWR GND
30 27 HREF D1 23 24 D0 Do not populate.
DOVDD U1 HREF D1 D0
EVDD PVDD 46
DOVDD OV5647 PCLK
28 R6 33-0603 PCLK 25
NC NC
26 R7 0-0603 FREX
44
PVDD BSI COB RESETB
17 RESETB 27
NC NC
28 GPIO0
37 15 PWDN STROBE 29 30 GPIO1
EVDD PWDN NC NC
ly
R9 0-0603 7 4 SIOC 31 32
SGND SCL GND GND
2 5 SIOD
AGND SDA
19 45 XCLK
AGND XCLK
DGND
AGND
50 14 VREFH
AGND VREF1
GND
u
3 13 VREFN
DOGND VREF2
21 11 FREX
DOGND FREX
25 10 STROBE
DOGND STROBE
48 9 GPIO0
tr
DOGND GPIO0
40 8 GPIO1
EGND GPIO1
43 20 TM
EGND TM
Do not populate.
r
R1 0-0603
fo
U2
Do not populate R12, R13, R14, R15, R16, and R17. VDD XC6206P182PR DOVDD
L1 3.3μH-1206 2 3 R2 0-0603
R14 50-0603 D4/MDP1 1 VIN OUT
1
10μF/6V-EIA-A
R15 50-0603 D5/MDN1 2 GND
C1 0.1μF-0603
C2 0.1μF-0603
R16 50-0603 D6/MCP 3
R17 50-0603 D7/MCN 4 J2
l
C3
ti
Do not populate.
R8 0-0603
n
C11 0.1μF-0603
C12 0.1μF-0603
C13 0.1μF-0603
C14 0.1μF-0603
C15 0.1μF-0603
C16 0.1μF-0603
C17 0.1μF-0603
C18 0.1μF-0603
C19 0.1μF-0603
C20 0.1μF-0603
GND
C4 0.1μF-0603
C5 0.1μF-0603
PVDD
d
R11 0-0603
fi
C6
VREFH
C25 0.1μF-0603 VREFH
AVDD T1
U4
VREFN XC6206P152PR DVDD
T2
C21 0.1μF-0603
C22 0.1μF-0603
C23 0.1μF-0603
C24 0.1μF-0603
VIN OUT
DGND 1
10μF/6V-EIA-A
T3 GND
C7 0.1μF-0603
C8 0.1μF-0603
EVDD
TM R20 0-0603 R13 0-0603
C
T4
C9
ly
format resolution frame rate scaling method pixel clock
n
5 Mpixel 2592x1944 15 fps full resolution 80 MHz
O
960p 1280x960 45 fps cropping, subsampling/ binning 91.2 MHz
ly
VGA 640x480 90 fps cropping, subsampling/ binning 46.5 MHz
u
tr
2.4 I/O control
2.4.1 system clock control
r
The PLL is inside the chip which generates a default 96 MHz clock from 6~27 MHz input clock. An inside programmable
fo
Based on the system power configuration (1.8V or 2.8V for I/O power), using external DVDD or internal DVDD, the power
a
up sequence will differ. If 1.8V is used for I/O power, using the internal DVDD is preferred. If 2.8V is used for I/O power,
due to a high voltage drop at the internal DVDD regulator, there is a potential heat issue. Hence, for a 2.8V power system,
ti
OmniVision recommends using an external DVDD source. Due to the higher power down current when using an external
n
DVDD source, OmniVision strongly recommends cutting off all power supplies, including the external DVDD, when the
sensor is not in use in the case of 2.8V I/O and external DVDD.
e
For powering up with the internal DVDD and SCCB access during the power ON period, the following conditions must
occur:
fi
1. if VDD-IO and VDD-A are turned ON at the same time, make sure VDD-IO becomes stable before VDD-A
n
becomes stable
o
2. PWDN is active high with an asynchronized design (does not need clock)
3. PWDN must go high during the power up period
C
4. for PWDN to go low, power must first become stable (AVDD to PWDN > 5 ms)
5. RESETB is active low with an asynchronized design
6. state of RESETB does not matter during power up period once DOVDD is up
7. master clock XCLK should provide at least 1 ms before host accesses sensor’s SCCB
8. host can access SCCB bus (if shared) during entire period. 20 ms after PWDN goes low or 20 ms after
RESETB goes high if reset is inserted after PWDN goes low, host can access sensor’s SCCB to initialize
sensor
T0
ly
VDD_IO
(DOVDD)
n
T2
VDD_A
(AVDD)
O
power on period
power down
PWDN
ly
SCCB SCCB activity is okay during entire period
u
note T0 ≥ 0 ms: delay from VDD_IO stable to VDD_A stable
T2 ≥ 5 ms: delay from VDD_A stable to sensor power up stable 5647_DS_2_3
tr
2.5.2 power up with external DVDD source
For powering up with an external DVDD source and SCCB access during the power ON period, the following conditions
r
must occur:
fo
1. if VDD-IO and VDD-A are turned ON at the same time, make sure VDD-IO becomes stable before VDD-A
becomes stable
2. if VDD-A and VDD-D are turned ON at the same time, make sure VDD-A becomes stable before VDD-D becomes
l
stable
a
3. PWDN is active high with an asynchronized design (does not need clock)
ti
4. for PWDN to go low, power must first become stable (DVDD to PWDN > 5 ms)
5. all powers are cut off when the camera is not in use (power down mode is not recommended
n
7. state of RESETB does not matter during power up period once DOVDD is up
8. master clock XVCLK should provide at least 1 ms before host accesses sensor’s SCCB
d
9. host can access SCCB bus (if shared) during entire period. 20 ms after PWDN goes low or 20 ms after
RESETB goes high if reset is inserted after PWDN goes high, host can access sensor’s SCCB to initialize
fi
sensor
n
o
C
VDD_IO first, then VDD_A, followed by VDD_D, and rising time is less than 5 ms
ly
T0 cut off power
VDD_IO
(DOVDD)
n
T1
VDD_A
(AVDD)
O
T2
VDD_D
(DVDD)
power on period
ly
PWDN
u
SCCB SCCB activity is okay during entire period
tr
note T0 ≥ 0 ms: delay from VDD_IO stable to VDD_A stable
T1 ≥ 0 ms: delay from VDD_A stable to VDD_D stable
T2 ≥ 5 ms: delay from VDD_D stable to sensor power up stable 5647_DS_2_4
r
fo
2.6 reset
• hardware reset
• SCCB software reset
ti
The OV5647 sensor includes a RESETB pad that forces a complete hardware reset when it is pulled low (GND). The
n
OV5647 clears all registers and resets them to their default values when a hardware reset occurs. A reset can also be
initiated through the SCCB interface by setting register 0x0103[0] to high.
e
The whole chip will be reset during power up. Manually applying a hard reset upon power up is recommended even
d
though the on-chip power up reset is included. The hard reset is active low with an asynchronized design. The reset pulse
width should be greater than or equal to 1 ms.
fi
• hardware standby
C
To initiate hardware standby mode, the PWDN pad must be tied to high. When this occurs, the OV5647 internal device
clock is halted and all internal counters are reset and registers are maintained. Executing a software sleep (0x0100[0])
through the SCCB interface suspends internal circuit activity but does not halt the device clock. All register content is
maintained in both modes.
ly
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
ly
The OV5647 sensor has an image array of 2624 columns by 1956 rows (5,132,544 pixels). figure 3-1 shows a
cross-section of the image sensor array.
n
The color filters are arranged in a Bayer pattern. The primary color BG/GR array is arranged in line-alternating fashion.
O
Of the 5,132,544 pixels, 5,038,848 (2592x1944) are active pixels and can be output. The other pixels are used for black
level calibration and interpolation. The center 2592x1944 is suggested to be output from the whole active pixel array. The
backend processor can use the boundary pixels for additional processing.
ly
The sensor array design is based on a field integration read-out system with line-by-line transfer and an electronic shutter
with a synchronous pixel read-out scheme.
u
figure 3-1 sensor array region color filter layout
tr
d
columns
2604
2605
2606
2607
2620
2621
2622
2623
r
16
17
18
19
0
1
2
3
fo
0 B G B G B G B G B G B G B G B G
1 G R G R G R G R G R G R G R G R
dummy
2 B G B G B G B G B G B G B G B G
3 G R G R G R G R G R G R G R G R
l
6 B G B G B G B G B G B G B G B G
a
7 G R G R G R G R G R G R G R G R
8 B G B G B G B G B G B G B G B G
9 G R G R G R G R G R G R G R G R
rows
active
ti
pixel
1946 B G B G B G B G B G B G B G B G
n
1947 G R G R G R G R G R G R G R G R
1948 B G B G B G B G B G B G B G B G
1949 G R G R G R G R G R G R G R G R
e
1952 B G B G B G B G B G B G B G B G
1953 G R G R G R G R G R G R G R G R
d
dummy
1954 B G B G B G B G B G B G B G B G
1955 G R G R G R G R G R G R G R G R
fi
n
active
dummy pixel dummy
o
56547_DS_3_1
C
3.2 binning
The OV5647 supports 2x2 binning for better SNR in low light conditions. See table 3-1 for horizontal and vertical binning
registers.
ly
table 3-1 horizontal and vertical binning registers
n
O
default
address register name value R/W description
Bit[0]: Vertical binning
0x3820 TIMING_TC_REG20 0x40 RW 0: Disable
ly
1: Enable
u
0x3821 TIMING_TC_REG21 0x00 RW 0: Disable
1: Enable
B G B G B G B G
a
G R G R G R G R
B G B G B G B G
ti
G R G R G R G R
n
B G B G
e
G R G R
5647_DS_3_2
d
When the column sample/hold circuit has sampled one row of pixels, the pixel data will shift out one-by-one into an
analog amplifier.
o
The balanced signal is then digitized by the on-chip 10-bit ADC. It can operate at up to 27 MHz and is fully synchronous
to the pixel clock. The actual conversion rate is determined by the frame rate.
ly
The OV5647 provides mirror and flip read-out modes, which respectively reverse the sensor data read-out order
horizontally and vertically (see figure 4-1). In flip mode, the OV5647 does not need additional settings because the ISP
n
block will auto-detect whether the pixel is in the red line or blue line and make the necessary adjustments.
O
figure 4-1 mirror and flip samples
F F
ly
F F
u
tr
original image mirrored image flipped image mirrored and flipped
r image
5647_DS_4_1
fo
default
address register name value R/W description
ti
Timing Control
n
Timing Control
0x3821 TIMING_TC_REG20 0x00 RW Bit[2]: r_mirror_isp
d
Bit[1]: r_mirror_snr
fi
n
o
C
ly
windowing is achieved by simply masking the pixels outside the defined window; thus, it will not affect the original timing.
n
O
(0, 0) sensor array size X
(HS, VS) HW
ly
u
tr
VH
sensor array
size Y
r
fo
(HE, VE)
l
a
5647_DS_4_2
n
e
default
address register name value R/W description
fi
For testing purposes, the OV5647 offers three types of test patterns, color bar, square and random data.The OV5647
also offers two effects: transparent effect and rolling bar effect. The output type of test pattern is controlled by register
ly
0x503D[1:0] register (test_pattern_type).
n
There are four types of color bars shown in figure 4-3. The output type of color the color bar can be selected by bar style
O
register 0x503D[3:2].
ly
u
color bar type 1 tr
color bar type 2
r
fo
l
a
ti
5647_DS_4_3
e
4.3.2 square
d
There are two types of square: color square and black-white square. Register 0x503D[4] (squ_bw) determines which
type of square will be output.
fi
ly
4.3.4 transparent effect
The transparent effect is enabled by register 0x503D[5] (transparent_mode). If this register is set, the transparent test
n
pattern will be gotten. figure 4-5 is a example which shows a transparent color bar image.
O
figure 4-5 transparent effect
ly
u
tr
r 5647_DS_4_5
The rolling bar is set by register 0x503D[6] (rolling_bar). If it is set, an inverted-color rolling bar will roll from up to down.
figure 4-6 is a example which shows a rolling bar on color bar image.
l
default
address register name value R/W description
ly
Bit[7]: test_pattern_en
0: Disable
1: Enable
n
Bit[6]: rolling_bar
0: Disable rolling bar
O
1: Enable rolling bar
Bit[5]: transparent_mode
0: Disable
1: Enable
ly
Bit[4]: squ_bw_mode
0x503D ISP CTRL3D 0x00 RW
0: Output square is color square
1: Output square is black-white square
u
Bit[3:2]: bar_style
When set to different value, the different
tr
type color bar will be output
Bit[1:0]: test_pattern_type
00: Color bar
01: Square
r
10: Random data
fo
Bit[6]: win_cut_en
Bit[5]: isp_test
0: Two lowest bits are 1
l
Bit[4]: rnd_same
0x503E ISP CTRL3E 0x00 RW
0: Frame changing random data
ti
pattern
1: Frame-fixed random data pattern
n
Bit[3:0]: rnd_seed
Initial seed for random data pattern
e
d
fi
n
o
C
When the integration time is not an integer multiple of the period of light intensity, the image will flicker. The function of
the detector is to detect whether the sensor is under a 50 Hz or 60 Hz light source so that the basic step of integration
ly
time can be determined. Contact your local OmniVision FAE for auto detection settings.
n
table 4-4 50/60 Hz detection control registers
O
default
address register name value R/W description
Bit[5:3]: 50/60 Hz detection control
ly
Contact local OmniVision FAE for
the correct settings
u
Bit[2]: band_def
50/60 HZ DETECTION Band50 default value
0x3C00 0x00 RW
CTRL00 0: 60 Hz as default value
tr
1: 50 Hz as default value
Bit[1:0]: 50/60 Hz detection control
Contact local OmniVision FAE for
r
the correct settings
fo
Bit[7]: band_man_en
Band detection manual mode
0: Manual mode disable
50/60 HZ DETECTION
0x3C01 0x00 RW 1: Manual mode enable
CTRL01
l
0x3C0B CTRL02
the correct settings
e
Bit[0]: band50
50/60 HZ DETECTION
0x3C0C – R 0: Detection result is 60 Hz
CTRL0C
1: Detection result is 50 Hz
d
fi
n
o
C
4.5.1 overview
ly
The Auto Exposure Control (AEC) and Auto Gain Control (AGC) allows the image sensor to adjust the image brightness
to a desired range by setting the proper exposure time and gain applied to the image. Besides automatic control,
exposure time and gain can be set manually from external control. The related registers are listed in table 4-5
n
O
table 4-5 AEC/AGC control function registers
default
address register name value R/W description
ly
0x3500 EXPOSURE 0x00 RW Bit[3:0]: Exposure[19:16]
u
0x3501 EXPOSURE 0x00 RW Bit[7:0]: Exposure[15:8]
tr
0x3502 EXPOSURE 0x20 RW Bit[7:0]: Exposure[7:0]
0: Auto enable
1: Manual enable
Bit[0]: AEC manual
ti
0: Auto enable
1: Manual enable
n
Bit[1:0]: Gain[9:8]
0x350A AGC 0x00 RW
e
Bit[7:0]: Gain[7:0]
d
Bit[7:0]: vts_diff[15:8]
0x350C VTS DIFF 0x06 RW
When in manual mode, set to 0x00
n
Bit[7:0]: vts_diff[7:0]
0x350D VTS DIFF 0x18 RW
When in manual mode, set to 0x00
o
C
ly
image change from unstable to stable state. The value of register WPT2 (0x3A1B) indicates the high threshold value for
image change from stable state to unstable state and the value of register BPT2 (0x3A1E) indicates the low threshold
n
value for image change from stable state to unstable state. When the target image luminance average value AVG
(0x5693) is within the range specified by registers WPT2 (0x3A1B) and BPT2 (0x3A1E), the AEC keeps the image
O
exposure and gain. When register AVG (0x5693) is greater than the value in register WPT2 (0x3A1B), the AEC will
decrease the image exposure and gain until it falls into the range of {0x3A10, 0x3A0F}. When register AVG (0x5693) is
less than the value in register BPT2 (0x3A1E), the AEC will increase the image exposure and gain until it falls into the
ly
range of {0x3A10, 0x3A0F}. Accordingly, the value in register WPT (0x3A0F) should be greater than the value in register
BPT (0x3A10). The value of register WPT2 should be no less than the value of register WPT(0x3A0F), and the value of
u
register BPT2 (0x3A1E) should be no greater than the value of BPT (0x3A10).
tr
The AEC function supports both manual and auto speed selections in order to bring the image exposure into the range
set by the values in registers WPT (0x3A0F) and BPT (0x3A10). For manual speed mode, the step is fixed and supports
both normal and fast modes. AEC set to normal mode will allow for the slowest step increment or decrement in the image
r
exposure to maintain the specified range. AEC set to fast mode will provide for an approximate ten-step increment or
fo
decrement in the image exposure to maintain the specified range. For auto speed mode, the step will automatically be
adjusted according to the difference between the target and present values. The auto ratio of steps can be set by register
bits AEC CTRL05[4:0] (0x3A05).
l
Register HIGH VPT (0x3A11) and register LOW VPT (0x3A1F) controls the fast AEC range in manual speed mode. If
a
the target image AVG (0x5693) is greater than HIGH VPT (0x3A11), AEC will decrease by half. If register AVG (0x5693)
is less than LOW VPT (0x3A1F), AEC will double, as shown in figure 4-7. These registers have no effect in auto speed
ti
mode.
n
0x3A11
d
fi
desired convergence
n
0x3A1F
5647_DS_4_7
default
address register name value R/W description
ly
Bit[7:0]: WPT
0x3A0F WPT 0x78 RW
Stable range high limit (enter)
n
Bit[7:0]: BPT
0x3A10 BPT 0x68 RW
Stable range low limit (enter)
O
Bit[7:0]: vpt_high
0x3A11 HIGH VPT 0xD0 RW Fast zone high limit when step ratio
auto mode is disabled
ly
Bit[7:0]: wpt2
0x3A1B WPT2 0x78 RW Stable range high limit
(from stable state to unstable state)
u
Bit[7:0]: bpt2
tr
0x3A1E BPT2 0x68 RW Stable range low limit
(from stable state to unstable state)
Bit[7:0]: vpt_low
r
0x3A1F LOW VPT 0x40 RW Fast zone low limit when step ratio
auto mode is disabled
fo
For the average-based AEC/AGC algorithm, the measured window is horizontally and vertically adjustable and divided
l
by sixteen (4x4) zones (see figure 4-5). Each zone (or block) is 1/16th of the image and has a 4-bit weight in calculating
a
the average luminance (YAVG). The final YAVG is the weighted average of the sixteen zones. The 4-bit weight could be
n/16 where n is from 0 to 15.
ti
n
e
d
fi
n
o
C
ly
figure 4-8 average-based window definition
n
sensor array size X
O
X
start HW
Y
ly
0 1 2 3
u
4 5 6 7 average
window
tr
VH 8 9 10 11 size
sensor array 12 13 14 15
size Y
r
fo
end
l
a
ti
5647_DS_4_8
n
register default
d
Bit[3:0]: x_start[11:8]
0x5680 XSTART 0x00 RW Horizontal start position for average window high
n
byte
Bit[7:0]: x_start[7:0]
o
0x5681 XSTART 0x00 RW Horizontal start position for average window low
byte
C
Bit[3:0]: y_start[11:8]
0x5682 YSTART 0x00 RW
Vertical start position for average window low byte
Bit[7:0]: y_start[7:0]
0x5683 YSTART 0x00 RW
Vertical start position for average window low byte
register default
address name value R/W description
ly
Bit[7:0]: Window X in manual average window mode
0x5685 X WINDOW 0x20 RW
low byte
n
Bit[3:0]: Window Y in manual average window mode
0x5686 Y WINDOW 0x07 RW
high byte
O
Bit[7:0]: Window Y in manual average window mode
0x5687 Y WINDOW 0x98 RW
low byte
ly
Bit[3:0]: Window0 weight
u
Bit[3:0]: Window2 weight
tr
0x568A WEIGHT02 0x11 RW
Bit[3:0]: Window4 weight
Bit[1]: avg_opt
Bit[0]: avg_man
e
AVG
0x5693 – R Bit[7:0]: avg value
fi
READOUT
n
o
C
The AEC and AGC work together to obtain adequate exposure/gain based on the current environmental illumination. In
order to achieve the best signal-to-noise ratio (SNR), extending the exposure time is always preferred rather than raising
ly
the gain when the current illumination is getting brighter. Vice versa, under dark conditions, the action to decrease the
gain is always taken prior to shortening the exposure time.
n
4.6.1 auto exposure control (AEC)
O
The function of the AEC is to calculate the necessary integration time of the next frame and send the information to the
timing control block. Based on the statistics of previous frames, the AEC is able to determine whether the integration time
should increase, decrease, fast increase, fast decrease, or remain the same.
ly
In extremely bright situations, the LAEC activates, allowing integration time to be less than one row. In extremely dark
situations, the night mode activates, allowing integration time to be larger than one frame.
u
To avoid image flickering under a periodic light source, the integration time can be adjusted in steps of integer multiples
tr
of the period of the light source.
4.6.2 LAEC
r
If the integration time is only one row period but the image is too bright, AEC will enter LAEC mode. LAEC ON/OFF can
fo
For a given light flickering frequency, the band step can be expressed in units of row period.
The band steps for 50Hz and 60Hz light sources can be set in registers {0x3A08[1:0], 0x3A09[7:0]} and {0x3A0A[1:0],
n
0x3A0B[7:0]}, respectively.
e
steps.
fi
and 8 frames in dark conditions. This is achieved by slowing down the original frame rate and waiting for exposure. Night
o
mode ceiling can be set in register bits 0x3A02[15:8], 0x3A03[7:0]. Night mode can be disabled by setting register bit
0x3A00[2] to 0. Also, when in night mode, the increase and decrease step can be based on band or frames, depending
C
on register 0x3A05[6]. The minimum increase/decrease step can be one band. The step can be based both on bands
and frames.
The pixel array contains several optically shielded (black) lines. These lines are used as reference for black level
calibration. There are three main functions of the BLC:
ly
• adjusting all normal pixel values based on the values of the black levels
• applying multiplication to all pixel values based on digital gain
n
O
table 4-8 BLC control functions
default
address register name value R/W description
ly
BLC Control
(0: disable, 1: enable)
u
Bit[7]: blc_median_filter_enable
0x4000 BLC CTRL00 0x89 RW Bit[3]: adc_11bit_mode
tr
Bit[2]: apply2blackline
Bit[1]: blackline_averageframe
Bit[0]:
r BLC enable
Bit[7]: format_change_en
format_change_i from fmt will be
fo
Bit[5]: one_line_mode
a
Bit[4]: remove_none_imagedata
Bit[3]: blc_man_1_en
Bit[2]: blackline_bggr_man_en
ti
0: bgbg/grgr is decided by
rblue/hswap
n
rblue/hswap
blc_always_up_en
d
0: Normal freeze
1: BLC always update
fi
ly
The strobe signal is programmable. It supports both LED and Xenon modes. The polarity of the pulse can be changed.
The strobe signal is enabled (turned high/low depending on the pulse’s polarity) by requesting the signal via the SCCB
interface. Flash modules are triggered by the rising edge by default or by the falling edge if the signal polarity is changed.
n
It supports the following flashlight modes (see table 4-9).
O
table 4-9 flashlight modes
ly
mode output AEC / AGC AWB
xenon one-pulse no no
u
LED 1 pulse no no
tr
LED 2 pulse no yes
After a strobe request is submitted, the strobe pulse will be activated at the beginning of the third frame (see figure 4-9).
l
The third frame will be correctly exposed. The pulse width can be changed in Xenon mode between 1H and 4H,
a
vertical
blanking
e
d
exposure
time
fi
data
n
out
o
strobe
request
C
strobe
pulse
request here zoomed
correctly strobe
exposed pulse
frame 1H 5647_DS_4_9
ly
programmable using registers {0x3A1C, 0x3A1D}.
n
figure 4-10 LED 1 & 2 mode - one pulse output
O
frame in is skipped
vertical
blanking
ly
exposure
u
time
tr
data
out
r
fo
strobe
request
start end
l
strobe
a
pulse
is programmable
exposed
frame
n
5647_DS_4_10
e
d
fi
n
o
C
frame in is skipped
vertical
ly
blanking
n
exposure
time
O
data
out
ly
strobe
request
start
u
strobe
tr
pulse
request here
correctly
exposed the number of skipped frames
frame is programmable
r
5647_DS_4_11
fo
vertical
blanking
n
e
exposure
time
d
data
fi
out
n
strobe
o
request
start end
C
strobe
signal
ly
In FREX mode, whole frame pixels start integration at the same time, rather than integrating row by row. After the
user-defined exposure time (0x3B01, 0x3B04, 0x3B05), the shutter closes, preventing further integration and the image
begins to read out. After the readout finishes, the shutter opens again and the sensor resumes normal mode, waiting for
n
the next FREX request.
O
The OV5647 supports two modes of FREX (see figure 4-13):
• mode 1: Frame exposure and shutter control requests come from the external system via the FREX pin. The sensor
will send a strobe output signal to control the flash light
ly
• mode 2: Frame exposure request comes from the external system via the SCCB register 0x3B08[0]. The sensor
will output two signals, shutter control signal through the FREX pin and strobe signal through the STROBE pin
u
figure 4-13 FREX modes
tr
mode 1
FREX
r
sensor
fo
STROBE
mode 2
l
FREX
a
SCCB sensor
STROBE
ti
5647_DS_4_13
n
In mode 1, the FREX pin is configured as an input while it is configured as an output in mode 2. In both mode 1 and mode
2, the strobe output is irrelevant with the rolling strobe function. When in rolling shutter mode, the strobe function and
e
ly
table 4-10 FREX strobe control functions
default
n
address register name value R/W description
O
Strobe Control
Bit[7]: Strobe request ON/OFF
0: OFF/BLC
1: ON
ly
Bit[6]: Strobe pulse reverse
Bit[3:2]: width_in_xenon
00: 1 row period
u
0x3B00 STROBE CTRL 0x00 RW 01: 2 row period
10: 3 row period
tr
11: 4 row period
Bit[1:0]: Strobe mode
00: xenon
01: LED 1
r
10: LED 2
fo
11: LED 3
FREX Control
Bit[7:6]: frex_pchg_width
e
Bit[3]: fx1_fm_en
Bit[2]: frex_inv
fi
The OV5647 supports a maximum of 256 bits of one-time programmable (OTP) memory to store chip identification and
manufacturing information. It can be controlled through the SCCB (see table 4-11).
ly
table 4-11 OTP control function registers (sheet 1 of 2)
n
O
default
address register name value R/W description
0x3D00 OTP_DATA_0 0x00 RW OTP Buffer 0
ly
0x3D01 OTP_DATA_1 0x00 RW OTP Buffer 1
u
0x3D03 OTP_DATA_3 0x00 RW OTP Buffer 3
tr
0x3D04 OTP_DATA_4 0x00 RW OTP Buffer 4
default
address register name value R/W description
ly
0x3D18 OTP_DATA_24 0x00 RW OTP Buffer 18
n
0x3D1A OTP_DATA_26 0x00 RW OTP Buffer 1A
O
0x3D1B OTP_DATA_27 0x00 RW OTP Buffer 1B
ly
0x3D1D OTP_DATA_29 0x00 RW OTP Buffer 1D
u
0x3D1F OTP_DATA_31 0x00 RW OTP Buffer 1F
tr
Bit[7]: OTP_wr_busy
Bit[1]: OTP_program_speed
0: Fast
OTP_PROGRAM_
0x3D20 0x00 RW 1: Slow
r
CTRL
Bit[0]: OTP_program_enable
fo
Bit[7]: OTP_rd_busy
Bit[1]: OTPspeed
l
0: Fast
a
ly
table 5-1 ISP general control registers (sheet 1 of 3)
n
default
O
address register name value R/W description
Bit[7]: lenc_en
0: Disable
ly
1: Enable
Bit[2]: bc_en
0x5000 ISP CTRL00 0xFF RW 0: Disable
u
1: Enable
Bit[1]: wc_en
tr
0: Disable
1: Enable
Bit[0]: awb_en
r
0x5001 ISP CTRL01 0x01 RW 0: Disable
fo
1: Enable
Bit[6]: win_en
0: Disable
1: Enable
l
Bit[1]: otp_en
a
Bit[0]: awb_gain_en
0: Disable
n
1: Enable
Bit[3]: buf_en
e
0: Disable
1: Enable
d
Bit[2]: bin_man_set
0x5003 ISP CTRL03 0x0A RW 0: Manual value as 0
fi
1: Manual value as 1
Bit[1]: bin_auto_en
n
0: Disable
1: Enable
o
Bit[4]: awb_bias_on
0: Disable AWB bias
C
default
address register name value R/W description
ly
Bit[5]: enable_opt
0: Not latched by VSYNC
1: Enable latched by VSYNC
n
Bit[4]: cal_sel
0x501F ISP CTRL1F 0x03 RW 0: DPC cal_start using SOF
O
1: DPC cal_start using VSYNC
Bit[2:0]: fmt_sel
010: ISP output data
011: ISP input data bypass
ly
Bit[1:0]: avg_sel
00: Inputs of AVG module are
u
from LENC output
01: Inputs of AVG module are
0x5025 ISP CTRL25 0x00 RW from AWB gain output
tr
10: Inputs of AVG module are
from DPC output
11: Inputs of AVG module are
r
from binning output
fo
Bit[7]: test_pattern_en
0: Disable
1: Enable
Bit[6]: rolling_bar
l
1: Enable
Bit[4]: squ_bw_mode
n
Bit[3:2]: bar_style
When set to a different value, a
fi
default
address register name value R/W description
ly
Bit[6]: win_cut_en
Bit[5]: isp_test
0: Two lowest bits are 1
n
1: Two lowest bits are 0
Bit[4]: rnd_same
O
0: Frame-changing random
0x503E ISP CTRL3E 0x00 RW
data pattern
1: Frame-fixed random data
pattern
ly
Bit[3:0]: rnd_seed
Initial seed for random data
pattern
u
Bit[3]: awbg_en
0: Disable
tr
1: Enable
0x5046 ISP CTRL46 0x09 RW
Bit[0]: isp_en
0: Disable
r
1: Enable
fo
ISP Control
(0: disable; 1: enable)
Bit[5]: post_binning h_enable
Bit[4]: post_binning v_enable
0x504B ISP CTRL4B 0x30 RW
l
Bit[3]: flip_man_en
a
Bit[2]: flip_man
Bit[1]: mirror_man_en
Bit[0]: Mirror
ti
n
e
d
fi
n
o
C
The main purpose of the LENC is to compensate for lens imperfection. According to the area where each pixel is located,
the module calculates a gain for the pixel, correcting each pixel with its gain calculated to compensate for the light
ly
distribution due to lens curvature. The LENC correcting curve automatic calculation according sensor gain is also added
so that the LENC can adapt with the sensor gain. Also, the LENC supports the subsample function in both horizontal and
n
vertical directions.
O
Registers 0x5888 ~ 0x588F need to change only when DSP input is not generated internally. In other words, the DSP
input is from an external sensor.
ly
table 5-2 LENC control registers (sheet 1 of 2)
default
u
address register name value R/W description
tr
Bit[7]: lenc_en
0x5000 ISP CTRL00 0x89 RW 0: Disable
1: Enable
r
0x583E MAX GAIN 0x40 RW Bit[7:0]: max_gain
fo
Bit[3]: ADDBLC
a
Bit[2]: blc_en
0x5841 LENC CTRL59 0x0D RW
0: Disable BLC function
1: Enable BLC function
e
Bit[1]: gain_man_en
Bit[0]: autoq_en
d
Bit[3:0]: br_hscale[11:8]
n
Bit[7:0]: br_hscale[7:0]
Reciprocal of horizontal step for
BR channel. BR channel in whole
0x5843 BR HSCALE 0x2B RW
image is divided into 5x5 blocks.
The step is used to point to the
border of the adjacent block
default
address register name value R/W description
ly
Bit[2:0]: br_vscale[10:8]
Reciprocal of vertical step for BR
channel. BR channel in whole
n
0x5844 BR VSCALE 0x01 RW
image is divided into 5x5 blocks.
The step is used to point to the
O
border of the adjacent block
Bit[7:0]: br_vscale[7:0]
Reciprocal of vertical step for BR
channel. BR channel in whole
ly
0x5845 BR VSCALE 0x8D RW
image is divided into 5x5 blocks.
The step is used to point to the
u
border of the adjacent block
Bit[3:0]: g_hscale[11:8]
tr
Reciprocal of horizontal step for G
channel. G channel in whole
0x5846 G HSCALE 0x01 RW
image is divided into 6x6 blocks.
The step is used to point to the
r
border of the adjacent block
fo
Bit[7:0]: g_hscale[7:0]
Reciprocal of horizontal step for G
channel. G channel in whole
0x5847 G HSCALE 0x8F RW
image is divided into 6x6 blocks.
l
Bit[2:0]: g_vscale[10:8]
Reciprocal of vertical step for G
n
Bit[7:0]: g_vscale[7:0]
Reciprocal of vertical step for G
fi
Due to processes and other reasons, pixel defects in the sensor array will occur. Thus, these bad or wounded pixels will
generate wrong color values. The main purpose of Defect Pixel Cancellation (DPC) function is to remove the effect
ly
caused by these bad or wounded pixels. Also, some special functions are available for those pixels located at the image
boundary. To remove the defect pixel effect correctly, the proper threshold should first be determined.
n
O
table 5-3 defect pixel cancellation registers
default
address register name value R/W description
ly
Bit[2]: bc_en
0: Disable
u
1: Enable
0x5000 ISP CTRL00 0xFF RW
Bit[1]: wc_en
tr
0: Disable
1: Enable
The main function of Auto White Balance (AWB) is the process of removing unrealistic color casts so that objects which
a
appear white in person are rendered white in the image or video. Thus, the AWB makes sure that the white color is
ti
always a white color in different color temperatures. It supports manual white balance and auto white balance. For auto
white balance, simple AWB is supplied. For auto white balance, the adjust option is also provided for the customer.
n
e
default
address register name value R/W description
fi
Bit[1]: awb_en
n
default
address register name value R/W description
ly
Bit[6]: fast_awb
0: Disable fast AWB calculation
function
n
1: Enable fast AWB calculation
function
O
Bit[5]: freeze_gain_en
When it is enabled, the output
AWB gains will be input AWB
gains
ly
Bit[4]: freeze_sum_en
When it is set, the sums and
averages value will be same as
0x5180 AWB CTRL 0x00 RW
u
previous frame
Bit[3]: gain_man_en
tr
0: Output calculated gains
1: Output manual gains set by
registers
Bit[2]: start_sel
r
0: Select the last HREF falling
fo
Bit[7]: delta_opt
Bit[6]: base_man_en
ti
Bit[7:0]: stable_rangew
0x5183 STABLE RANGEW 0x08 RW
d
MSB
LSB
MANUAL GREEN
0x5188 0x04 RW Bit[3:0]: grn_gain_man[11:8]
GAIN MSB
MANUAL GREEN
0x5189 0x00 RW Bit[7:0]: grn_gain_man[7:0]
GAIN LSB
default
address register name value R/W description
ly
MANUAL BLUE GAIN
0x518A 0x04 RW Bit[3:0]: blu_gain_man[11:8]
MSB
n
MANUAL BLUE GAIN
0x518B 0x00 RW Bit[7:0]: blu_gain_man[7:0]
LSB
O
Bit[7:4]: red_gain_up_limit
Bit[3:0]: red_gain_dn_limit
They are only the highest 4 bits of
limitation.
ly
0x518C RED GAIN LIMIT 0xF0 RW
Max red gain is
{red_gan_up_limit,FF}
Min red gain is
u
{red_gain_dn_limit,00}
tr
Bit[7:4]: green_gain_up_limit
Bit[3:0]: green_gain_dn_limit
They are only the highest 4 bits of
limitation.
r
0x518D GREEN GAIN LIMIT 0xF0 RW
Max green gain is
fo
{green_gan_up_limit,FF}
Min green gain is
{green_gain_dn_limit,00}
Bit[7:4]: blue_gain_up_limit
l
Bit[3:0]: blue_gain_dn_limit
a
CFA image subsample will suffer zig_zag issues around slant edges and color shift for it is an non-uniform method in
n
physical coordinate. Post binning will map these pixels to their physically correct location.
o
default
address register name value R/W description
0x5003 ISP CTRL3 0x0A RW Bit[2]: bin_en
Bit[5]: h_en
0x504B ISP CTRL75 0x30 RW
Bit[4]: v_en
ly
System control registers include clock, reset control, and PLL configure.
n
table 6-1 system control registers (sheet 1 of 4)
O
default
address register name value R/W description
ly
SC_CMMN_PAD_
0x3000 0x00 RW io_y_oen[11:8]
OEN0
u
SC_CMMN_PAD_
0x3001 0x00 RW io_y_oen[7:0]
OEN1
tr
Bit[7]: io_vsync_oen
Bit[6]: io_href_oen
Bit[5]: io_pclk_oen
r
SC_CMMN_PAD_ Bit[4]: io_frex_oen
0x3002 0x00 RW
OEN2 Bit[3]: io_strobe_oen
fo
Bit[2]: io_sda_oen
Bit[1]: io_gpio1_oen
Bit[0]: io_gpio0_oen
Bit[5:2]: SDIV
l
SC_CMMN_PLL_
0x3006 0x00 RW Clock divider for 50/60 Hz
a
CTR13
detection block
ti
SC_CMMN_PAD_
0x3008 0x00 RW Bit[3:0]: io_y_o[11:8]
OUT0
n
SC_CMMN_PAD_
0x3009 0x00 RW Bit[7:0]: io_y_o[7:0]
OUT1
e
Bit[7]: io_vsync_o
Bit[6]: io_href_o
o
Bit[5]: io_pclk_o
SC_CMMN_PAD_ Bit[4]: io_frex_o
0x300D 0x00 RW
OUT2 Bit[3]: io_strobe_o
C
Bit[2]: io_sda_o
Bit[1]: io_gpio1_o
Bit[0]: io_gpio0_o
SC_CMMN_PAD_
0x300E 0x00 RW Bit[3:0]: io_y_sel[11:8]
SEL0
default
address register name value R/W description
ly
SC_CMMN_PAD_
0x300F 0x00 RW Bit[7:0]: io_y_sel[7:0]
SEL1
n
Bit[7]: io_vsync_sel
Bit[6]: io_href_sel
O
Bit[5]: io_pclk_sel
SC_CMMN_PAD_ Bit[4]: io_frex_sel
0x3010 0x00 RW
SEL2 Bit[3]: io_strobe_sel
Bit[2]: io_sda_sel
Bit[1]: io_gpio1_sel
ly
Bit[0]: io_gpio0_sel
Bit[7]: pd_dato_en
u
Bit[6:5]: iP2X3v[3:2]
0x3011 SC_CMMN_PAD_PK 0x02 RW Bit[1]: frex_enb
tr
0: Enable
1: Disable
recommended
Bit[3]: bp_regulator
SC_CMMN_A_PWC_
0x3013 0x00 RW 0: Enable internal regulator
PK_O
1: Disable internal regulator
Bit[2:0]: Debug control
l
recommended
ti
Bit[7:6]: LPH
Bit[3]: mipi_pad_enable
e
Bit[1:0]: ictl[1:0]
Bias current adjustment
fi
Bit[7:6]: pgm_vcm[1:0]
High speed common mode
n
voltage
Bit[5:4]: pgm_lptx[1:0]
o
default
address register name value R/W description
ly
Bit[7:5]: mipi_lane_mode
0: One lane mode
1: Two lane mode
n
Bit[4]: r_phy_pd_mipi
1: Power donw PHY HS TX
O
Bit[3]: r_phy_pd_lprx
1: Power down PHY LP RX
module
Bit[2]: mipi_en
ly
SC_CMMN_MIPI_ 0: DVP enable
0x3018 0x58 RW
SC_CTRL 1: MIPI enable
Bit[1]: mipi_susp_reg
u
MIPI system Suspend register
1: suspend
tr
Bit[0]: lane_dis_op
0: Use mipi_release1/2 and
lane_disable1/2 to disable
two data lane
r
1: Use lane_disable1/2 to
fo
Bit[5]: fst_stby_ctr
a
v_blk
Bit[4]: mipi_ctr_en
n
SC_CMMN_MISC_
0x3021 0x23 RW 0: Disable the function
CTRL
Bit[3]: mipi_rst_sel
d
Bit[2]: gpio_pclk_en
Bit[1]: frex_ef_sel
Bit[0]: cen_global_o
o
Bit[3]: lptx_ck_opt
C
Bit[7:4]: Process
0x302A SC_CMMN_SUB_ID – R
Bit[3:0]: Version
default
address register name value R/W description
ly
Bit[6:4]: pll_charge_pump
Bit[3:0]: mipi_bit_mode
SC_CMMN_PLL_
0x3034 0x1A RW 0000: 8 bit mode
n
CTRL0
0001: 10 bit mode
Others: Reserved to future use
O
Bit[7:4]: system_clk_div
Will slow down all clocks
SC_CMMN_PLL_ Bit[3:0]: scale_divider_mipi
0x3035 0x11 RW
CTRL1 MIPI PCLK/SERCLK can be
ly
slowed down when image is
scaled down
u
Bit[7:0]: PLL_multiplier (4~252) can be
SC_CMMN_PLL_
0x3036 0x69 RW any integer during 4~127 and only
MULTIPLIER
tr
even integer during 128~252
Bit[4]: pll_root_div
0: Bypass
r
SC_CMMN_PLL_
0x3037 0x03 RW 1: /2
CTR13
fo
Bit[3:0]: pll_prediv
1, 2, 3, 4, 6, 8
SC_CMMN_PLL_
0x3039 0x00 RW Bit[7]: pll_bypass
CTRL_R
l
a
SC_CMMN_PLLS_
0x303A 0x00 RW Bit[7]: plls_bypass
CTRL0
ti
SC_CMMN_PLLS_
0x303B 0x19 RW Bit[4:0]: plls_multiplier
CTRL1
n
Bit[5:4]: plls_pre_div
d
00: /1
01: /1.5
fi
10: /2
11: /3
n
Bit[2]: plls_div_r
SC_CMMN_PLLS_
0x303D 0x30 RW 0: /1
CTRL3
o
1: /2
Bit[1:0]: plls_seld5
00: /1
C
01: /1
10: /2
11: /2.5
6.2 SCCB
ly
default
address register name value R/W description
n
Bit[3]: r_sda_dly_en
0x3100 SCCB CTRL 0x00 RW
Bit[2:0]: r_sda_dly
O
Bit[4]: en_ss_addr_inc
Bit[3]: r_sda_byp_sync
0: Two clock stage SYNC
for sda_i
ly
1: No sync for sda_i
0x3101 SCCB OPT 0x12 RW Bit[2]: r_scl_byp_sync
0: Two clock stage SYNC
u
for scl_i
1: No sync for scl_i
tr
Bit[1]: r_msk_glitch
Bit[0]: r_msk_stop
Bit[7:4]: r_sda_num
r
0x3102 SCCB FILTER 0x00 RW
Bit[3:0]: r_scl_num
fo
Bit[6]: ctrl_rst_mipisc
Bit[5]: ctrl_rst_srb
Bit[4]: ctrl_rst_sccb_s
0x3103 SCCB SYSREG 0x00 RW Bit[3]: ctrl_rst_pon_sccb_s
l
Bit[2]: ctrl_rst_clkmod
a
Bit[1]: ctrl_rst_mipi_phy_rst_o
Bit[0]: ctrl_pll_rst_o
ti
Bit[4]: r_srb_clk_syn_en
n
Bit[3]: pwup_dis2
0x3104 PWUP DIS 0x01 RW Bit[2]: pwup_dis1
Bit[1]: pll_clk_sel
e
Bit[0]: pwup_dis0
d
00: pll_sclk
01: pll_sclk/2
o
10: pll_sclk/4
0x3106 SRB CTRL 0xF9 RW 11: pll_sclk
C
Bit[1]: rst_arb
1: Reset arbiter
Bit[0]: sclk_arb
1: Enable SCLK to arbiter
The OV5647 supports group register write with up to four groups. Each group could have up to 16 registers.
ly
Example settings:
n
6C 0x3503 0x03; register 1
O
6C 0x3501 0x7A; register 2
ly
6C 0x3208 0x10; Group 0 end
u
tr
table 6-3 group hold control registers
default
r
address register name value R/W description
fo
Bit[7:4]: Group_ctrl
0000: Enter group write mode
0001: Exit group write mode
o
0000: Group 0
0001: Group 1
0010: Group 2
0011: Group 3
ly
default
address register name value R/W description
n
0x3800 TIMING_X_ADDR_START 0x00 RW Bit[3:0]: x_addr_start[11:8]
O
0x3801 TIMING_X_ADDR_START 0x0C RW Bit[7:0]: x_addr_start[7:0]
ly
0x3804 TIMING_X_ADDR_END 0x0A RW Bit[3:0]: x_addr_end[11:8]
u
0x3805 TIMING_X_ADDR_END 0x33 RW Bit[7:0]: x_addr_end[7:0]
tr
0x3807 TIMING_Y_ADDR_END 0xA3 RW Bit[7:0]: y_addr_end[7:0]
Bit[7:4]: h_odd_inc
o
default
address register name value R/W description
ly
Bit[7:4]: v_odd_inc
Vertical subsample odd increase
number
n
0x3815 TIMING_Y_INC 0x11 RW
Bit[3:0]: v_even_inc
Vertical subsample even increase
O
number
ly
0x3818 TIMING_HSYNCW 0x00 RW Bit[3:0]: HSYNC window[11:8]
u
0x3819 TIMING_HSYNCW 0x00 RW Bit[7:0]: HSYNC window[7:0]
Bit[2]: r_vflip_isp
tr
0x3820 TIMING_TC_REG20 0x40 RW Bit[1]: r_vflip_snr
r Bit[0]: r_vbin
Bit[2]: r_mirror_isp
0x3821 TIMING_TC_REG21 0x00 RW Bit[1]: r_mirror_snr
fo
Bit[0]: r_hbin
6.5 strobe
ti
default
e
Bit[6]: Reverse
Bit[3:2]: width_in_xenon
fi
01: LED1
10: LED2
o
11: LED3
default
address register name value R/W description
ly
Bit[7:6]: frex_pchg_width
0x3B06 STROBE_FREX_CTRL0 0x04 RW Bit[5:4]: frex_strobe_option
Bit[3:0]: frex_strobe_width[3:0]
n
Bit[4]: frex_sa1
O
Bit[3]: fx1_fm_en
Bit[2]: frex_inv
0x3B07 STROBE_ FREX_MODE_SEL 0x08 RW Bit[1:0]: Frex mode select
00: frex_strobe mode 0
01: frex_strobe mode 1
ly
1x: Rolling strobe
u
0x3B09 FREX_SHUTTER_DELAY 0x00 RW Bit[2:0]: FREX end option
tr
0x3B0A STROBE_FREX_RST_LENGTH 0x04 RW Bit[2:0]: frex_rst_length[2:0]
Frame control (FC) is used to mask some specified frame by setting the appropriate registers.
ly
table 6-6 frame control registers
n
default
address register name value R/W description
O
Bit[2]: fcnt_eof_sel
0x4200 FRAME CONTROL00 0x00 RW Bit[1]: fcnt_mask_dis
Bit[0]: Frame counter reset
ly
Control Passed Frame Number
Bit[3:0]: Frame ON number
0x4201 FRAME CONTROL01 0x00 RW
u
When both ON and OFF numbers are set
to 0x00, frame control is in bypass mode
tr
Control Masked Frame Number
Bit[3:0]: Frame OFF number
0x4202 FRAME CONTROL02 0x00 RW
When both ON and OFF numbers are set
r
to 0x00, frame control is in bypass mode
fo
Bit[6]: rblue_mask_dis
Bit[5]: data_mask_dis
Bit[4]: valid_mask_dis
0x4203 FRAME CONTROL03 0x00 RW Bit[3]: href_mask_dis
Bit[2]: eof_mask_dis
l
Bit[1]: sof_mask_dis
a
Bit[0]: all_mask_dis
ti
The Digital Video Port (DVP) provides 10-bit parallel data output in all formats supported and extended features including
compression mode, HSYNC mode, CCIR656 mode, and test pattern output.
d
fi
default
address register name value R/W description
o
default
address register name value R/W description
ly
Bit[7:0]: VSYNC length in terms of pixel
0x4703 DVP_HSYVSY_NEG_WIDTH 0x00 RW
count[7:0]
n
Bit[3:2]: r_vsyncount_sel
0x4704 DVP VSYNC MODE 0x00 RW Bit[1]: r_vsync3_mod
O
Bit[0]: r_vsync2_mod
Bit[7:0]: eof_vsync_delay[23:16]
0x4705 DVP_EOF_VSYNC DELAY 0x00 RW SOF/EOF negative edge to
VSYNC positive edge delay
ly
Bit[7:0]: eof_vsync_delay[15:8]
0x4706 DVP_EOF_VSYNC DELAY 0x00 RW SOF/EOF negative edge to
u
VSYNC positive edge dealy
Bit[7:0]: eof_vsync_delay[7:0]
tr
0x4707 DVP_EOF_VSYNC DELAY 0x00 RW SOF/EOF negative edge to
r VSYNC positive edge delay
ly
(1)
VSYNC
n
(2) (3) (4) (5)
O
(7)
HREF
(6)
ly
D[9:0] invalid data
5647_DS_6_1
u
table 6-8 DVP timing specifications (sheet 1 of 2)
tr
note mode timing
The timing values
shown in table 6-8 may (1) 5313600 tp(2700x1968)
r
vary depending upon (2) 2956 tp
fo
1080p
(4) 2048 tp
1920x1080
(5) 24504 tp
n
(6) 1920 tp
(7) 128 tp
e
(3) 12872 tp
960p
(4) 2048 tp
1280x960
(5) 34744 tp
fi
(6) 1280 tp
(7) 768 tp
n
(3) 21064 tp
720p
(4) 2048 tp
1280x720
C
(5) 26552 tp
(6) 1280 tp
(7) 768 tp
mode timing
(1) 1032192 tp (2048x504)
ly
(2) 2304 tp
(3) 13512 tp
VGA
(4) 2048 tp
640x480
n
(5) 34744 tp
(6) 640 tp
(7) 1408 tp
O
(1) 540672 tp (2048x264)
(2) 2304 tp
(3) 13832 tp
QVGA
(4) 2048 tp
ly
320x240
(5) 34744 tp
(6) 320 tp
(7) 1728 tp
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
MIPI provides a single uni-directional clock lane and two bi-directional data lane solution for communication links
between components inside a mobile device. The two data lanes have full support for HS (uni-directional) and LP
ly
(bi-directional) data transfer mode.
n
table 6-9 MIPI transmitter registers (sheet 1 of 8)
O
default
address register name value R/W description
MIPI Control 00
ly
Bit[7]: mipi_hs_only
0: MIPI can support CD and ESCAPE
u
mode
1: MIPI always in High Speed mode
Bit[6]: ck_mark1_en
tr
1: Enable clock lane mark1 when
resume
Bit[5]: Clock lane gate enable
r
0: Clock lane is free running
1: Gate clock lane when no packet to
fo
transmit
Bit[4]: Line sync enable
0: Do not send line short packet for
each line
0x4800 MIPI CTRL 00 0x04 RW
l
packet to transmit
Bit[1]: Clock lane first bits
d
0: Output 0x55
1: Output 0xAA
fi
mode
o
C
default
address register name value R/W description
ly
MIPI Control 01
Bit[7]: Long packet data type manual enable
0: Use mipi_dt
n
1: Use dt_man_o as long packet data
(see register 0x4814[5:0])
O
Bit[6]: Short packet data type manual enable
1: Use dt_spkt as short packet data
(see register 0x4815[5:0])
Bit[5]: Short packet WORD COUNTER manual
ly
enable
0: Use frame counter or line counter
1: Select spkt_wc_reg_o
u
(see {0x4812, 0x4813})
Bit[4]: PH bit order for ECC
tr
0: {DI[7:0],WC[7:0],WC[15:8]}
0x4801 MIPI CTRL 01 0x0F RW
1: {DI[0:7],WC[0:7],WC[8:15]}
Bit[3]: PH byte order for ECC
0: {DI,WC_l,WC_h}
r
1: {DI,WC_h,WC_l}
fo
mipi_sys_susp =1
Bit[0]: mark1_en2
ti
when mipi_sys_susp=1
e
d
fi
n
o
C
default
address register name value R/W description
ly
MIPI Control 02
Bit[7]: hs_prepare_sel
0: Auto calculate T_hs_prepare, unit
n
pclk2x
1: Use hs_prepare_min_o[7:0]
O
Bit[6]: clk_prepare_sel
0: Auto calculate T_clk_prepare, unit
pclk2x
1: Use clk_prepare_min_o[7:0]
ly
Bit[5]: clk_post_sel
0: Auto calculate T_clk_post, unit
pclk2x
u
1: Use clk_post_min_o[7:0]
Bit[4]: clk_trail_sel
tr
0x4802 MIPI CTRL 02 0x00 RW 0: Auto calculate T_clk_trail, unit pclk2x
1: Use clk_trail_min_o[7:0]
Bit[3]: hs_exit_sel
0: Auto calculate T_hs_exit, unit pclk2x
r
1: Use hs_exit_min_o[7:0]
fo
Bit[2]: hs_zero_sel
0: Auto calculate T_hs_zero, unit pclk2x
1: Use hs_zero_min_o[7:0]
Bit[1]: hs_trail_sel
0: Auto calculate T_hs_trail, unit pclk2x
l
1: Use hs_trail.min_o[7:0]
a
Bit[0]: clk_zero_sel
0: Auto calculate T_clk_zero, unit
ti
pclk2x
1: Use clk_zero_min_o[7:0]
n
MIPI Control 03
Bit[7:6]: lp_glitch_nu
e
0: Use 2d of lp_in
1: Mask one sclk cycle glitch of lp_in
d
Bit[5:4]: cd_glitch_nu
0: Use 2d of lp_cd_in
fi
1: Enable
Bit[2]: Enable CD plus of data lane2
0: Disable
C
1: Enable
Bit[1]: Enable CD of data_lane1 from PHY
0: Disable
1: Enable
Bit[0]: Enable CD of data_lane2 from PHY
0: Disable
1: Enable
default
address register name value R/W description
ly
MIPI Control 04
Bit[7]: wait_pkt_end
1: Wait HS packet end when send UL
n
command
Bit[6]: tx_lsb_first
O
0: lp_tx and lp_rx high bit first
1: Low power transmit low bit first
Bit[5]: dir_recover_sel
0: Auto change to output only when
ly
TurnAround command
1: Auto change to output when LP11
and GPIO is output
u
Bit[4]: mipi_reg_en
0: Disable MIPI_REG_P to access
tr
0x4804 MIPI CTRL 04 0x8D RW registers, LP data will write to VFIFO
1: Enable MIPI_REG_P to access
registers
Bit[3]: Address read/write register will auto add 1
r
0: Disable
fo
1: Enable
Bit[2]: LP TX lane select
0: Select lane1 to transmit LP data
1: Select lane2 to transmit LP data
Bit[1]: wr_first_byte
l
byte) to RAM
Bit[0]: rd_ta_en
ti
default
address register name value R/W description
ly
MIPI Control 05
Bit[7]: MIPI lane1 disable
1: Disable MIPI data lane1, lane1 will be
n
LP00
Bit[6]: MIPI lane2 disable
O
1: Disable MIPI data lane2, lane2 will be
LP00
Bit[5]: lpx_p_sel
0: Automatically calculate t_lpx_o in
ly
pclkex domain, unit pclk2x
1: Use lp_p_min[7:0]
Bit[4]: lp_rx_intr_sel
u
0x4805 MIPI CTRL 05 0x10 RW 0: Send lp_rx_intr_o at the first byte
1: Send lp_rx_intr_o at the end of
tr
receiving
Bit[3]: cd_tst_sel
1: Select PHY test pins
Bit[2]: mipi_reg_mask
r
1: Disable MIPI access SRB
fo
registers
a
Bit[7]: prbs_en
ti
Test mode
Bit[6]: mipi_test
n
Bit[5]: mipi_lp_op
0: Use new option to reduce
mipi_lptx_p
e
Bit[4]: two_lane_man_en
1: Use two_lane_man to manually
d
control two_lane_mode
0x4806 MIPI REG RW CTRL 0x28 RW Bit[3]: two_lane_man
fi
Bit[2]: rst_rtn_en
1: Change to input to allow host RW
n
default
address register name value R/W description
ly
MIPI MAX FRAME High Byte of Max Frame Count of Frame Sync Short
0x4810 0xFF RW
COUNT Packet
n
MIPI MAX FRAME Low Byte of Max Frame Count of Frame Sync Short
0x4811 0xFF RW
COUNT Packet
O
MIPI Control 14
0x4814 MIPI CTRL14 0x2A RW Bit[7:6]: Virtual channel of MIPI
Bit[5:0]: Data type in manual mode
ly
Bit[6]: pclk_div
0: Use rising edge of mipi_pclk_o to
generate MIPI bus to PHY
0x4815 MIPI_DT_SPKT 0x00 RW
u
1: Use falling edge of mipi_pclk_o to
generate MIPI bus to PHY
tr
Bit[5:0]: Manual data type for short packet
0x481A HS_TRAIL_MIN 0x00 RW High byte of the minimum value for hs_trail, unit ns
l
0x481C CLK_ZERO_MIN 0x01 RW High byte of the minimum value for clk_zero, unit ns
Bit[1:0]: clk_prepare_min[9:8]
Bit[1:0]: clk_post_min[9:8]
default
address register name value R/W description
ly
High byte of the minimum value for lpx_p, unit ns
0x4824 LPX_P_MIN 0x00 RW
Bit[1:0]: lpx_p_min[9:8]
n
Low byte of the minimum value for lpx_p
0x4825 LPX_P_MIN 0x32 RW
lpx_p_real = lpx_p_min_o + Tui*ui_lpx_p_min_o
O
High byte of the minimum value for hs_prepare, unit ns
0x4826 HS_PREPARE_MIN 0x00 RW
Bit[1:0]: hs_prepare_min[9:8]
ly
0x4827 HS_PREPARE_MIN 0x32 RW hs_prepare_real = hs_prepare_min_o +
Tui*ui_hs_prepare_min_o
u
Low byte of the minimum value for hs_prepare
0x4827 HS_PREPARE_MIN 0x32 RW hs_prepare_real = hs_prepare_min_o +
Tui*ui_hs_prepare_min_o
tr
High byte of the minimum value for hs_exit, unit ns
0x4828 HS_EXIT_MIN 0x00 RW
Bit[1:0]: hs_exit_min[9:8]
r
Low byte of the minimum value for hs_exit
0x4829 HS_EXIT_MIN 0x64 RW
fo
UI_CLK_PREPARE_
ti
UI_HS_PREPARE_
0x4831 0x04 RW Minimum UI Value of hs_prepare, unit UI
fi
MIN
0x4834 MIPI_REG_MIN 0x00 RW MIPI register address, lower bound (low byte)
0x4835 MIPI_REG_MAX 0xFF RW MIPI register address, upper bound (high byte)
0x4836 MIPI_REG_MAX 0xFF RW MIPI register address, upper bound (low byte)
default
address register name value R/W description
ly
0x4838 WKUP_DLY 0x02 RW Wakeup delay for MIPI
n
Bit[7:4]: t_lpx, unit: sclk cycles
0x483C MIPI CTRL 33 0x4F RW
O
Bit[3:0]: t_clk_pre, unit: sclk cycles
t_ta_go
0x483D MIPI_T_TA_GO 0x10 RW
Unit: SCLK cycles
ly
t_ta_sure
0x483E MIPI_T_TA_SURE 0x06 RW
Unit: SCLK cycles
u
t_ta_get
0x483F MIPI_T_TA_GET 0x14 RW
Unit: SCLK cycles
tr
Bit[0]: PCLK divider
0: PCLK/SCLK = 2
0x4843 SNR_PCLK_DIV 0x00 RW and pclk_div = 1
1: PCLK/SCLK = 1
r
and pclk_div = 1
fo
Bit[5]: lp_rx_sel_i
1: MIPI_LP_RX receives LP data
d
Bit[4]: tx_busy_i
1: MIPI_TX_LP_TX is busy to send LP
fi
data
Bit[3]: mipi_lp_p1_i
n
ly
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
7 register tables
The following tables provide descriptions of the device control registers contained in the OV5647. For all registers
enable/disable bits, ENABLE = 1 and DISABLE = 0. The device slave addresses are 0x6C for write and 0x6D for read.
ly
table 7-1 system control registers (sheet 1 of 5)
n
O
default
address register name value R/W description
SC_CMMN_PAD_ Bit[7:4]: io_y_oen[11:8]
0x3000 0x00 RW
OEN0 Bit[3:0]: Not used
ly
SC_CMMN_PAD_
0x3001 0x00 RW Bit[7:0]: io_y_oen[7:0]
OEN1
u
Bit[7]: io_vsync_oen
tr
Bit[6]: io_href_oen
Bit[5]: io_pclk_oen
SC_CMMN_PAD_ Bit[4]: io_frex_oen
0x3002 0x00 RW
OEN2 Bit[3]: io_strobe_oen
r
Bit[2]: io_sda_oen
fo
Bit[1]: io_gpio1_oen
Bit[0]: io_gpio0_oen
0x3003~
DEBUG MODE – – Debug Mode
0x3005
l
a
Bit[5:2]: SDIV
SC_CMMN_PLL_
0x3006 0x00 RW Clock divider for 50/60 Hz
n
CTR13
detection block
Bit[1:0]: Debug control
e
SC_CMMN_PAD_
0x3009 0x00 RW Bit[7:0]: io_y_o[7:0]
o
OUT1
default
address register name value R/W description
ly
Bit[7]: io_vsync_o
Bit[6]: io_href_o
Bit[5]: io_pclk_o
n
SC_CMMN_PAD_ Bit[4]: io_frex_o
0x300D 0x00 RW
OUT2 Bit[3]: io_strobe_o
O
Bit[2]: io_sda_o
Bit[1]: io_gpio1_o
Bit[0]: io_gpio0_o
ly
SC_CMMN_PAD_ Changing these registers is not
0x300E 0x00 RW
SEL0 recommended
u
Bit[3:0]: io_y_sel[11:8]
SC_CMMN_PAD_
0x300F 0x00 RW Bit[7:0]: io_y_sel[7:0]
tr
SEL1
Bit[7]: io_vsync_sel
Bit[6]: io_href_sel
r
Bit[5]: io_pclk_sel
fo
Bit[7]: pd_dato_en
Bit[6:5]: iP2X3v[3:2]
ti
0: Enable
1: Disable
e
Bit[3]: bp_regulator
SC_CMMN_A_PWC_P
0x3013 0x00 RW 0: Enable internal regulator
K_O
1: Disable internal regulator
o
recommended
default
address register name value R/W description
ly
Bit[7:6]: lph
Bit[5:4]: Not used
Bit[3]: mipi_pad_enable
n
SC_CMMN_MIPI_
0x3016 0x00 RW Bit[2]: pgm_bp_hs_en_lat
PHY
Bypass the latch of hs_enable
O
Bit[1:0]: ictl[1:0]
Bias current adjustment
Bit[7:6]: pgm_vcm[1:0]
High speed common mode
ly
voltage
Bit[5:4]: pgm_lptx[1:0]
u
Driving strength of low speed
transmitter 01
Bit[3]: ihalf
tr
0x3017 SC_CMMN_MIPI_PHY 0x10 RW
Bias current reduction
Bit[2]: pgm_vicd
CD input low voltage
r
Bit[1]: pgm_vih
CD input high voltage-dummy
fo
Bit[0]: pgm_hs_valid
Valid delay-dummy
Bit[7:5]: mipi_lane_mode
l
0: Not used
1: Power down PHY LP RX
e
module
Bit[6]: mipi_en
d
Bit[5]: mipi_susp_reg
MIPI system suspend register
n
0: Not used
1: Suspend
Bit[4]: lane_dis_op
o
default
address register name value R/W description
ly
0x301A~
DEBUG MODE – – Debug Mode
0x3020
n
Bit[7:6]: Not used
Bit[5]: fst_stby_ctr
O
0: Software standby enter at
v_blk
1: Software standby enter at
l_blk
Bit[4]: mipi_ctr_en
ly
1: Enable MIPI remote reset
SC_CMMN_MISC_ and suspend control SC
0x3021 0x23 RW
u
CTRL 0: Disable the function
Bit[3]: mipi_rst_sel
0: MIPI remote reset all
tr
registers
1: MIPI remote reset all digital
modules
r
Bit[2]: gpio_pclk_en
Bit[1]: frex_ef_sel
fo
Bit[0]: cen_global_o
Bit[1]: pull_down_data_lane2
Bit[0]: pull_down_data_lane1
ti
Bit[7:4]: Process
0x302A SC_CMMN_SUB_ID – R
Bit[3:0]: Version
n
Bit[6:4]: pll_charge_pump
SC_CMMN_PLL_ Bit[3:0]: mipi_bit_mode
0x3034 0x1A RW
CTRL0 0000: 8 bit mode
d
0x3036 0x69 RW
MULTIPLIER and only even integer during
128~252
C
default
address register name value R/W description
ly
SC_CMMN_PLL_ Bit[7]: pll_mult_debug_en
0x3038 0x00 RW
DEBUG_OPT Bit[1:0]: pll_mult1_debug
n
SC_CMMN_PLL_ Bit[7]: pll_bypass
0x3039 0x00 RW
CTRL_R Bit[6:0]: Not used
O
SC_CMMN_PLLS_ Bit[7]: plls_bypass
0x303A 0x00 RW
CTRL0 Bit[6:0]: Not used
ly
CTRL1 Bit[4:0]: plls_multiplier
u
CTRL2 Bit[3:0]: plls_sys_div
tr
Bit[5:4]: plls_pre_div
00: /1
01: /1.5
r
10: /2
11: /3
fo
00: /1
a
01: /1
10: /2
ti
11: /2.5
0x3040~
n
default
fi
Bit[2:0]: r_sda_dly
default
address register name value R/W description
ly
Bit[7:5]: en_ss_addr_inc
Bit[4]: en_ss_addr_inc
Bit[3]: r_sda_byp_sync
n
0: Two clock stage SYNC for
sda_i
O
1: No SYNC for sda_i
0x3101 SCCB OPT 0x12 RW
Bit[2]: r_scl_byp_sync
0: Two clock stage sync for
scl_i
ly
1: No sync for scl_i
Bit[1]: r_msk_glitch
Bit[0]: r_msk_stop
u
Bit[7:4]: r_sda_num
0x3102 SCCB FILTER 0x00 RW
Bit[3:0]: r_scl_num
tr
Bit[7]: Not used
Bit[6]: ctrl_rst_mipisc
Bit[5]: ctrl_rst_srb
r
Bit[4]: ctrl_rst_sccb_s
fo
Bit[4]: r_srb_clk_syn_en
Bit[3]: pwup_dis2
ti
Bit[0]: pwup_dis0
e
00: pll_sclk
01: pll_sclk/2
o
10: pll_sclk/4
11: pll_sclk
0x3106 SRB CTRL 0xF9 RW
Bit[1]: rst_arb
C
0: Not used
1: Reset arbiter
Bit[0]: sclk_arb
0: Not used
1: Enable SCLK to arbiter
default
address register name value R/W description
ly
0x3200 SRM_GRUP_ADR0 0x00 RW srm_group_adr0
n
0x3200 GROUP ADR0 0x00 RW
address is {0x3200[3:0], 0x0}
O
Group1 Start Address in SRAM, actual
0x3201 GROUP ADR1 0x04 RW
address is {0x3201[3:0], 0x0}
ly
Group3 Start Address in SRAM, actual
0x3203 GROUP ADR3 0x0B RW
address is {0x3203[3:0], 0x0}
u
0x3204 GROUP LEN0 – R Length of Group0
tr
0x3205 GROUP LEN1 – R Length of Group1
Bit[7:4]: Group_ctrl
0000: Enter group write mode
0001: Exit group write mode
1010: Initiate group write
l
0000: Group 0
0001: Group 1
ti
0010: Group 2
0011: Group 3
n
default
address register name value R/W description
ly
Bit[7:4]: Not used
0x3500 EXPOSURE 0x00 RW
Bit[3:0]: Exposure[19:16]
n
0x3501 EXPOSURE 0x00 RW Bit[7:0]: Exposure[15:8]
O
0x3502 EXPOSURE 0x20 RW Bit[7:0]: Exposure[7:0]
ly
01: Gain delay of 1 frame
11: Gain delay of 2 frames
Bit[2]: VTS manual
u
0: Auto enable
0x3503 MANUAL CTRL 0x00 RW
1: Manual enable
tr
Bit[1]: AGC manual
0: Auto enable
1: Manual enable
r
Bit[0]: AEC manual
0: Auto enable
fo
1: Manual enable
Bit[7:0]: Gain[7:0]
0x350B AGC 0x00 RW
AGC real gain output low byte
ti
Bit[7:0]: vts_diff[15:8]
0x350C VTS DIFF 0x06 RW
n
Bit[7:0]: vts_diff[7:0]
e
default
address register name value R/W description
o
TIMING_X_ADDR_
0x3801 0x0C RW Bit[7:0]: x_addr_start[7:0]
START
TIMING_Y_ADDR_
0x3803 0x04 RW Bit[7:0]: y_addr_start[7:0]
START
default
address register name value R/W description
ly
TIMING_X_ADDR_ Bit[7:4]: Debug mode
0x3804 0x0A RW
END Bit[3:0]: x_addr_end[11:8]
n
TIMING_X_ADDR_
0x3805 0x33 RW Bit[7:0]: x_addr_end[7:0]
END
O
TIMING_Y_ADDR_ Bit[7:4]: Debug mode
0x3806 0x07 RW
END Bit[3:0]: y_addr_end[11:8]
TIMING_Y_ADDR_
0x3807 0xA3 RW Bit[7:0]: y_addr_end[7:0]
ly
END
u
SIZE Bit[3:0]: DVP output horizontal width[11:8]
TIMING_X_OUTPUT_
tr
0x3809 0x20 RW Bit[7:0]: DVP output horizontal width[7:0]
SIZE
TIMING_Y_OUTPUT_
0x380B 0x98 RW Bit[7:0]: DVP output vertical height[7:0]
SIZE
Bit[7:4]: h_odd_inc
o
Bit[3:0]: h_even_inc
Horizontal subsample even
increase number
default
address register name value R/W description
ly
Bit[7:4]: v_odd_inc
Vertical subsample odd increase
number
n
0x3815 TIMING_Y_INC 0x11 RW
Bit[3:0]: v_even_inc
Vertical subsample even increase
O
number
ly
0x3817 TIMING_HSYNCST 0x00 RW Bit[7:0]: HSYNCstart point[7:0]
u
Bit[3:0]: HSYNC window[11:8]
tr
Bit[7]: Not used
Bit[6:4]: For testing only
r
Bit[3]: Not used
0x3820 TIMING_TC_REG20 0x40 RW
Bit[2]: r_vflip_isp
fo
Bit[1]: r_vflip_snr
Bit[0]: r_vbin
Bit[0]: r_hbin
n
0x3822~
DEBUG MODE – – Debug Mode
0x3834
e
d
fi
n
o
C
default
address register name value R/W description
ly
Bit[7]: Not used
Bit[6]: Less one line mode
n
Bit[5]: Band function
Bit[4]: Band low limit mode
0x3A00 AEC CTRL00 0x78 RW
O
Bit[3]: start_sel
Bit[2]: Night mode
Bit[1]: Not used
Bit[0]: Freeze
ly
0x3A01 MIN EXPO 0x01 RW Bit[7:0]: min expo
u
0x3A03 MAX EXPO 60 0x80 RW Bit[7:0]: max expo[7:0]
tr
Bit[7]: f50_reverse
0: Hold 50, 60Hz detect input
1: Switch 50, 60Hz detect input
r
Bit[6]: frame_insert
0: In night mode, insert frame
fo
disable
1: In night mode, insert frame
0x3A05 AEC CTRL05 0x30 RW
enable
Bit[5]: step_auto_en
l
1: Step auto_mode
Bit[4:0]: step_auto_ratio
ti
Bit[7:4]: step_man2
Step manual, slow step
fi
step
o
default
address register name value R/W description
ly
Bit[7:4]: e1_max
Decimal line high limit zone
0x3A0C AEC CTRL0C 0xE4 RW
Bit[3:0]: e1_min
n
Decimal line low limit zone
O
Bit[7:6]: Not used
0x3A0D B60 MAX 0x08 RW
Bit[5:0]: b60_max
ly
Bit[7:0]: WPT
0x3A0F WPT 0x78 RW
Stable range high limit (enter)
u
Bit[7:0]: BPT
0x3A10 BPT 0x68 RW
Stable range low limit (enter)
tr
0x3A11 HIGH VPT 0xD0 RW Bit[7:0]: vpt_high
Bit[1:0]: gnight_thre
NIGHT MODE GAIN 00: 0x00
n
0x3A17 0x01 RW
BASE 01: 0x10
10: 0x30
e
11: 0x70
d
Bit[7:0]: wpt2
o
Bit[7:0]: led_add_row[15:8]
0x3A1C LED ADD ROW 0x06 RW Exposure values added when
STROBE is ON
Bit[7:0]: led_add_row[7:0]
0x3A1D LED ADD ROW 0x18 RW Exposure values added when
STROBE is ON
default
address register name value R/W description
ly
Bit[7:0]: bpt2
0x3A1E BPT2 0x68 RW
Stable range low limit (go out)
n
Bit[7:0]: vpt_low
0x3A1F LOW VPT 0x40 RW Step manual mode, fast zone low
O
limit
ly
1: Enable
Bit[0]: Not used
u
Bit[7:]: Not used
0x3A21 AEC CTRL21 0x70 RW Bit[6:4]: Frame insert number
tr
Bit[3:0]: Not used
r
table 7-7 STROBE/frame exposure control registers (sheet 1 of 2)
fo
default
address register name value R/W description
l
Strobe Control
a
1: ON
Bit[6]: Strobe pulse reverse
n
Bit[3:2]: width_in_xenon
00: 1 row period
0x3B00 STROBE_RSTRB 0x00 RW 01: 2 row period
e
01: LED 1
10: LED 2
n
11: LED 3
default
address register name value R/W description
ly
Bit[7:6]: frex_pchg_width
0x3B06 STROBE_FREX_CTRL0 0x04 RW Bit[5:4]: frex_strobe_option
Bit[3:0]: frex_strobe_width[3:0]
n
Bit[4]: frex_sa1
O
Bit[3]: fx1_fm_en
Bit[2]: frex_inv
0x3B07 STROBE_FREX_MODE_SEL 0x08 RW Bit[1:0]: FREX strobe
00: frex_strobe mode0
01: frex_strobe mode1
ly
1x: Rolling strobe
u
0x3B08 STROBE_FREX_EXP_REQ 0x00 RW
Bit[0]: frex_exp_req
tr
Bit[7:3]: Not used
0x3B09 FREX_SHUTTER_DELAY 0x00 RW
Bit[2:0]: FREX end option
default
address register name value R/W description
ly
Bit[7:6]: Debug control
Changing these registers is not
recommended
n
Bit[5:3]: 50/60 Hz detection control
Contact local OmniVision FAE for
O
the correct settings
50/60 HZ DETECTION
0x3C00 0x00 RW Bit[2]: band_def
CTRL00
Band50 default value
0: 60 Hz as default value
ly
1: 50 Hz as default value
Bit[1:0]: 50/60 Hz detection control register
Contact local OmniVision FAE for
u
the correct settings
Bit[7]: band_man_en
tr
Band detection manual mode
0: Manual mode disable
50/60 HZ DETECTION
0x3C01 0x00 RW 1: Manual mode enable
CTRL01
r
Bit[6:0]: 50/60 Hz detection control
fo
settings
a
0: Detection result is 60 Hz
1: Detection result is 50 Hz
e
default
address register name value R/W description
ly
0x3D00 OTP_DATA_0 0x00 RW OTP Buffer 0
n
0x3D02 OTP_DATA_2 0x00 RW OTP Buffer 2
O
0x3D03 OTP_DATA_3 0x00 RW OTP Buffer 3
ly
0x3D05 OTP_DATA_5 0x00 RW OTP Buffer 5
u
0x3D07 OTP_DATA_7 0x00 RW OTP Buffer 7
tr
0x3D08 OTP_DATA_8 0x00 RW OTP Buffer 8
default
address register name value R/W description
ly
0x3D1C OTP_DATA_28 0x00 RW OTP Buffer 1C
n
0x3D1E OTP_DATA_30 0x00 RW OTP Buffer 1E
O
0x3D1F OTP_DATA_31 0x00 RW OTP Buffer 1F
Bit[7]: OTP_wr_busy
Bit[6:2]: Debug control
ly
Changing these registers is not
recommended
OTP_PROGRAM_ Bit[1]: OTP_program_speed
0x3D20 0x00 RW
u
CTRL 0: Fast
1: Slow
tr
Bit[0]: OTP_program_enable
Changing from 0 to 1 initiates OTP
programming
r
Bit[7]: OTP_rd_busy
fo
Bit[1]: OTPspeed
0: Fast
0x3D21 OTP_LOAD_CTRL 0x00 RW 1: Slow
Bit[0]: OTP_load_enable
Changing from 0 to 1 initiates OTP
l
read
a
ti
n
e
d
fi
n
o
C
default
ly
address register name value R/W description
BLC Control
n
(0: disable ISP; 1: enable ISP)
Bit[7]: blc_median_filter_enable
Bit[6:4]: Not used
O
0x4000 BLC CTRL00 0x89 RW
Bit[3]: adc_11bit_mode
Bit[2]: apply2blackline
Bit[1]: blackline_averageframe
Bit[0]: BLC enable
ly
Bit[7:6]: Not used
0x4001 BLC CTRL01 0x00 RW
Bit[5:0]: start_line
u
Bit[7]: format_change_en
format_change_i from fmt will be
tr
0x4002 BLC CTRL02 0x45 RW effect when it is enable
Bit[6]: blc_auto_en
Bit[5:0]: reset_frame_num
r
Bit[7]: blc_redo_en
fo
Bit[5]: one_line_mode
Bit[4]: remove_none_imagedata
n
Bit[3]: blc_man_1_en
Bit[2]: blackline_bggr_man_en
e
0: bgbg/grgr is decided by
rblue/hswap
0x4005 BLC CTRL05 0x18 RW
d
1: bgbg/grgr fix
Bit[1]: bgbg/grgr is decided by
rblue/hswap
fi
blc_always_up_en
0: Normal freeze
n
Bit[4:0]: bl_num_man
default
address register name value R/W description
ly
Bit[7:5]: Not used
Bit[4:3]: win_sel
00: Full image
n
01: Windows do not contain the
first 16 pixels and the last 16
O
pixels
10: Windows do not contain the
first 1/16 image and the last
1/16 image
ly
0x4007 BLC CTRL07 0x00 RW 11: Windows do not contain the
first 1/8 image and the last
1/8 image
u
Bit[2:0]: Bypass_mode
000: Bypass data_i after limit bits
tr
001: Bypass data_i[11:0]
011: Bypass data_i[12:1]
100: Bypass debug data bbrr
101: Bypass debug data gggg
r
1xx: Not used
fo
BLC Control
(0: disable ISP; 1: enable ISP)
Bit[7:4]: Not used
0x4008 BLC CTRL08 0x00 RW Bit[3]: flip_man_en
l
Bit[2]: flip_man
a
Bit[1]: bl_flip_man_en
Bit[0]: bl_flip_man
ti
0x400A~
DEBUG MODE – – Debug Mode
0x400B
e
default
address register name value R/W description
ly
0x402E BLACK_LEVEL01 – R Bit[7:0]: blacklevel01[15:8]
n
0x4030 BLACK_LEVEL10 – R Bit[7:0]: blacklevel10[15:8]
O
0x4031 BLACK_LEVEL10 – R Bit[7:0]: blacklevel10[7:0]
ly
0x4033 BLACK_LEVEL11 – R Bit[7:0]: blacklevel11[7:0]
u
0x4051 STABLE RANGE 0x7F RW Bit[7:0]: BLC stable range
tr
0x4052 ONE CHANNEL 0x00 RW Bit[7:0]: blc_one_channel
default
address register name value R/W description
ly
Bit[7:3]: Not used
Bit[2]: fcnt_eof_sel
0x4200 FRAME CTRL0 0x00 RW
Bit[1]: fcnt_mask_dis
n
Bit[0]: fcnt_reset
O
Bit[7:4]: Not used
0x4201 FRAME ON NUMBER 0x00 RW
Bit[3:0]: Frame ON number
ly
Bit[7:6]: Not used
Bit[5]: data_mask_dis
u
Bit[4]: valid_mask_dis
0x4203 FRAME CTRL1 0x00 RW Bit[3]: href_mask_dis
tr
Bit[2]: eof_mask_dis
Bit[1]: sof_mask_dis
Bit[0]: all_mask_dis
r
fo
default
a
NEG_WIDTH_L count[7:0]
Bit[3:2]: r_vsyncout_sel
0x4704 VSYNC MODE 0x00 RW
Bit[1]: VSYNC mode3
C
Bit[7:0]: eof_vsync_delay[23:16]
EOF
0x4705 0x00 RW SOF/EOF negative edge to
VSYNC_DELAY_2
VSYNC positive edge delay
Bit[7:0]: eof_vsync_delay[15:8]
EOF
0x4706 0x00 RW SOF/EOF negative edge to
VSYNC_DELAY_1
VSYNC positive edge dealy
default
address register name value R/W description
ly
Bit[7:0]: eof_vsync_delay[7:0]
EOF
0x4707 0x00 RW SOF/EOF negative edge to
VSYNC_DELAY_0
VSYNC positive edge delay
n
Bit[7]: Clock DDR mode enable
O
Bit[6]: Not used
Bit[5]: VSYNC gate clock enable
Bit[4]: HREF gate clock enable
0x4708 POLARITY CTRL 0x01 RW
Bit[3]: No frst for FIFO
Bit[2]: HREF polarity reverse option
ly
Bit[1]: VSYNC polarity reverse option
Bit[0]: PCLK polarity reverse option
u
Bit[7]: FIFO bypass mode
Bit[6:4]: Data bit swap
tr
Bit[3]: Bit test mode
0x4709 MOTO ORDER 0x00 RW
Bit[2]: 10-bit bit test
Bit[1]: 8-bit bit test
Bit[0]: Bit test enable
r
fo
Bit[3:0]: bypass_sel
ti
n
e
d
fi
n
o
C
default
address register name value R/W description
ly
MIPI Control 00
Bit[7]: mipi_hs_only
0: MIPI can support CD and
n
ESCAPE mode
1: MIPI always in high speed mode
O
Bit[6]: ck_mark1_en
0: Not used
1: Enable clock lane mark1 when
resume
ly
Bit[5]: Clock lane gate enable
0: Clock lane is free running
1: Gate clock lane when no packet
u
to transmit
Bit[4]: Line sync enable
tr
0: Do not send line short packet for
each line
0x4800 MIPI CTRL 00 0x04 RW 1: Send line short packet for each
line
r
Bit[3]: Lane select
fo
packet to transmit
Bit[1]: Clock lane first bits
ti
0: Output 0x55
1: Output 0xAA
n
default
address register name value R/W description
ly
MIPI Control 01
Bit[7]: Long packet data type manual enable
0: Use mipi_dt
n
1: Use dt_man_o as long packet
data
O
(see register 0x4814[5:0])
Bit[6]: Short packet data type manual enable
1: Use dt_spkt as short packet data
(see register 0x4815[5:0])
ly
Bit[5]: Short packet WORD COUNTER
manual enable
0: Use frame counter or line counter
u
1: Select spkt_wc_reg_o
(see {0x4812, 0x4813})
tr
Bit[4]: PH bit order for ECC
0: {DI[7:0],WC[7:0],WC[15:8]}
1: {DI[0:7],WC[0:7],WC[8:15]}
0x4801 MIPI CTRL 01 0x0F RW Bit[3]: PH byte order for ECC
r
0: {DI,WC_l,WC_h}
fo
1: {DI,WC_h,WC_l}
Bit[2]: PH byte order2 for ECC
0: {DI,WC}
1: {WC,DI}
Bit[1]: mark1_en1
l
0: Not used
a
Bit[0]: mark1_en2
0: Not used
e
wkup_dly_o when
mipi_sys_susp=1
fi
n
o
C
default
address register name value R/W description
ly
MIPI Control 02
Bit[7]: hs_prepare_sel
0: Auto calculate T_hs_prepare, unit
n
pclk2x
1: Use hs_prepare_min_o[7:0]
O
Bit[6]: clk_prepare_sel
0: Auto calculate T_clk_prepare,
unit pclk2x
1: Use clk_prepare_min_o[7:0]
ly
Bit[5]: clk_post_sel
0: Auto calculate T_clk_post, unit
pclk2x
u
1: Use clk_post_min_o[7:0]
Bit[4]: clk_trail_sel
tr
0: Auto calculate T_clk_trail, unit
pclk2x
0x4802 MIPI CTRL 02 0x00 RW 1: Use clk_trail_min_o[7:0]
Bit[3]: hs_exit_sel
r
0: Auto calculate T_hs_exit, unit
fo
pclk2x
1: Use hs_exit_min_o[7:0]
Bit[2]: hs_zero_sel
0: Auto calculate T_hs_zero, unit
pclk2x
l
1: Use hs_zero_min_o[7:0]
a
Bit[1]: hs_trail_sel
0: Auto calculate T_hs_trail, unit
ti
pclk2x
1: Use hs_trail.min_o[7:0]
n
Bit[0]: clk_zero_sel
0: Auto calculate T_clk_zero, unit
e
pclk2x
1: Use clk_zero_min_o[7:0]
d
fi
n
o
C
default
address register name value R/W description
ly
MIPI Control 03
Bit[7:6]: lp_glitch_nu
0: Use 2d of lp_in
n
1: Mask one SCLK cycle glitch of
lp_in
O
Bit[5:4]: cd_glitch_nu
0: Use 2d of lp_cd_in
1: Mask one SCLK cycle glitch of
lp_cd_in
ly
Bit[3]: Enable CD plus of data lane1
0x4803 MIPI CTRL 03 0x50 RW 0: Disable
1: Enable
u
Bit[2]: Enable CD plus of data lane2
0: Disable
tr
1: Enable
Bit[1]: Enable CD of data_lane1 from PHY
0: Disable
1: Enable
r
Bit[0]: Enable CD of data_lane2 from PHY
fo
0: Disable
1: Enable
l
a
ti
n
e
d
fi
n
o
C
default
address register name value R/W description
ly
MIPI Control 04
Bit[7]: wait_pkt_end
0: Not used
n
1: Wait HS packet end when send
UL command
O
Bit[6]: tx_lsb_first
0: lp_tx and lp_rx high bit first
1: Low power transmit low bit first
Bit[5]: dir_recover_sel
ly
0: Auto change to output only when
TurnAround command
1: Auto change to output when LP11
u
and GPIO is output
Bit[4]: mipi_reg_en
tr
0: Disable MIPI_REG_P to access
registers, LP data will write to
VFIFO
0x4804 MIPI CTRL 04 0x8D RW
1: Enable MIPI_REG_P to access
r
registers
fo
0: Not used
1: lp_rx will write first byte
n
0: Not used
1: Send TurnAround command after
d
default
address register name value R/W description
ly
MIPI Control 05
Bit[7]: MIPI lane1 disable
0: Not used
n
1: Disable MIPI data lane1, lane1
will be LP00
O
Bit[6]: MIPI lane2 disable
0: Not used
1: Disable MIPI data lane2, lane2
will be LP00
ly
Bit[5]: lpx_p_sel
0: Automatically calculate t_lpx_o in
pclkex domain, unit pclk2x
u
1: Use lp_p_min[7:0]
Bit[4]: lp_rx_intr_sel
tr
0x4805 MIPI CTRL 05 0x10 RW 0: Send lp_rx_intr_o at the first byte
1: Send lp_rx_intr_o at the end of
receiving
Bit[3]: cd_tst_sel
r
0: Not used
fo
Bit[0]: hd_sk_en
a
default
address register name value R/W description
ly
Bit[7]: Test mode
Bit[6]: mipi_test
Bit[5]: mipi_lp_op
n
0: Use new option to reduce
mipi_lptx_p
O
1: Not used
Bit[4]: two_lane_man_en
0: Not used
1: Use two_lane_man to manually
ly
control two_lane_mode
Bit[3]: two_lane_man
0x4806 MIPI REG RW CTRL 0x28 RW Bit[2]: rst_rtn_en
u
0: Not used
1: Change to input to allow host RW
tr
register after reset
Bit[1]: frame_end_en
0: Not used
1: After frame end packet, change to
r
input to allow host RW register
fo
Bit[0]: line_end_en
0: Not used
1: After line end packet, change to
input to allow host RW register
l
01: {D[7:0],D[9:8]}
10: {D[1:0],D[9:2]}
n
MIPI MAX FRAME High Byte of Max Frame Count of Frame Sync Short
0x4810 0xFF RW
COUNT Packet
e
MIPI MAX FRAME Low Byte of Max Frame Count of Frame Sync Short
0x4811 0xFF RW
d
COUNT Packet
MIPI Control 14
fi
Bit[6]: pclk_div
0: Use rising edge of mipi_pclk_o to
0x4815 MIPI_DT_SPKT 0x00 RW generate MIPI bus to PHY
C
default
address register name value R/W description
ly
Low byte of the minimum value for hs_zero, unit ns
0x4819 HS_ZERO_MIN 0x96 RW hs_zero_real = hs_zero_min_o +
Tui*ui_hs_zero_min_o
n
0x481A HS_TRAIL_MIN 0x00 RW High byte of the minimum value for hs_trail, unit ns
O
Low byte of the minimum value for hs_trail,
0x481B HS_TRAIL_MIN 0x3C RW hs_trail_real = hs_trail_min_o +
Tui*ui_hs_trail_min_o
ly
High byte of the minimum value for clk_zero
0x481C CLK_ZERO_MIN 0x01 RW
Unit ns
u
Low byte of the minimum value for clk_zero,
0x481D CLK_ZERO_MIN 0x86 RW clk_zero_real = clk_zero_min_o +
Tui*ui_clk_zero_min_o
tr
High byte of the minimum value for clk_prepare,
CLK_PREPARE_ Unit ns
0x481E 0x00 RW
r
MIN Bit[7:2]: Not used
Bit[1:0]: clk_prepare_min[9:8]
fo
Unit ns
0x4820 CLK_POST_MIN 0x00 RW
Bit[7:2]: Not used
ti
Bit[1:0]: clk_post_min[9:8]
n
Tui*ui_clk_trail_min_o
o
Bit[1:0]: lpx_p_min[9:8]
default
address register name value R/W description
ly
Low byte of the minimum value for hs_prepare
0x4827 HS_PREPARE_MIN 0x32 RW hs_prepare_real = hs_prepare_min_o +
Tui*ui_hs_prepare_min_o
n
High byte of the minimum value for hs_exit, unit ns
O
0x4828 HS_EXIT_MIN 0x00 RW Bit[7:2]: Not used
Bit[1:0]: hs_exit_min[9:8]
ly
Tui*ui_hs_exit_min_o
u
0x482B UI_HS_TRAIL_MIN 0x04 RW Minimum UI Value of hs_trail, unit UI
tr
UI_CLK_ZERO_
0x482C 0x00 RW Minimum UI Value of clk_zero, unit UI
MIN
UI_CLK_PREPARE
r
0x482D 0x00 RW Minimum UI Value of clk_prepare, unit UI
_MIN
fo
UI_CLK_POST_
0x482E 0x34 RW Minimum UI Value of clk_post, unit UI
MIN
UI_CLK_TRAIL_
0x482F 0x00 RW Minimum UI Value of clk_trail, unit UI
l
MIN
a
UI_HS_PREPARE_
0x4831 0x04 RW Minimum UI Value of hs_prepare, unit UI
MIN
n
mipi_reg_min to mipi_reg_max
fi
0x4834 MIPI_REG_MIN 0x00 RW MIPI Register Address, lower bound (low byte)
n
0x4835 MIPI_REG_MAX 0xFF RW MIPI Register Address, upper bound (high byte)
0x4836 MIPI_REG_MAX 0xFF RW MIPI Register Address, upper bound (low byte)
o
default
address register name value R/W description
ly
Bit[7]: lp_sel1
0: Generate mipi_lp_dir1_o
automatically
n
1: Use lp_dir_man1 as
mipi_lp_dir1_o
O
Bit[6]: lp_dir_man1
0: Input
1: Output
Bit[5]: lp_p1_o
ly
Bit[4]: lp_n1_o
0x483B MIPI_LP_GPIO 0x33 RW
Bit[3]: lp_sel2
0: Generate mipi_lp_dir2_o
u
automatically
1: Use lp_dir_man2 as
tr
mipi_lp_dir2_o
Bit[2]: lp_dir_man2
0: Input
1: Output
r
Bit[1]: lp_p2_o
fo
Bit[0]: lp_n2_o
t_ta_go
0x483D MIPI_T_TA_GO 0x10 RW
a
t_ta_sure
ti
t_ta_get
0x483F MIPI_T_TA_GET 0x14 RW
Unit: SCLK cycles
e
0: PCLK/SCLK = 2
0x4843 SNR_PCLK_DIV 0x00 RW
and pclk_div = 1
fi
1: PCLK/SCLK = 1
and pclk_div = 1
n
default
address register name value R/W description
ly
Bit[7:6]: Not used
Bit[5]: lp_rx_sel_i
0: Not used
n
1: MIPI_LP_RX receives LP data
Bit[4]: tx_busy_i
O
0: Not used
1: MIPI_TX_LP_TX is busy to send
LP data
0x4865 MIPI_ST – R
Bit[3]: mipi_lp_p1_i
ly
MIPI low power input for lane 1p
Bit[2]: mipi_lp_n1_i
MIPI low power input for lane 1n
u
Bit[1]: mipi_lp_p2_i
MIPI low power input for lane 2p
tr
Bit[0]: mipi_lp_n2_i
MIPI low power input for lane 2n
default
address register name value R/W description
n
0x4902 0x00 RW
NUMBER Bit[3:0]: Frame OFF number
o
default
address register name value R/W description
ly
Bit[7]: lenc_en
0: Disable
1: Enable
n
Bit[6:3]: Not used
Bit[2]: bc_en
O
0x5000 ISP CTRL00 0xFF RW 0: Disable
1: Enable
Bit[1]: wc_en
0: Disable
ly
1: Enable
Bit[0]: Not used
u
Bit[7:1]: Not used
Bit[0]: awb_en
0x5001 ISP CTRL01 0x01 RW
0: Disable
tr
1: Enable
1: Enable
Bit[1]: otp_en
0x5002 ISP CTRL02 0x41 RW
0: Disable
1: Enable
l
Bit[0]: awb_gain_en
a
0: Disable
1: Enable
ti
0: Disable
1: Enable
e
Bit[2]: bin_man_set
0x5003 ISP CTRL03 0x0A RW 0: Manual value as 0
d
1: Manual value as 1
Bit[1]: bin_auto_en
fi
0: Disable
1: Enable
n
Bit[3]: size_man_en
0x5004 ISP CTRL04 0x00 RW 0: Disable
C
1: Enable
Bit[2:0]: Not used
default
address register name value R/W description
ly
Bit[7]: sof_man
0: SOF from BLC module
1: SOF from pre_isp module
n
Bit[6]: awb_bias_man_en
0: AWB bias manual disable
O
1: AWB bias manual enable
Bit[5]: awb_bias_on
0: Disable AWB bias
1: Enable AWB bias
0x5005 ISP CTRL05 0x31 RW
ly
Bit[4:3]: Not used
Bit[2]: lenc_bias_on
0: Disable LENC bias
u
1: Enable LENC bias
Bit[1]: Disable LENC bias
tr
s2p_sw_en_o
Bit[0]: Disable LENC bias avg_en
0: Disable
1: Enable
r
ISP Control
fo
Bit[4]: y_even_inc_man_en
a
Bit[3]: x_offset_man_en
Bit[2]: y_offset_man_en
ti
Bit[1]: x_skip_man_en
Bit[0]: y_skip_man_en
n
ISP Control
(0: disable ISP; 1: enable ISP)
e
Bit[7]: bin_mode_man_en
Bit[6]: bin_mode_man
d
Bit[5]: win_x_off_man_en
0x5007 ISP CTRL07 0x00 RW
Bit[4]: win_y_off_man_en
fi
Bit[3]: win_x_out_man_en
Bit[2]: win_y_out_man_en
n
Bit[1]: isp_input_h_man_en
Bit[0]: isp_input_v_man_en
o
default
address register name value R/W description
ly
Bit[7:4]: Not used
0x500C WIN X OFFSET MAN 0x00 RW
Bit[3:0]: win_x_offset_man[11:8]
n
0x500D WIN X OFFSET MAN 0x00 RW Bit[7:0]: win_x_offset_man[7:0]
O
Bit[7:3]: Not used
0x500E WIN Y OFFSET MAN 0x00 RW
Bit[2:0]: win_y_offset_man[10:8]
ly
Bit[7:4]: Not used
0x5010 WIN X OUT MAN 0x00 RW
Bit[3:0]: win_x_out_man[11:8]
u
0x5011 WIN X OUT MAN 0x00 RW Bit[7:0]: win_x_out_man[7:0]
tr
0x5012 WIN Y OUT MAN 0x00 RW
Bit[2:0]: win_y_out_man[10:8]
Bit[3:0]: isp_x_input_man[11:8]
Bit[2:0]: isp_y_input_man[10:8]
a
Bit[7:4]: x_odd_inc_man
0x5018 ISP CTRL18 0x00 RW
Bit[3:0]: x_even_inc_man
n
Bit[7:4]: y_odd_inc_man
0x5019 ISP CTRL19 0x00 RW
Bit[3:0]: y_even_inc_man
e
0x501B~
DEBUG MODE – – Debug Mode
0x501C
n
default
address register name value R/W description
ly
Bit[7:6]: Not used
Bit[5]: enable_opt
1: Enable latched by VSYNC
n
0: Not latched by VSYNC
Bit[4]: cal_sel
O
0x501F ISP CTRL1F 0x03 RW 0: DPC cal_start using SOF
1: DPC cal_start using VSYNC
Bit[3]: Not used
Bit[2:0]: fmt_sel
ly
0: ISP output data
1: ISP input data bypass
u
Bit[7:4]: Not used
Bit[1:0]: avg_sel
00: Inputs of AVG module are
tr
from LENC output
01: Inputs of AVG module are
0x5025 ISP CTRL25 0x00 RW
from AWB gain output
r
10: Inputs of AVG module are
from DPC output
fo
0x5026~
DEBUG MODE – – Debug Mode
l
0x503C
a
Bit[7]: test_pattern_en
0: Disable
ti
1: Enable
Bit[6]: rolling_bar
n
Bit[5]: transparent_mode
0: Disable
d
1: Enable
Bit[4]: squ_bw_mode
0x503D ISP CTRL3D 0x00 RW 0: Output square is color square
fi
Bit[3:2]: bar_style
When set to a different value, a
o
default
address register name value R/W description
ly
Bit[7]: Not used
Bit[6]: win_cut_en
Bit[5]: isp_test
n
0: Two lowest bits are 1
1: Two lowest bits are 0
O
Bit[4]: Two lowest bits are rnd_same
0x503E ISP CTRL3E 0x00 RW
0: Frame-changing random data
pattern
1: Frame-fixed random data
ly
pattern
Bit[3:0]: rnd_seed
Initial seed for random data pattern
u
ISP Control
(0: disable ISP; 1: enable ISP)
tr
Bit[7:6]: Not used
Bit[5]: post_binning h_enable
0x504B ISP CTRL4B 0x30 RW Bit[4]: post_binning v_enable
r
Bit[3]: flip_man_en
Bit[2]: flip_man
fo
Bit[1]: mirror_man_en
Bit[0]: Mirror
ISP Control
a
Bit[1]: lenc_gain_man_en
Bit[0]: lenc_bias_man_en
e
Bit[3:0]: lenc_yoff_man[11:8]
Bit[1:0]: lenc_gain_man[9:8]
default
address register name value R/W description
ly
Bit[7]: sram_test_dpc1
Bit[6]: sram_test_dpc2
0x5057 ISP CTRL57 0x00 RW Bit[5]: sram_test_dpc3
n
Bit[4]: sram_test_dpc4
Bit[3:0]: Not used
O
Bit[7:4]: sram_rm_dpc1
0x5058 ISP CTRL58 0xAA RW
Bit[3:0]: sram_rm_dpc2
Bit[7:4]: sram_rm_dpc3
ly
0x5059 ISP CTRL59 0xAA RW
Bit[3:0]: sram_rm_dpc4
u
table 7-16 AWB registers (sheet 1 of 3)
tr
default
address register name value R/W description
r
Bit[7]: hsize_man_en
fo
Bit[6]: fast_awb
0: Disable fast AWB
calculation function
1: Enable fast AWB
calculation function
l
Bit[5]: freeze_gain_en
a
gains
Bit[4]: freeze_sum_en
n
as previous frame
0x5180 AWB CTRL 0x00 RW
Bit[3]: gain_man_en
d
Bit[2]: start_sel
0: Select the last href
n
signal
1: Select the last href
C
default
address register name value R/W description
ly
Bit[7]: delta_opt
Bit[6]: base_man_en
0x5181 AWB DELTA 0x20 RW Bit[5:0]: awb_delta
n
Delta value to increase or
decrease the gains
O
0x5182 STABLE RANGE 0x04 RW Bit[7:0]: stable_range
Bit[7:0]: stable_rangew
0x5183 STABLE RANGEW 0x08 RW
Wide stable range
ly
Bit[7:4]: Not used
0x5184 HSIZE_MAN 0x01 RW
Bit[3:0]: hsize_man[11:8]
u
0x5185 HSIZE_MAN 0xE0 RW Bit[7:0]: hsize_man[7:0]
tr
Bit[7:4]: Not used
0x5186 MANUAL RED GAIN MSB 0x04 RW
Bit[3:0]: red_gain_man[11:8]
Bit[3:0]: blu_gain_man[11:8]
Bit[7:4]: red_gain_up_limit
n
Bit[3:0]: red_gain_dn_limit
They are only the highest 4
e
bits of limitation.
0x518C RED GAIN LIMIT 0xF0 RW
Maximum red gain is
d
{red_gan_up_limit,FF}
Minimum red gain is
{red_gain_dn_limit,00}
fi
Bit[7:4]: green_gain_up_limit
n
Bit[3:0]: green_gain_dn_limit
They are only the highest 4
o
bits of limitation.
0x518D GREEN GAIN LIMIT 0xF0 RW
Maximum green gain is
C
{green_gan_up_limit,FF}
Minimum green gain is
{green_gain_dn_limit,00}
default
address register name value R/W description
ly
Bit[7:4]: blue_gain_up_limit
Bit[3:0]: blue_gain_dn_limit
They are only the highest 4
n
bits of limitation.
0x518E BLUE GAIN LIMIT 0xF0 RW
Maximum blue gain is
O
{blue_gan_up_limit,FF}
Minimum blue gain is
{blue_gain_dn_limit,00}
ly
0x518F FRAME CNT 0x00 RW
Bit[3:0]: awb_frame_cnt
u
tr
table 7-17 average registers (sheet 1 of 2)
default
r
address register name value R/W description
fo
Bit[7:0]: x_start[7:0]
0x5681 X START 0x00 RW Horizontal start position for average
ti
Bit[3:0]: y_start[10:8]
0x5682 Y START 0x00 RW
Vertical start position for average
e
default
address register name value R/W description
ly
0x5689 WEIGHT01 0x11 RW Bit[7:4]: window3_weight
Bit[3:0]: window2_weight
Bit[7:4]: window5_weight
n
0x568A WEIGHT02 0x11 RW Bit[3:0]: window4_weight
Bit[7:4]: window7_weight
O
0x568B WEIGHT03 0x11 RW
Bit[3:0]: window6_weight
ly
Bit[7:4]: window11_weight
0x568D WEIGHT05 0x11 RW Bit[3:0]: window10_weight
Bit[7:4]: window13_weight
0x568E WEIGHT06 0x11 RW
u
Bit[3:0]: window12_weight
Bit[7:4]: window15_weight
0x568F WEIGHT07 0x11 RW
tr
Bit[3:0]: window14_weight
Bit[7:2]: Not used
Bit[1]: avg_opt
r
0x5690 AVG CTRL10 0x02 R Bit[0]: avg_man
0: Auto average window
fo
default
address register name value R/W description
d
default
address register name value R/W description
ly
Bit[7:6]: Not used
0x5800 GMTRX00 0x10 RW
Bit[5:0]: green_matrix_00
n
Bit[7:6]: Not used
0x5801 GMTRX01 0x10 RW
Bit[5:0]: green_matrix_01
O
Bit[7:6]: Not used
0x5802 GMTRX02 0x10 RW
Bit[5:0]: green_matrix_02
ly
0x5803 GMTRX03 0x10 RW
Bit[5:0]: green_matrix_03
u
Bit[5:0]: green_matrix_04
tr
0x5805 GMTRX05 0x10 RW
Bit[5:0]: green_matrix_05
Bit[5:0]: green_matrix_0b
default
address register name value R/W description
ly
Bit[7:6]: Not used
0x5812 GMTRX30 0x10 RW
Bit[5:0]: green_matrix_12
n
Bit[7:6]: Not used
0x5813 GMTRX31 0x08 RW
Bit[5:0]: green_matrix_13
O
Bit[7:6]: Not used
0x5814 GMTRX32 0x00 RW
Bit[5:0]: green_matrix_14
ly
Bit[5:0]: green_matrix_15
u
Bit[5:0]: green_matrix_16
tr
0x5817 GMTRX35 0x10 RW
Bit[5:0]: green_matrix_17
Bit[5:0]: green_matrix_1e
Bit[7:4]: blue_matrix_00
0x5824 BRMATRX00 0xAA RW
Bit[3:0]: red_matrix_00
default
address register name value R/W description
ly
Bit[7:4]: blue_matrix_01
0x5825 BRMATRX01 0xAA RW
Bit[3:0]: red_matrix_01
n
Bit[7:4]: blue_matrix_02
0x5826 BRMATRX02 0xAA RW
Bit[3:0]: red_matrix_02
O
Bit[7:4]: blue_matrix_03
0x5827 BRMATRX03 0xAA RW
Bit[3:0]: red_matrix_03
Bit[7:4]: blue_matrix_04
0x5828 BRMATRX04 0xAA RW
ly
Bit[3:0]: red_matrix_04
Bit[7:4]: blue_matrix_05
0x5829 BRMATRX05 0xAA RW
u
Bit[3:0]: red_matrix_05
Bit[7:4]: blue_matrix_06
tr
0x582A BRMATRX06 0x99 RW
Bit[3:0]: red_matrix_06
Bit[7:4]: blue_matrix_07
0x582B BRMATRX07 0x99 RW
Bit[3:0]: red_matrix_07
r
fo
Bit[7:4]: blue_matrix_08
0x582C BRMATRX08 0x99 RW
Bit[3:0]: red_matrix_08
Bit[7:4]: blue_matrix_09
0x582D BRMATRX09 0xAA RW
Bit[3:0]: red_matrix_09
l
a
Bit[7:4]: blue_matrix_20
0x582E BRMATRX20 0xAA RW
Bit[3:0]: red_matrix_20
ti
Bit[7:4]: blue_matrix_21
0x582F BRMATRX21 0x99 RW
Bit[3:0]: red_matrix_21
n
Bit[7:4]: blue_matrix_22
0x5830 BRMATRX22 0x88 RW
Bit[3:0]: red_matrix_22
e
Bit[7:4]: blue_matrix_23
0x5831 BRMATRX23 0x99 RW
d
Bit[3:0]: red_matrix_23
Bit[7:4]: blue_matrix_24
fi
Bit[7:4]: blue_matrix_30
0x5833 BRMATRX30 0xAA RW
Bit[3:0]: red_matrix_30
o
Bit[7:4]: blue_matrix_31
0x5834 BRMATRX31 0x99 RW
Bit[3:0]: red_matrix_31
C
Bit[7:4]: blue_matrix_32
0x5835 BRMATRX32 0x99 RW
Bit[3:0]: red_matrix_32
Bit[7:4]: blue_matrix_33
0x5836 BRMATRX33 0x99 RW
Bit[3:0]: red_matrix_33
Bit[7:4]: blue_matrix_34
0x5837 BRMATRX34 0xAA RW
Bit[3:0]: red_matrix_34
default
address register name value R/W description
ly
Bit[7:4]: blue_matrix_40
0x5838 BRMATRX40 0xAA RW
Bit[3:0]: red_matrix_40
n
Bit[7:4]: blue_matrix_41
0x5839 BRMATRX41 0xAA RW
Bit[3:0]: red_matrix_41
O
Bit[7:4]: blue_matrix_42
0x583A BRMATRX42 0xAA RW
Bit[3:0]: red_matrix_42
Bit[7:4]: blue_matrix_43
0x583B BRMATRX43 0xAA RW
ly
Bit[3:0]: red_matrix_43
Bit[7:4]: blue_matrix_44
0x583C BRMATRX44 0xAA RW
u
Bit[3:0]: red_matrix_44
table 7-20
tr
cluster DPC registers (sheet 1 of 2)
r
fo
default
address register name value R/W description
Bit[7:6]: Not used
0x5900 OTP START ADDR 0x10 RW
Bit[5:0]: otp_start_addr
l
a
Bit[3]: disable_mf
0x5902 OTP CTRL02 0x00 RW
Bit[2]: disable_offset
e
Bit[1]: mirror_opt
Bit[0]: disable_bin
d
Bit[4]: fixed_replace
0x5903 OTP CTRL03 0x6F RW Bit[3]: fixed_ptn
n
Bit[2]: flip_opt
Bit[1]: expo_en
o
Bit[0]: gain_en
default
address register name value R/W description
ly
Bit[7]: Not used
0x5907 OTP CTRL07 0x38 RW Bit[6:4]: remain_bit
Bit[3:0]: Threshold
n
OTP MAN X EVEN Bit[7:4]: Not used
0x5908 0x01 RW
O
INC Bit[3:0]: otp_man_x_even_inc
ly
OTP MAN Y EVEN Bit[7:4]: Not used
0x590A 0x01 RW
INC Bit[3:0]: otp_man_y_even_inc
u
Bit[7:4]: Not used
0x590B OTP MAN Y ODD INC 0x01 RW
Bit[3:0]: otp_man_y_odd_inc
tr
0x590C~
DEBUG MODE – – Not Used
0x590D r
fo
default
l
Bit[4:0]: window_xstart[12:8]
n
default
address register name value R/W description
ly
Bit[7:3]: Not used
Bit[2]: dig_comp_bypass
0x5A00 DIGC CTRL0 0x00 RW
Bit[1]: man_opt
n
Bit[0]: man_en
O
Bit[7:2]: Not used
0x5A02 DIG COMP MAN 0x02 RW
Bit[1:0]: dig_comp_man[9:8]
ly
Bit[7:1]: Not used
0x5A20 SNR GAIN MAN 0x00 RW
Bit[0]: gainc_sg_man[8]
u
0x5:A21 SNR GAIN MAN 0x00 RW Bit[7:0]: gainc_sg_man[7:0]
tr
0x5A22 DIG GAIN MAN 0x00 RW
Bit[1:0]: gainc_dg_man[9:8]
Bit[2]: OPT
0x5A24 GAINC CTRL0 0x00 RW
Bit[1]: bypass_opt
Bit[0]: gainc_man_en
Bit[0]: gainc_snr[8]
Bit[1:0]: gainc_realgain[9:8]
8 operating specifications
8.1 absolute maximum ratings
ly
table 8-1 absolute maximum ratings
n
parameter absolute maximum ratinga
O
ambient storage temperature -40°C to +125°C
VDD-A 4.5V
ly
supply voltage (with respect to ground) VDD-D 3V
VDD-IO 4.5V
u
human body model 2000V
electro-static discharge (ESD)
tr
machine model 200V
a. exceeding the absolute maximum ratings shown above invalidates all AC and DC electrical specifications and may
result in permanent damage to the device. Exposure to absolute maximum rated conditions for extended periods
may affect device reliability.
l
a
parameter range
d
a. sensor functions but image quality may be noticeably different at temperatures outside of stable image range
b. image quality remains stable throughout this temperature range
o
C
8.3 DC characteristics
ly
symbol parameter min typ max unit
supply
n
VDD-A supply voltage (analog) 2.6 2.8 3.0 V
O
VDD-DO supply voltage (digital I/O) 1.7 1.8 3.0 V
VDD-D a
supply voltage (digital core) 1.425 1.5 1.575 V
VDD-E supply voltage (MIPI) 1.425 1.5 1.575 V
ly
IDD-A active (operating) current TBD TBD mA
IDD-DO 2592 x 1944 @ 15 fpsb TBD TBD mA
u
IDD-A active (operating) current TBD TBD mA
IDD-DO 720p @ 30fps TBD TBD mA
tr
IDD-A active (operating) current TBD TBD mA
IDD-DO 720p @ 60fps TBD TBD mA
r
IDD-A active (operating) current TBD TBD mA
fo
standby current
IDDS-PWDN TBD TBD µA
ti
digital inputs (typical conditions: AVDD = 2.8V, DVDD = 1.5V, DOVDD = 1.8V)
VIL input voltage LOW 0.54 V
n
d
VIH SCL and SDA 1.26 1.8 2.3 V
C
8.4 AC characteristics
ly
symbol parameter min typ max unit
n
ADC parameters
O
B analog bandwidth 48 MHz
ly
settling time for hardware reset <1 ms
u
settling time for software reset <1 ms
tr
settling time for register setting <300 ms
r
fo
ly
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
9 mechanical specifications
9.1 physical specifications
ly
figure 9-1 die specifications
n
5520 μm
(2760, 2350)
O
(-2760, 2350)
352
277
234
166
151
267
247
386
234
234
234
207
176
160
208
168
209
207
277
254
205
284
374
1 22
20 μm
ly
100 μm 100 μm
154 μm
77 μm
u
OV5647
tr
die center (0, 0)
4700 μm
r
fo
20 μm
l
a
50 23
(-2760, -2350)
297
184
228
176
208
201
168
176
166
150
150
166
150
160
190
150
150
150
150
150
168
182
150
150
175
237
284
279
375
ti
(2760, -2350)
5647_COB_DS_9_1
e
ly
9 GPIO0 -437 2280 234 0 77x100
n
11 FREX 31 2280 234 0 77x100
O
12 DOVDD 238 2280 207 0 77x100
ly
15 PWDN 782 2280 208 0 77x100
u
16 DVDD 950 2280 168 0 77x100
tr
18 AVDD 1366 2280 207 0 154x100
ly
39 D6/MCP -490 -2280 -150 0 77x100
n
41 D5/MDN1 -806 -2280 -150 0 77x100
O
42 D4/MDP1 -956 -2280 -150 0 77x100
ly
45 XCLK -1466 -2280 -168 0 77x100
u
46 DOVDD -1667 -2280 -201 0 77x100
tr
48 DOGND -2051 -2280 -176 0 77x100
ly
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
10 optical specifications
10.1 sensor array center
ly
figure 10-1 sensor array center
n
3670 μm
O
1 22
ly
(-2155 μm, 1195 μm)
u
package center
tr
(0 μm, 0 μm)
2740 μm
array center
r
(-320 μm, -175 μm)
fo
sensor array
l
OV5647
a
50 23
ti
top view
n
note 2 as most optical assemblies invert and mirror the image, the chip is
typically mounted with pad 1 oriented down on the PCB.
d
5647_COB_DS_10_1
fi
n
o
C
ly
30.0
n
25.0
O
20.0
CRA (degrees)
ly
15.0
u
10.0
tr
5.0
r
CRA
fo
0.0
0.00
0.20
0.40
0.60
0.80
1.00
l
field
a
5647_DS_10_2
ti
ly
0.60 1.362 21.6
n
0.65 1.476 22.6
O
0.75 1.703 23.9
ly
0.85 1.930 24.1
u
0.95 2.157 23.7
tr
1.00 2.270 23.6
r
fo
l
a
ti
n
e
d
fi
n
o
C
ly
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
revision history
ly
• initial release
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
ly
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
UNITED STATES
4275 Burton Drive
Santa Clara, CA 95054
tel: + 1 408 567 3000
fax: + 1 408 567 3001
email: salesamerican@ovt.com
UNITED KINGDOM
ly
Hampshire + 44 1256 744 610
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
fi
n
o
C
the clear advantage™
ly
n
O
ly
u
tr
r
fo
l
a
ti
n
e
d
FINLAND
fi
GERMANY KOREA
o
JAPAN
website: www.ovt.com