sensor DVP接口介绍

sensor DVP接口介绍转载:https://blog.csdn.net/hua371242480/article/details/88629023原创sensor接口之DVP…

大家好,又见面了,我是你们的朋友全栈君。

什么是DVP

DVP(Digital Video Port) 是传统的sensor输出接口,采用并行输出方式,d数据位宽有8bit、10bit、12bit、16bit,是CMOS电平信号(重点是非差分信号),PCLK最大速率为96MHz,接口如下图:
DVP接口
PCLK:pixel clock ,像素时钟,每个时钟对应一个像素数据;
HSYNC:horizonal synchronization,行同步信号
VSYNC:vertical synchronization,帧同步信号;
DATA:像素数据,视频数据,具体位宽要看ISP是否支持;
XCLK:或者MCLK,ISP芯片输出给驱动sensor的时钟;
SCLSDA:IIC用来读写sensor的寄存器,配置sensor。

DVP时序

PCLK、HSYNC、VSYNC对应关系

ISP与sensor通过DVP接口连接,ISP首先会给sensor一个XCLK,sensor内部的PLL会对计算,产生PCLK,PCLK由幅面(F_W、F_H)、帧率(FPS)决定,并存在如下关系:


PCLK = F_W * F_H * FPS

以F_W = 3556,F_H = 1125,A_W = 1920, A_H = 1080,FPS = 25(1080P25)为例,说明几个对应关系:
DVP时许

注意:上图中标有错误,对照下文说明可以找出错误

  • PCLK是一个像素传输的时间,所以HSYNC时间是PCLK3556倍;

  • 在这3556个像素中,只有1920个像素是有效的(A_W大小),在剩下的1636个像素点时间内sensor是不传输数据的;

  • VSYNC是帧同步信号,所以VSYNC时间是PCLK3556*1125倍;

  • 同样只有在1920*1080个有效像素时间内,sensor在传输数据;

sensor并行输出说明

DVP并行输出
图中有12bit通道传输像素数据,但有些ISP芯片只能接受并行输入,会丢弃sensor端输出的低两位,这会造成低照条件下,颜色之间过度明显

实际测量DVP信号

  • XCLK

XCLK

  • PCLK

    PCLK

  • HSYNC

    HSYNC

  • VSYNC

VSYNC

  • SCL

SCL

  • 视频帧同步头波形

视频帧同步

  • 多波形图

多信号

                                </div>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131355.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 苹果p12证书转换[通俗易懂]

    苹果p12证书转换[通俗易懂]先生成本地的keyopensslgenrsa-outaps_development.key2048#将key转换导出csr证书opensslreq-new-sha256-keyaps_development.key-outaps_development.csr拿着aps_development.csr在苹果开发者网站去得到cer然后解析ceropensslx509-informDER-outformPEM-inaps_development.

    2022年6月15日
    48
  • String与StringBuffer的区别?

    String与StringBuffer的区别?String:1.String创建的对象是不可变的,一旦创建不可改变2.对象值可以改变其实是创建了一个新的对象,然后把新的值保存进去(如图1)3.String类被final修饰,不可以被继承4.String创建的对象的值存在于常量池,不用的时候不会被销毁5.String运行时间较长6.String适用于比较短而小的字符串图1StringBuffer:1.StringBuffer创建的对象是可变的2.它的改变不像String那样重新创建对象,而是通过构造方法(如图2)3.StringBu

    2022年9月21日
    3
  • Python 类继承,__bases__, __mro__, super

    Python 类继承,__bases__, __mro__, super

    2021年12月14日
    40
  • c++中this指针的用法详解

    c++中this指针的用法详解为什么引入this指针?   最简单的应用场景就是:当我们在类中定义了一个变量,同时在类成员函数中定义了同一变量时,也就是说变量名重复时,但是我们想使用类中定义的变量,这个时候我们该怎么办呢?这个时候就是this指针大显身手的时候了。为此我们引入this指针的概念。1.this指针的用处:  一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this…

    2022年5月13日
    51
  • Linux超级守护进程——xinetd

    Linux超级守护进程——xinetd

    2021年6月14日
    495
  • dm368 uboot烧写ubl卡住了_uboot教程

    dm368 uboot烧写ubl卡住了_uboot教程这三个参数均有UBOOT直接传递给内核,所以要想知道他们具体的作用,需要根系内核模块的结构。dm365_imp.oper_mode                   是指在内核模块中内存空间采用连续、或者不连续模式。davinci_capture.device_type             是你的捕获设备的设备类型davinci_enc_mngr.ch0_mode

    2022年8月13日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号