我是靠谱客的博主 独特灰狼,最近开发中收集的这篇文章主要介绍linux摄像头内核驱动开发,FS_S5PC100平台上Linux Camera驱动开发详解(一),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

说明:

理解摄像头驱动需要四个前提:

1)摄像头基本的工作原理和S5PC100集成的Camera控制器的工作原理

2)platform_device和platform_driver工作原理

3)Linux内核V4L2驱动架构

4)Linux内核I2C驱动架构

1. 摄像头工作原理

f6ad2e428d3c3be27731dab7784297a6.png

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驱动开发详解(一)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部