常见高速接口协议对比:PCIe、USB、DisplayPort、HDMI、MIPI、Ethernet

做高速接口,绕不开这六条「主干道」。PCIe、USB、DisplayPort、HDMI、MIPI、Ethernet——每个都有自己的地盘和脾气。我刚开始混这行时,也经常搞混它们的应用场景。直到有一次,客户拿一块FPGA板子来找我,说DisplayPort连不上,结果一看,他走的是MIPI DSI的物理层。嗯,那时候我就明白了:协议选型比调链路更考验基本功。

一句话核心:没有「最强协议」,只有「最合适的协议」。PCIe管芯片间高速搬运,USB管即插即用扩展,DP和HDMI管音视频输出,MIPI管移动设备内部互联,Ethernet管长距离组网。

PCIe — 芯片级的高速公路

PCIe是全双工的点对点串行链路。每条lane跑2.5GT/s(Gen1)、5GT/s(Gen2)、8GT/s(Gen3)、16GT/s(Gen4)、32GT/s(Gen5),带宽可以捆绑,×16就是16条lane。我做过一个NVMe SSD项目,Gen3×4刚好能喂饱顺序读写,但换了Gen4×4之后,4K随机IOPS反而卡在控制器内部FIFO上——别迷信带宽,瓶颈往往在别处。

  • 拓扑:Root Complex → Switch → Endpoint,树状。
  • 编码:Gen1/2用8b/10b,Gen3起换128b/130b,效率从80%提到98.4%。
  • 信号:差分对,AC耦合电容必须靠近发送端,我习惯放接收端附近反而容易引起眼图塌陷。
  • 避坑:我曾经在Gen4 layout里把P/N走线长度差了20mil,结果链路训练失败,EQ阶段就卡死了。后来老老实实等长控制在5mil以内。

USB — 最通用的“万能插头”

USB最大的特点是热插拔和供电能力。从USB 2.0的480Mbps到USB 3.2 Gen2×2的20Gbps,再到USB4的40Gbps(基于Thunderbolt 3底层)。Type-C接口统一了正反插,还带了CC逻辑协商。说实话,USB物理层比PCIe复杂不少:它需要处理主机和设备的两端角色切换、Vbus供电协商、超时重传。

版本速率编码典型供电常见载体
USB 2.0480 MbpsNRZI + 位填充500 mA / 5VType-A, Micro-B
USB 3.2 Gen 15 Gbps8b/10b900 mA / 5VType-A, Type-C
USB 3.2 Gen 210 Gbps128b/132b同左Type-C
USB420/40 Gbps128b/132b3A / 5V (可协商PD)Type-C

我做过一个工业相机项目,USB 3.0线长了5米,眼图完全闭合。后来在接收端加了一颗重驱动器(redriver)才解决问题。记住:USB 3.0以上的无源线缆超过2米就得小心了。

DisplayPort vs HDMI — 视频双子星

DisplayPort出身PC阵营,HDMI来自消费电子。物理层其实很像,都是AC耦合差分对。但DP的架构更灵活:它把音视频数据封装成微包(Micro Packet),主链路带宽可以动态分配。HDMI 2.1之前用TMDS,2.1之后也换成FRL(固定速率链接),本质上和DP的差分信号路线趋同了。

我的一点体会:如果做多显示器拼接墙,DP的菊花链(Daisy Chain)比HDMI的星型拓扑省不少线。但HDMI在电视和投影仪上普及率太高,用户端几乎不可能换接口。

  • DP 2.0:单lane 20Gbps,4 lanes共80Gbps,UHBR20。
  • HDMI 2.1:FRL模式每lane 12Gbps,4 lanes共48Gbps。多了超高速HDMI线缆认证。
  • 要注意:DP Source端必须实现AUX通道的握手,HDMI则需要实现EDID和SCDC。这些软件协议栈比物理层还容易踩坑。我记得调试一个DP转HDMI桥片,AUX轮询超时导致黑屏,最后发现是I²C电平不匹配。

MIPI — 移动设备内部的“轻骑兵”

MIPI联盟定义了好几种物理层:D-PHY(常用,4 lanes,单lane最高4.5Gbps)、C-PHY(3条线实现3个符号,吞吐量更高),还有M-PHY用于UFS等存储。MIPI最大的特点是低功耗、少引脚、短距离。手机摄像头和屏幕的接口基本都是它。

