S4.2.4.5 Fast Training Sequence (FTS)

news2024/11/25 2:51:15

一 本章节主讲知识点

1.1 FTS的用途和实现注意

二 本章节原文翻译

Fast Training Sequence (FTS) 主要用于在L0s->L0跳转的过程中,让Receiver 检测到电气空闲退出,以及实现bit 和 symbol lock。

2.1 Gen1 and Gen2 速率

对于Gen1/2 FTS的组成如下:

            

FTS 由一个 K28.5 COM 字符和三个 K28.1 字符组成,一般最大的请求数量是 255,提供了 4* 255 * 10 * UI 的位锁定时间。一个设备最大可以请求的FTS数量是255个,可以提供的位锁定时间大小为: 4 * 255 * 10 * UI。

当速率为5.0 GT/s,则在发送第一个FTS之前,需要连续发送四个EIE(k28.7)符号,用于帮助Receiver 检测到电气空闲退出状态。4 个连续的 EIE 字符可以保证接收器退出电气空闲并且恢复到正常工作状态,所以至少需要发送 4 个但不能超过 8 个。

如果使用链路监控工具并且需要足够的位和帧同步,可以将扩展同步位设为 1,就可以发送 4096 个 FTS。这个过程需要按照要求发送 SKP 有序集。

最后一个 FTS 发送后必须发送 SKP,如果正好原本有为了时钟补偿的 SKP 需要发送,两个 SKP 是可以背靠背发送的。

2.2 Gen3、Gen4、Gen5 速率

一个FTS是由130bit 未经加扰的 OS block 组成。如下图所示:

设备可以请求的最大数量FTS是 255, 提供了bit lock 的时间大小为:130 * 255 UI (130 * 263 or 273 UI if including the periodic EIEOS)。

FTS 是 130 位的不加扰的有序集,一般最大请求数量为 255,不包含周期性的 EIEOS 情况下提供了 130 * 255 UI 的锁定时间。不同的数据速率可以请求不同的 FTS 数量。

当退出 L0s 状态,发射器首先发送 EIEOS,帮助接收器退出电气空闲;然后发送要求数量的 FTS,注意每 32 个 FTS 需要发送一个 EIEOS。

如上述所说,当扩展同步位为 1,需要发送 4096 个 FTS,则发送过程中需要插入必要的 SKP 有序集。

发送完最后一个 FTS 有序集后要发送一个 EIEOS 有序集帮助接收器获得块对齐。

如果 FTS 发送的数量是 32 的倍数,则发送完最后一个 FTS 需要发送两个背靠背的 EIEOS 有序集。

注意,EIEOS 会复位加扰的 LFSR 值,而 FTS 序列不执行加扰,所以接收 FTS 时加扰的 LFSR 是否执行移位是无所谓的。

 

三 本章节关联知识点

2.1 bit lock

PCIe 的位锁定是指 Rx PLL 锁定在了与 Tx 相同的频率上,不是说锁定了某个 Bit。Rx PLL 依据接收数据流的 Bit 跳变,使得 Rx 还原时钟频率同步于 Tx 时钟。如果没有位锁定,PCIe Rx 无法正确重建 Rx 时钟,也无法正确解析数据。

因为,PCIe总线采用了一种嵌入式时钟的机制,即发送端只向接收端发送数据信号,并不发送时钟信号(时钟信号隐藏在数据信号中)。接收端可以通过CDR(Clock and Data Recovery)逻辑将时钟从数据流中恢复出来,然后再用恢复出来的时钟对数据信号进行采样。当然,时钟恢复需要一定的时间,才能保证时钟信号与数据信号的相位对应关系符合要求。一旦CDR完成了时钟的恢复,我们就说PCIe总线完成了位锁定。

2.2 symbol lock (Gen1/2)

完成了位锁定之后,只是能够准确地识别出数据流中的0和1,还是不知道发送的内容是个啥。对于Gen1&Gen2来说,采用的8b/10b编码,即传输的数据是以10bit为一个字符。LTSSM可以引导物理层相关逻辑通过识别COM(K28.5)等控制字符来确定每个字符的开始与结束为止,即字符锁定。

2.3 block alignment(Gen3/4/5)

块对齐,适用于PCIe 3.0、PCIe 4.0、PCIe 5.0和PCIe 6.0,利用EIEOS(Electrical Idle Exit Ordered Set)来获取Block Sync Header的位置。

四 本章节存疑问题

2.1 N/A

五 总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1173871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

循环语句--JAVA

循环语句 for循环结构 范例 执行流程 while循环结构 格式 范例 流程 for和while的区别 条件控制语句所控制的自增变量,在for循环结束后,就不可以继续使用了 条件控制语句所控制的自增变量,在while循环结束后,还可以继续使用了 数据类型 基本数据类型 char byte boolean …

python爬虫(数据获取——selenium)

环境测试 from selenium import webdriverchromedriver_path r"C:\Program Files\Google\Chrome\Application\chromedriver.exe" driver webdriver.Chrome()url "https://www.xinpianchang.com/discover/article?fromnavigator" driver.get(url)drive…

Type-C接口详解

USB接口发展史 USB接口历经Type-A→Type-B→Type-C五次大的更新换代;目前Type-A Standard作为标准USB接口形式,仍然在大范围应用,而Micro-A以及Type-B系列已经慢慢谈出人们的视野,逐渐被新型的Type-C代替。 Type-C接口 24PIN Typ…

