常见高速接口协议对比: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.0 | 480 Mbps | NRZI + 位填充 | 500 mA / 5V | Type-A, Micro-B |
| USB 3.2 Gen 1 | 5 Gbps | 8b/10b | 900 mA / 5V | Type-A, Type-C |
| USB 3.2 Gen 2 | 10 Gbps | 128b/132b | 同左 | Type-C |
| USB4 | 20/40 Gbps | 128b/132b | 3A / 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-T | 4D-PAM5 | Cat5e | 100 m |
| 10G Base-T | DSQ128 + LDPC | Cat6a | 100 m |
| 25G Base-SR | RS-FEC + NRZ | 多模光纤 | 100 m (OM4) |
| 100G Base-LR4 | PAM4 + 4波长 | 单模光纤 | 10 km |
一张图看清协议家族
下面这张SVG把六种协议按应用场景、速率段和典型封装整理在了一起。画图时我用不同色块区分类别,深色节点表示主流速率位置。
选型核心速查表
我把几个关键指标拉了个横向对比。你设计前可以对着这张表判断——注意,数字只代表成熟商用上限,实验室研究级不包含在内。
| 协议 | 最高速率(当前主流) | 典型应用距离 | 功耗倾向 | 链路层复杂度 | 生态成熟度 |
|---|---|---|---|---|---|
| PCIe | Gen4×16 = 64 GB/s | 机箱内(<0.5m) | 中等 | 中等(TLP + DLLP) | 极高(PC/服务器) |
| USB | USB4 40 Gbps | 线缆 ~3m(有源) | 低~中 | 高(协议栈 + 双向协商) | 极高(消费电子) |
| DP | DP 2.0 80 Gbps | 线缆 ~5m(无源) | 中 | 中(主链路 + AUX) | 高(PC/显示器) |
| HDMI | HDMI 2.1 48 Gbps | 线缆 ~5m(无源) | 中 | 中(TMDS/FRL + SCDC) | 极高(电视/投影) |
| MIPI | D-PHY 4.5 Gbps/lane | PCB级(<30cm) | 超低 | 低(D-PHY协议较简单) | 高(移动/嵌入式) |
| Ethernet | 100 GbE ~ 800 GbE | 10km+(光纤) | 高(SerDes占大头) | 极高(MAC + PCS + FEC) | 极高(网络设备) |
总结一下我的选型口诀:
- 板卡之间、CPU与加速器 —— 上PCIe,别犹豫。
- 外围设备、用户交互 —— 选USB,兼容性最好。
- 显示器输出 —— DP > HDMI,除非客户指定HDMI。
- 手机/平板内部 —— 只有MIPI可选,功耗和引脚数决定的。
- 机房互联、设备联网 —— Ethernet,没有第二个选择。
好了,这六条路各有各的跑法。你手头的项目到底走哪条,先看带宽需求,再看距离和功耗预算,最后——想想你的竞争对手都在用什么。我记得当年做一个AR眼镜的方案,选MIPI是因为它能用柔性排线绕过头戴支架,换HDMI的话光那根粗线就得被产品经理砍死。实践出真知,我说再多不如你亲手焊一块板子试试。下章我们聊聊单端和差分信号的实战对比,到时候带上示波器来见。