OV9650摄像头驱动分析

首先要明确一下摄像头工作方式:

一、摄像头是怎么把数据传送给mini2440的呢?

这个摄像头有10个数据口,mini2440通过这些数据口采集摄像头的数据。

二、硬件以什么样的方式交换采集数据呢?

摄像头将采集到的图像数据以一些标准的格式通过数据口输出。有两种输出方式,一种是一次输出10个bits.另一种是每次输出8bits.我们的mini2440采集的是第二种接法。

三、camera interface怎么把数据传给我们的程序呢?

我们在程序中设定一大块内存区如:frame_bufffer[][],这样的数组,并把这个数组的地址传给 camera interface的相应寄存器。这样camera interface会自动把摄像头传给它的数据经过自己的处理后存入那个内存区。至于camera interface做何种处理是我们可以通过寄存器设定的。

四、ov9650以什么格式输出呢,参见(二)红色字体

ov9650支持很多种格式,比如说我们常用的YCbCr4:2:2格式,这种格式我们的camera interface也支持。只到我们把两方都设成这种格式,camera interface就能正确处理数据。

五、camera interface以什么格式存入我们给的内存区中呢?

这个也是可以通过设定寄存器设置的。

比如说我们设成RGB565格式,camera interface就会把从ov9650拿到的YCbCr像素用硬件广商设定的程序转换成RGB565的格式,并存内我们的数组里,我们按照这个格式从数组里取数据就可以,也可以直接把这个地址给LCD的寄存器,LCD就可以直接显示了。

六、mini2440怎么设置ov9650中的寄存器呢?

ov9650有SCCB总线,我们可以用mini2440的IO口模拟一个SCCB总线传送方式。其实SCCB总线是弱化的IIC总线,我们也可以用IIC总线传送命令。

七、ov9650中有很多寄存有设置啊?

是啊,真多,不过广商提供一些标准的设置方法,我们只要写成数据,并循环写入就可以了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/f3bf4d104876b5b2fb4badc2be4b067d.html