概念流水账:PHY、PCS、PRBS
最进带的一个小兄弟做接口测试,负责HDMI。
师傅这个PHY指的是什么?
怎么凯哥还在问我PCS正常不?
这两个有什么关系吗?
心中难免有点小小嘲弄,竟然对一些很基础的问题和概念竟然不知道。
但是我立马纠正了自己的想法,因为很久之前我刚刚入职工作接触也是这样,但是随着时间的推移,不断的在一个领域耳濡目染,一定会有所积累,所以不要泄气,加油呀!
小奕,这是哥专门给你的写的。
我记得当年面试的适合,很喜欢考计算机网络,其中计算机网络有一个OSI七层协议模型,很喜欢考这个。
HDMI协议栈分为四层,与TCP/IP模型类似但针对音视频传输优化
其中当时考的关键点在传输层和网络层。当时没有太留意PHY层,其实这个PHY层和HDMI的PHY是一样的。PHY在核心功能定位上存在共性(均属于物理层信号处理),只不过应用场景和所属协议标准不一样。
与以太网PHY相比,HDMI PHY更强调实时性和信号保真度,而弱化了网络协议所需的错误重传和流量控制机制。在SoC设计中,HDMI PHY通常作为独立IP核实现,需通过HDMI CTS(Compliance Test Specification)认证。
到这里你的认识是PHY就是平时的HDMI的线的接口。
然后实际上PHY是一个芯片,通过这颗芯片把来自上层的数据进行转换成相应的信号,通过物理链接的cable线缆,传出去或者接受转换送给上层。
下面展示一下主要工作:
HDMI PHY架构(以HDMI 2.1为例)
┌───────────────────────────────┐
│ 视频/音频处理引擎 │
│ - 色彩空间转换(RGB/YUV444/422)│
│ - HDR元数据封装(ST 2084/2086) │
└──────────────┬──────────────┘│ TMDS/FRL协议封装▼
┌───────────────────────────────┐
│ 传输通道控制模块 │
│ - 通道分配(3数据+1时钟通道) │
│ - 链路训练(Link Training) │
└──────────────┬──────────────┘│ 差分信号生成▼
┌───────────────────────────────┐
│ 信号调制与驱动模块 │
│ - TMDS编码(8b/10b) │
│ - FRL调制(16/32/48Gbps模式) │
│ - 预加重(Pre-emphasis) │
└──────────────┬──────────────┘│ 物理介质接口▼[HDMI线缆]
那是怎么和上层(数据链路层)对接的呢?
怎么去拿到数据的。这里Data Link leyer和MAC有点类似。
HDMI控制架构
┌─────────────┐ ┌─────────────┐
│ 视频源处理器 │ │ HDMI MAC层 │
│ - GPU渲染 │◄----►│ - HDCP引擎 │
│ - 音频DSP │ DDC │ - EDID管理 │
└───────┬───────┘ └───────┬───────┘│ TMDS/FRL数据流 │ I2C控制▼ ▼
┌───────────────────────────────┐
│ HDMI PHY芯片 │
└───────────────────────────────┘
这个时候回看一下HDMI协议的架构,每层对应的应用。
我知道你还有点疑惑?怎么讲了这么久的PHY,不见PCS,这是PHY的晚辈还是同辈?
在HDMI协议架构中,PCS(物理编码子层)与PHY(物理层设备)是包含与被包含的层级关系。PCS作为PHY内部的核心功能模块,承担着数据编码与协议适配的关键职责。
HDMI的物理层(PHY)是一个复合功能模块,内部包含多个子层:
- PCS(Physical Coding Sublayer):负责数据编码与协议适配(如TMDS/FRL编码)
- PMA(Physical Medium Attachment):处理并串转换与时钟恢复
- PMD(Physical Medium Dependent):驱动物理介质(如线缆驱动与信号整形)
应用层数据 → PCS(编码) → PMA(并串转换) → PMD(信号驱动) → 物理介质
简单总结一下PCS的专项职能
- TMDS编码:将8bit像素数据转换为10bit传输字符,通过最小跳变算法优化信号完整性
- FRL编码(HDMI 2.1):采用16b/18b编码,提升有效带宽至88.9%
- 协议适配:根据EDID协商结果动态切换编码模式(如DVI兼容模式)
那经常说的TMDS和FRL是什么东西?我HDMI都上屏了,怎么凯哥还老问我测没测FRL?他说以前咱们的老芯片没有FRL。
这就是两个传输编码协议,FRL是新出来的协议,与时俱进。详细瞅瞅下面的表:
HDMI2.1有两套协议,分别为TMDS协议和FRL协议。而HDMI2.0已经被取消了,其实HDMI2.0并没有消失,只是换了个名称,其中HDMI2.1 TMDS协议就是取代了原HDMI2.0协议,唯一的区别是多了一个eARC(增强型音频回传通道);HDMI2.1 FRL则是原来的HDMI2.1标准,支持48Gbps的带宽。
在HDMI的规则,只有支持eARC(增强型音频回传通道)的才能成功更名成为HDMI2.1 TMDS,不支持eARC的就要降级为HDMI1.4b。但就市场行情来看,仍会有部分不支持eARC的电视产品强行升级为HDMI2.1标识,因此购买时需注意分辨,在选购HDMI2.1的产品时,一定要注意HDMI2.1采用的哪种协议模式,只有HDMI FRL才是标准的HDMI2.1接口。
那这一部分的逻辑在哪呢?前面刚刚才说的,TMDS和FRL的实现主要分布在物理层(PHY)的PCS(物理编码子层)与PMA(物理介质附加子层)中,两者通过协同工作完成信号编解码与传输适配。
最后还有一个问题?凯哥让我测试的时候,让我打一下prbs,这是干嘛的啊?
哈哈哈,记住“甩锅神器”——快速分清是硬件背锅,还是软件背锅!
硬件工程师和软件工程师互相扯皮时,PRBS测试结果就是证据!
- 如果PRBS能跑通(误码率低),说明HDMI的物理层硬件正常(芯片、电路、线缆没问题),问题出在协议层(比如EDID没读到分辨率、HDCP认证失败)。
- 如果PRBS跑不通,直接锁定硬件问题,比如:
- HDMI线质量差(换条超高速认证线试试)
- 芯片焊接虚了(用热风枪补焊PHY芯片)
- PCB阻抗不匹配(检查差分线是否100Ω±10%)
凯哥这是让你绕开软件和协议,直接用“乱码”测试硬件电路能不能跑通!
→ 如果硬件电路连“乱码”都传不过去,说明硬件肯定有问题,赶紧查电路!
→ 如果“乱码”能传过去,但正常视频不行,说明软件配置有问题,去查协议!
那打prbs我也没仪器?这玩意是芯片的功能?
小伙子,HDMI PHY芯片 其实已经内置了一些自检功能,可以通过芯片寄存器配置实现“穷人版PRBS测试啊!就像咱们平时验证视频通路的自建colorbar!
大部分HDMI PHY芯片自带测试模式,只需配置寄存器。反正咱们有。
也有一些原始的方法:
- 替换法:换一根确认好的HDMI线,如果问题解决 → 原线坏了。
- 摸芯片温度:PHY芯片工作时会微热,如果冰凉 → 供电可能有问题。
- 听声音:把HDMI线靠近收音机,PRBS模式下会有“嘶嘶”高频噪声(无信号时安静)。
以上很多点,展开都需要讲很久,咱们先忍住,后续有需要再深入感兴趣的点。
好了好了,我得去运动了。
小奕加油,小伙子很好学,未来是你的,不过每天别加班这么晚,多回家陪陪女朋友。生活很重要。
师傅你是没女朋友,所以下班不回家才去健身?
。。。你不管。