zoukankan      html  css  js  c++  java
  • DisplayPort的时钟隐藏和时钟恢复

    转:DisplayPort的时钟隐藏和时钟恢复

    无时钟线的视频数据传输是DP协议的一大特点,将时钟信号隐藏在数据中是传输协议的设计趋势。时钟恢复技术也是DP芯片设计的关键技术。在这说一下在发送端时钟是如何隐藏到数据中的,以及在接收端是如何将时钟恢复出来的。

    这里涉及两个时钟:link_clock和stream_clock。

    link_clock是dp差分线上的时钟,DP v1.3最高5.4GHz。stream_clock说的是video stream的pixel_clock。所说的时钟恢复,指的是根据link_clock恢复stream_clock。最终恢复的,还是stream_clock。

    link_clock的恢复

    link_clock是phy层的时钟,source端发送数据通过main_link直接发送数据而没有时钟线。因此dp协议定义了Link Training行为。在Link training 时,source在差分对上发送规整的时钟信号(实际上是clock pattern,序列0101010101),在sink端就可以以main link线上的时钟同步sink自己的时钟了。但事实上现在的时钟恢复技术已经非常成熟,由于source与sink的main link是同步的,因此即使不link training,sink也可以从其不规则的main link数据中恢复出link_clock。因此协议现在规定link training是可选的。

     sink端的时钟恢复原理大概是这样的:

    DisplayPort的时钟隐藏和时钟恢复

    用以上方法即可确定link_clock。

    发送端时钟(stream_clock)的隐藏:

    在DP协议上采用了类似频率计的原理。在source端,首先确定一个N值,这个N值是并不是严格的多少,能达到要求的精度即可。N值的作用是使用link_clock计时N个周期,也就是N*link_clock_period这么长的时间,以这个时间作为一个门限。在这段时间内,对source端的stream_clock进行计数,得到了计数器个数M。于是,在门限时间内,共有N个link_clock和M个stream_clock。协议规定了M、N为24bit。随后M、N会被打包到Data Packet里面,在video的vertical blank期间通过main link的main stream attribute data 发送到sink端。同时,在video的有效数据时,也随VB-ID把M/N值的低8位一同发出,sink端也可通过MN值的低8位随时调整stream clock的周期。

    接收端的时钟(stream_clock)恢复

    上面已经介绍了sink是如何同步link_clock的,并且也通过MN的值知道了link_clock和stream_clock的关系。因此stream_clock的恢复方法很简单了,就是M/N*link_clock_frequency。

  • 相关阅读:
    ghost版本xp安装iis的问题
    装vs2005 sp1出现数字签名错误的解决办法
    FLEX对整个截屏或单个UI进行截图
    在Apache环境下成功的运行ASP.NET
    向园子的高手们求救 关于45斜视地图的寻路
    第一次在博客里面写东西
    在 Linux 下运行 ASP.NET 2.0
    sql left join inner jion 区别
    C# 图片识别(支持21种语言)
    5、Java并发编程:Lock
  • 原文地址:https://www.cnblogs.com/jacklong-yin/p/9890441.html
Copyright © 2011-2022 走看看