1. Home
  2. Docs
  3. Camera breakout board
  4. 0.3MP OV7251 Global Shutter
  5. Software Guide

Software Guide

Introduction

This page describle the basic control over the sensor registers using Arducam camera breakout board, it might not be able to cover all the detail register operations, but give you an insight how to adjust these settings.

Sensor I2C Slave Address

The OV7251 camera I2C 8-bit slave address is fixed to 0xC0. With 16bit regsiter address, and 8bit register value.

There is two product ID register (0x300A and 0x300B) which can help diagnose if the I2C bus is accessable and determine the camera models.

Product ID RegisterValue
0x300A0x77
0x300B0x50

Sensor Initialization

You need a basic settings to bring up the sensor and make it working in normal streaming mode. Here is the sample config for the Window GUI.

Camera Sample Config
OV7251_640*480_MIPI_RAW8 (Monochrome)OV7251_MIPI_RAW8_VGA.cfg

Manual Exposure Control

We only change the these registers to demonstrate how manual exposure works.

RegisterBit Description
0x35003:0Bit[3:0]:Exposure[15:12]
0x35017:0Exposure[11:4]
Minimum exposure time is 1 row period.
Maximum exposure time is frame length – 20 row periods,
where frame length is set by registers {0x380E,0x380F}.
0x35027:4Exposure[3:0]
Minimum exposure time is 1 row period.
Maximum exposure time is frame length – 20 row periods,
where frame length is set by registers {0x380E,0x380F}.

Here we demonstrate how to change the Exposure through the register (0x3501).

OV7251 Exposure Example

RegAddr = 0x3501, Value = 0x05

OV7251 Exposure Example

RegAddr = 0x3501, Value = 0x10

0V7251 Exposure Example

RegAddr = 0x3501, Value = 0x1F

Manual Gain Control

Gain settings are like the ISO settings in most digital cameras. The gain is divided into analog and digital gain, and there are separate gain settings for four color-specific gains. There is also global gain setting to change all the four color-specific gains.

Here we demonstrate how to change the gain through the analogue_gain_ register (0x350B).

OV7251 Gain Example

RegAddr = 0x350B, Value = 0x10

OV7251 Gain Example

RegAddr = 0x350B, Value = 0x40

OV7251 Gain Example

RegAddr = 0x350B, Value = 0xA0

Strobe control

Strobe facilitates implementation of a flashlight. Strobe generates a pulse with a reference starting point at the time when the pixel array starts integration. Following a delay after the reference starting point, which is controlled by strobe_frame_shift_direction, strobe_frame_shift[30:0], a pulse with a width of strobe_frame_span[31:0] is generated. The step width of shift and span is programmable under system clock domain.

How to set the strobe signal?

RegAddr = 0x3005, Bit[3]: input/ output control for STROBE pad. Strobe output enable

RegAddr = 0x3005, Value = 0x08 set it to output

RegAddr = 0x3B81, Bit[7:0]: strobe_frame pattern for sequential 8 frames 0: Off for 8 sequential frames 1: On

RegAddr = 0x3B81, Value = 0xA5

RegAddr = 0x3B81, Value = 0x1

RegAddr = 0x3B81, Value = 0xFF

Was this article helpful to you? Yes No 1