eDP 物理层:主链路、AUX 通道、热插拔检测(HPD)
这一章聊聊 eDP 物理层的三条“血管” —— 主链路、AUX 通道和 HPD。很多人调背光只盯着软件寄存器,但物理层没弄好,后面全是白费功夫。我当年第一次调 eDP 面板时,背光死活不亮,折腾了三天发现是 AUX 通道的一颗电容焊歪了,真是哭笑不得。
主链路(Main Link)—— 数据的高速公路
主链路负责传输像素数据和辅助数据。说白了,就是显卡到屏幕之间的高速数据通道。
- 差分对结构: 每条 lane 由一对差分线组成,常见的配置有 1、2、4 lane。
- 传输速率: RBR(1.62 Gbps)、HBR(2.7 Gbps)、HBR2(5.4 Gbps)、HBR3(8.1 Gbps)。eDP 1.4 以后还能向上兼容。
- 编码方式: 8b/10b 编码,保证直流平衡,方便时钟恢复。
主链路的链路训练过程其实非常像两个人握手:源端先发一个训练序列,接收端根据信号质量反馈调整预加重和电压摆幅。这个过程会反复几次,直到双方都认为信道质量 OK。
AUX 通道 —— 控制信号的小窄巷
AUX 通道是一条双向的半双工差分通道,速率只有 1 Mbps 左右。别看它慢,eDP 所有的配置、状态读取、背光控制指令全都靠它传。
- 物理层: 一对差分线,与主链路共用参考地。
- 协议层: eDP 基于 DisplayPort 的 AUX 事务,分为读、写、I2C 隧道等。
- 最大传输距离: 标准线缆可达 15 米(实际板内一般短很多)。
AUX 通道的电压摆幅只有 ±0.4V(差分),比主链路小得多。调试时用逻辑分析仪抓 AUX 包,可以快速判断是源端问题还是接收端问题。我自己的习惯是先发一个简单的 AUX 读命令,看接收端有没有 ACK。没有 ACK 的话,99% 是物理连接有问题。
热插拔检测(HPD)—— 连接状态的哨兵
HPD 是一根单端信号线,用于检测显示器是否连接。但它的作用远不止插拔检测 —— 它还承载了链路训练请求、中断通知等功能。
- 电气特性: 当显示器未连接时,HPD 被拉低(≈0V);连接后,显示器内部上拉至 3.3V。
- 脉冲行为: 接通瞬间 HPD 先拉高,然后可能会产生一段低电平脉冲(“短脉冲”),用于请求链路重新训练。
- 中断功能: eDP 1.4 引入 IRQ_HPD,显示器可通过 HPD 上的特定脉冲序列通知源端发生事件(比如背光故障)。
- HPD 有效高电平持续时间 ≥ 2ms(保证源端检测到)
- 短脉冲宽度:500µs~1ms
- HPD 下降沿到主链路开始训练的最大延迟:50ms
调试 HPD 最容易踩的坑是电平不匹配。有些面板 HPD 输出是开漏结构,需要外部上拉到 3.3V;有些是推挽输出。我手头有一块工控屏,HPD 常态只有 1.8V,接上我的开发板(要求 3.3V 有效)就识别不到。最后加了一颗电平转换才搞定。
三通道对比一览
| 特性 | 主链路 | AUX 通道 | HPD |
|---|---|---|---|
| 传输方向 | 单向(源→屏) | 双向半双工 | 单向(屏→源) |
| 差分/单端 | 差分(4 对) | 差分(1 对) | 单端(1 线) |
| 典型速率 | 1.62~8.1 Gbps/lane | 1 Mbps | 脉冲信号(µs~ms) |
| 主要用途 | 视频数据、辅助数据 | 配置、背光控制、EDID | 连接检测、中断 |
| 调试难点 | 眼图、阻抗匹配 | 串阻过大、ESD 损坏 | 电平不匹配、时序异常 |
物理层整体结构
下图展示了 eDP 源端(Tx)到接收端(Rx)的物理连接。你想想看,数据走主链路高速宽带,控制命令挤 AUX 窄巷子,HPD 像门铃一样告诉源端“我准备好了”。三者配合才能让屏幕正常点亮。
三个通道的调试要点
调试时我建议大家按这个顺序检查:
- 先看 HPD 电平: 用万用表量 HPD 引脚,确保有效时为 3.3V(或设计目标电压)。如果这个不对,源端根本不会启动 AUX 通信。
- 再看 AUX 通信: 用逻辑分析仪抓 AUX 包。发一个读 EDID 的命令,看是否有 ACK。我习惯先读三个字节验证链路连通性。
- 最后盯主链路: 链路训练时观察 HPD 上是否有短脉冲,同时用示波器看 lane 差分信号是否稳定。
好了,物理层这三条“血管”的原理就讲到这里。记住:HPD 是门铃,AUX 是传话筒,主链路是运货卡车。只有三者协调工作,eDP 背光才能乖乖听话。