OV7670

From ArmadeusWiki
Jump to: navigation, search

Available commercial modules:

Connecting the Elechouse module to the APF27

Description

  • OV7670 normally needs a 1,8V logic core voltage and an I/O Voltage >= 2,5V, but the modules don't care about 1,8V... Strange but it seems to work... Sensor main power supply is then taken from J9 pin 1 (2,5V)
  • Montage is straightforward, only a special cable is needed (or single wires):
  • CSI port (8 bits data + 4 bits control signals) is used to transmit images. These signals are available on the APF27Dev J9 connector (2,5V logic).
  • I2C bus (SIO) is used to configure the sensor. This 2 pins bus is available on the APF27Dev J8 connector.
APF27Dev and OV7670 module pins mapping

Montage

APF27Dev with OV7670 and LCD
OV7670 montage (I2C cable: CLK on J8 pin 8 and DATA on J8 pin 10)

Kernel config

  • Done by default on APF27
$ make linux-menuconfig
Device Drivers  --->
    Multimedia devices  --->
        [*] Video capture adapters  --->
            ...
            <M>   SoC camera support
            ...
            <M>     ov7670 camera support
            ...

Usage

# modprobe mx27_camera

Linux video capture interface: v2.00
mx27-camera mx27-camera.0: initialising
mx27-camera mx27-camera.0: Camera clock frequency: 33250006
mx27-camera mx27-camera.0: Using EMMA

# modprobe ov7670_soc

OmniVision ov7670 sensor driver, at your service
camera 0-0: Camera driver attached to camera 0
mx27-camera mx27-camera.0: mclk_get_divisor not implemented. Running at max speed
ov7670 0-0021: initializing
ov7670 0-0021: found an 0V7670 sensor
camera 0-0: Camera driver detached from camera 0

Test

# capture --cam_width 640 --cam_height 480 --width 640 --height 480 &