DVP协议

DVP协议Whatisadigitalvideoport?Camera的并口传输方式很多地方叫做dvp接口,但是并没有统一的标准。AsfarasIknow,thereisnoDVPspecbutthepinoutseemstobesomethingofadefactostandard,eventhoughpartmanufacturers…

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

What is a digital video port?

Camera的并口传输方式很多地方叫做dvp接口,但是并没有统一的标准。

As far as I know, there is no DVP spec but the pinout seems to be something of a de facto standard, even though part manufacturers doesn’t always call it DVP.

结合《Advance Information AR0144AT Developer Guide1/4−Inch CMOS Digital Image Sensor》深入探究一下DVP的通信协议。

Protocol

The AR0144AT image data is read out in a progressive scan(逐行扫描).

Valid image data is surrounded by horizontal(水平的) and vertical(垂直的) blanking (see Figure 1). The amount of horizontal row time (in clocks) is programmable through R0x300C(1488).The amount of vertical frame time (in rows) isprogrammable through R0x300A(827). Line_Valid (LV) is HIGH during the shaded(阴影区域)region of Figure 1.

DVP协议

 

DVP的信号脚名称及作用:

PCLK:pixel clock ,像素时钟,每个时钟对应一个像素数据;

HSYNC:horizonal synchronization,行同步信号

VSYNC:vertical synchronization,帧同步信号;

DATA:像素数据,视频数据,具体位宽要看ISP是否支持;

XCLK:或者MCLK,ISP芯片输出给驱动sensor的时钟;

DVP的时序图FV为帧同步信号,LV为行同步信号(LV为高时,传输有效的像素数据)。

DVP协议

 

从ar0144的图像读出的空间插图中可以结合时序图分析:

  1. FV为高电平时为一帧数据的传输开始信号
  2. LV为高电平的为一行数据的传输开始信号(只传输有效数据)
  3. FV在低电平的时候传输vertical blanking
  4. LV在低电平的时候传输vertical blanking和horizontal blanking
  5. Blanking并不是像素数据,而是浪费的pclk,是一种时间上的概念,ISP或者BB也不会收到像素数据。

 

DVP协议

DVP协议

DVP协议

A为1280传输有效的行数据;

P1,P2是固定的6个clk的blank;

Q为horizontal blanking 1488-1280=208 pixel clock

V一帧低电平的时间:(827+5-800)*1488=47616 pixel clock

 

所以我们可以计算:

已知:PCLK = 74.25M sensor有效的像素是1280×800

计算一帧消耗的pixel clock?

一帧高电平的时间Vvalid:

(A+Q)*800-Q+P1+P2 = 1488*800-208+6+6 = 1190204 pixel clock

所以一帧的时间是Tf = V+Vvalid = 47616 + 1190204 = 1237820 pixel clock

 

那么每一帧的时间 = 1237820/74250000 = 0.01667s=16.67ms

帧率:1/16.67ms = 60fps

 

结合ar0144的图像读出的空间插图可以看出如果要改变帧率只需要调整blank的时间就可以了。

 

并口的传输速度(如果使用10bit的数据):74.25M*10bit = 742.5Mbps,转换成mipi对应每lane的传输的数据量:742.5/4=185.625M bps

那么对应的mipi clock为:185.625/2 = 92.8Mhz (除以二因为mipi的clock双边沿采样)。

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

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

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


相关推荐

  • 机器学习——决策树模型:Python实现

    机器学习——决策树模型:Python实现机器学习——决策树模型:Python实现欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你

    2022年10月19日
    3
  • acwing吧_并查集时间复杂度

    acwing吧_并查集时间复杂度小 A 和小 B 在玩一个游戏。首先,小 A 写了一个由 0 和 1 组成的序列 S,长度为 N。然后,小 B 向小 A 提出了 M 个问题。在每个问题中,小 B 指定两个数 l 和 r,小 A 回答 S[l∼r] 中有奇数个 1 还是偶数个 1。机智的小 B 发现小 A 有可能在撒谎。例如,小 A 曾经回答过 S[1∼3] 中有奇数个 1,S[4∼6] 中有偶数个 1,现在又回答 S[1∼6] 中有偶数个 1,显然这是自相矛盾的。请你帮助小 B 检查这 M 个答案,并指出在至少多少个回答之后可

    2022年8月9日
    4
  • uu怎么卸载_卸载deepin引导

    uu怎么卸载_卸载deepin引导ubutun干净卸载删除wineQQ博主原本想要在ubuntu18.04安装wineQQ,在安装完成后却显示QQ版本过低无法运行,只能卸载重装,不然那个QQ标志在软件列表非常碍眼。这个是之前安装wineQQ的教程【QQ版本已过期】问题:卸载不掉该软件且网上大多数指令都过期了解决方案:在deepinwine的应用容器中,用sudoaptremove软件包主名命令来删除。比如d…

    2025年9月19日
    6
  • java多线程基本概述(九)——Lock(3)

    java多线程基本概述(九)——Lock(3)

    2022年3月2日
    42
  • 整数规划

    整数规划2、整数规划2.1定义规划中的变量(部分或全部)限制为整数时,称为整数规划。若在线性规划模型中,变量限制为整数,则称为整数线性规划。2.2分类变量全限制为整数时,称纯(完全)整数规

    2022年7月4日
    34
  • 帝国CMS实现【加入收藏】与【设为首页】的方法[通俗易懂]

    帝国CMS实现【加入收藏】与【设为首页】的方法[通俗易懂]本文实例讲述了帝国CMS实现加入收藏与设为首页的方法。分享给大家供大家参考。具体实现方法如下:加入收藏,设为首页代码,兼容IE,火狐,谷歌等所有浏览器,复制以下代码到需要显示的地方:<ao

    2022年7月2日
    24

发表回复

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

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