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。