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

2023-11-11

  上一篇文章讲到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

在这里插入图片描述

  从图中可以看出,整个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有哪些:
在这里插入图片描述

下图显示的是音视频流数据在Main-Link通道的整个过程:
在这里插入图片描述

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

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

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

在这里插入图片描述

  当然,上面已经说到,所有的Data symbols必须在Control symbols的控制下进行传输,因此分配好的像素数据并不能直接进行传输,需要加入Control symbols,如下图所示:
在这里插入图片描述

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

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

VB-ID主要携带以下信息

  • 主视频流是处于垂直显示期间还是处于垂直消隐期间。
  • 交错视频的主视频流是在奇数场还是偶数场。
  • 主视频流是交错还是非交错(渐进式)。
  • 是否在没有进行视频流传输的同时插入BS。没有视频流时,通过主链传输的符号如表所示
  • 是否要静音音频。
    在这里插入图片描述

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]。
在这里插入图片描述

Note2:无论main-link选择1、2还是4lane, VB-ID, Mvid7:0, and Maud7:0必须传输四次,如下图所示
在这里插入图片描述


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(传输单元)就长下面这个样子:
    在这里插入图片描述

      但每个传输单元有大小限制,即每个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两个控制字符进行管理。如下图所示:
在这里插入图片描述

