DP1.4协议学习(三)Main-Link链路上的同步传输服务

这篇具有很好参考价值的文章主要介绍了DP1.4协议学习(三)Main-Link链路上的同步传输服务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  上一篇文章讲到Main-link链路服务就是用来传输音视频数据的,本篇文章将具体探究一个完整的Main-link传输服务具体需要做哪些工作。

在Main-link的同步传输服务中需要明确一下问题:

  1. Main-Link具体传输哪些数据,数据格式应该是怎样的?
  2. 以多少的速率和Lane数进行传输,应该如何确定?
  3. Main-Link没有时钟通道,时钟如何恢复?
  4. 还需要进行其他的什么操作?

0.首先来看协议中对Main-Link的介绍

    The isochronous transport services of the Link Layer provide the following:
    • Mapping of stream data to and from the Main-Link lanes
        • Packing and unpacking
        • Stuffing and unstuffing
        • Framing and unframing
        • Inter-lane skewing and de-skewing
    • Stream clock regeneration
    • Insertion of main stream attributes data
    • Optional insertion Secondary-Data Packet (SDP) with ECC
        • Audio_Stream SDP
        • CEA-861-F INFOFRAME SDP

DP1.4协议学习(三)Main-Link链路上的同步传输服务

  从图中可以看出,整个Main-Link通道分为三个部分,分别是音视频数据流时钟域(Native Stream CLK(s)Domain)、链路符号时钟域(LS_Clk Domain)以及Main-Link通道的PHY层。

  • Native Stream CLK(s)Domain为用户需要发送的音视频流时钟域
  • LS_Clk Domain是链路符号传输时候的时钟域,需要注意的是在LS_Clk时钟域下,所有的数据都是以Symbol的形式进行传输,一个symbol为8位宽
  • Main-Link通道的PHY层主要是在Inter-lane skewing之后对数据进行加扰、编码和串行化,正确地将数据通过线缆发送到接收端。

1.Main-Link具体传输哪些数据,数据格式应该是怎样的

  Main-Link通道上主要传输以下数据,分别是音视频流数据、控制数据(Control symbols)、视频流属性数据(Main Stream Attributes (MSA))以及一些填充数据和加密保护数据

  在LS_Clk时钟域下,数据均以symbol的形式进行传输和处理,因此数据可以直接分为Data symbolsControl symbols,其中Data symbols必须在Control symbols的控制下进行传输,具体Data symbols指哪些,我们只需要了解Control symbols有哪些,除了Control symbols,剩下的音视频流数据、视频流属性数据(Main Stream Attributes (MSA))以及一些填充数据和加密保护数据都属于Data symbols。
首先来看看Control symbols有哪些:
DP1.4协议学习(三)Main-Link链路上的同步传输服务

下图显示的是音视频流数据在Main-Link通道的整个过程:
DP1.4协议学习(三)Main-Link链路上的同步传输服务

  通过上图的流程,可以看到,音视频数据进入Main-Link层后,首先会有一个Bus Steering,该过程像发扑克牌一样,会根据Link策略制定者的指示,将要发送的音视频数据分配到各个通道上(1、2or4lane),然后后面会有Framing, Packing, Stuffing的过程对数据进行一定格式的组织,具体数据组织方式在下文进行分析。

1.1首先来看Bus Steering是如何分配数据的

  根据协议,根据link策略制定者的指示,1、2or4Lane的数据分配方式如下图所示:

DP1.4协议学习(三)Main-Link链路上的同步传输服务

  当然,上面已经说到,所有的Data symbols必须在Control symbols的控制下进行传输,因此分配好的像素数据并不能直接进行传输,需要加入Control symbols,如下图所示:
DP1.4协议学习(三)Main-Link链路上的同步传输服务

  可以看到,有效的像素数据全部包含在控制字符BE和BS之间。BS表示空白区域的开始,紧接着需要传输VB-ID、Mvid[7:0]、Maud[7:0]以及虚拟填充数据或者音频数据。

关于VB-ID、Mvid[7:0]以及Maud[7:0]的解释

VB-ID主要携带以下信息

  • 主视频流是处于垂直显示期间还是处于垂直消隐期间。
  • 交错视频的主视频流是在奇数场还是偶数场。
  • 主视频流是交错还是非交错(渐进式)。
  • 是否在没有进行视频流传输的同时插入BS。没有视频流时,通过主链传输的符号如表所示
  • 是否要静音音频。
    DP1.4协议学习(三)Main-Link链路上的同步传输服务

Mvid[7:0]、Maud[7:0]的说明

  • Mvid[7:0]是Mvid的最低7位,在没有视频传输时,该值为00h,Mvid是用来恢复时钟的,和Nvid配合使用,关于Mvid,在后面时钟恢复章节会继续说明。
  • Maud[7:0]和Mvid[7:0]类似,不过是用来指示音频的。

