1. PCIe与USB概述:从历史到SI设计的核心价值

大家好,我是老张。做信号完整性这行十几年了,每次带新人时,我总喜欢先聊聊PCIe和USB的发展史。为什么?因为你不了解它们的「前世今生」,就很难理解今天SI设计的那些「坑」是怎么来的。

说白了,PCIe和USB是两种完全不同「性格」的接口。一个追求极致性能,一个追求通用便捷。但有意思的是,它们都在朝着更高速度、更复杂SI挑战的方向狂奔。

1.1 PCIe的发展历程:从并行到串行的革命

我记得2003年刚入行那会儿,PCI总线还是主流。33MHz、32位宽,理论带宽才133MB/s。那时候做硬件设计,走线对齐是最头疼的事——32根数据线必须等长,差一点都不行。

后来PCIe 1.0出来了,彻底颠覆了这一切。它把并行总线改成了串行差分对,用2.5GT/s的速率,单通道就达到250MB/s。我当时的第一反应是:「这玩意儿能稳定吗?」

嗯,事实证明我多虑了。PCIe的发展速度远超想象:

版本 单通道速率 编码方式 发布年份
PCIe 1.0 2.5 GT/s 8b/10b 2003
PCIe 2.0 5.0 GT/s 8b/10b 2007
PCIe 3.0 8.0 GT/s 128b/130b 2010
PCIe 4.0 16.0 GT/s 128b/130b 2017
PCIe 5.0 32.0 GT/s 128b/130b 2019
PCIe 6.0 64.0 GT/s PAM4 + FLIT 2022

你想想看,从2.5GT/s到64GT/s,翻了25倍多。但PCB板材的介电常数变化可没这么快。这就是为什么SI设计越来越难——速率在涨,材料却没跟上。

核心要点:PCIe从3.0开始改用128b/130b编码,效率从80%提升到98.4%。但代价是时钟恢复更难了。我在项目中遇到过,有些老工程师还按8b/10b的裕量去设计3.0的链路,结果眼图根本睁不开。

1.2 USB的发展历程:从「通用」到「全能」

USB的故事更有意思。1996年USB 1.0出来时,只有1.5Mbps,说白了就是用来替代串口和并口的。我当时觉得这玩意儿速度太慢,没什么用。

结果USB 2.0在2000年直接飙到480Mbps,一下子成了外设接口的标准。我个人习惯用「三阶段」来理解USB的发展:

  • 第一阶段(USB 1.x/2.0):解决「能不能用」的问题。SI设计相对简单,差分阻抗90Ω±15%就够。
  • 第二阶段(USB 3.x):解决「快不快」的问题。5Gbps起步,SI设计开始头疼。我记得第一次做USB 3.0的板子,因为过孔stub没处理好,眼图直接闭合了。
  • 第三阶段(USB4):解决「通不通吃」的问题。40Gbps,基于Thunderbolt协议,SI设计难度和PCIe 4.0相当。
版本 速率 信号类型 SI挑战等级
USB 1.1 12 Mbps 单端
USB 2.0 480 Mbps 差分
USB 3.0 5 Gbps 差分
USB 3.1 10 Gbps 差分 很高
USB 3.2 20 Gbps 差分×2 极高
USB4 40 Gbps 差分×4 挑战级

个人经验:USB 2.0的D+和D-走线,很多人觉得简单就不重视。我曾经在一个项目中,就因为USB 2.0的差分对没做包地处理,导致EMI超标了6dB。记住:低速接口的SI问题往往更隐蔽。

1.3 PCIe与USB的应用场景对比

这两种接口的应用场景,说白了就是「内用」和「外用」的区别。

PCIe的场景:

  • 芯片间互联(CPU到GPU、SSD、网卡)
  • 服务器内部高速通道
  • 需要确定性延迟的场景(比如NVMe存储)
  • 板级走线长度通常< 15英寸

USB的场景:

  • 外设连接(键盘、鼠标、U盘、摄像头)
  • 支持热插拔,线缆长度可达3米
  • 供电和数据一体化
  • 兼容性要求极高

你想想看,PCIe的链路是固定的,走线长度可控。而USB的线缆可能被用户随意弯折、延长。这就是为什么USB的SI设计要考虑更多「非理想情况」。

关键区别:PCIe更关注通道内的损耗和串扰,USB更关注连接器处的阻抗不连续和线缆的衰减。我在做混合设计时,经常需要在这两种思维之间切换。

1.4 SI设计的重要性:为什么不能忽视?

嗯,这里我要说点实在的。很多硬件工程师觉得SI是「玄学」,或者认为「只要走线短就没问题」。这种想法在低速时代或许还行,但在今天——

一个真实的案例:我曾经帮一个团队debug PCIe 4.0的链路问题。他们的板子layout看起来没问题,走线长度也符合规范。但就是跑不稳,经常掉链路。我拿VNA一测,发现过孔的阻抗从85Ω跳到了110Ω。原因是什么?过孔的反焊盘挖得太大了。

这就是SI设计的价值——它帮你找到那些「看不见」的问题。

SI设计的重要性体现在三个层面:

  1. 信号质量层面:眼图、抖动、串扰、损耗。这些参数直接决定链路能不能正常工作。
  2. 系统可靠性层面:误码率(BER)必须低于1e-12。PCIe 5.0的要求更严,BER要低于1e-15。
  3. 成本控制层面:好的SI设计可以用普通FR4板材跑高速,省下的材料成本可不是小数目。

避坑指南:我曾经见过一个项目,为了省成本,把PCIe 4.0的走线从内层换到了表层。结果因为表层参考平面不连续,导致回波损耗超标。最后不得不重新改板,浪费了两周时间。记住:SI设计不是「锦上添花」,而是「雪中送炭」。

1.5 本章小结

PCIe和USB,一个向内,一个向外。一个追求极致带宽,一个追求通用便捷。但它们都面临同一个挑战——如何在越来越高的速率下保证信号完整性。

我个人习惯把SI设计比作「在钢丝上跳舞」。你既要满足电气规范,又要兼顾成本、可制造性。没有捷径,只有理解原理、积累经验。

下一章,我会详细讲PCIe的物理层SI设计要点。包括差分阻抗控制、AC耦合电容的选型、以及我最头疼的——参考平面跨分割问题。到时候见。

课后思考:如果你现在要设计一个同时支持PCIe 4.0和USB 3.2的板子,你会优先考虑哪些SI问题?欢迎在评论区和我交流。