S4.2.4.5 Lane Polarity Inversion

2023-11-04 22:52
文章标签 4.5 lane inversion s4.2 polarity

本文主要是介绍S4.2.4.5 Lane Polarity Inversion,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一 本章节主讲知识点

1.1 Polarity Inversion 极性反转
1.2 Lane Reversal 通道翻转

二 本章节原文翻译

2.1 极性反转

原文摘录:

PCIe 协议规定,必须支持该特性。该特性的目标也是为了简化 PCB 的布线。每个 lane 都包含一组发送(Tx)和接收(Rx),而 Tx 和 Rx 分别包含两根差分信号线(D+ 和 D-)。Polarity Inversion 的作用就是把某个设备的 D+ 变成 D-,D- 变成 D+。

开启 Polarity Inversion 之后的效果如下图所示:

为了实现D+和D-正负极检测,接收逻辑Rx需要查看接收到的TS1或TS2中的Symbol 6到15:如果在TS1中接收到的是D21.5而不是D10.2,或者在TS2中接收到的是D26.5而不是D5.2,那么该Lane的极性就被反转了,必须被纠正。 

我们可以理解:发送D+和接收D+具有约定一致的模拟电路电气特性,发送D-和接收D-也具有约定一致的模拟电路电气特性。如果不按照D+对接D+ , 那么接收数据将会错误。

 2.2 通道翻转

对于包含多个 lane 的设备,都是从 lane 0 开始顺序编号。一般情况下,两个 PCIe 设备相连时都是 lane 0 接 lane 0,lane 1 接 lane 1,以此类推。但是,有些场景中,为了简化 PCB 的布线,需要从逻辑上反转 lane 的编号,从而避免在 PCB 交错布线。只要一个设备支持 Lane Reversal 就可以。首先,一个设备在内部反转 lane 的编号,然后在链路训练时会检测到 lane 编号被反转。鉴于 Lane Reversal 并不是 PCIe 协议规定必须支持的特性,所以硬件设计人员在设计板级电路时需要确认 PCIe 发送设备或者接收设备的其中一个支持 Lane Reversal 特性之后才能按照非交错方式布线。

下图展示了 Lane Reversal 的效果:

 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述 

三 本章节关联知识点

3.1 差分信号

由于PCI-E传输的信号是差分信号,所以这里有必要讲解一下差分线的定义:

相位信号和单端信号对比:传统的单端信号通过相对于地线的电势差的高低来传递,所以只需要一根地线就可以,传递几路信号只需要相应数量的信号线就可以了;而差分信号使用一根公共地线(电势为0),传输一路信号时,需要两根信号线,一根相对于地线的电压是正的(电势为正),另一根电压为负的(电势为负),绝对值相同(相位相差180度),用两根信号线的电势差高低来传递信号,只不过传递两个信号,假如一根信号线为3.3V,另一根信号线就是-3.3V,地线是0。这种看似浪费线的传输方式其实有很多优势:第一,因为地线是可以控制的,所以不会因为线长带来的压降而导致地线的差异,进而可以降低传输的电压来降低功耗(早期的AGP 2X的工作电压高达5V,而现在的PCI-E已经低于1.5V了);第二,因为电磁干扰对差分信号两根信号线的影响几乎相同,即使有干扰,高电势依然相对于低电势高,而单端信号则可能因为干扰而将低电势变成高电势,导致传输错误,因此差分信号抗干扰性强。现在,大多数高速串行接口都采用了差分信号,比如USB3.0/3.1、PCI-E、HDMI、以太网等。
————————————————
版权声明:本文为CSDN博主「朱万利」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_31444421/article/details/129828171

四 本章节存疑问题

2.1 222

五 总结

这篇关于S4.2.4.5 Lane Polarity Inversion的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/345723

相关文章

FZOJ 2166 inversion

算是一道模拟题吧,,,此题就逆序数不用归并排序之类的,而是用双层for循环模拟求解,,因为题意中要求任意两个数交换位置,所以只需在双层for循环中模拟两个数交换即可,在模拟的过程中,不需要准确的求出模拟之后的逆序数,只需要考虑逆序数的变化量为多少,最后,求出变化量最小的,用最初的逆序数求得最后结果。。。 其中模拟两个数交换之后逆序数的变化量解法: 如下: 有   a,b,c,d,e,f,g