Note:流属性数据MSA虽然也作为一种次级数据,但在发送时为了和SDP数据进行区分,MSA数据以两个SS控制符号进行引导。如下图所示:
在这里插入图片描述

  在流属性数据MSA和次级数据包SDP的插入后,DPTX必须做车道间倾斜,如下图所示,所有的符号,包括在视频显示期间传输和在视频消隐期间传输的符号,相邻车道之间需要两个LS_Clk周期的倾斜。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 网络协议与攻击模拟_01winshark工具简介

    一 TCP IP协议簇 网络接口层 没有特定的协议 物理层 PPPOE宽带拨号 应用场景 宽带拨号 运营商切网过来没有固定IP就需要拨号 家庭带宽一般都采用的是拨号方式 数据链路层 网络层 IP v4 v6 ARP 地址解析协议 RARP
  • Linux中的磁盘空间管理:df命令的详解与应用

    在Linux操作系统中 磁盘空间的管理是系统管理员和普通用户都需要面对的重要任务 为了帮助用户更好地理解和管理磁盘空间 Linux提供了一系列工具 其中最常用 最直观的莫过于df命令 df命令 全名为 disk free 它是一个用于显示磁
  • SAN与NAS:存储架构的对比与选择

    在当今的数据密集型时代 存储架构的选择对于企业的成功至关重要 SAN Storage Area Network 和NAS Network Attached Storage 作为两种主流的存储架构 各自拥有独特的优势和应用场景 本文将深入探讨
  • 网络安全从入门到精通(超详细)学习路线

    首先看一下学网络安全有什么好处 1 可以学习计算机方面的知识 在正式学习网络安全之前是一定要学习计算机基础知识的 只要把网络安全认真的学透了 那么计算机基础知识是没有任何问题的 操作系统 网络架构 网站容器 数据库 前端后端等等 可以说不想
  • 通过一个寒假能学会黑客技术吗?看完你就知道了

    一个寒假能成为黑客吗 资深白帽子来告诉你 如果你想的是学完去美国五角大楼内网随意溜达几圈 想顺走一点机密文件的话 劝你还是趁早放弃 但是成为一名初级黑客还是绰绰有余的 你只需要掌握好渗透测试 Web安全 数据库 搞懂web安全防护 SQL注
  • 关闭2个开关,让你的手机电池续航翻倍

    随着智能手机的普及 手机已经成为我们生活中不可或缺的一部分 然而 随着使用时间的增长 很多用户发现手机电池续航能力逐渐下降 其实 这可能是因为你没有关闭手机上的两个重要开关 接下来 我们就来看看这两个开关是什么 以及为什么关闭它们能够延长手
  • “性能压测揭密:关键指标分析!“

    在进行全链路压测和性能测试时 需要关注多个关键性能指标 KPIs 来评估系统的性能表现 以下是一些常见的性能测试指标 1 吞吐量 Throughput 系统在单位时间内能够处理的请求数量或事务数量 通常以每秒请求数 RPS TPS 来衡量
  • 【性能测试入门】:压力测试概念!

    压力测试可以验证软件应用程序的稳定性和可靠性 压力测试的目标是评估软件在极端负载条件下的鲁棒性和错误处理能力 并确保软件在紧急情况下不会崩溃 它甚至可以进行超出软件正常工作条件的测试 并评估软件在极端条件下的工作方式 在软件工程中 压力测试
  • 考HCIE要多久 | HCIE学员经验分享

    大家好 我是讯方 智汇云校的学员林同学 来自深圳信息职业技术学院的一名22届的通信专业的学生 通过近半年在云校的学习 我在年底成功考取了云服务方向的HCIE证书 想把我的一些考证心得分享给正在备考的小伙伴们 刚开始了解到ICT行业是在学校的
  • 阿里技术官亲笔力作:Kafka限量笔记,一本书助你掌握Kafka的精髓

    前言 分布式 堪称程序员江湖中的一把利器 无论面试还是职场 皆是不可或缺的技能 而Kafka 这款分布式发布订阅消息队列的璀璨明珠 其魅力之强大 无与伦比 对于Kafka的奥秘 我们仍需继续探索 要论对Kafka的熟悉程度 恐怕阿里的大佬们
  • 【CTF必看】从零开始的CTF学习路线(超详细),让你从小白进阶成大神!

    最近很多朋友在后台私信我 问应该怎么入门CTF 个人认为入门CTF之前大家应该先了解到底 什么是CTF 而你 学CTF的目的又到底是什么 其次便是最好具备相应的编程能力 若是完全不具备这些能力极有可能直接被劝退 毕竟比赛的时候动不动写个脚本
  • 基于电源完整性的PCB设计原则

    基于电源完整性的一些PCB设计建议 1 尽量减少电源和地通路之间的环路电感 在相邻的层上分配电源和接地面时 使用尽可能薄的电介质 2 通过在平面之间使用尽可能高的介电常数来获得平面之间的最低阻抗 与尽可能薄的介电常数设计保持一致 3 使用尽
  • 独家 | 鸿蒙(HarmonyOS)开发详细学习笔记免费分享

    前言 华为宣布 将在1月18日 在北京 上海 杭州 南京 成都 厦门 武汉 长沙 8 大城市同时召开大会 届时将揭秘鸿蒙生态和 HarmonyOS NEXT 进阶新篇章 简单的来说就是 纯血鸿蒙系统 即将彻底揭晓 鸿蒙系统自推出来以来 就一
  • 图片编辑软件有哪些好用的?这几款快收藏吧

    你有没有过这样的经历 精心拍摄了一组照片 却发现有些角度不对 光线不够好 或者想要给图片加上一些特别的滤镜效果来达到心目中的样子 这时 你就需要一款合适的图片编辑软件了 但是 市面上的图片编辑软件琳琅满目 哪一款才是适合自己的呢 别担心 今
  • 储存设备的进化与发展:从传统到现代的飞跃

    随着科技的飞速发展 储存设备作为信息时代的基石 经历了翻天覆地的变化 从最早的机械硬盘到现代的固态硬盘和云存储 储存设备的进化与发展不仅提升了数据存储的速度和容量 还极大地改变了我们的工作和生活方式 本文将带您回顾储存设备的进化历程 并探讨
  • 语音翻译软件app哪家好?帮你和外国人无碍交流的软件分享

    在和外国人交流的时候发现听不懂怎么办 还能怎么办 谁让我们的英语没学好呢 这种时候还是得寻求其他人的帮助 不过万一要是在只有你一个人的情况下又怎么办呢 俗话说 求人不如求己 那还是得在自己手机里时刻准备好能够翻译英语的工具呀 今天就给大家分
  • 【GRNN-RBFNN-ILC算法】【轨迹跟踪】基于神经网络的迭代学习控制用于未知SISO非线性系统的轨迹跟踪(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 第1部分 2 2 第2部分
  • 【GRNN-RBFNN-ILC算法】【轨迹跟踪】基于神经网络的迭代学习控制用于未知SISO非线性系统的轨迹跟踪(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 第1部分 2 2 第2部分
  • 为什么这么多人自学黑客,但没过多久就放弃了(掌握正确的网络安全学习路线很重要)

    网络安全是一个 不断发展和演变 的领域 以下是一个 网络安全学习路线规划 旨在帮助初学者快速入门和提高自己的技能 基础知识 网络安全的 基础知识 包括 网络结构 操作系统 编程语言 等方面的知识 学习这些基础知识对理解网络安全的原理和技术至
  • AI新年头像模板在哪找?告别单调头像的工具分享

    农历新年到啦 今年的春节假期你有没有弄一些氛围装饰呀 除了每年都有的对联 福字等 经典皮肤 现在也流行起给自己的账号营造一些过年的感觉啦 说到这个 很多人第一反应就是给自己换个新年头像 限定皮肤 不过头像要怎么营造新年的感觉呢 其实用AI工

随机推荐

  • 元宇宙+教育,正在引发哪些剧烈变革?机会在哪里?丨圆桌实录

    图片来源 由无界AI绘画工具生成 2月23日 温州元宇宙创新中心为2023年第一批申请入驻的项目企业举办了签约仪式 温州临境网络科技有限公司 温州好玩文化产业有限公司 温州云兮科技有限公司 筹 等企业完成签约 这意味着 温州当地的文创 教育
  • L2-4 哲哲打游戏PTA

    哲哲是一位硬核游戏玩家 最近一款名叫 达诺达诺 的新游戏刚刚上市 哲哲自然要快速攻略游戏 守护硬核游戏玩家的一切 为简化模型 我们不妨假设游戏有 N 个剧情点 通过游戏里不同的操作或选择可以从某个剧情点去往另外一个剧情点 此外 游戏还设置了
  • Linux网络程序设计-TCP网络编程

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 TCP IP协议是什么 二 端口 三 socket端口 1 两个重要的数据类型sockaddr和sockaddr in 2 基于TCP协议的客户端 服务器
  • GitHub 优秀的 Android 开源项目第二篇——转自多篇网络文章

    原文地址为http www trinea cn Android android open source projects view 作者Trinea 主要介绍那些不错个性化的View 包括ListView ActionBar Menu Vi
  • weex scroller滚动的小烦恼

    背景 前几天的需求开发中 需要完成这样一个功能 这还不简单 一个横向滚动的tag选择功能 一个横向scroller搞定问题 但是做为一个对自己有 要求 的程序员 怎么可能会接受一个死气沉沉的滚动条 为了勾起用户的点击欲望 我毫不犹豫的增加了
  • 微信开发提示未绑定网页开发者

    加入一下就可以了
  • input上边框有阴影(iPhone手机)

    做移动端 发现在苹果手机上input显示有问题 上边框一直有阴影 input的border初始化 box shadow也做了处理 box shadow 0 0 0 fff 在手机端都无效 如图 解决方案 input outline none
  • 利用cuda加速MATLAB程序

    利用cuda加速MATLAB程序 利用cuda加速MATLAB程序 1参考木子超的办法 2参考Tomheaven的方法 3引用 最近因为要做张量的模态积 所以要考虑使用cuda来进行并行的编程 但是c 实在太麻烦 尤其是在有MATLAB的时
  • HBase Shell常用Shell命令

    1 进入与退出hbase shell命令行窗口 root repo hbase shell hbase main 001 0 gt hbase main 001 0 gt exit root repo 2 help 1 查看hbase中有哪
  • 光标异常如何解决

    相信大家都遇到过一个小问题 那就是当编辑文章时光标会不小心变为下图所示的样子 这样就无法正常删除文字 其实想要恢复正常很简单只需点进编辑页面后 再按下insert键即可 一般电脑是Ins
  • GitHub项目:自然语言处理领域的相关干货整理

    自然语言处理 NLP 是计算机科学 人工智能 语言学关注计算机和人类 自然 语言之间的相互作用的领域 本文作者为NLP初学者整理了一份庞大的自然语言处理领域的概览 选取的参考文献与资料都侧重于最新的深度学习研究成果 这些资源能为想要深入钻研
  • sql关于avg中的else null和else 0

    drop table test1 use sys create table test1 id int not null num int not null insert into test1 values 1 10 insert into t
  • Eclipse 配置 maven

    旧版的eclipse在线安装maven太麻烦了 要安装很多依赖的东西 有时费半天劲 还按不上 不是缺这个就缺那个 而且网上推荐maven插件链接http m2eclipse sonatype org sites m2e已经失效 查看其官方网
  • Kutools for Excel v26.10 Excel插件工具箱中文版

    Kutools for Excel 是一款强大的Excel 插件增强工具箱 可以在Excel中点击几下简化各种复杂的任务 例如 Excel用户可以轻松地将工作表与多次点击相结合 合并单元格而不会丢失数据 仅粘贴到可见单元格 等等 毫无疑问
  • Kafka3.1安装配置,配置Kafka集群,Zookeeper集群

    1 下载Kafka安装包 Kafka官网下载地址 https kafka apache org downloads 2 解压压缩包 tar zxvf kafka 2 12 3 1 0 tgz c kafka 3 进入配置文件目录 cd ka
  • mybatis3 大于、小于、不等于等特殊字符转义

    特殊字符 特殊字符转义一 特殊字符转义二 gt gt lt lt 代码实例
  • day22-----3.1-----coturn安装以及报错“coturn/src/apps/relay/netengine.c:316:对‘SSL_CTX_up_ref’未定义的引用“

    1 安装步骤 我的系统是Ubuntu16 04 1 1 安装coturn需要的依赖 我先安装了下面两个依赖 sudo apt get install libssl dev sudo apt get install libevent dev
  • ajax提交进度条,ajax上传进度条onprogress

    ajax上传进度条onprogress 2020 10 15 分类 前端资源 主要还是用到XMLhttprequest的onprogress监听函数实现 var formData new FormData formData append f
  • uniapp选择地址弹窗组件

    1 效果 2 子组件在components里面创建组件AddreessWindow
  • DP1.4协议学习(三)Main-Link链路上的同步传输服务

    上一篇文章讲到Main link链路服务就是用来传输音视频数据的 本篇文章将具体探究一个完整的Main link传输服务具体需要做哪些工作 在Main link的同步传输服务中需要明确一下问题 Main Link具体传输哪些数据 数据格式应