网站大量收购闲置独家精品文档,联系QQ:2885784924

Android平板电脑camera驱动.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android平板电脑camera驱动要点

Android平板电脑camera驱动移植 内容简介 硬件平台 OV9650简介 OV9650摄像头结构 视频驱动整体框架 V4L2原理和框架 V4L2的构架流程 SCCB传输协议 SCCB传输时序图 Android的Camera系统结构 Android调用Camera驱动过程。 硬件平台 三星s5pc100 S5PC100 开发平台 采用三星公司必威体育精装版推出的 S5PC100 处理器( ARM Cortex A8核),最高主频可达到 800MHz 。板上配置有 256 M bytes DDR 内存、 256M bytes Nandsh 和 2M bytes Nor Flash 等大容量存储器,方便客户编写、调试自己的应用程序。同 时集成 USB 、 UART 、 SD 、 LCD 、 Camera 、 VGA 等常用设备接口, 适用于各种手持设、消费电子和工业控制设备 等产品 的开发 OV9650简介 OV9650 摄像头 OV9650是Omni Vision公司的彩色CMOS图像传感器,具有130万像素,支持SXGA,VGA, QVGA, QQVGA, CIF, QCIF, QQCIF的分辨率,具有多种色彩输出格式RGB, RGB (GRB 4:2:2), YUV (4:2:2) 和YCbCr (4:2:2),OV9650采用标准的SCCB接口。 OV9650摄像头结构 视频驱动整体框架 V4L2的原理和架构 V4L2是Linux下开发视频采集设备驱动程序的规范,它们使用分层的方法为驱动程序的开发提供了清晰的模型和一致的接口。应用程序处于最上层,与Framebuffer一样,V4L2都处于中间层,而实际的硬件设备处于下层,在linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。 V4L2是一个两层结构的驱动,上层是videodev模块,当videodev初始化后,它把自己注册一个主设备号为81的字符设备,同时注册自己的字符驱动成员函数;下层是V4L2驱动程序,它实际上是videodev的客户端,videodev通过v4l2驱动程序的成员函数来调用V4L2驱动程序。当V4L2驱动程序初始化后,它把一个包含V4L2驱动程序成员函数,次设备号以及其他相关信息的结构传递给videodev,从而把它要处理的设备注册到videodev. V4L2的构架和流程 文件操作接口(ioctl/mmap…) 字符设备驱动程序 V4L2驱动程序 具体的V4L2驱动 硬件设备 SCCB传输协议简介 S5PC100提供了一个摄像接口,摄像接口包括 8 位来自摄像头的输入数据信号,一个输出主时钟信号,三个来自摄像头的输入同步时钟信号和一个输出复位信号。S5PC100仅仅提供了一个摄像接口,因此要实现其功能,还需要摄像头。在这里,我们使用 OV9650。OV9650 内部有大量的寄存器需要配置,这就需要另外的数据接口。OV9650 的数据接口称为SCCB(串行摄像控制总线)。 SCCB是简化的I2C协议,SIO-l是串行时钟输入线,SIO-O是串行双向数据线,分别相当于I2C协议的SCL和SDA。 SCCB的总线时序与I2C基本相同 。SCCB是和I2C相同的一个协议。SIO_C和SIO_D分别为SCCB总线的时钟线和数据线 SCCB传输时序 SCCB_E信号是一个必须由主设备驱动的向,低电平有效的控制信号,它指示了数据传输的开始和结束。SCCB_E从高电平变为低电平表示一个传输的开始,从低电平变为高电平表示一个传输的结束,在数据传输期间,SCCB_E必须维持在逻辑0,当SCCB_E为1时,意味着此时总线空闲。 SIO_C信号是一个必须由主设备驱动的单向控制信号。它指出了每一个传输位。当总线空闲时,主设备必须驱动SIO_C为逻辑1。在传输开始后,当SIO_C被驱动为逻辑0,则一个数据传输开始。在数据传输过程中SIO_C的一个逻辑1指示了一个单独的已传输位。因此,SIO_D只能在SIO_C被驱动为0时出现. SIO_D信号是一个双向数据信号,可以被主设备或从设备驱动。当总线空闲时该信号可以保持悬空或三态。SIO_C的一个逻辑1代表了一位传输,因此SIO_D仅当SIO_C被驱动为逻辑0时出现。 SCCB传输开始位,结束位 开始位:SCCB_E由高电平变为低电平表示数据传输的开始(如图3所示)。但是在声明数据传输开始之前,主设备必须驱动SIO_D为逻辑1以取得总线的控制权,这样做可以防止在总线上传输数据之前传播一个未知状态。 结束位:SCCB_E由低电平变为电高平表示数据传输的结束(如图4所示)。在结束传输阶段定义了两个时间参数:SCCB_E由低电平变为电高平表示数据传输的结束(如图4所示

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档