说个实战经验。有一次我调试MIPI DSI屏接口,图像有水平条纹。检查半天才发现D-PHY的CLK和DATA的skew超标了。MIPI对时序要求很严,CLK与数据眼中心的偏斜不能超过0.15UI。我用示波器实测,因为PCB过孔不一致,偏斜到了0.3UI,重新调整走线等长才解决。

特别提醒:MIPI的线上共模电压是200mV(D-PHY LP模式下更低),和普通差分信号不同。用万用表量会整数值不准,必须用高速差分探头。我曾经助理拿着普通探头点数据线,结果把PHY烧了……

Ethernet — 无处不在的网络脊梁

Ethernet从10Mbps一直走到800Gbps,但它和前面几个协议有个根本区别:它不是点对点的同步链路,而是共享介质的包交换网络。物理层PCS层做了大量工作:自动协商、前向纠错(FEC)、链路同步。IEEE 802.3标准家族非常庞大。

我目前主要在接触25G/100G Ethernet,这玩意儿比ITU-T的OTN简单,但抖动容限要求极高。一个常见的坑:参考时钟的相位噪声。某次100G项目,PAM4信号一直有猝发性误码,最终定位到是板上晶振的抖动超标,换成低相噪的TCXO后丢包率从1e-4降到1e-9。

速率物理层编码典型介质最大距离(铜缆)
1G Base-T4D-PAM5Cat5e100 m
10G Base-TDSQ128 + LDPCCat6a100 m
25G Base-SRRS-FEC + NRZ多模光纤100 m (OM4)
100G Base-LR4PAM4 + 4波长单模光纤10 km

一张图看清协议家族

下面这张SVG把六种协议按应用场景、速率段和典型封装整理在了一起。画图时我用不同色块区分类别,深色节点表示主流速率位置。

高速接口协议对比总览 高速接口协议 PCIe USB DisplayPort HDMI MIPI Ethernet 说明 深色节点代表协议簇,连线表示 中心“高速接口”到具体实例。 实际选型需结合带宽、距离、功耗。 点对点 · Lane扩展 热插拔 · Type-C 微包传输 · 菊花链 TMDS→FRL · 消费生态 低功耗 · 短距离 包交换 · FEC · 长距离

选型核心速查表

我把几个关键指标拉了个横向对比。你设计前可以对着这张表判断——注意,数字只代表成熟商用上限,实验室研究级不包含在内。

协议最高速率(当前主流)典型应用距离功耗倾向链路层复杂度生态成熟度
PCIeGen4×16 = 64 GB/s机箱内(<0.5m)中等中等(TLP + DLLP)极高(PC/服务器)
USBUSB4 40 Gbps线缆 ~3m(有源)低~中高(协议栈 + 双向协商)极高(消费电子)
DPDP 2.0 80 Gbps线缆 ~5m(无源)中中(主链路 + AUX)高(PC/显示器)
HDMIHDMI 2.1 48 Gbps线缆 ~5m(无源)中中(TMDS/FRL + SCDC)极高(电视/投影)
MIPID-PHY 4.5 Gbps/lanePCB级(<30cm)超低低(D-PHY协议较简单)高(移动/嵌入式)
Ethernet100 GbE ~ 800 GbE10km+(光纤)高(SerDes占大头)极高(MAC + PCS + FEC)极高(网络设备)

总结一下我的选型口诀:

  • 板卡之间、CPU与加速器 —— 上PCIe,别犹豫。
  • 外围设备、用户交互 —— 选USB,兼容性最好。
  • 显示器输出 —— DP > HDMI,除非客户指定HDMI。
  • 手机/平板内部 —— 只有MIPI可选,功耗和引脚数决定的。
  • 机房互联、设备联网 —— Ethernet,没有第二个选择。

好了,这六条路各有各的跑法。你手头的项目到底走哪条,先看带宽需求,再看距离和功耗预算,最后——想想你的竞争对手都在用什么。我记得当年做一个AR眼镜的方案,选MIPI是因为它能用柔性排线绕过头戴支架,换HDMI的话光那根粗线就得被产品经理砍死。实践出真知,我说再多不如你亲手焊一块板子试试。下章我们聊聊单端和差分信号的实战对比,到时候带上示波器来见。