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双边沿采样)。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 示波器表笔旁边的夹子是什么_示波器的基础操作,初学者必看教程「建议收藏」

    示波器表笔旁边的夹子是什么_示波器的基础操作,初学者必看教程「建议收藏」正确接地在设置测量或处理电路时,正确地接地是一个重要步骤。示波器正确接地可以防止用户受到电击,用户正确接地可以防止电路受到损坏。示波器接地意味着把示波器连接到电器中性的参考点上,如接地。把示波器三头电源线查到连接接地装置的插座上,实现示波器接地。示波器接地对人身安全是必需的。如果高压接触没有接地的示波器机箱,不管是机箱的哪个部分,包括视乎已经绝缘的旋钮,都会发送电击。而在示波器正确接地时,电流会通…

  • Android Deeplink配置

    Android Deeplink配置Deeplink启动应用配置注意事项1.Deeplink格式说明  Deeplink是目前使用广告跟踪非常热门的一种方式,Deeplink的链接类型一般是schema://host/path?params样式。2.为接收Deeplink配置intent-filter  在Android设备中,点击Deeplink后可以打开指定应用,为了能够正确定位到需要打开的应用,并正…

  • C#构造函数的作用_以下程序段的作用是inta

    C#构造函数的作用_以下程序段的作用是inta构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化(1)构造函数的名字必须与类同名;(2)构造函数没有返回类型,它可以带参数,也可以不带参数;(3)构造函数的主要作用是完成对类的初始化工作;(4)在创建一个类的新对象(使用new关键字)时,系统会自动调用给类的构造函数初始化新对象;C#的类有两种构造函数:实例构造函数和静态构造函数实例构造函数:

  • Android抽象布局——include、merge 、ViewStub[通俗易懂]

    Android抽象布局——include、merge 、ViewStub[通俗易懂]在布局优化中,Androi的官方提到了这三种布局,并介绍了这三种布局各有的优势,布局重用,减少视图层级,需要时加载。

  • MySQL 中<=>用法(长知识)

    MySQL 中<=>用法(长知识)

    2021年11月10日
  • 毕业五年

    好久不见,一年一度的“毕业N年”系列,2020,毕业五年了,今年来的略晚一些。五年是个挺重要的节点,所以今年不只是第五年,也是对自己前五年的复盘和总结。工作1、机会:能力很重要,机会最重要珍惜工作中脱颖而出的机会,不要轻易跳槽,要跳,一定是因为看到更好的机会。从我的经历来讲,毕业五年,加上实习已经工作了六年时间,百度(深圳)->百度(北京)->Finger(杭州)->阿里(杭州),一共换了四个团队,但都是个人原因,而不是因为更好的机会。这就导致换了几个队伍,好位置早已经有人,只能

发表回复

您的电子邮箱地址不会被公开。

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