PCIe链路初始化和训练:FTS (Fast Training Sequence)

科技   2024-09-02 12:00   江苏  
1.FTS (Fast Training Sequence)   
作用:快速训练序列(FTS)在从L0s过渡到L0时用于位和符号锁定。Receiver接收到FTS会退出电气空闲状态,并且完成bit and Symbol lock。
At 2.5 GT/s and 5.0 GT/s data rates:
一个FTS由一个K28.5(COM)符号后跟三个K28.1符号组成。如果数据速率是5.0 GT/s,在传输第一个FTS之前,会先传输四个连续的EIE(Electrical Idle Exit,即K28.7,具有低频分量的符号,用于receiver退出电气空闲状态)符号。receiver通过这些符号识别到电气空闲状态的退出。需要注意的是,在传输第一个FTS之前,传输的EIE字符数量不能超过8个。当扩展同步位(Extended Synch bit)被设置成1时,必须发送4096个FTSs,以便为外部链路监控工具提供足够的时间来实现位和帧同步。
At 8.0 GT/s and above data rates:
一个FTS是一个 130-bit unscrambled Ordered Set Block, 如图Table 4-17 。一个PCIe组件可以请求的最大FTS(N_FTS)数量是255。PCIe组件允许在不同速度下提示需要不同的N_FTS。在退出L0s状态时,transmitter首先发送一个EIEOSQ,EIEOSQ的低频特性将帮助receiver退出电气空闲状态。在发送第一个EIEOSQ之后,transmitter必须发送所需数量的FTS(当Extended Synch bit of the Link Control register数值为1时,所需FTS数量为4096;否则为N_FTS),并且在每32个FTS之后发送一个EIEOSQ。FTS序列将使receiver能够完成位锁定。当扩展同步位(Extended Synch bit)被设置成1时,必须在FTSs和EIEOSQ之间插入并传输SKP有序集,以满足时钟补偿(Clock Tolerance Compensation)要求(见Section 4.2.7 )。
如果N_FTS等于零,则不发送FTS有序集。如果N_FTS不等于零,FTS sequence的最后一个FTS Ordered Set 后面会跟一个EIEOSQ,目的是帮助receiver获得块对齐(Block alignment)。
EIEOS能复位transmitter和Receiver的扰码器(scrambler )。在最后一个EIEOSQ之后,会传输一个SDS有序集,以帮助receiver 完成去偏移(perform de-skew),并指示从有序集到数据流的过渡。在传输SDS有序集之后,必须传输一个数据块(Data Block )。      

 

    

1.1.EIE字符  

如表格B-2所示,EIE的Current RD-拥有连续5个1,而Current RD+拥有连续5个0,连续多个EIE一起送,体现在传输通道上的现象是信号频率较低。
   

1.2.Extended Synch  

Extended Synch为1会强制PCIe设备的在退出L0s状态时、在部分recovery状态中发送更多数量的Ordered Sets ,此配置为外部设备(例如,PCIe逻辑分析仪)提供监控Link时间,以便在Link进入L0状态并恢复通信之前实现位和符号锁定。简单来说就是通过发送更多的Ordered Sets,使得外部设备能够提前准备好,从而更好的监控链路行为,防止监控时丢失部分数据。
   

 

2.ltssm之L0s  

3.参考文档  

PCI Express Base Specification Revision 5.0, Version 1.0    

本文内容仅代表作者观点,不代表平台观点。

如有任何异议,欢迎联系我们。

如有侵权,请联系删除。


往期精彩回顾





2021年的第一场雪!英特尔2020年Q4财报解读



利用硬件辅助验证工具加速功能仿真


博文:裸片尺寸和光罩难题——光刻扫描仪吞吐量的成本模型


博文速递:Race condition in digital circuits


IP与SoC设计
《IP 与SoC》依托无锡国家“芯火”平台,全面报道全球IP与SoC设计技术的发展和国内外应用经验,为中国IC设计行业搭建一个IP与SoC资讯交流、产业促进的平台,为中国IC设计行业提供IP与SoC专业知识及相关信息支持和服务。
 最新文章