Surveyor Robotics Journal
   



email: support@surveyor.com

SRV-1 home page

Surveyor Corporation home page

Subscribe to a syndicated RSS feed.

Subscribe with Bloglines

Archives
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
Februray 2006
January 2006

       
Sun, 13 Apr 2008

exposure control for the OV9655 camera module

After deriving a stable set of register settings for the OV9655 camera module last fall, there hasn't been much done with the settings except for addition of a command to invert the image orientation. It has seemed that the "shutter speed" as well as gain control are a bit slow, so I started to tweak some registers today and got some encouraging results.

The formula provided by Omnivision for exposure time calculation is as follows:

Exposure time = 1/PCLK x 2 x 1520 x (Exposure line + Dummy line)
    Where
        PCLK => Pixel output clock
        Exposure line = (0xA1[5:0] x 1024) + (0x10[7:0] x 4) + 0x04[1:0]
        Dummy line = (0x2E[7:0] x 256) + Value of 0x2D[7:0]

The default settings are reg 0xA1 = 0x40, reg 0x10 = 0x40, reg 0x04 = 0x03. I experimented with reducing the value in the high order bits (reg 0xA1) from 0x40 to 0x20 to 0x10 and finally to 0x00. My guess is that there is a bounds checking in the firmware which sets a lower limit, as changing from 0x10 to 0x00 seemed to make no difference, but the change from 0x40 to 0x10 was noticeable, with reduced motion blurring and somewhat faster gain control response.

The register settings are found in ov9655.h in the data structure:
        static unsigned char ov9655_setup[] {};

As noted, the current default setting for register 0xA1 is 0x40. I would be interested in hearing from others who want to experiment with these settings. The next step is to look at the gain control registers - it appears that registers 0x13 and 0x14 provide significant control of that function.

By the way, the register definitions for the OV9655 are found here - http://www.surveyor.com/blackfin/OV9655-datasheet.pdf

Posted Sun, 13 Apr 2008 14:33 | HTML Link | see additional stories ...