DisplayPort1.4协议学习(一)DP协议概览

2023-11-11

DisplayPort1.4协议学习(一)DP协议概览

Note:本文为DP1.4协议学习系列的第一篇,本篇首先从DP整体结构上简要说明DP协议的传输方式

有关传输速率对比的问题,请STFW(Search The Fucking Web)

DP总体结构说明 (三个通道的作用)

在这里插入图片描述

如图所示,DP接口由三个通道组成:

  • Main Link通道

    主链路是一个单向的、高带宽的、低延迟的信道,用于传输同步的数据流,如未压缩的视频和音频。

  • 辅助通道Auxiliary channel (AUX CH)

    AUX CH是一个半双工和双向通道,用于链路管理和设备控制。

  • 热插拔检测HPD(Hot Plug Detect)

    HPD信号主要用作检测热插拔,也作为接收设备的中断请求,这是一个单线信号。


1.Main-Link通道的组成及工作方式

  • Main-Link由一个、两个或四个交流耦合的双端接差分对(一对差分线称为一个lane)组成。交流耦合有利于硅工艺的迁移(接收端和发送端的芯片工艺可以不同),因为DPTX和DPRX可能有不同的共模电压。

  • 支持四种链路速率8.1、5.4、2.7和1.62Gbps/lane。所有已启用的通道必须以相同的链路速率运行(不能一个lane上以2.7G传输,另一个以8.1G传输)。链路速率与像素率解耦(Main-Link传输速率并不是像素时钟速率)。使用时间戳值Mvid和Nvid从Link符号(当像素数据通过Main-Link发送时,Main-Link会将像素包装成一个一个的symbol符号)时钟重新生成像素速率。DPTX和DPRX的功能以及信道(或传输线)的质量将决定链路速率是否设置为8.1、5.4、5.4、2.7或1.62Gbps/信道。

  • Main-Link的lane数为1、2或4个lane。通道的数量与像素位深度(每个像素所占的bits位数也称bpp(bits per pixel))和组件位深度(每个组所占的bits位数也称bpc(bits per component))无关。像素编码格式支持RGB、YCbCr4:4:4/4:2:2/4:2:12。对于RAW像素编码格式,支持每像素6、7、8、10、12、14和16位的位深度。

  • Main-Link的四个lane都是用来传输数据的,没有专用的时钟通道。该时钟是从使用ANSI 8b/10b编码规则编码的数据流本身中提取出来的,需要接收端恢复时钟。

  • 允许源设备和接收器设备支持其需求所需的最小通道数。支持两lane的设备需要同时支持一lane和两lane,而支持四lane的设备则需要同时支持一lane、二lane和四lane。需要一根由终端用户可拆卸的外部电缆来支持四个通道,以最大限度地提高源设备和接收器设备之间的互操作性。

    视频、音频流数据被打包成“微包”,在SST(单流传输)模式下称为“传输单元”,在MST(多流传输)模式下称为MTP(多流传输包)”。将流数据打包并映射到Main-Link后,打包的流数据速率将等于或小于主链的链接符号速率,当它较小时,将插入填充符号。(因为Main-Link的速率是固定可选的,Main-Link的速率必须大于视频流的速率才能正常传输)

关于bpp和bpc的解释
在这里插入图片描述


2.AUX CH通道的组成及工作方式

  • 特性:AUX CH由一个交流耦合的双端差分对组成。Mhenset-II编码用作AUX CH上AUX交易的通道编码。与Main-Link的情况一样,时钟是从数据流中提取的。AUX CH具有一个半双工、双向的PHY层。源设备是主设备,接收器设备是从设备。接收器设备可以发起HPD信号,以提示源设备发起AUX请求事务,以读取DPCD链接/接收器状态寄存器位,包括IRQ_HPD矢量寄存器位。AUX CH为15m或更长的电缆长度提供1Mbps的数据速率。每个事务需要不超过500个我们,最大突发数据大小为16字节。这避免了一个应用程序缺少其他应用程序引起的AUX CH争用问题。

  • 工作流程:在发生HPD事件时,源设备会通过链路训练来配置链路。通过在AUX CH上的DPTX和DPRX之间的AUX事务,以正确的链接速率和正确的驱动电流和均衡水平启用正确的通道数。在链路训练之后的正常操作期间,接收设备可以通过切换中断请求信号的HPD信号来通知链路状态的变化,例如,失去同步。然后,源设备使用AUX事务检查DPCD链路/接收器设备状态寄存器,然后采取纠正措施。这种闭环操作增强了源设备和接收器设备之间的健壮性和互操作性。由于链路速率与流速率解耦,即使显示端口链路传输的时间发生变化,也可以保持活动和稳定。

