1 Retimers
retimer是一种PCIE的扩展设备,用于长距离高效地传输数据,起到一种中继器的作用。在EP和RC中间最多允许两级retimers级联,其可以分为纯模拟类,它是一种对物理层协议无关的芯片;另一种便是与物理层交互的芯片。下文介绍的便是这种参与物理成交互的retimer,它可以进行均衡,loopback物理层参与的功能。一个标准的Retimer包含2个Pseduo Ports (伪端口),其中一个连接Upstream port设备,另一个连接Downstream port设备,reteimer的端口会根据实际连接场景动态调整,同时它也具备crosslink功能。协议要求retimer的发射机的工作时钟需要从100M参考时钟得到。在Reteimer存在的场景中,系统是不可工作在L0s状态的。
PCIe扫盲——ReTimer和ReDriver简介
2 拓扑结构
Retimer主要由两种工作模式:Forward mode模式,这种模式下Retimer会将Electrical idle、Symbols、exit from Electrical Idle透传,这也要求连个伪端口的data rate必须相等;Execution mode模式,此时Retimer的两个伪端口则会被视为一个DSP or USP 组件,在该种模式下会执行 Compliance pattern ,均衡phase2/3,可选的 Loopback。
协议要求两种模式的切换只能发生在Order Sets的边界,在两种模式切换的空窗期不能发送任何symbol。当使用128/130b时,必须保证scrambling and LFSR 正确, 在前一种模式下发送一个EIEOS和后一种模式下的发送EIEOS之间,Retimer必须16~64 TS1 OS被发送。
3 Forward mode 数据透传模式
如果Retimer的接收机捕捉到对方退出电气空闲,则需要立即进入该模式。Retimer需要不停地持续透传lane上的数据,直至收到了EIEOS 或者进入了Execution mode 或者推断lane进入了电气空闲,大部分的数据是不做更改直接透传过去,部分数据需要进行部分改动。
在这中模式下,它会根据端口接收到的Sequence完成到Execution 子模式跳转:
- 跳转到Execution Compliance mode:(1) 当前speed 是2.5GT/s,连续5ms or longer 收到了link and lanes number是PAD的TS1 OS,另一个伪端口未检测到退出电气空闲;(2)如果**any lane 收到了compliance pattern 或者 收到了EIOS,随后持续5ms的电气空闲,最后出现不能被透传的Electrical idle。
- 跳转到Execution Equatlizaiton mode: any lane 收到了两个连续的EC=10的TS1 OS。
- 跳转到Execution Slave loopback mode:** any lane 收到了两个连续的TS1 or TS2 OS 且Loopback = 1。
4 Execution mode
4.1 Compliance
该模式主要分为CompLoadBoard.Entry , CompLoadBoard.Active,CompLoadBoard.Exit,三个状态。
4.2 Equatlizaiton
这里根据DSP 和USP分为不同的状态,DSP分为phase2 phase3.Active phase3.Passive。
- phase2:设置Retimer Equalization Extend Bit =1(16GT),收到EC=11的TS进入Phase3 Active;
- phase3 Active:待对方参数调整,自己满意后跳转到phase3 passive,对于16GT还需要满足收到两个连续的Retimer Equalization Extend Bit =0 的TS1;
- phase3 Passive:发送EC=11 Retimer Equalization Extend Bit =0 的TS序列,当Link partner USP退出phase3 自己则退出至forward mode。
USP 分为phase2.Active phase2.passive Phase3三个状态。
- phase2 Active :待对方参数调整,自己满意后跳转到phase2 passive,对于16GT还需要满足收到两个连续的Retimer Equalization Extend Bit =0 的TS1;
- phase2 Passive:发送EC=01 Retimer Equalization Extend Bit =0的TS,当DSP进入到phase3 Active ,自己进入phase3;
- phase3:发送的TS序列中Retimer Equalization Extend Bit =1(if DSP 伪端口 处于phase 3 active),Retimer Equalization Extend Bit =0(if DSP 伪端口 处于phase 3 passive),如果所有的lanes收到EC=00 的TS1 OS则进入forward mode。
4.3 Slave Loopback
它是一个可选功能,分为slave loopback.entry slave loopback.Active slave loopback.Exit。