4、eDP接口详解:版本演进(eDP 1.4/1.4b/2.0)、HBR3、DPCD、PSR技术
各位做座舱硬件的朋友,咱们今天聊聊eDP。说实话,在座舱多屏系统里,eDP几乎成了中高端方案的标配。为什么?因为它带宽够大、线束少、还能省电。我最早接触eDP是在做仪表盘项目的时候,那时候还在用LVDS,后来发现分辨率一上去,LVDS的线缆数量简直让人崩溃。换到eDP之后,整个硬件设计清爽了不少。
4.1 eDP版本演进:从1.4到2.0
eDP的版本演进,说白了就是一条路——更快、更省、更灵活。咱们直接看几个关键版本。
4.1.1 eDP 1.4 / 1.4b
这两个版本是目前座舱项目里用得最多的。eDP 1.4引入了HBR3(High Bit Rate 3),单通道速率达到了8.1 Gbps。1.4b主要是对1.4的勘误和微调,没有本质变化。
关键特性:
- HBR3支持:单lane 8.1 Gbps,4 lane就是32.4 Gbps。这个带宽足够驱动4K@60Hz甚至5K@30Hz的屏幕。
- MST(Multi-Stream Transport):一条eDP线可以串联多个屏幕。我在做三联屏方案时就用过这个,一个eDP接口驱动了仪表、中控和副驾屏,省掉了额外的桥接芯片。
- PSR(Panel Self Refresh):这个后面细讲,省电利器。
实际项目中的带宽计算:
4K@60Hz,24bit色深,需要的带宽大约是:3840×2160×60×24 = 11.94 Gbps。加上消隐区和编码开销,实际需要约14-15 Gbps。用eDP 1.4的4 lane HBR3,绰绰有余。
4.1.2 eDP 2.0
eDP 2.0是2021年发布的,说实话,座舱里目前用得还不多。但它有几个亮点值得关注:
- UHBR(Ultra High Bit Rate):引入了UHBR 10(10 Gbps)、UHBR 13.5(13.5 Gbps)、UHBR 20(20 Gbps)。单lane最高20 Gbps。
- 更高的分辨率支持:8K@60Hz甚至16K@30Hz。虽然座舱里暂时用不到,但未来AR-HUD或者超高清仪表盘可能会需要。
- 向后兼容:eDP 2.0的物理层和DP 2.0一致,但保留了eDP的省电特性。
注意:eDP 2.0的线缆和连接器要求更高。我曾经在预研项目中测试过UHBR 20,发现普通的eDP线缆在长距离传输时信号质量下降明显。建议在座舱布局中,eDP 2.0的走线长度控制在15cm以内,否则需要加retimer。
4.2 HBR3:高速传输的核心
HBR3,全称High Bit Rate 3,是eDP 1.4引入的传输模式。它的速率是8.1 Gbps per lane。相比之前的HBR2(5.4 Gbps),提升了50%。
HBR3的物理层要点:
- 编码方式:依然是8b/10b编码,有效数据率是80%,即6.48 Gbps per lane。
- 预加重和均衡:HBR3对信号完整性要求更高。我建议在PCB设计时,eDP差分对的阻抗控制在100Ω±10%,等长误差控制在5mil以内。
- AC耦合电容:eDP链路中需要串联AC耦合电容,典型值100nF。注意,这个电容要靠近发送端放置。
我的经验:在做HBR3的SI仿真时,我发现很多问题出在过孔上。每个过孔会引入约0.5pF的寄生电容,导致信号眼图闭合。建议eDP走线尽量少打过孔,如果必须打,用背钻工艺。
4.3 DPCD:eDP的“大脑”
DPCD(DisplayPort Configuration Data)是eDP链路中用于配置和状态读取的寄存器空间。它位于接收端(通常是显示器的TCON或eDP桥接芯片),通过AUX通道访问。
DPCD的核心功能:
- 链路训练:Source和Sink通过DPCD协商链路参数(lane数、速率、预加重等)。
- EDID读取:虽然EDID通常通过DDC通道读取,但eDP也支持通过DPCD读取。
- PSR控制:PSR的进入和退出状态通过DPCD寄存器控制。
- MST配置:多流传输时,通过DPCD分配虚拟通道。
常用的DPCD寄存器地址:
| 地址 | 名称 | 说明 |
|---|---|---|
| 0x00000 | DPCD_REV | DPCD版本号,eDP 1.4对应0x14 |
| 0x00001 | MAX_LINK_RATE | 支持的最大链路速率,0x1E表示HBR3 |
| 0x00002 | MAX_LANE_COUNT | 支持的最大lane数,通常为4 |
| 0x00005 | DOWNSTREAMPORT_PRESENT | 是否有下游端口,用于MST检测 |
| 0x00070 | PSR_CAPABILITY | PSR能力寄存器,0x01表示支持PSR |
调试技巧:当eDP屏幕点不亮时,我通常会先读DPCD_REV寄存器。如果读不到0x14,说明AUX通道有问题。这时候检查一下AC耦合电容和上拉电阻,AUX对需要上拉到3.3V,电阻值100kΩ。
4.4 PSR技术:座舱省电的关键
PSR(Panel Self Refresh)是eDP独有的省电技术。它的原理很简单:当屏幕显示静态画面时,GPU停止发送数据,由显示器内部的帧缓冲器(Frame Buffer)自行刷新。
PSR的工作流程:
- 进入PSR:GPU检测到画面静止,发送PSR进入命令,然后停止主链路传输。
- 自刷新:显示器内部的TCON从本地帧缓冲器读取数据,持续刷新屏幕。
- 退出PSR:GPU检测到画面变化,发送PSR退出命令,恢复主链路传输。
PSR的两种模式:
- PSR1:最基本的模式,帧缓冲器只存储一帧数据。进入和退出时会有短暂的闪烁。
- PSR2:改进版,支持选择性更新(Selective Update)。只更新画面变化的区域,其他区域继续自刷新。座舱里用PSR2比较多,因为仪表盘上经常只有部分区域变化(比如车速数字)。
我曾经踩过的坑:在做仪表盘项目时,我用了PSR1,结果发现每次进入PSR时屏幕会闪一下。后来查了datasheet才知道,PSR1的进入延迟需要至少2帧的Vblank时间。我调整了GPU的时序,把PSR进入延迟设成了3帧,问题解决。所以,PSR的时序参数一定要仔细调。
4.5 座舱设计中的eDP选型建议
最后,我根据实际项目经验,给几个选型建议:
- 分辨率4K以下:用eDP 1.4 + HBR3,4 lane足够。成本低,方案成熟。
- 分辨率4K以上或需要8K:考虑eDP 2.0 + UHBR。但要注意,目前支持eDP 2.0的SoC和TCON还不多,供应链要提前确认。
- 多屏串联:用eDP 1.4的MST功能。但注意,MST会增加延迟,不适合对实时性要求高的仪表盘。我一般建议仪表盘用独立eDP接口,中控和副驾屏用MST串联。
- 省电需求高:一定要用PSR2。座舱里屏幕常亮,PSR2能省下30%-50%的功耗。
一个小技巧:在调试eDP链路时,可以用DPCD的0x00200寄存器(LINK_SERVICE_IRQ_VECTOR)来查看链路状态。如果bit0为1,说明链路有错误,需要重新训练。这个寄存器我几乎每次调试都会看。
好了,关于eDP接口就聊这么多。下一章咱们讲LVDS和MIPI DSI,这两个在座舱里也经常用到。有什么问题欢迎交流。