Note1:在没有视频传输时的数据组织形式如下图所示,在没有视频传输时,控制符号为BS,没有BE,每8192个link symbol需要插入一次BS、VB-ID、Mvid[7:0]以及Maud[7:0]。
DP1.4协议学习(三)Main-Link链路上的同步传输服务

Note2:无论main-link选择1、2还是4lane, VB-ID, Mvid7:0, and Maud7:0必须传输四次,如下图所示
DP1.4协议学习(三)Main-Link链路上的同步传输服务


1.2 传输单元打包和数据填充(Symbol Stuffing and Transfer Unit)

Bus Steering将视频流数据按照规则分配到不同的通道上之后也是不能直接发送的,需要根据传输规则进行Transfer Unit的打包以及根据速率进行Symbol Stuffing填充。下面具体来分析这两部分内容。

  首先来看为什么需要Symbol Stuffing?当我们需要传输视频时,视频的速率带宽是一定的,但DP1.4协议只支持1.62Gbps、2.7Gbps.5.4Gbps以及8.1Gbps的传输速率,因此想要完整传输视频数据,选择的DP接口的速率就一定要大于等于视频传输速率,除非视频速率和DP接口速率相等,那么传输刚刚好,如果视频速率小于DP接口的速率,一帧图像很快传输完毕,岂不是有很多空闲带宽,这部分空闲带宽当然不能说停住不发送,还是要继续发送,那应该发送什么呢,发送Stuffing Symbols(其实就是一堆0),这就是为什么要Symbol Stuffing

