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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 回溯法(八皇后问题)及C语言实现

    回溯法(八皇后问题)及C语言实现    回溯法,又被称为“试探法”。解决问题时,每进行一步,都是抱着试试看的态度,如果发现当前选择并不是最好的,或者这么走下去肯定达不到目标,立刻做回退操作重新选择。这种走不通就回退再走的方法就是回溯法。回溯VS递归    很多人认为回溯和递归是一样的,其实不然。在回溯法中可以看到有递归的身影,但是两者是有区别的。    回溯法从问题本身出发,寻找可能实现的所有情况…

    2022年6月26日
    18
  • 【Netty】mmap 和 sendFile 零拷贝原理

    【Netty】mmap 和 sendFile 零拷贝原理一、零拷贝简介、二、传统BIO数据拷贝分析(4拷贝4切换)、三、mmap内存映射(3拷贝4切换)、四、sendFile函数(Linux2.1优化)(3拷贝2切换)、五、sendFile函数(Linux2.4优化)(2拷贝2切换)、

    2022年5月29日
    96
  • 我为什么放弃Go语言

    我为什么放弃Go语言我为什么放弃Go语言?有好几次,当我想起来的时候,总是会问自己:这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言,就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论,但是我有足够详实的客观的论据。

    2022年6月30日
    20
  • js判断字符串_js中判断字符串包含另一个字符串

    js判断字符串_js中判断字符串包含另一个字符串1.string.search()返回值:匹配成功的第一个字符的下标,未匹配则返回-1用法:string.search(searchValue)举个例子:letsearchVal=’yyds’letsearchResult=searchVal.search(‘y’)console.log(searchResult)//03.string.includes()返回值:Boolean用法:string.includes(searchValue,start)

    2022年10月7日
    0
  • jQuery下载和安装详细教程[通俗易懂]

    jQuery下载和安装详细教程[通俗易懂]下载jQuery我们可以到jQuery的官网下载jQuery文件(PS:其实jQuery就是一个封装了很多函数的js文件,把这个js文件导入到网页中就可以了)。jQuery官网地址:https://jquery.com/打开官网,即可看到jQuery的下载按钮,点击进入下载页面。有两个版本的jQuery可以下载:Productionversion-用于实际的网站中,是已经被精简和…

    2022年5月3日
    442
  • 小数和二进制的转换_进制转换表

    小数和二进制的转换_进制转换表1.小数用二进制如何表示首先,给出一个任意实数,整数部分用普通的二进制便可以表示,这里只说小数部分如何表示例如0.6文字描述该过程如下:将该数字乘以2,取出整数部分作为二进制表示的第1位;然后再将小数部分乘以2,将得到的整数部分作为二进制表示的第2位;以此类推,知道小数部分为0。特殊情况:小数部分出现循环,无法停止,则用有限的二进制位无法准确表示一个小数,这也是在编程语言中表

    2022年10月31日
    0

发表回复

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

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