1、Retimer概述:什么是Retimer,作用,与Repeater、Redriver的区别

信号传输的“急救医生”

你遇到过信号传输距离长了就眼图闭合的情况吗?

我记得刚开始做高速串行设计那会儿,两芯片之间走个30厘米的PCB走线,出来的信号波形就已经惨不忍睹了。噪声、抖动、损耗……全都来了。这时候就需要一个设备,能把信号“洗干净”再发出去。

对,就是Retimer。

Retimer,你可以把它想象成一个信号急救医生。它先把坏掉的信号接收进来,然后用内部的时钟恢复电路提取出干净的时钟,再对齐数据,最后用全新的驱动器重新发出去。这样,接收端收到的就是一个全新的、干净的信号。

一句话总结: Retimer的核心能力是CDR(时钟数据恢复)+ EQ(均衡)+ 重新驱动。它能消除通道累积的抖动和噪声,跟信号传输距离和质量不再直接相关。

Retimer的核心作用

说白了,Retimer就干三件事:

  • 接收并均衡 —— 把经过长距离传输后、已经变形的信号先恢复一下。我做过一个项目,背板长度40公分,跑25Gbps,进来的信号眼图都快闭合了,CTLE(连续时间线性均衡器)一上去,眼高立马从0.1V拉到0.4V。
  • CDR时钟恢复 —— 这才是Retimer的独门绝技。它能从数据流里精确提取出时钟,再重新采样数据。这个过程中,时钟抖动会被大幅度抑制。
  • 重新驱动 —— 把处理干净的数据用电平更高的、抖动更小的驱动器重新发送出去。

为什么需要CDR?

你想想看,高速信号在PCB走线、连接器、线缆里跑了很远,它的时钟信息会跟数据之间产生相位偏移。如果没有CDR,接收端用自己的本地时钟去采样,很容易采样到错误的数据点。CDR就是把这个偏移追回来,锁定住。

为什么需要Retimer而不只用Repeater或Redriver

这里有个常见的误区。很多人觉得“信号弱了就加个放大器”。但实际不是那么简单。

先看一张对比表,你马上就明白三者的区别了:

特性 Repeater Redriver Retimer
核心功能 模拟信号放大+再整形 模拟均衡+预加重+去加重 CDR+EQ+重新驱动(数字域处理)
是否提取时钟 否 否 是
是否消除抖动 不能,甚至可能放大抖动 部分消除,但有高频损耗 能,大幅消除确定性抖动和随机抖动
重新定时能力 无 无 有,数据重新对齐时钟
典型应用 低速并行总线,短距离 PCIe Gen3/4中短距离,SATA PCIe Gen5/6,100G/400G以太网,长距离背板
复杂度与成本 低 中等 高

看到了吧?Repeater就是最基础的信号中继器,它只知道把进来的信号幅度放大再发出去。但这样做有个问题——噪声和抖动它跟信号一起放大了。你本来信号丢了3dB,它补3dB,但噪声也补了。

Redriver稍微聪明一点。它有均衡功能,能调整信号的频率响应,把高频部分补回来。但它不提取时钟,所以它无法消除抖动。我曾经在一个PCIe Gen4项目上踩过这个坑:用了Redriver,眼图看起来还不错,但系统跑压力测试时总有偶尔的误码。查到最后,是抖动累积导致的。

避坑提醒: 如果你在做PCIe Gen5或更高速的设计,别指望Redriver能解决问题。我曾经见过有人把Redriver当Retimer用,结果信号在链路里绕了两三颗芯片后,抖动直接翻倍,系统完全无法锁定。所以记住:能消灭抖动的只有Retimer。

Retimer的工作原理简述

嗯,这里要稍微深入一点,但我不讲太复杂。Retimer的内部大概就是这么一个流程:

  1. 模拟前端(AFE) —— 接收差分信号,做初步的AC耦合和偏置调整。我习惯把这里的CTLE增益留一点余量,调试时会舒服很多。
  2. CTLE均衡 —— 补偿通道的低通特性,把高频衰减拉回来。一般可以调3~15dB的增益。
  3. CDR + 采样 —— 这是最核心的部分。PLL锁定输入数据边沿,产生与数据同频同相的时钟,然后用这个时钟对数据进行重采样。重采样后的数据抖动完全被清除了。
  4. DFE判决反馈均衡 —— 进一步消除码间干扰。我建议新手不要一上来就调DFE,容易调出二阶问题。
  5. TX驱动器 —— 输出干净的差分信号,去加重和预加重也可以在这里设置。
Retimer 信号调理流程图 发送端 TX (有损通道传输) AFE 模拟前端 AC耦合+偏置 CTLE 均衡 补偿高频损耗 CDR 时钟恢复 PLL锁定+重采样 DFE 判决反馈 消除码间干扰 TX 驱动器 重新驱动输出 说明:信号从左边有损通道进入,依次经过AFE、CTLE(也可先CDR再DFE), 最终由TX驱动器输出干净的信号。箭头表示数据流动方向。

什么时候选Retimer?

我个人的经验是:

  • 链路总损耗超过25dB(比如背板总走线超过40英寸),尤其是距离远的时候,别想Redriver。
  • 需要级联多个中继器。Retimer能消除前级抖动,所以级联几个Retimer都能正常工作。Redriver级联两三个就到极限了。
  • 对误码率要求极高的场合,比如金融交易服务器、数据中心核心交换机。我一个朋友做交换机设计,他说Retimer是他的必备件,因为Redriver在压力测试下总有那么几帧丢包。
  • PCIe Gen5及以上,强制要求Retimer才能保证链路训练成功。

补充一点: 有时候Redriver也不是完全不能用。比如短距离(<20英寸)且链路不复杂,Redriver性价比就比Retimer高。关键是看你自己的链路预算和抖动容忍度。