【PCIE体系结构九】物理层的基本逻辑框架

news2024/11/26 17:34:00

👉个人主页:highman110

👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 

参考书籍:《深入浅出SSD:固态存储核心技术、原理与实战》  

 物理层概述

        物理层为数据链路层之下的硬件底层,其主要作用有两个,一是传输TLP和DLLP,二是发送和接收物理层本身的报文PLP(physical layer packet)。物理层包括逻辑子层和电气子层,结构框图如下,左边为发送侧,右边为接收侧:

        以发送侧为例进行说明:

        物理层从数据链路层获得TLP或者是DLLP,然后放到TxBuffer里。

        物理层给TLP或者DLLP加入头(Start code)和尾(End code、Gen 3之后没有给每个TLP或DLLP加尾巴,而是一段数据流加一个尾巴);给每个TLP或者DLLP加上边界符号,这样接收端就能把TLP或者DLLP区分开。加头尾之后通过MUX多路选择器,进入Byte Stripping。除了TLP、DLLP之外,物理层定义的PLP(order sets)、idle码流(在没有TLP、DLLP、PLP的时候发idle数据,编码之前是全0)、控制字符也可以通过MUX进入Byte Stripping。

        PCIe链路上可能有若干个Lane。在物理层,TLP或者DLLP数据会分派到每个Lane上独立传输,这个过程叫Byte Stripping。在经过不同lane的走线延时后,lane与lane之间产生了skew,在接收端会进行de-skew。

        数据进入每条Lane后,分别加扰(Scramble),目的是减少电磁干扰(EMI),手段是让数据与随机数据进行异或操作,输出伪随机数据,然后再发送出去。

        加扰后的数据进行8/10编码(Gen3到Gen5都是128/130编码)。8/10编码是IBM的专利,目的主要有:让数据流中的0和1个数相当,保持直流平衡;嵌入时钟信息,PCIe不需要专门的随路时钟进行信号传输。这个scramble和8/10编码在之前的“以太网硬件”系列文章里也详细讲过,原理是一样的。

        最后进行并串转换,发送到串行物理总线上去。

        接收侧就是和发送侧相反,这里暂不多提。

        关于物理层发送和接收的逻辑细节,后面会慢慢展开,将会解答几个问题:1、PCIE支持非同源的独立时钟架构,当发送和接收端时钟有偏差时,是怎么做到不丢包的?2、PCIE的不同lane差分对间并没有严格的等长要求,数据分散在不同lane中,接收端是怎么对齐的?3、从上面的框图看到,为什么发送端字节拆分放在扰码和8B/10B编码之前,这样每一条lane都需要一个扰码和8B/10B编码,这不是增加了成本吗,为什么不先做扰码和8B/10B编码再做字节拆分?

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

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

相关文章

可见光遥感图像目标检测(三)文字场景检测之Arbitrary

前言 前面介绍了关于可见光遥感图像目标检测任务主要面临的问题,现在对旋转目标的问题进行优化,为了便于大家理解与之前通用目标检测区别,采用Faster-Rcnn网络模型的架构对旋转目标的检测进行改进。 本教程禁止转载。同时,本教程来…

5G-NR非连续接收DRX参数配置详解

5G-NR系统配置中的非连续接收系统 DRX:Discontinuous Reception 5G终端商用在即,根据前期测试及部分5G友好用户反馈,“5G终端功耗大,待机差”问题特别突出。根据5G技术特性,导致5G终端相比4G功耗大很多的原因有如下4…

干货 | Amos实操教程之中介效应检验

Hello,大家好! 这里是壹脑云科研圈,我是喵君姐姐~ 本次推文,我们就来给大家介绍一种处理结构方程模型软件——Amos 。 01 摘要 Amos是什么? Amos由James L. Arbuckle所发展,全名是Analysis of Moment S…

泛化深度学习综述

