Repeater与Retimer概述

咱们做高速串行设计的,肯定都遇到过信号衰减的问题。PCIe、SATA、USB这些总线,跑得越快,板上的走线就越像一根天线——损耗、串扰、抖动全来了。这时候就得请出两样法宝:Repeater和Retimer。

很多人觉得它俩就是一回事嘛,都是“中继器”。其实不然。我在一个PCIe Gen4的项目里就吃过这个亏,一开始用了Repeater,结果链路死活不稳,后来换成Retimer才搞定。你说差异大不大?

这一章咱们先搞清楚最基本的东西——它俩到底是谁,在链路上站在哪儿,又干了什么活。

什么是Repeater

Repeater,中文叫“中继器”或“转接驱动器”。它的本职工作很简单:把进来的信号放大,再原封不动地发出去。说白了就是模拟域的“信号放大器”。

它不关心信号里装的是什么数据,也不管时钟对不对。只做两件事:
• 补偿传输损耗(让眼图张开一点)
• 均衡高频衰减(用CTLE/DFE把高频分量拉回来)

但它有个硬伤——不能消除抖动。进来的抖动多大,出去的抖动也多大,甚至还会因为放大电路引入额外噪声。

小提示:Repeater适合用在短距离、低抖动预算的场景。比如板上两块芯片之间走线太长,但链路余量还够,加一级Repeater就能过去。

什么是Retimer

Retimer,中文叫“重定时器”。它比Repeater多了一个关键能力——恢复时钟并重新对齐数据。

它的内部一般有CDR电路(时钟数据恢复),能把进来的比特流跟本地的PLL锁相,重新生成一个干净的时钟,再用这个时钟把数据重新发出去。这样不只放大了信号,还把抖动和时钟歪斜都清理掉了。

我记得有一次调试SAS链路,线缆长了点,眼图已经闭了一半。加了Retimer之后,眼图直接恢复到跟芯片输出差不多——这就是CDR的力量。

核心区别一句话:Repeater只管“放大”,Retimer负责“重建”。

它们在高速串行链路中的位置

无论是PCIe、USB4、还是100G以太网,典型的高速链路结构是这样的:
发送端 → 走线/线缆 → 中继器件 → 走线/线缆 → 接收端

Repeater和Retimer就插在中间的某个位置。具体放哪,取决于链路损耗和抖动预算。

我习惯用下面这张图来给团队讲清楚它们的作用范围:

高速串行链路中的Repeater与Retimer 发送端 (TX) 走线/线缆 Repeater 走线/线缆 Retimer 走线/线缆 接收端 (RX) Repeater 作用 只放大信号,不处理抖动 适合短距、低抖动预算 Retimer 作用 恢复时钟+重建数据 消除抖动,适合长距 典型拓扑:TX → 走线 → Repeater/Retimer → 走线 → RX • 链路总损耗 = 发送段损耗 + 接收段损耗 + 中继器件内部损耗 • Repeater不改变协议时序,Retimer会引入额外延迟(约几~十几UI)

功能差异速览表

对比项 Repeater Retimer
处理域 模拟域 (放大、均衡) 数字域 (CDR + 重发)
抖动抑制 无,甚至可能增加 强,可清除大部分抖动
时钟恢复 不需要(透明直通) 必须(内部PLL + CDR)
延迟 极低(1~2 UI) 中等(几~十几 UI)
协议感知 无(完全透传) 部分(比如PCIe可识别L1状态)
功耗 较低 较高(因为CDR+PLL)
典型成本 低 高
避坑提醒:我曾经在一个NVMe SSD项目中,为了省成本,在PCIe Gen4 x4链路上只用了Repeater。结果跑压力测试时,链路时不时报CRC错误。换成了Retimer后一切正常——因为SSD离CPU走线超过了25cm,板厂的插损又比预期大了2dB。记住:链路插损超过20dB时,别用Repeater,Repeater救不了抖动累积。

为什么需要区分它们

你想想看,一个高速链路的设计,第一步就是算损。总损耗 = 发送端输出摆幅衰减 + 走线/连接器损耗 + 接收端灵敏度拐点。算完之后你就要决定:

  • 损耗不大,只是眼图有点塌 → Repeater 够用
  • 损耗大,而且抖动已经超标 → Retimer 必须上

说白了就是:Repeater解决幅度问题,Retimer解决时间问题。幅度问题好办,加个放大;时间问题就麻烦多了,必须把时钟和数据的对齐关系重建一遍。

我个人习惯在方案定型前,先拉一个链路预算表格,把抖动分量一项项列清楚(TX抖动、走线ISI、串扰、PLL噪声……)。如果随机抖动RMS超过0.3UI,我就直接选用Retimer,不纠结。

它们的长相和接口

实物上,Repeater和Retimer的封装可能一模一样——都是QFN、BGA之类。但看数据手册里的功能框图就能一眼分辨:

  • Repeater框图里只有EQ(均衡器)和Driver(驱动)
  • Retimer框图里一定有CDR和PLL,有时还带分频器

另外要注意:有些芯片厂商会管自己的Repeater叫“线性Repeater”或“Redriver”,而Retimer有时也叫“Re-timer with CDR”。但本质没变——看它带不带时钟恢复。

选型口诀:
链路距离短,抖动小 → 用Repeater,省成本省功耗
链路距离长,抖动大 → 上Retimer,保眼图保误码率

好,这一章我们把Repeater和Retimer的定义、区别、在链路上的位置都梳理清楚了。你心里应该有个底:它们不是同一个东西,选错了,后面调试会让你很头疼。