Information Center for ARM

Example description

  
DCMI_OV9655_Camera  How to use the DCMI to control the OV9655 Camera module
  
Example Description 

This example shows how to use the DCMI to control the OV9655 Camera module mounted
on STM322xG-EVAL board RevA. 

The OV955 camera (1.3 MegaPixel) is a low voltage CMOS device that provide the full
functionality of a single-chip SXGA (1280x1024) camera and image processor in
a small footprint package.

This camera has an image array capable of operating at up to 15 frames per second 
in SXGA resolution with complete user control over image quality, formatting and
output data transfer. All required image processing functions are also programmable
through the SCCB interface (I2C like protocol).

In this example the DCMI is configured to interface with this 8 bit data camera
in continuous mode. The I2C1 is used to configure the OV9655 in 8 bit RGB 5:6:5 mode. 
The user can select between two resolutions QQVGA(160x120) or QVGA(320x240) in order 
to display the captured image on the LCD(320x240), this selection is performed 
in main.h file.
All camera data received by the DCMI are transferred through the DMA and displayed
on the LCD (connected to FSMC). As a result the CPU is free to execute other tasks.

To fine tune on the fly the Brightness and PCLK output of the camera, you have to
enable the CAMERA_FINETUNE define in main.h file. In this case:
  - use the potentiometer RV1 to change the Brightness
  - use the Key button to change PCLK output of the camera

Directory contents

  - DCMI/OV9655_Camera/stm32f2xx_conf.h     Library Configuration file
  - DCMI/OV9655_Camera/stm32f2xx_it.c       Interrupt handlers
  - DCMI/OV9655_Camera/stm32f2xx_it.h       Header for stm32f2xx_it.c
  - DCMI/OV9655_Camera/main.c               Main program
  - DCMI/OV9655_Camera/main.h               Header for main.c
  - DCMI/OV9655_Camera/dcmi_ov9655.c        Driver for OV9655 Camera module
  - DCMI/OV9655_Camera/dcmi_ov9655.h        Header for DCMI_OV9655.c

	  The "system_stm32f2xx.c" is generated by an automatic clock configuration 
      tool and can be easily customized to your own configuration. 
      To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" tool. 

      
Hardware and Software environment 

  - This example runs on STM32F2xx Devices.
  
  - This example has been tested with STM322xG-EVAL RevB and can be easily tailored
    to any other development board

  - STM322xG-EVAL Set-up
    - Make sure that OV9655 Camera module is mounted correctly
    - Make sure that jumper JP26 is not fitted