Note在进行Symbol Stuffing时,在消隐周期(blanking period)和有效像素周期((active video period)的填充是不一样的

  • 在有效像素周期(active video period):

      在active video period阶段Symbol Stuffing是有规则的,并不是先全部发送完有效的像素数据,然后发0就行了。在DP协议中,数据流需要封装成为一个个的Transfer Unit(传输单元),每个Transfer Unit(传输单元)中都插入一些Stuffing Symbols(其实就是一堆0),因此一个Transfer Unit(传输单元)就长下面这个样子:
    DP1.4协议学习(三)Main-Link链路上的同步传输服务

      但每个传输单元有大小限制,即每个Transfer Unit的大小为32到64个sysmbols,同样遵循数据在控制符号的控制下进行传输Stuffing Symbols必须以FS控制字符开始,以FE字符结尾。注意

    1. 如果只需要填充一个sysmbol,则只填充FS,FE省略。
    2. 一行的最后一个TU单元不需要填充,没有FS和FE,大小也不必遵循32到64。
    3. 一行的最后一个TU必须以BS结束,且不能以FS/FE插入结束。
    4. FS和FE必须插入到同一LS_Clk周期中的所有车道中。
  • 在消隐周期(blanking period):

      消隐周期的第一个BS和活动视频周期的第一个BE之间的所有非控制符号都是虚拟填充数据符号(VB-ID、Mvid7:0和Maud7:0除外)。这些虚拟数据符号可以用sdp代替。

1.2.1 如何具体确定每个TU单元应该插入多少Stuffing Symbols?

以下是具体方法:

根据公式

  valid data symbols per lane = packed data rate/link symbol rate * TU size

如何解读以上的公式,以一个例子来看就会很清楚:

比如一个10bits色深的RGB视频,像素时钟为80Mhz,即Stream: 30bpp, 80MHz,如果link的策略制定者决定使用4个lane,每个lane以2.7Gbps的速度进行传输。

那么首先是Bus Steering进行数据的分发,分发到4个lane上,每个lane将需要每秒传输的数据量为:

30*80/4/8 = 75M symbols/second/lane (symbol是以8位形式存在,所以除以8)

如果以2.7Gbps进行传输,也就是LS_CLK是在270M的速率下运行,即每秒钟每个lane传输270M symbols(由于8/10编码)

这样有效数据的的有效率就为:75M/270M

如果单个TU单元定义为64bit大小,则一个TU单元中有效数据应该为:75M/270M*64 = 17.8个,由于一行最后一个TU没有填充要求,因此,在传输该视频时,一个TU中有效数据可设置为18个sysmbols进行传输。


1.3 流属性数据MSA和次级数据包SDP的插入

  在1.2节中主要讲述了针对要发送的视频流数据如何进行数据分配、数据单元的打包以及填充。但是在视频的消隐期间,DP发送系统也不是只发送填充的0,还有一些关于视频流属性的数据以及一些音频数据等次要信息需要在消隐期内进行发送,本小节主要探究如何将流属性数据MSA和次级数据包按照协议规则在消隐期期间插入数据流。

  当然还是万变不离其宗,数据符号在控制符号的控制下进行传输,流属性数据MSA和次级数据包SDP由SS和SE两个控制字符进行管理。如下图所示:
DP1.4协议学习(三)Main-Link链路上的同步传输服务

Note:流属性数据MSA虽然也作为一种次级数据,但在发送时为了和SDP数据进行区分,MSA数据以两个SS控制符号进行引导。如下图所示:
DP1.4协议学习(三)Main-Link链路上的同步传输服务

  在流属性数据MSA和次级数据包SDP的插入后,DPTX必须做车道间倾斜,如下图所示,所有的符号,包括在视频显示期间传输和在视频消隐期间传输的符号,相邻车道之间需要两个LS_Clk周期的倾斜。
DP1.4协议学习(三)Main-Link链路上的同步传输服务文章来源地址https://www.toymoban.com/news/detail-497270.html

到了这里,关于DP1.4协议学习(三)Main-Link链路上的同步传输服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 集睿致远推出CS5466多功能拓展坞方案:支持DP1.4、HDMI2.1视频8K输出

    ASL 新推出的  CS5466是 一款 Type-C/DP1.4转HDMI2.1的显示协议转换芯片, ,它通过类型C/显示端口链路接收视频和音 频流,并转换为支持TMDS或FRL输出信令。DP接收器支持81.Gbp s链路速率。HDMI输出端口可以作为TMDS或FRL发射机工作。FRL发射机符合HDMI 2.1规范,支持每通道高达12Gbp s的

    2024年02月10日
    浏览(27)
  • DP与EDP接口协议学习

    DP----DisplayPort,一种标准化数字式视频接口协议 DisplayPort是一个由PC及芯片制造商联盟开发,视频电子标准协会(VESA)标准化的数字式视频接口标准。该接口免认证、免授权金,主要用于视频源与显示器等设备的连接,并也支持携带音频、USB和其他形式的数据。此接口的设计

    2024年02月14日
    浏览(21)
  • 链路聚合(Link Aggregation)

            链路聚合是将物理接口捆绑在一起作为一个逻辑接口来增加带宽和可靠性的方法。将若干条以太链路捆绑在一起形成的逻辑链路,简写为Eth-Trunk。         如图所示,SW1和SW2之间通过三条以太网链路相连,将三条链路加入链路聚合组,就成为了一条Eth-Trunk逻辑链路,

    2024年02月05日
    浏览(32)
  • 策略路由+静态路由+ip link+healthcheck检测外网物理链路提高网络的可靠性

    1、外网链路有防火墙Firewall出口,外网也有路由器Router出口。 2、用户量大需要多条外网链路负载均衡,多条链路也可以互为主备。 3、有ip专线网络(上下行对称)与拨号光纤(上下行非对称)网络配合使用。 4、当外网链路故障时用户感知不到链路故障,提升用户体验效果

    2024年02月08日
    浏览(28)
  • HarmonyOS@Link装饰器:父子双向同步

    子组件中被@Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。 说明 从API version 9开始,该装饰器支持在ArkTS卡片中使用。 @Link装饰的变量与其父组件中的数据源共享相同的值。 @Link变量装饰器 说明 装饰器参数 无 同步类型 双向同步。父组件中@State, @StorageLink和@

    2024年01月25日
    浏览(24)
  • 数据链路层协议 ——— 以太网协议

    IP拥有将数据跨网络从一台主机送到另一台主机的能力,但IP并不能保证每次都能够将数据可靠的送到对端主机,因此IP需要上层TCP为其提供可靠性保证,比如数据丢包后TCP可以让IP重新发送数据,最终在TCP提供的可靠性机制下IP就能够保证将数据可靠的发送到对端主机。 TCP除

    2024年02月01日
    浏览(52)
  • 网络协议 — LLDP 数据链路发现协议

    LLDP(Link Layer Discovery Protocol,链路层发现协议)是定义在 802.1ab 中的一个

    2024年02月10日
    浏览(25)
  • MPSOC DP协议介绍

    DP协议(DisplayPort)是一种数字视频传输协议,用于连接计算机或其他设备与显示器或电视等显示设备。DP协议由VESA(Video Electronics Standards Association)制定,其目的是取代传统的VGA、DVI等模拟视频接口,提供更高的视频质量和更大的带宽,支持更高的分辨率、更快的刷新率和更

    2024年02月06日
    浏览(16)
  • 数据链路层 ,数据链路层的主要功能,数据链路层的协议,数据链路层的设备。

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「专栏简介」: 此文章已录入专栏《计算机网络零基础快速入门》 了解封装成帧的原理 掌握PPP协议的作用及实现原理 熟悉链路层的网络设备和工作原理 数据

    2024年02月03日
    浏览(22)
  • 【网络】数据链路层——MAC帧协议 | ARP协议

    🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言: 你只管努力,剩下的交给时间! 来到数据链路层后,完整的数据被叫做 数据帧 ,习惯上称之为MAC帧。 网络层的IP协议并不是将数据报直接发到了网络中,而是将数据报继续向下交付,给到了数据链路层。 如上图所示,

    2024年02月11日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包