3.分层来看协议结构

在这里插入图片描述

整个协议主要结构为Link Layer、PHY Layer以及Policy Maker组成

其中Link层提供三种服务分别是Isochronous Transport Services、AUX CH Device Services和AUX CH Link Services,其中Isochronous Transport Services主要是对于传输的音视频数据进行格式的打包填充,AUX CH Device Services主要用来管理源端和接收端的设备,比如读取EDID信息,AUX CH Link Services主要是对链路的维护配置,保障链路的正确建立,确保接收端和发送端时钟同步,确保main link上的数据准确传输,Link层服务功能将在下一章Link层章节中具体讲解。

这三种服务在Stream Policy Maker和Link Policy Maker的策略指挥下进行“服务”,受Policy Maker的控制。

PHY层主要负责发送数据。

在接收端设备中,有着显示端口配置寄存器,里面的配置数据(DPCD)描述了DPRX的功能,就像EDID描述了接收端显示器的的功能一样。 Link and Stream Policy Makers分别管理Link和Stream。

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

DisplayPort1.4协议学习(一)DP协议概览 的相关文章

  • 【Linux 驱动篇(三)】新字符设备驱动

    文章目录 一 新字符设备驱动原理 1 分配和释放设备号 2 新的字符设备注册方法 2 1 字符设备结构 2 2 cdev init 函数 2 3 cdev add 函数 2 4 cdev del 函数 二 自动创建设备节点 1 mdev 机
  • 从0开始学习JavaScript--初识JavaScript

    一 JavaScript简介 1 JavaScript的起源 avaScript最初由Netscape的Brendan Eich设计 最初将其脚本语言命名为LiveScript 后来Netscape在与Sun合作之后将其改名为JavaScr

