OV9650摄像头驱动分析

2014-11-24 08:49:41 来源: 作者: 浏览: 0

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


一、摄像头是怎么把数据传送给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中有很多寄存有设置啊?


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


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: