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

如图所示,DP接口由三个通道组成:
Main Link通道
主链路是一个单向的、高带宽的、低延迟的信道,用于传输同步的数据流,如未压缩的视频和音频。
辅助通道Auxiliary channel (AUX CH)
AUX CH是一个半双工和双向通道,用于链路管理和设备控制。
热插拔检测HPD(Hot Plug Detect)
HPD信号主要用作检测热插拔,也作为接收设备的中断请求,这是一个单线信号。
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的解释:

特性: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链路/接收器设备状态寄存器,然后采取纠正措施。这种闭环操作增强了源设备和接收器设备之间的健壮性和互操作性。由于链路速率与流速率解耦,即使显示端口链路传输的时间发生变化,也可以保持活动和稳定。

整个协议主要结构为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。
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
如何学习ruby的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/
尝试通过SSL连接到ImgurAPI时出现错误。这是代码和错误:API_URI=URI.parse('https://api.imgur.com')API_PUBLIC_KEY='Client-ID--'ENDPOINTS={:image=>'/3/image',:gallery=>'/3/gallery'}#Public:Uploadanimage##args-Theimagepathfortheimagetoupload#defupload(image_path)http=Net::HTTP.new(API_URI.host)http.use_ssl=truehttp.verify
深度学习12.CNN经典网络VGG16一、简介1.VGG来源2.VGG分类3.不同模型的参数数量4.3x3卷积核的好处5.关于学习率调度6.批归一化二、VGG16层分析1.层划分2.参数展开过程图解3.参数传递示例4.VGG16各层参数数量三、代码分析1.VGG16模型定义2.训练3.测试一、简介1.VGG来源VGG(VisualGeometryGroup)是一个视觉几何组在2014年提出的深度卷积神经网络架构。VGG在2014年ImageNet图像分类竞赛亚军,定位竞赛冠军;VGG网络采用连续的小卷积核(3x3)和池化层构建深度神经网络,网络深度可以达到16层或19层,其中VGG16和VGG
文章目录1、自相关函数ACF2、偏自相关函数PACF3、ARIMA(p,d,q)的阶数判断4、代码实现1、引入所需依赖2、数据读取与处理3、一阶差分与绘图4、ACF5、PACF1、自相关函数ACF自相关函数反映了同一序列在不同时序的取值之间的相关性。公式:ACF(k)=ρk=Cov(yt,yt−k)Var(yt)ACF(k)=\rho_{k}=\frac{Cov(y_{t},y_{t-k})}{Var(y_{t})}ACF(k)=ρk=Var(yt)Cov(yt,yt−k)其中分子用于求协方差矩阵,分母用于计算样本方差。求出的ACF值为[-1,1]。但对于一个平稳的AR模型,求出其滞
写在之前Shader变体、Shader属性定义技巧、自定义材质面板,这三个知识点任何一个单拿出来都是一套知识体系,不能一概而论,本文章目的在于将学习和实际工作中遇见的问题进行总结,类似于网络笔记之用,方便后续回顾查看,如有以偏概全、不祥不尽之处,还望海涵。1、Shader变体先看一段代码......Properties{ [KeywordEnum(on,off)]USL_USE_COL("IsUseColorMixTex?",int)=0 [Toggle(IS_RED_ON)]_IsRed("IsRed?",int)=0}......//中间省略,后续会有完整代码 #pragmamulti_c
一、什么是MQTT协议MessageQueuingTelemetryTransport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与HTTP一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分Topic,可以理解为消息的类型,订阅者订阅(Su