asp.net人事管理信息系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net 人事管理信息系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言 开发 asp.net 人事管理系统1 应用技术…

Wpf 使用 Prism 实战开发Day04

一.菜单导航实现 1.首先创建出所有的页面(View)及对应的页面逻辑处理类(ViewModel) IndexView(首页)-----------------IndexViewModelToDoView(待办事项)------------ToDoViewModelMemoView(忘备录)--------------MemoViewModelSettingsView(设置)--------------SettingsViewMo…

快速解决mfc140u.dll丢失问题,找不到mfc140u.dll修复方法分享

在计算机使用过程中,我们可能会遇到各种问题,其中之一就是某些dll文件丢失。最近,我就遇到了一个关于mfc140u.dll丢失的问题。mfc140u.dll是Microsoft Foundation Class(MFC)库中的一个动态链接库文件,它包…

yolov8+动物+姿态识别(训练教程+代码)

本文关键词: 关键点检测 关键点估计 姿态估计 YOLO 动物姿态估计是计算机视觉的一个研究领域,是人工智能的一个子领域,专注于自动检测和分析图像或视频片段中动物的姿势和位置。目标是确定一种或多种动物的身体部位(例如头部、四…

spring-cloud-starter-dubbo不设置心跳间隔导致生产者重启no Provider问题记录

版本 spring-cloud-starter-dubbo-2.2.4.RELEASE 问题描述 生产者重启后,正常注册到注册中心,但是消费者调用接口是no provider,偶现,频繁出现 解决办法 先说原因和解决办法,有兴趣可以看下问题的排查过程。 原因…

ELK搭建以及使用教程(多pipiline)

1、环境准备 服务器:Centos7 Jdk版本:1.8 Es版本:7.12.1 kibana版本:7.12.1 logstash版本:7.12.1 IP地址安装软件192.168.50.211Es,Kibana,logstash 2、安装docker 安装步骤参考:https:…

【KVM】KVM介绍及功能概述

前言 大家好,我是秋意零。 今天介绍的内容是KVM的概述,以及它所支持的基本功能。 👿 简介 🏠 个人主页: 秋意零🔥 账号:全平台同名, 秋意零 账号创作者、 云社区 创建者&#x1f…

安吉寻梦桃花原

安吉——西湖边的那片竹海 安吉县,地处浙江西北部,湖州市辖县之一,北靠天目山,面向沪宁杭。建县于公元185年,县名出自《诗经》“安且吉兮”之意。 安吉县生态环境优美宜居,境内“七山一水二分田”&#xf…

多线程与高并发实战

什么是进程? OS操作系统分配CPU资源的基础单位为进程 OS操作系统调度(执行)CPU资源的基础单位为线程 单核CPU设定多线程是否有意义? 线程数是不是设置的越大越好? 线程切换也要消耗资源 工作线程数(线程…

浅谈前端出现率高的设计模式

目录 六大原则: 23 种设计模式分为“创建型”、“行为型”和“结构型” 前端九种设计模式 一、创建型 1.构造器模式:抽象了对象实例的变与不变(变的是属性值,不变的是属性名) 2. 工厂模式:为创建一组相关或相互依赖的对象提…

普通人快速逆袭的一个路径:AI赛道+早+下场干

昨天参加去参加了一场AI峰会,几点收获: 1、要早 无界AI300万用户,2022年5月就已经入场干 黄小刀出版最早的ChatGPT书籍和最早的ChatGPT训练营 浙工大团队也是2022年最早的使用AI绘画 2、要快速下场干 最早的知道这个事情没用,…

1067 试密码

一.问题: 当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。 输入格式: 输入在第一行给出一个密码(长度不超过 20 的、不…

周记录总结2

1.feign注解中没有URL/服务名是错误的 导致报错:找不到服务 2.测试环境测试时,接口看不到日志,但是页面可以看到接口的返回值 说明有其他机器注册到eureka中 配置文件register 调整为false 3.there is not getter for xxxx 重新编译打个包 …

LangChain+LLM实战---实用Prompt工程讲解

原文:Practical Prompt Engineering 注:本文中,提示和prompt几乎是等效的。 这是一篇非常全面介绍Prompt的文章,包括prompt作用于大模型的一些内在机制,和prompt可以如何对大模型进行“微调”。讲清楚了我们常常听到的…

SpringSecurity6从入门到上天系列第三篇:回顾Filter以及SpringSecurity6的实现原理

文章目录 前言 1:几个核心问题 2:一个关键思考 一:回顾Filter 1:过滤器概念作用 2:过滤器核心代码 3:过滤器原理 4:过滤器链 FilterChain 二:SSC的FilterChain 1&#xff…

2019数二(二重积分的不等式问题)

注&#xff1a; 1、在相同积分区域内的积分比较大小&#xff1a;被积函数大的积分值大&#xff0c;被积函数小的积分值小 2、在区间[0&#xff0c;Π/2]上 &#xff1a;sinx < x < tanx

JS+CSS随机点名详细介绍复制可用(可自己添加人名)

想必大家也想拥有一个可以随机点名的网页&#xff0c;接下来我为大家介绍一下随机点名&#xff0c;可用于抽人&#xff0c;哈哈 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>* {margin: 0;…