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 编码,保证直流平衡,方便时钟恢复。
调试经验: 我习惯先在示波器上看 lane 的差分信号眼图。只要眼图张开超过规范要求(比如 HBR2 下眼高 ≥ 200mV),后续链路训练基本没问题。曾经遇到一例,主板 layout 走线绕了个大弯,HPD 正常但主链路始终训练失败,改板后就好了。

主链路的链路训练过程其实非常像两个人握手:源端先发一个训练序列,接收端根据信号质量反馈调整预加重和电压摆幅。这个过程会反复几次,直到双方都认为信道质量 OK。

AUX 通道 —— 控制信号的小窄巷

AUX 通道是一条双向的半双工差分通道,速率只有 1 Mbps 左右。别看它慢,eDP 所有的配置、状态读取、背光控制指令全都靠它传。

  • 物理层: 一对差分线,与主链路共用参考地。
  • 协议层: eDP 基于 DisplayPort 的 AUX 事务,分为读、写、I2C 隧道等。
  • 最大传输距离: 标准线缆可达 15 米(实际板内一般短很多)。
避坑指南: 我曾经碰到一块 Demo 板,AUX 上串了 1kΩ 电阻,结果通信时好时坏。查规范才发现 AUX 输出阻抗要求 100Ω 差分,根本不能加那么大电阻。所以做原理图时,AUX 线上除了必要的电容和 ESD,尽量保持简洁。

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 像门铃一样告诉源端“我准备好了”。三者配合才能让屏幕正常点亮。

eDP 物理层:主链路 · AUX · HPD 结构 Source eDP 源端 Sink eDP 接收端 主链路 1~4 Lane 差分对 AUX 双向半双工 1Mbps HPD 单端 3.3V/0V 脉冲 说明: 主链路单向传输视频及辅助数据;AUX 双向传递配置和背光指令;HPD 由接收端驱动,实现连接检测与中断。

三个通道的调试要点

调试时我建议大家按这个顺序检查:

  1. 先看 HPD 电平: 用万用表量 HPD 引脚,确保有效时为 3.3V(或设计目标电压)。如果这个不对,源端根本不会启动 AUX 通信。
  2. 再看 AUX 通信: 用逻辑分析仪抓 AUX 包。发一个读 EDID 的命令,看是否有 ACK。我习惯先读三个字节验证链路连通性。
  3. 最后盯主链路: 链路训练时观察 HPD 上是否有短脉冲,同时用示波器看 lane 差分信号是否稳定。
重要提醒: 主链路和 AUX 的差分对必须等长布线(误差 ≤ 5mm),阻抗控制在 100Ω ± 10%。我遇到过一块板子因为 AUX 差分对布线长度差了 15mm,导致 AUX 眼图闭合,通信偶尔失败。重新走线后才稳定。

好了,物理层这三条“血管”的原理就讲到这里。记住:HPD 是门铃,AUX 是传话筒,主链路是运货卡车。只有三者协调工作,eDP 背光才能乖乖听话。