eDP的信号家族:时钟、数据、辅助与热插拔
各位工程师,大家好。今天我们来聊聊eDP的信号定义。这部分内容,我建议你放下“看手册”的心态,而是当成跟一位老工程师聊天。你想想看,一个高速接口跑得稳不稳,归根结底就看你懂不懂它的每一根信号线在干什么。
我记得刚做eDP项目那会儿,以为只要把差分线连上就完事了。结果第一次上电调试,屏幕死活点不亮。最后查来查去,发现AUX通道的握手时序差了那么一丢丢……从那以后,我就养成了一个习惯:先把信号的“脾气”摸透,再下手做设计。
eDP的信号主要由四大家族组成,咱们一个一个来过。
| 信号类别 | 符号 | 方向 | 核心功能 |
|---|---|---|---|
| 主链路时钟 | Main Link Clock | Source → Sink | 提供数据采样参考时钟 |
| 数据通道 | Lane 0 ~ Lane 3 | Source → Sink | 传输视频数据流及辅助信息 |
| 辅助通道 | AUX CH (AUX+) / (AUX-) | 双向 | 链路管理、握手、EDID读取 |
| 热插拔检测 | HPD | Sink → Source | 通知连接状态及中断事件 |
一、Main Link Clock:数据流的心脏
首先,聊聊主链路时钟。说白了,它就是所有差分数据通道的同步基准。eDP采用的是一个差分时钟对,频率范围通常从162MHz到270MHz,甚至更高。我刚开始做的时候,觉得时钟只要频率对就行。后来发现,时钟的抖动(jitter)才是隐形杀手。
时钟的职责:
- 提供相位参考:每个数据通道的接收端,都靠这个时钟边沿来锁存数据。
- 决定带宽上限:时钟频率越高,每通道能扛的数据率就越大。比如RBR(1.62Gbps)配162MHz时钟,HBR2(5.4Gbps)配270MHz时钟。
- 必须与数据对齐:时钟的上升沿和下降沿,在PCB布线时必须严格控制等长。我踩过一个坑:时钟线和某根数据线差了50mil,结果高速跑不起来,降频才能用。
二、Data Lane 0~3:四条高速公路
数据通道,就是真正拉货的。eDP最少可以配1对差分线(单通道模式),最多4对(Lane 0~3)。每对数据线都是单向的,从Source(显卡/主控)到Sink(显示屏)。
每个通道都有其固定的数据映射规则。简单说,一幅画面的像素数据,会被拆分成多个字节,然后轮流分配给各个通道。
举个例子,2通道模式(2-lane):
像素1(24bit色深) → Lane0: 字节0,1 ; Lane1: 字节2
像素2(24bit色深) → Lane0: 字节3,4 ; Lane1: 字节5
...
这里有个关键点:Lane总数必须一致才能建立连接。Source端说自己有4条车道,Sink端必须也支持4条车道。如果Sink只支持2条,那就只能降级到2-lane模式。
数据通道上的特殊封装:除了视频数据,Lane上还会穿插传输一些辅助数据包,比如MST(多流传输)的控制信息,或者音频包。这些数据包的格式,咱们后面讲具体协议时再细聊。
三、AUX CH:沟通的桥梁
辅助通道,说白了是Source和Sink之间的一条双向低速控制总线。它基于I2C协议,但机制更丰富。AUX CH只有一对差分线,一个固定480MHz的时钟,波特率是1Mbps或2Mbps。
AUX干哪些活?
- 链路训练:初始建立连接时,Source通过AUX告诉Sink“我要用几颗通道、什么速率”,Sink回复“收到,功率够不够”。
- EDID读取:Source通过AUX读取显示器内部的EDID数据,搞清楚它的分辨率、色深、支持哪些视频格式。
- 面板控制:比如调节背光亮度、上下电时序、刷新率切换等。
- 异常处理:当HPD信号触发中断时,Source会立刻通过AUX询问“啥情况?”,然后做出响应。
AUX时序容限比较宽松,但电压摆幅需要注意。差分电压一般要求在200mV~600mV之间。我见过一个案例,AUX电压被layout拉低到150mV,结果偶尔换屏时识别不到。
四、HPD:信号里的“门铃”
热插拔检测(HPD),是一个单向信号,从Sink发向Source。它其实就是一个电平信号,物理上是一根单端线,通常上拉到3.3V或1.8V。
HPD的工作机制很简单:
- 连接事件:当显示器的eDP接口插上并稳定供电后,HPD从低电平变成高电平。Source检测到这个上升沿,就知道屏幕接上了。
- 中断事件:当需要Source处理一些紧急事务时(比如用户按下OSD按键、或者面板内部温度告警),Sink会主动将HPD拉低一段很短的时间(约2ms),然后恢复高电平。Source检测到这个“短脉冲”,就会启动一次AUX交互。
为什么HPD这么重要?
因为它是Source感知外界变化的唯一硬件窗口。没有它,Source根本不知道屏幕还在不在。
五、信号之间的关系:一张图看明白
说了这么多,它们是怎么配合工作的?来,咱们用一张图概括。
六、初学时容易踩的坑
最后,我总结几个在项目里碰到的实际案例,帮你避坑:
- 时钟等长问题:有时候为了省空间,会把时钟线走得比数据线长。嗯,这是大忌。我的原则是,时钟对与最近的Lane对,长度差控制在±5mil以内。
- AUX电平不匹配:Source端输出3.3V,Sink端如果只支持1.8V电平,必须加电平转换。我见过直接连的,结果Sink的AUX接口烧了。
- HPD上拉电阻接法:有些新手把HPD直接接一个上拉到3.3V。正确做法是,HPD由Sink内部驱动,Source端只需加一个小下拉电阻(约10kΩ),避免悬空误判。
- 差分对内走线不等长:尤其在BGA扇出时,容易一长一短。我的经验是,对内偏差控制在2mil以内,不然共模辐射会超标。