1.标准TS1/TS2
2.EQ TS1/TS2
3.Modified TS1/TS2
Modified TS1/TS2 是什么?Modify了什么?为什么要Modify?非 PCIe 协议运行在 PCIe PHY 上或发送 TS Message 时,在 LTSSM 部分子状态采用 Modified TS1/TS2。允许发送 Modified TS1/TS2 的 LTSSM 子状态有 Cfg.Lanenum.Wait、Cfg.Lanenum.Accept、Cfg.Complete。在此之前的,必须在 Polling.Active、Polling.Cfg、Cfg.Linkwidth.Start、Cfg.Linkwidth.Accept 状态将 Standard TS1/TS2 Symbol 5 的 bit[7:6] 置为 2’b11,以此在收发端协商是否支持 Modified TS。只有在收发端均支持 Modefied TS 时,才能发送 Modified TS,否则仍然发送 Standard TS。跟 Standard TS1 / TS2 比,Modified TS 更改了 Symbol 6~15,这些 Symbol 主要是均衡相关字段,采用 Modified TS 是为了在协商完毕链路宽度后,同时协商Lane number及alternate protocolol,并bypass EQ (勘误:没有这个说法,bypass eq 指示位只是换了位置了,该 eq 还得 eq)。(参考网络)
Standard TS1
针对selectable de-emphasis:
另外在Recovery.RcvrCfg状态会使用到此域:
针对Speed_change ,在Recovery.RcvrCfg也会使用此域:
针对Equalization Bypass to Highest NRZ Rate support,在2.5GT/s or 5.0GT/s -> 32GT/s的转化过程中使用:
针对No equalization needed,在-> 64GT/s的过程中使用:No equalization needed + Equalization Bypass to Highest NRZ -> Equalization Bypass to Highest NRZ.
另外No Equalization Needed or Equalization Bypass to Highest NRZ Rate在configuration.idle中的使用,没列全具体参考pcie协议。
针对Receiver Preset Hint,是用于rx,进8.0GT/s 、down端使用,不是强制使用,用于rx的dc增益。Rx均衡的一种,ctle(Continuous Time Linear Equalizer)
CTLE技术的工作原理是直接通过线性模拟高通滤波器拟合信道的衰减,实现信道的补偿。信道的频率响应可以看做是一个低通滤波器。因此将信道和一个高通滤波器串联就能得到一个全通的滤波器。当然,在实际的模拟电路中并不存在高通滤波器,但是只要保证我们关心的带宽内呈现高通的特性就能满足均衡的要求需要说明的是,CTLE电路并不是放大高频信号,而是通过减小低频信号的方式补偿高低频的衰减差。因此,通常CTLE电路会与放大器配合使用。而CTLE最为人诟病的缺点是其在放大高频信号的同时也会放大高频噪声,因此会降低信噪比。此外,高频的CTLE电路需要保证非常大的带宽(通常稍大于信号的奈奎斯特频率),因此需要非常大的静态电流;同时,需要电感进行扩频,改善其频率响应。因此,CTLE往往伴随着巨大的面积和功耗开销。
针对Transmitter Preset,参考下表,在64GT/s和其他速率下对应的table不一样。
针对use preset,表示是否使用preset值。
针对Equalization Redo:
三种情况会触发重做均衡:某速率均衡失败;某速率均衡成功,但检查均衡系数设置时发现了问题;改变链路宽度????
注意,bit7不仅仅表示qualization还表示Use Preset,协议上其实阐述了在qualization中的phase2/phse3中该bit实际上是起use preset的作用,但是协议又规定该bit在lock,eq,loopback下有意义,
那么在phase1中收到的该bit表示的是redo吗?
Lock下收到该bit为1表示redo,但是s家ip是通过产生中断由软件去控制redo的过程的。
针对Reset EIEOS Interval Count(65536个以后是必须发还是根据32的倍数来的??)
phase2和phase3的描述里说可能会一次性发65536个TS1,这是因为phy的评估算法可能需要依赖较长时间的PRBS pattern,master可以通过TS1里把reset EIEOS interval count置1来实现。
变量总结:
(1)changed_speed_recovery:表示链路双方已经将链路速率协商为更高的速率
change_speed_revovery变量学习总结_r.speed状态-CSDN博客
(2)Direct_speed_change:If greater than 2.5 GT/s data rate support has been noted, the Downstream Port must set the directed_speed_change variable to 1b if the Retrain Link bit of the Link Control Register is set to 1b and the Target Link Speed field in the Link Control 2 Register is not equal to the current Link speed. (l1也会存在)
(3)successful_speed_negotiation
(4)use_modified_TS1_TS2_Ordered_Set:使用Modified TS1/TS2
(5)Flit_Mode_Enabled
(6)L0p_capable
(7)SRIS_Mode_Enabled
(8)upconfigure_capable:支持带宽从小变大
(9)idle_to_rlock_transitioned:该变量记录了因为配置过程没有起作用,从而导致状态机从 Configuration.Idle 状态跳转到 Recovery 状态的次数。这可能是因为均衡设置不合适,或者当前选择的速率无法正常工作导致的,Recovery 状态内会采取措施尝试解决这些问题。该变量限制了从本状态跳转至 Recovery 状态的尝试次数,从而避免了永久的无限循环。如果链路在 256 次尝试后(变量计数至 FFh)仍然没法正常工作,那么跳转回 Detect 状态重新开始,并希望这次能有更好的结果。
(10)start_equalization_w_preset:为1表示使用预设值
(11)select_deemphasis:
a:detect.quit:The select_deemphasis variable must be set to either 0b or 1b based on platform specific needs for an Upstream Port and identical to the Selectable Preset/De-emphasis bit in the Link Control 2 Register for a Downstream Port.
b:recovery.speed:If the negotiated data rate is 5.0 GT/s, and if operating in full swing mode, -6 dB de-emphasis level must be selected for operation if the select_deemphasis variable is 0b and -3.5 dB de-emphasis level must be selected for operation if the select_deemphasis variable is 1b.
c:recovery.cfg:On entry to this substate, a Downstream Port must set the select_deemphasis variable equal to the Selectable De-emphasis field in the Link Control 2 Register or adopt some implementation specific mechanism to set the select_deemphasis variable, including using the value requested by the Upstream Port in the eight consecutive TS1 Ordered Sets it received. A Downstream Port advertising 5.0 GT/s data rate support must set the Selectable De-emphasis bit (Symbol 4 bit 6) of the TS2 Ordered Sets it transmits identical to the select_deemphasis variable.
Upstream Ports must register the Selectable De-emphasis bit (bit 6 of Symbol 4) advertised in these eight consecutive TS2 Ordered Sets in the select_deemphasis variable.
(12)select_preset:仅仅用在Polling.Compliance状态中
(13)equalization_done_8GT_data_rate
(14)equalization_done_16GT_data_rate
(15)equalization_done_32GT_data_rate
(16)equalization_done_64GT_data_rate