随机推荐

  • chatgpt网页版替代方法

    从昨天网上开始一直开着的chatgpt网页突然打不开了 提示1020错误 尝试换了不同代理软件或者代理地点仍然无法解决 也搜了很多资料 比如删除cookie 重启浏览器 更换浏览器等均不起作用 至今仍无法解决 具体错误内容如下 Access
  • 输入yum命令报错:Loaded plugins: fastestmirror You need to be root to perform this command.

    解决方法 是提示要获取root权限 输入su 回车输入密码即可
  • 计算机网络-子网划分(子网地址、广播地址、子网掩码)

    子网划分 题目 办公室内有一台计算机 IP地址为192 45 165 243 子网掩码为255 255 255 224 则该机所在的网络属于哪类网络 其网络是否进行了子网划分 若划分 则分为几个网络 并写出每个子网号 改机的子网号和广播地址
  • LFU算法族:window-LFU

    LFU算法族相关文章目录汇总 LFU算法 LFU Aging算法 window LFU算法 本文 1 LFU算法的不足 LFU Least Frequently Used 是一种缓存淘汰算法 LFU算法是根据缓存的访问频率 去淘汰访问次数最
  • JS程序

    注 题目来源 力扣 给定一个字符串 s 找到 s 中最长的回文子串 你可以假设 s 的最大长度为 1000 示例 1 输入 babad 输出 bab 注意 aba 也是一个有效答案 解题思路 这个题目是直接拍脑袋想法 就是暴力求解 思路是这
  • c++ cin整数以,(逗号)分割读取

    1 某些场景整数流不是空格分割 如用逗号分割 例如 下面的输入 要求每行是一个数组 一共两行测试输入 1 2 3 4 5 6 7 8 下面的代码就可以很好的解决问题 vector
  • C# 系统应用之注册表使用详解

    在平时做项目时 我们有时会遇到注册表的操作 例如前面我们需要获取IE浏览器地址栏的信息 获取 我的电脑 地址栏输入的文件夹信息 USB最近使用信息等 注册表项是注册表的基本组织单位 它包含子表项和值条目 简言之 注册表项相当于注册表里的文件
  • 闭包函数的理解

    function fn return function s console log hello return function s1 console log world var s fn console log s var s1 s con
  • windows上安装openSSH服务

    在windows上cmd 然后ssh 主机用户 主机ip直接连到远程 很方便 如图 那么怎么配置呢 首先windows上需要安装openSSH 1 下载openSSH windows版 注 该版本是64位 链接 https pan baid
  • java casting意思_Java Casting方法,不知道要强制转换为什么

    我今天在玩Java 发现有些奇怪 考虑以下代码 String foo cast hi int bar cast 1 cast 方法在这里 public static lt T gt T cast Object value return T
  • tkinter 动态显示时间的方法

    问题描述 有些小伙伴在使用python做GUI界面的时候可能想添加这么一个小功能 就是在界面的某个角落动态的显示当前的时间 本文将介绍具体方法 方式一 使用组件的after方法 代码如下所示 import time import tkint
  • Vue3之watch和watchEffect实战总结

    watch和watchEffect都是vue3中的监听器 但是在写法和使用上是有区别的 主要是介绍一下watch和watchEffect的使用方法以及他们之间的区别 watch 的工作原理 侦听特定的数据源 并在回调函数中执行副作用 它默认
  • 高分辨率光学遥感影像舰船目标检测与识别算法研究(尹莹莹)

    论文阅读笔记 摘要 本文主要研究海陆背景下的光学遥感图像舰船目标检测与识别技术 重点研究了海陆分离 舰船目标疑似区域检测技术与疑似区域目标识别技术 海陆分离 采用了OTSU与形态学相结合的方法实现海路区域初步划分 再以孤立区域内像素的欧氏距
  • java中jdbc有哪几种形式呢?

    下文笔者讲述java中jdbc的形式简介说明 如下所示 JDBC驱动程序简介 JDBC驱动程序就是数据库厂商根据JDBC规范实现的JDBC实现类 JDBC驱动程序的类型 方式1 通过将JDBC的调用委托给其他编程接口来实现的 这种类型的驱动
  • EDK II Module Writers Guide上

    一 EDK2简介 1 EDK2工作流 二 EDK2 Packages 1 Packages介绍 EDK2 Packages是一个容器 其中包含一组模块及模块的相关定义 每个Package是一个EDK2单元 整个Project的源代码可以被分
  • Android正确的保活方案,不要掉进保活需求死循环陷进

    在开始前 还是给大家简单介绍一下 以前出现过的一些黑科技 大概在6年前Github中出现过一个叫MarsDaemon 这个库通过双进程守护的方式实现保活 一时间风头无两 好景不长 进入 Android 8 0时代之后 这个库就废掉了 最近2
  • 简单工厂模式和策略模式的比较

    代码结构图的区别 首先来看一下简单工厂模式 再看一下策略模式 看完他们的结构图 是不是有种很相似的感觉 唯一不同的就是 简单工厂类 和 Context类 接下来再看一下代码上有什么区别 简单工厂类和Context类中代码的区别 简单工厂类
  • linux查看mysql是否安装了驱动,Linux下查看mysql、apache是否安装,安装,卸载等操做...

    Linux下查看mysql apache是否安装 并卸载 php 指令 ps ef grep mysql 得出结果node root 17659 1 0 2011 00 00 00 bin sh usr bin mysqld safe da
  • Python一些经典例题(2)

    随机生成密码 编写程序 在26个字母大小写和9个数字组成的列表中随机生成10个8位密码 import random n 8 k 10 l list range 0 10 for x in range 65 91 l append chr x
  • DisplayPort1.4协议学习(一)DP协议概览

    DisplayPort1 4协议学习 一 DP协议概览 Note 本文为DP1 4协议学习系列的第一篇 本篇首先从DP整体结构上简要说明DP协议的传输方式 有关传输速率对比的问题 请STFW Search The Fucking Web D