Camera DVP协议讲解

  • 该文章写于2016年,一直未发表。近期工作中又涉及到了Camera相关的内容,重新温习了下相关知识。决定把这篇文章发表出来,大家共同学习。

  DVP(Digital Video Port)摄像头数据并口传输协议,提供8-bit或10-bit并行传输数据线、HSYNC(Horizontal sync)行同步线、VSYNC(Vertical sync)帧同步线和PCLK(Pixel Clock)时钟同步线。8-bit或10-bit是依Pixel的位深而定的,8bit A/D Pixel位深8bit,10bit A/D Pixel位深10bit。具体提供8bit还是10bit数据线依Sensor而定,有的Sensor虽有10bit数据线(D0–D9),但接线时一般只接高8位(D2–D9),舍弃低2位的原因是对图像效果影响并不大。有的平台也有10bit数据线,接线时也得区分是高8位(D2–D9)还是低8位(D0~D7),并与软件解析相对应,不能是硬件接了低8位,而软件仍按高8位解析数据(出现粉红屏),或者反过来也是不允许的(出现高亮发红)。

  DVP接口一个PCLK周期可以传输1byte数据,1byte各位并行输出,一行Pixel输出完后,Sensor输出一个HSYNC行同步信号,一帧所有行输出完成后,输出一个VSYNC帧同步型号。如图4.3-1是一个输出VGA大小的示例时序图,HREF便是HSYNC,3xtLine是VB(Horizontal Blank Dummy Line)帧空闲时间,14tLine是帧头与第一行第一个Pixel数据开始的时间St,640tp表示一行有640个Pixel,然后HSYNC变为低电平,144tp是HB(Horizontal Blank Dummy Pixel)行空闲时间,13tLine是最后一行最后一个Pixel到帧尾的时间Et,510xtLine是一帧的时间。
    510xtLine=3tLine+14tLine+480tLine+13tLine,480tLine=(640tp+144tp)x480-144tp。

  HB、VB、St、Et时间一般有寄存器可以进行设置,St、Et一般很少动采用默认值即可,HB、VB决定了Sensor输出的最大帧率,HB、VB也不是可以无限小的,需要大于某个最小值,值太小图像边缘会出现花边。HSYNC、VSYNC可以在低电平输出有效数据,也可以在高电平输出有效数据,PCLK可以上升沿出数据也可以下降沿出数据,Sensor一般都开放了寄存器来设置HSYNC、VSYNC、PCLK的极性,极性设置应该与平台抓数据时采用的极性相一致,如VSYNC、HSYNC极性错误会引起黑屏,PCLK极性错误会引起花屏。DVP接口是靠HSYNC、HSYNC中断信号检测有效帧的,Data线发生错位、开路、短路、相位差,并不会引起出不了图像,只是图像不正常而已,越高位的Data线出问题花屏就越严重,D7>D6…>D1>D0。

  PCLK、D0、D1都是高频信号线(低位变化更加频繁),Layout时注意屏蔽干扰、不可与其它高频线并排或重叠走线,最好用GND线或者低频线(如D7、D6)隔开。

Camera DVP协议讲解相关推荐

  1. 北斗通讯协议4.0 java_北斗4.0协议讲解.doc

    北斗4.0协议讲解 北斗用户机用户接口协议 (4.0版本外用) 接口数据传输约定 串口非同步传送,参数定义如下: 传输速率:19200bit/s(默认),可根据用户机具体情况设置其它速率: 1 bit ...

  2. WIZnet W5500系列培训活动之“MQTT协议讲解和实践(接入OneNET)”

     万物联网的时代已经到来,物联网也由当初的概念开始进一步落实.物联网通信协议当中发展最迅速.应用最广泛的就是MQTT,它是轻量级基于代理的发布/订阅的消息传输协议,并且可以通过很少的代码和带宽与远程设 ...

  3. 蓝牙DID协议讲解 Bluetooth Device ID

    零. 概述 主要介绍下蓝牙协议栈(bluetooth stack)DID(Device ID)协议讲解 btsnoop以及流程在资料中的......\STM32_UBUNTU_BLUETOOTH\2- ...

  4. C语言实现MQTT协议(一)协议讲解

    MQTT介绍 MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议.它的设计思想是轻巧.开放.简单.规范,易于实现.这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如机器与机器 ...

  5. 基于FPGA的DVP协议实现

    基于FPGA的DVP协议实现 DVP协议的介绍 DVP协议代码 DVP协议的测试代码 总结 DVP协议的介绍 DVP协议是摄像头中最常用到的协议,除了DVP协议摄像头中还有娶她常用的协议如:MIPI. ...

  6. DeviceNet现场总线协议讲解

    DeviceNet现场总线协议讲解 2008-2-28 10:27:00 来源:作者: 网友评论 0条 点击查看 <script src="http://www.ca800.com/a ...

  7. UVC(USB Video Class)协议讲解

    1. UVC功能概述 UVC设备都是多Interface设备,这点同普通的u盘不同.UVC设备最起码有两个Interface,VideoControl(VC)Interface和VideoStream ...

  8. BT.656协议讲解与解码

    BT.656支持不同位数和分辨率的视频,本文以标准分辨率为720*576i 8bit BT.656(4:2:2)YCbCr SDTV 数字视频信号格式讲解协议和解码方法:采集图像的时候使用隔行扫描,每 ...

  9. Radius协议讲解

    目录 AAA介绍 AAA的基本架构 AAA的认证 授权 计费方式 AAA通过本地和远端实现的大致流程 Radius协议 Radius架构 Radius报文结构 Radius如何对用户进行认证 Radi ...

最新文章

  1. 作为谷歌开发者布道师,我为什么要写这本通俗的《数据压缩入门》(一)
  2. 高效率读写文件方法比较
  3. Codeforces Round #263 (Div. 2) D. Appleman and Tree(树形DP)
  4. SpringBoot项目新手——问题疑惑及解决笔记
  5. linux中gid和groups区别,linux用户与组管理
  6. bmp文件头_图像算法原理与实践——图像文件存储
  7. Windows 7系统快捷键汇总
  8. mysql mgr写入_社区投稿 | MySQL MGR一致性读写特性解读
  9. java 检测 类型_[Java教程]javascript类型与类型检测
  10. Atitit 常见触发器功能总结 目录 1.1. mysql触发器实例 插入数据前更改数据值.mhtml 1 1.2. 数据修改后更改数据值 1 1.3. 不能为空检测约束。。 1 2. Ref 2
  11. Java实现棒子老虎鸡小游戏
  12. 电脑每次开机都出现check file system on:C 的解决办法
  13. Module containing this breakpoint has not yet loaded or the breakpoint address not be obtained
  14. 干货!网络推断与数据驱动的影响力最大化问题
  15. 【转】C++多继承的细节
  16. android studio 导入module作为lib使用
  17. 学习java之路之第五周
  18. 【人工智能】人脸颜值研究综述
  19. vnpy+缠论测试笔记1: chart绘图标识顶底分型
  20. CIO应具备的基本素质要求(zt)

热门文章

  1. 基于jsp的火车票网上订票系统
  2. andriod R wifi 开启流程
  3. 基于Python的身份证解析工具
  4. vmware, hyper-v 等虚拟机无法识别USB加密狗解决方案
  5. python存储mp3信息_【Python】 获取MP3信息replica
  6. 配置阿里yum源和epel源
  7. GoEXP规则变更通知 l 信创额外奖励活动
  8. GD32实战20__Boot综合实验
  9. Web Sockets
  10. laravel的配置文件