一两句话讲清楚版:
Retimer 通过 其 Rx 端 CTLE/DFE (连续时间线性均衡/判断反馈均衡) 、CDR (时钟数据恢复) 及 Tx 端 EQ (均衡),来够补偿信道损耗,消除信号抖动,提升信号完整性,从而增加传输距离。
Redriver 是放大信号,Retimer 是重新生成信号。Retimer 比 Redriver 性能更高,但时延也更大。
再详细一点版:
先说redriver,Redriver相当于是功能相对简单的信号放大器,通过Rx端的CTLE(基本原理一般就是一个高通滤波器),和Tx端的驱动器,实现对损耗的补偿,从而使眼睛张开,让整个PCIe通道看起来有更小的衰减。由于Redriver不涉及任何协议相关的内容,只是物理层的处理,所以其两端的PCIe设备是无法感知到Redriver器件的存在的,需要注意的是Redriver是一种模拟信号器件,Redriver的信号通路通常包括一个CTLE(Continuous Time LinearEqualizer)、一个宽带增益节点以及一个线性驱动器。此外,Redriver通常会具有输入信号衰减阈值检测与输出接收(Rx)探测功能。
Retimer是一种数字+模拟信号的混合器件,它具有感知能力,能够完全恢复数据信号重新发出。具体则是通过其内部嵌有的时钟数据恢复电路(Clock andData Recovery,CDR)提取输入信号中的嵌入式时钟,再使用完整未经衰减变形的时钟信号重新传输数据,以形成一个原数据信号的新副本。除了同样存在于Redriver中的CTLE和宽带增益节点外,Retimer芯片还包含上述CDR电路以及一个决策反馈均衡器(DecisionFeedback Equalizer,DFE)和一个传输信号(Tx)有限脉冲响应(FiniteImpulse Response,FIR)驱动器。其通常通过有限状态机(Finite StateMachines,FSMs)或者微控制器来使CTLE、宽带增益节点、DFE和FIR驱动器进行自动适应,实现PCIe LTSSM(LinkTraining and Status State Machine)功能。Retimer这种先恢复数据再通过串行通道重新发送信号的模式,可以有效地解决信号的衰减问题。
ReTimer能够实现比ReDriver更好的降低通道物理损耗的效果。然而,复杂的ReTimer会增加更多的Latency。以PCIe Gen4应用为例,ReTimer带来的Latency可达64ns,而ReDriver往往只有100ps。
Retimer和Redriver的最重要区别是它含有SerDes PHY的核心部件CDR(Clock & Data Recovery)电路,它是一种数字信号和模拟信号混合设备。Rx信号在Retimer中被还原成数字信号,再通过它的Rx重新变成模拟信号发出去,它的框图如下:
它实际上将信号一批两段,分成上下两段,从而在理论上可以延长一倍线长,而不会像Redriver一样会放大抖动(jitter)。为达到它的功能,它的结构相当复杂,不但在Rx中有Redriver的CTLE,还有DFE等均衡器,在Tx也同样实现了PCIe的均衡器;不但如此,它还有自己的PLL和I2C,并可以在通讯中提供居中调试功能。
可以看出,PCIe Retimer实际上是一种协议感知设备,比Redriver能更好地还原信号:
Redriver只是在物理层进行处理,而Retimer则是通过把信号重构在发送出去,产生了时钟,并恢复了数据。所以如果是标准的协议,一般通过Retimer是可以满足要求的,如果是自定义的一些规范,普通的Retimer可能会有无法接收的情况,往往采用Redriver比较合适。
参考资料:
【国元电子】澜起科技系列深度:PCIe Retimer是个什么样的市场? - 维科号
PCIe 6.0为什么没有提高频率?PCIe系统中的Retimer是什么?它和Repeater和Redriver什么关系? - 知乎
Retimer和Redriver_redriver芯片_XT_ALLEN的博客-CSDN博客