机器学习系统通常假设训练和测试分布是相同的。为此,一个关键的需求是开发可以推广到unseen分布的模型。领域泛化(DG,Domain generalization),即分布外泛化(out-of-distribution generalization&#xff09…

vim强大的快捷键

文章目录 vim强大的快捷键(必须在可视模式下完成)光标移动(上下左右移动)行选中列选中复制粘贴剪切删除取消后悔取消跳到文件的末尾跳转到我呢见的开头保存并且退出vim编辑器自动补全自动格式化回到行首(这一行的第一个…

ESP32设备驱动-MMA8452加速度计驱动

MMA8452加速度计驱动 文章目录 MMA8452加速度计驱动2、硬件准备3、软件准备4、驱动实现MMA8452Q 是一款智能、低功耗、三轴、电容式微加工加速度计,具有 12 位分辨率。 该加速度计具有嵌入式功能,具有灵活的用户可编程选项,可配置为两个中断引脚。 嵌入式中断功能可实现整体…

DJ5-2 差错检测和纠错

目录 一、差错检测和纠错技术 1、发送节点 2、接收节点 3、说明 二、差错检测技术 1、一比特奇偶校验 2、二维奇偶校验 3、Internet 校验和方法(复习) 4、循环冗余检测 CRC 5、差错检测方法比较 一、差错检测和纠错技术 链路层提供比特级差错检…

我为什么要使用vuetify3做为基础组件去开发公司组件库

设计风格 Vuetify是基于Material Design规范,依靠Material Design的设计优势,在无需编写一行css代码就可以得到非常美观的界面功能,同时Vuetify还具备自适应的能力,可以使用一套代码写出同时兼容手机、平板、web的功能&#xff1…

如何在Simulink中使用可变电阻-可变电容-可变电感

1. 原由 前期文章提出了Simulink如何在线修改(动态修改)模块参数的方法,并提供原创的Dynamic Change Parameter模块(简称DCP模块),模块得到了许多朋友的使用。最近收到几位朋友反馈,他们使用DCP…

VGG网络原理与搭建

VGG网络原理与搭建 VGG在2014年由牛津大学著名研究组VGG(Visual Geometry Group)提出,斩获该年ImageNet竞赛中Localization Task(定位任务)第一名和Classification Task(分类任务)第二名。 论文…

HTTP第10讲——响应状态码

背景 HTTP 报文里请求行的组成部分,包括请求方法和 URI。有了请求行,加上后面的头字段就形成了请求头,可以通过 TCP/IP 协议发送给服务器。 服务器收到请求报文,解析后需要进行处理,具体的业务逻辑多种多样&#xff0…

四、c++学习(类的简介)

上一篇我们做了一个简单的界面优化,并且我们可以选择进入游戏界面,所以这一篇我们来实现贪吃蛇和食物。 C学习,b站直播视频 文章目录 4.0 课程目标4.1 结构体4.1.1 c语言面向对象4.1.2 c的结构体4.1.3 内存对齐 4.2 union4.2.1 union应用&am…

Chapter8:线性系统的状态空间分析与综合(上)

第八章:线性系统的状态空间分析与综合 Exercise8.1 已知控制系统结构图如下所示: 其中: u u u为输入, y y y

Gradle版本、Gradle插件版本和AndroidStudio版本之间的对应关系

问题描述 有时候碰到gradle版本死活下载不下来,还会报Gralde Sync Issues,有可能是你的Gradle Wrapper版本和Gradle插件版本、AndroidStudio版本不匹配。 解决方案 Gradle版本和Gradle插件版本之间存在一定的对应关系。Gradle Wrapper是用来指定项目使用的Gradl…

javaweb系列-js引入、输出、变量、数据类型、运算符

1.1 js介绍 js可以让我们的页面更加的智能,让页面和用户进行交互。 1.2 引入方式 同样,js代码也是书写在html中的,那么html中如何引入js代码呢?主要通过下面的2种引入方式: 第一种方式:内部脚本&#x…

深度学习第J9周:Inception v3算法实战与解析

目录 一、理论基础 二、pytorch代码复现1.前期准备 2.代码复现 3.训练运行 3.2指定图片进行预测 三、总结 🍨 本文为[🔗365天深度学习训练营]内部限免文章(版权归 *K同学啊* 所有) 🍖 作者:[K同学啊] &…

K_A39_001 基于STM32驱动TF卡模块读写数据 串口打印

K_A39_001 基于STM32驱动TF卡模块读写数据 串口打印 所有资源导航一、资源说明二、基本参数参数引脚说明 三、驱动说明时序对应程序: 四、部分代码说明1、接线引脚定义1.2、STM32F103C8T6TF卡模块 五、基础知识学习与相关资料下载六、视频效果展示与程序资料获取七、注意事项八…

【英语】大学英语CET考试,口语部分2(课程笔记)

文章目录 1、口语考试介绍与备考攻略1.1 口语考试介绍1.2 考试备考攻略 上课老师:金格妃 上课时间:4h 1、口语考试介绍与备考攻略 方法是通用的:CET4/6,雅思托福,BEC等 近年四六级考试的长度是接近雅思托福的&#x…

【大数据】Presto(Trino)配置参数以及 SQL语法

文章目录 一、概述二、Trino coordinator 和 worker 节点作用1)Trino coordinator 节点作用2)Trino worker 节点作用 三、Trino 参数详细讲解1)coordinator 节点配置1、config.properties 配置文件2、jvm.config 配置文件3、log.properties 配…

libevent高并发网络编程 - 04_libevent实现http服务器

文章目录 1 evhttp简介2 相关的APIevhttp_new()evhttp_free()evhttp_bind_socket()evhttp_set_gencb()evhttp_set_cb()evhttp_request_get_uri()evhttp_request_get_command()evhttp_request_get_input_headers()evhttp_request_get_input_buffer()evhttp_request_get_output_h…