【Hdu】Minimum Inversion Number(逆序,线段树)

利用线段树在nlogn的时间复杂度内求一段数的逆序。 由于给的序列是由0 ~ n -1组成的,求出初始的逆序之后可以递推出移动之后的逆序数。 #include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const in

MapReduce算法 – 反转排序(Order Inversion)

译者注:在刚开始翻译的时候,我将Order Inversion按照字面意思翻译成“反序”或者“倒序”,但是翻译完整篇文章之后,我感觉到,将Order Inversion翻译成反序模式是不恰当的,根据本文的内容,很显然,Inversion并非是将顺序倒排的意思,而是如同Spring的IOC一样,表明的是一种控制权的反转。Spring将对象的实例化责任从业务代码反转给了框架,而在本文的模式中,在map

finalshell 4.5.x在m1mac闪退

使用过程中会出现突然闪退,尤其在定位生产打开一堆窗口的情况下,绝绝子 闪退崩溃日志: Thread 116 Crashed:: Java: pool-4-thread-280 libsystem_kernel.dylib 0x18e926600 __pthread_kill + 81 libsystem_pthread.dylib

(Lane Deteciton-1)PersFormer

介绍 在自动驾驶中,下游模块如规划和控制通常需要将车道位置表示为正交的鸟瞰图(BEV)而不是前视图表示。使用BEV表示有助于更好地与环境中的交互式代理(如车辆、道路标志、交通灯等)对齐任务,并且与其他传感器(如LiDAR和雷达)兼容。 传统方法及其局限性: 简单投影方法:一种传统的方法是将透视视图中的车道简单地投影到BEV空间中。这种方法虽然直接,但会导致投影的车道线在高度变化的场景(如上

.netframework 4.5.1安装成功,单在vs目标框架中找不到

安装好vs2012后默认的目标框架是.netframework 4.5, 现在想安装4.5.1的,已经提示安装成功,并且通过aspnet_regiis.exe注册过了, 通过aspnet_regiis.exe -lv 显示当前版本确实是4.5.1,但是在vs2012中的目标框架就是不显示4.5.1,打开4.5.1创建的程序依然提示... 先在控制面板 程序卸载 那里找到Net farmew

关于 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0, 错误的解决方案

经过自己一天的研究到底为什么,还有结合网上的一些大神的解决方案和了解,归结出几点 第一,如果你的引用是不存在的(即使你引用的是你需要的,新的)vs自动会自动找到旧的版本,因为bin里面没有,你先检查bin目录有没有! 第二,web.config配置的版本号跟实际想要版本号对不对,web.config配置的引用要和你引用的版本对应,两个的版本号应该与你程序需要的这个版本一致,配置如下:

Ubuntu 20.04 源码编译安装OpenCV 4.5.0

源码安装 OpenCV 4.5 官方文档: OpenCV: Install OpenCV-Python in Ubuntu 1. 安装编译依赖 sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l

Xcode 4.5平台上设置应用本地化, Ios 本地化,多语言

1. 给项目增加语言支持: 打开项目的“Info“属性编辑界面时,我们可以看到”localizations“一栏,如下图所示,这就是设置项目本地化支持语言的地方,在这里我们可以加入简体中文(Chinese(zh-Hans))、繁体中文(Chinese(zh-Hant))等语种的支持。   2. 应用程序名 一个Xcode项目可以建立多个target,每个target代表一

什么是 Inversion of Control 控制反转

首先解释一下,本篇博客是对博主前两天研究的一篇博客的解释,这里附上这篇博客的链接,大家可以先看一下: Inversion of Control 控制反转 有什么好处 下面咱们进入正题 定义 首先我们看一下,我们需要关注的几个定义: 依赖倒置原则(Dependency Inversion Principle ) a.高层模块不应该依赖于底层模块,二者都应该依赖于抽象。 b.抽象不应该依赖于