4、协同设计必要性:为什么Switch需要Retimer?PCIe 5.0/6.0、USB4等高速协议对信号衰减的容忍度分析。
说实话,这个问题我经常被问到。
很多工程师觉得,Switch本身不就是个信号交换芯片吗?为什么还要在它旁边再加一颗Retimer?这不是多此一举吗?
嗯,我刚开始接触PCIe 4.0的时候也这么想过。直到我在一个服务器项目里,亲眼看着PCIe 5.0的信号从芯片出来,走过10英寸的PCB走线,到连接器那里已经变成了一团乱麻——眼图完全闭合,误码率直接爆表。那一刻我才真正明白:不是Switch不想干活,是物理世界太残酷了。
4.1 高速信号的“敌人”到底是谁?
我们先聊聊信号衰减这件事。
你想想看,PCIe 5.0的单通道速率是32Gbps,PCIe 6.0直接翻倍到64Gbps。USB4也跑在20Gbps甚至40Gbps。频率越高,信号在PCB上传输时的损耗就越严重。
损耗主要来自三个方面:
- 导体损耗(Skin Effect):高频电流只走导体表面,等效电阻变大。说白了,信号越跑越没劲。
- 介质损耗(Dielectric Loss):PCB板材的分子在高频下反复极化,吸收能量。FR4在10GHz以上基本就是个“信号黑洞”。
- 反射与串扰:阻抗不连续、过孔残桩、相邻走线耦合,都会让信号质量雪上加霜。
我在一个项目中遇到过,PCIe 5.0的走线长度只有12英寸,但用了普通的FR4板材,结果眼高只剩不到50mV。接收端的PHY根本没法正确采样。那会儿我就在想,光靠Switch内部的EQ(均衡)能力,真的够用吗?
4.2 协议对信号衰减的容忍度——数字不会骗人
不同的高速协议,对信号质量的容忍度是不一样的。我们直接看数据。
| 协议 | 速率 | 典型通道损耗预算(dB) | Retimer需求 |
|---|---|---|---|
| PCIe 4.0 | 16 GT/s | ~28 dB | 可选 |
| PCIe 5.0 | 32 GT/s | ~36 dB | 强烈建议 |
| PCIe 6.0 | 64 GT/s | ~42 dB | 必须 |
| USB4 Gen3 | 20 Gbps | ~30 dB | 视长度而定 |
| USB4 Gen4 | 40 Gbps | ~38 dB | 强烈建议 |
注意看这个“通道损耗预算”。它指的是从发送端到接收端,整个链路允许的最大信号衰减量。一旦超过这个值,接收端的CDR(时钟数据恢复)和EQ就无能为力了。
PCIe 5.0的36dB预算,听起来不少。但实际算一下:
- PCB走线:每英寸约1.5~2.5dB(取决于板材和频率)
- 连接器:每个约1~2dB
- 过孔:每个约0.5~1dB
- Switch内部损耗:约3~5dB
你算算看,一条从CPU到Switch再到SSD的链路,走线长度加起来可能超过15英寸,再加上两个连接器、几个过孔……36dB的预算很快就用完了。我见过一个极端案例,链路总损耗达到了41dB,PCIe 5.0直接训练失败,系统根本识别不到设备。
核心结论:Switch本身只能做简单的信号交换和有限的均衡。当链路损耗超过协议预算时,必须引入Retimer来“重新生成”信号,而不是仅仅“放大”信号。
4.3 Switch的局限——它为什么“扛不住”?
很多人会问:Switch内部不是也有EQ吗?为什么不能把EQ调强一点?
原因有两个。
第一,Switch的EQ能力有限。 Switch芯片的主要任务是交换数据,不是信号调理。它的EQ通常只有几档可调,而且只能补偿一部分高频损耗。对于PCIe 5.0以上,这种补偿远远不够。
第二,Switch无法消除抖动和噪声。 信号经过长距离传输后,不仅幅度衰减,相位也会抖动。Switch的PHY只能做简单的时钟恢复,但无法彻底消除确定性抖动(DJ)和随机抖动(RJ)。Retimer则不同,它内部有完整的CDR电路,可以重新锁定时钟,把抖动的信号“洗干净”。
我记得有一次调试,Switch输出端的眼图看起来还行,但经过一段长走线后,接收端眼图完全闭合。我换了各种EQ设置都没用。后来加了一颗Retimer,信号瞬间变得干干净净。说白了,Switch只能“传递”信号,Retimer才能“重生”信号。
4.4 Retimer到底做了什么?
Retimer的工作原理,其实不复杂。它做了三件事:
- 均衡(EQ):对输入信号进行CTLE和DFE补偿,把衰减的高频分量抬起来。
- 时钟恢复(CDR):从数据流中提取时钟,消除相位抖动。
- 重新发送:用干净的时钟和完整的电压摆幅,把数据重新发出去。
你可以把Retimer想象成一个“信号再生器”。它不关心数据内容,只关心信号质量。进来的信号哪怕已经奄奄一息,出去的时候也能满血复活。
个人经验:我建议在设计PCIe 5.0系统时,把Retimer放在链路的中段,而不是靠近发送端或接收端。这样能最大化信号再生效果。我曾经试过把Retimer放在Switch旁边,结果效果大打折扣——因为信号在Retimer之后还要走很长一段路,又衰减了。
4.5 什么时候必须用Retimer?
我总结了几条判断标准,你可以直接拿来用:
- PCIe 5.0链路总损耗超过30dB:必须加Retimer。30dB以内还可以靠Switch和接收端的EQ硬扛,超过这个值基本没戏。
- PCIe 6.0任何情况:必须加。64GT/s的信号对抖动和损耗极其敏感,没有Retimer几乎不可能通过合规性测试。
- USB4 Gen4且走线长度超过8英寸:强烈建议加。USB4的接收端EQ能力比PCIe弱一些,长链路很容易出问题。
- 链路中有多个连接器或过孔:每个连接器和过孔都是信号质量的“杀手”,Retimer可以有效弥补这些不连续点带来的损耗。
避坑指南:我曾经在一个项目里,为了省成本,在PCIe 5.0链路上只用了Switch没加Retimer。结果系统在高温下频繁掉盘,误码率时好时坏。后来加了Retimer,问题全部消失。省下的那几块钱,最后全花在返工和调试上了。所以我的建议是:不要在高频链路上赌运气。
4.6 协同设计的核心逻辑
Switch和Retimer不是二选一的关系,而是协同工作的关系。
Switch负责数据交换和路由,Retimer负责信号再生和时钟恢复。两者配合,才能让高速信号在复杂的PCB链路中可靠传输。
我画了一张图,帮你理清这个逻辑:
从这张图可以看得很清楚:Switch输出的信号虽然经过了均衡,但依然带有衰减和抖动。只有经过Retimer的“再生”处理,接收端才能拿到干净的数据。
4.7 我的设计建议
最后,我分享几条实战经验:
- 提前做链路预算:在设计初期,就把PCB走线长度、板材损耗、连接器数量全部算清楚。不要等到板子打样回来才发现信号过不了。
- Retimer的位置很关键:尽量放在链路的中段,让前后两段走线长度大致相等。这样Retimer的EQ和CDR效果最好。
- 不要迷信Switch的EQ:Switch的EQ只是辅助手段,不是救命稻草。PCIe 5.0以上,Retimer是必需品,不是奢侈品。
- 留好测试点:在Switch前后和Retimer前后都留好SMA测试点。调试时用示波器看眼图,能快速定位问题。
嗯,关于协同设计的必要性,今天就聊到这里。记住一句话:高速信号的世界里,没有“差不多”,只有“行”或“不行”。 Retimer就是那个帮你从“不行”变成“行”的关键器件。
一句话总结:PCIe 5.0/6.0和USB4等高速协议对信号衰减的容忍度越来越低,Switch的有限EQ能力无法满足长链路需求。Retimer通过信号再生和时钟恢复,是保证链路可靠性的必要手段。协同设计,不是可选项,而是必选项。