概述
说明:
理解摄像头驱动需要四个前提:
1)摄像头基本的工作原理和S5PC100集成的Camera控制器的工作原理
2)platform_device和platform_driver工作原理
3)Linux内核V4L2驱动架构
4)Linux内核I2C驱动架构
1. 摄像头工作原理
OV9650/9655是CMOS接口的图像传感器芯片,可以感知外部的视觉信号并将其转换为数字信号并输出。通过下面的框图可以清晰的看到它的工作原理:
我们需要通过XVCLK1给摄像头提供时钟,RESET是复位线,PWDN在摄像头工作时应该始终为低。HREF是行参考信号,PCLK是像素时钟,VSYNC是场同步信号。一旦给摄像头提供了时钟,并且复位摄像头,摄像头就开始工作了,通过HREF,PCLK和VSYNC同步传输数字图像信号。数据是通过D0~D7这八根数据线并行送出的。
OV9650向外传输的图像格式是YUV的格式,YUV是一种压缩后的图像数据格式,它里面还包含很多具体的格式类型,我们的摄像头对应的是YCbCr(8 bits, 4:2:2, Interpolated color).一定要搞清楚格式,后面的驱动里面设置的格式一定要和这个格式一致。
OV9650里面有很多寄存器需要配置,配置这些寄存器就需要通过芯片里面的SCCB总线去配置。SCCB其实是一种弱化的I2C总线。我们可以直接把摄像头接在S5PC
最后
以上就是独特灰狼为你收集整理的linux摄像头内核驱动开发,FS_S5PC100平台上Linux Camera驱动开发详解(一)的全部内容,希望文章能够帮你解决linux摄像头内核驱动开发,FS_S5PC100平台上Linux Camera驱动开发详解(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复