OV5640 High Framerate?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

OV5640 High Framerate?

2,823 Views
nikolasangelopo
Contributor I

Hello I.MX Community,


I am working in a lab at UCLA. We are using a SABRE Lite i.mx6 developer board (http://boundarydevices.com/products/sabre-lite-imx6-sbc/) and an OV5640 (http://boundarydevices.com/products/nit6x_5mp_mipi/) camera module. We are using this setup for some more demanding imaging purposes, and require:

1. 120 or greater frames per second

2. Ability to crop the field of view in order to achieve a smaller resolution image.

3. Output in raw format images(bayer would be good)

4. Pixel size of 1.4 microns or smaller.

At first, we tried to achieve this using Android(mediaRecorder), then GStreamer, but it looks like something in the driver won't support anything over 30 fps. How can we alleviate this problem?

Thanks very much y'all!

Nikolas

Labels (2)
3 Replies

1,384 Views
EricNelson
Senior Contributor II

Hello Nikolas,


I wish it were that easy!

The OV5640 driver contains a set of hard-coded register  value pairs like this one for VGA@30fps.

     linux-imx6/drivers/media/video/mxc/capture/ov5640_mipi.c at boundary-jb4.3_1.0.0-ga · boundarydevice...

In order to raise the frame rate, you'll need to tweak these to have exposure and frame timing for the clock rate, and in order to do that, you'll first need to be under NDA with Omnivision, and then will need to walk through some documentation that can be at best, a bit opaque.

I believe that what you're after is achievable, but it's not simply a matter of writing an application in the right way.

Please keep in touch if you do decide to continue pursuing this. Generalization of the drivers would be helpful to all users of the part.

If memory serves, there was some work to main-line support for the OV5642 and this included some V4L2 controls to allow arbitrary resolutions, but my recollection is a few years old and I don't have cycles to chase this down.

Regards,

Eric


E

1,384 Views
nikolasangelopo
Contributor I

Hello Eric,

Thanks for the pointer.  That's what I was afraid of.

Do you (or anybody else) know of any camera module/board pairing that can meet our lab's needs simply through writing an application?

If not, I may attempt generalizing the driver.  Do you know of a place that I can find a guide on how to do this (I've never done it before).

Thanks,

Nikolas

0 Kudos

1,384 Views
EricNelson
Senior Contributor II

Hello Nikolas,

Unfortunately, no (to both questions).

  1. I'm not aware of any cameras/boards that do high frame rates and arbitrary resolutions, and
  2. I don't have much guidance about making the updates. The clock settings in the OV564x are quite subtle and there are a number of related registers, so getting them right will need to be done carefully. What's more, the driver structure in the Freescale tree doesn't support the full range of V4L2 calls, and uses a custom 'mode=x' call, so they'll need corresponding updates to allow clock and resolution changes

You might want to check in with the folks on the Linux V4L2 mailing list (probably linux-media).

0 Kudos