- 博客(168)
- 收藏
- 关注
原创 [PCIe5.0] 5.3.2 PM Software Control of the Link Power Management State
设备在 D0, D1, D2, D3Hot 状态下必须响应 PME_Turn_Off 消息并发送 PME_TO_Ack 消息。一旦完成 PME_Turn_Off/PME_TO_Ack 握手,设备下游组件必须请求链路转为 L2/L3 Ready,准备断电。对于单功能设备,它的上游端口必须根据该设备的电源状态来决定链路是否转为 L1。对于多功能设备,系统软件需要确保所有功能的电源状态符合电源管理政策,否则不能将 Upstream Port 转为 L1。
2025-04-05 07:16:41
11
原创 [PCIe5.0] 5.3.1.4.2 D3Cold State
主电源(Vcc)完全断开,仅保留极少量辅助电源(Vaux)用于维持基本唤醒功能设备功能完全关闭,所有寄存器状态丢失(除非有特殊存储)需要完全重新初始化才能恢复工作比D3Hot状态功耗更低,但唤醒延迟更长。
2025-04-05 06:57:52
107
原创 [PCIe5.0] 5.3.1.4.1 D3Hot State
D3Hot 状态是一种低功耗模式,设备虽然休眠,但可以通过配置请求快速恢复到工作状态。设备在 D3Hot 状态下只能处理配置请求和消息请求,其他请求会被丢弃。错误处理:在 D3Hot 状态下,如果发生错误,设备会报告并返回到正常工作状态。No_Soft_Reset 位:决定设备是否需要重新初始化。启用此位时,设备恢复时不需要重置。多功能设备(MFD)在 D3Hot 和 D0 之间过渡时,需要特别小心,确保不影响其他功能的正常工作。
2025-04-04 12:45:53
13
原创 [PCIe5.0] 5.3.1.4 D3 State
D3 状态是必须支持的D3Hot和D3Cold。• D3Hot:设备仍然保持功能上下文,但主电源可能会被关闭。设备在此状态下可能会保持一些重要信息,但不一定保持所有的功能状态。• D3Cold:设备处于深度关闭状态,主电源完全切断,所有功能状态都会丢失。• D3 状态 包括 D3Hot 和 D3Cold,其中 D3Hot 允许设备保留某些功能上下文,而 D3Cold 完全关闭设备并丢失所有功能状态。
2025-04-04 12:31:09
13
原创 [PCIe5.0] 5.3.1.3 D2 State
D2 状态是可选状态,主要用于设备在一段时间内 不会被使用,但需要保持一定的 恢复能力 的场景。D2 状态的设计目标是 显著降低功耗,同时确保设备可以快速恢复到其先前的工作状态。在 D2 状态下,设备可以进入较低功耗状态,但其工作能力被限制。• D2 状态 主要用于设备 不活动时,它能够大幅度降低功耗,同时还要保持一定的恢复能力。• 在 D2 状态下,设备无法主动发起请求,只能处理配置和消息请求。接收到的其他请求会被视为错误。
2025-04-04 12:19:38
6
原创 [PCIe5.0] 5.3.1.2 D1 State
○ 如果在 D1 状态下,由于接收到一个 不支持的请求 等错误导致发生故障,且系统启用了错误报告,设备的连接状态会从 D1 转换回 L0 状态(即回到正常工作状态),并且会发送一个错误消息。这段文字描述了 D1状态 的一些关键要求和行为,重点是设备在 D1 状态下的操作限制,以及如何从 D0 状态过渡到 D1 状态。这意味着,在过渡到 D1 状态之前,设备可能正在进行一些事务(例如,正在等待数据的完成),这些事务必须在设备进入 D1 状态前被妥善终止。
2025-04-03 06:18:26
9
原创 [PCIe5.0] 5.3.1 Device Power Management States (D-States) of a Function
这段文字主要描述了 PCIe设备的电源管理状态(特别是D状态)以及如何根据设备类型或功能类别来决定这些状态的具体行为。具体来说,它讲解了D0、D1、D2、D3Hot和D3Cold等电源管理状态,并说明了它们的用途和差异。
2025-04-01 08:51:20
12
原创 [PCIe5.0] 5.2 Link State Power Management
这段文字主要描述了 PCI Express(PCIe)链路电源管理状态(Link Power Management States)的定义和使用方式,以及这些状态在系统电源管理中的作用。我们可以将其分为几个关键部分进行详细解释。
2025-04-01 08:49:50
7
原创 [PCIe5.0] 5.1 Overview
这段文字介绍了电源管理(Power Management, PM)的概念,特别是在PCI Express(PCIe)系统中的应用。它定义了不同的电源管理状态、相关的电源管理服务,以及如何通过硬件和软件管理系统的功耗。接下来我会分点解释这段文字的重点,并用简单的语言说明。
2025-04-01 08:48:52
15
原创 [PCIe5.0] 4.3.11 Retimer Configuration Parameters
这段文字主要描述了Retimer(重新定时器)在配置时需要支持的参数,以及这些参数是如何分为两类的:全局参数和每个物理伪端口(Pseudo Port)的参数。这些参数控制了Retimer的各种行为,尤其是在数据传输、功耗管理、时钟管理等方面。下面我将详细解释这些重点,并举例说明。
2025-04-01 08:46:51
6
原创 [PCIe5.0] 4.3.10 L1 PM Substates Support
这段文字的重点是Retimer如何支持L1 PM Substates(L1电源管理子状态)中的L1.1模式,以及如何与其他设备协作管理参考时钟(REFCLK)和电气空闲(Electrical Idle)状态。• 如何进入L1.1模式:Retimer进入L1.1模式的条件是**CLKREQ#信号被采样为去激活(deasserted)**状态。• 如何退出L1.1模式:Retimer退出L1.1模式的条件是**CLKREQ#信号被采样为激活(asserted)**状态。Retimer进入L1.1模式的过程。
2025-04-01 08:45:38
7
原创 [PCIE5.0] 4.3.9 SRIS
1. SRIS模式下,Retimer的延迟会增加,这是由于需要通过弹性存储来调节时钟差异,确保数据正确传输。2. 不同的数据包大小和数据速率会影响Retimer的延迟。例如,较大的数据包(如2048字节)会导致更大的延迟。3. 弹性存储是为了解决时钟不同步问题,但它会引入额外的延迟。动态弹性存储可以根据链接宽度的变化自动调整,帮助减少延迟。4. 设计时需要考虑这些额外的延迟,尤其是在虚拟化环境中使用SRIS时。
2025-03-15 18:55:13
29
原创 [PCIE5.0] 4.3.8 Retimer Latency
• Retimer延迟是指数据从一个端口到另一个端口的传输延迟,必须在系统设计中加以考虑。• Retimer延迟受数据速率的影响,设计人员应根据数据速率来指定延迟。• Retimer会增加整体链路的延迟,特别是在有多个Retimer时,延迟会成倍增加。设计时需要考虑这些延迟对数据缓冲、重试机制和流量控制等方面的影响。
2025-03-15 18:54:01
24
原创 [PCIE5.0] 4.3.7 Execution Mode Rules
这段文字主要描述了Retimer在不同工作状态下如何控制数据传输和协议执行。
2025-03-15 18:52:06
20
原创 2.3 设备层次介绍 (Introduction to Device Layers)
在我们讲的更深入之前,先大致了解一下这些层是如何交互的。从广义上说,设备所发出的请求包或者完成包是在Transaction Layers进行组包的,组包所用到的信息是由设备核心层所提供的,有时我们将设备核心层称为软件层(尽管协议规范中并没有使用这一术语)。原则上,本设备上的每个层都与Link对端设备的各自对应层进行通信,例如本设备的Transaction Layers与对端的Transaction Layers通信、本设备的Data Link Layers与对端的Data Link Layers通信。
2025-03-12 18:54:37
30
原创 2.2 软件的后向兼容性 (Software Backward Compatibility)
不过,我们稍后将看到,对这些问题的解决方法是易于控制的,并可以让我们做到高速的、可靠的通信。差分信号的Receiver将会接收这一对相位相反的信号,用正信号的电压减去其反相信号的电压,得到它们的差值,以此来判定这个bit的逻辑电平值。相反,出于一些原因(我们稍后将会进行讨论),他们仅将频率提升到 8GT/s(Gen2中是 5GT/s,未翻倍),并不再采用 8b/10b 的编码方式,而是采用了另一种编码机制,即 128b/130b 编码(关于这个内容的更多信息,可以阅读“物理层-逻辑(Gen 3)”章节)。
2025-03-12 18:52:46
13
原创 2.1 PCI Express 简介 (Introduction to PCI express)
这样的一对接收和发送被称为一个“Lane(Lane)”,协议规范允许一条Link内有 1、2、4、8、12、16 或 32 条Lane。因为数据流可以同时进行双向传输,因此在技术层面上来说两个设备间的通信其实是全双工的,但是 PCIe 协议规范依然使用双单工这个术语,这是因为这种称呼对实际通信信道也进行了一点描述。作为一种串行总线,它与早期的串行设计(例如 InfiniBand 或者 Fibre Channel)有许多的共同点,但是它完全保持了在软件层面对 PCI 的后向兼容。
2025-03-12 18:50:49
33
原创 1.4.1 PCI事务模型
PCI同先前的总线模型一样,在数据传输上使用三种模型:Programmed I/O(PIO)、Peer-to-peer、以及DMA。这些模型的图解如图 16所示,接下来的几个小节将对它们进行描述。
2025-03-10 19:19:55
12
原创 1.3PCI基础(PCI Basics)
根据协议,只要总线上的上一个事务结束且总线进入空闲状态时,对于任意设备,只要在此时看到自己的GNT#信号被置为有效,那么就可以认为它是下一个占用总线的主设备,它就可以开始发起它的事务。PCI总线的速率没有跟上外设速率增长的脚步,虽然它依旧是主流的外设总线,但是已经成为了系统的性能瓶颈。PCI总线是同步总线,这意味着总线上的活动都发生在时钟边沿,因此将时钟信号放在图标的顶部,并将它的上升沿都用虚线标注出来,这是因为信号正是在这些虚线所表示的时刻被发出(driven out)或被采样(sampled)。
2025-03-10 19:18:11
21
原创 1.2 PCI与PCI-X
PC供应商们认识到了需要做出一定的改变了,几种用于替代ISA总线的设计也被提出,例如IBM的MCA(Micro-Channel Architecture),EISA总线(Extended ISA,这是由IBM的竞争对手提出的),以及VESA总线(Video Electronics Standards Association,它由声卡供应商们为适配声卡而提出)。这种速率上限,连同多针脚的连接方式,虽然是并行总线的缺点但是同时也提供了动力,推动了并行总线模型向新型的串行总线模型转型。
2025-03-10 19:14:59
293
原创 [PCIE5.0] 4.3.6.13/14/15 Loopback.
这段文字描述了在环回模式和合规性接收模式下,Retimer如何根据不同的规则和条件处理数据传输、错误和数据速率的调整。1. 环回模式:用于调试,支持主机和从机之间的交互。2. 符号和块对齐的恢复:当符号锁定或块对齐丢失时,Retimer会尝试恢复。3. 数据速率调整:根据接收到的数据,动态调整数据速率。4. 合规性模式:通过合规性接收,支持Retimer与其他设备的协作,确保链路按要求工作。这些规则确保了在高速数据链路中,Retimer能够根据链路状况进行适当的调整和错误处理,确保数据的稳定传输。
2025-03-10 19:09:35
60
原创 [PCIE5.0] 4.3.6.8/9/10/11/12. DLLP, TLP, and Logical Idle Modification Rules
这段文字的核心是描述Retimer在处理不同的传输情况时如何遵循一定规则来维护链路稳定性。• 在8b/10b编码下,如何处理符号的解码错误、不平衡错误等。• 当链路需要热复位或禁用链路时,Retimer如何执行相应的操作来确保系统的恢复或关闭。通过这些规则,Retimer能够在链路发生问题时(如错误解码、链路断开等)采取适当的措施,确保数据传输的可靠性和稳定性。这些操作对于高速数据传输(如PCIe)至关重要,能够有效避免链路的长期故障或数据丢失。
2025-03-10 19:07:39
17
原创 [PCIE5.0] 4.3.6.7 Ordered Set Modification Rules
这段文字的重点是详细说明了Retimer如何处理和修改不同类型的Ordered Sets字段,以及在特定的操作条件下(如数据速率变化、特殊控制模式)如何调整这些字段的值。简单来说,Retimer的任务是在转发数据时根据当前的工作状态和硬件配置修改和转发必要的信号信息,以确保链路的正常运行和数据的完整性。例如,当数据速率变化时,Retimer会相应地调整发射器的设置、奇偶校验、DC平衡等字段;
2025-03-10 19:06:03
450
原创 [PCIE5.0] 4.3.6.4/5/6 Data Rate Change and Determination Rules
这段文字详细描述了Retimer如何在不同的操作模式下管理数据速率的变化,并决定何时进入电气空闲状态及如何设置发射器的参数。主要的规则包括:• 数据速率的调整:根据是否转发训练集或非训练集,Retimer会判断是否需要调整数据速率,以及如何处理错误数据速率的情况。• 电气空闲状态的管理:根据转发的数据类型(训练集或非训练集),Retimer会决定何时将发射器置于电气空闲状态,并推断电气空闲状态的发生。
2025-03-10 19:04:07
19
原创 [PCIE5.0] 4.3.6.1 /2/3.Forwarding Type Rules
这段文字描述了Retimer如何根据接收到的符号类型判断是否退出电气空闲状态、如何动态确定端口方向、通道号和极性、以及在电气空闲退出时如何转发数据。Retimer还需要处理不同数据率下的电气空闲退出模式,并根据网络状况和错误恢复策略进行调整。• 符号类型判断:判断是否为训练集或非训练集符号,并根据符号类型调整转发模式。• 链路方向和通道配置:动态确定链路的方向、通道分配和极性,保证数据转发正确。• 电气空闲退出处理:在退出电气空闲时,Retimer根据不同条件转发电气空闲退出符号,确保数据链路恢复。
2025-01-17 07:10:42
59
原创 [PCIE5.0] 4.3.6 Forwarding Rules
这段文字描述了在转发模式下,Retimer如何根据不同的输入信号和条件决定是否继续转发符号,何时进入执行模式,以及如何响应一些特定的符号模式(如电气空闲、TS1/TS2有序集等)。这些规则确保了Retimer在不同情况下的操作稳定性与一致性。• 电气空闲退出时进入转发模式:如果接收到信号活动,Retimer开始转发数据。• 符号转发的一致性:Retimer会按原样转发接收到的符号,直到满足特定条件(如进入执行模式、接收到EIOS、进入电气空闲等)。
2025-01-17 07:09:08
120
原创 [PCIE5.0] 4.3.2 /3/4/5Supported Retimer Topologies
1. Retimer拓扑:可以有一个或两个Retimer,它们之间的上下游路径数据速率必须一致。2. 转发模式与执行模式:两种工作模式,分别用于信号转发和执行特定功能(如链路均衡、合规性轮询等)。3. 变量初始化:在复位后,Retimer会初始化一系列变量,确保系统处于正确的起始状态。4. 接收器阻抗控制:Retimer需要确保接收器阻抗符合要求,并在基本复位后逐步恢复。5. 模式切换要求:模式切换必须在有序集的边界进行,并且要确保数据的正确性和链路的稳定性。
2025-01-17 07:07:40
44
原创 [PCIE5.0] 4.3.1 Retimer Requirements
这段文字详细列出了Retimer在PCI Express链路中需要具备的一系列功能和要求。1. 信号恢复与均衡化:确保信号的质量,尤其是在高速数据传输中。2. 动态调整与协同操作:根据链路状态动态调整数据速率、链路宽度和阻抗等。3. 合规性和环回测试:支持合规性模式、环回测试和其他验证操作。4. 时钟同步与低功耗支持:通过时钟补偿确保信号同步,同时支持低功耗模式。这些要求确保了Retimer能够在高速度、高带宽的PCI Express系统中稳定工作,并与其他设备有效地进行协同和互操作。
2025-01-16 08:02:40
174
原创 [PCIE5.0] 4.3 Retimers
这段文字描述了物理层协议感知型Retimer的要求,强调它在PCI Express链接中如何工作,特别是在均衡化过程中的重要作用。1. Retimer的数量限制:每个链接最多允许两个Retimer。2. Retimer的工作原理:它通过转发信号和执行均衡化来确保信号的质量,对数据链路层和事务层是透明的。3. 时钟要求和端口方向:Retimer必须使用100 MHz参考时钟,并且其端口方向会根据配置动态决定。4. 协议和编码支持:Retimer需要支持128b/130b编码并执行独立链路均衡化。
2025-01-16 08:01:23
634
原创 [PCIE5.0] 4.2.13.3 Receiver Margin Testing Requirements
这段文字的重点是详细描述了如何进行接收器的边际测试,其中包括了初始化、执行边际测试、以及测试完成后的清理工作。它要求软件在测试之前、过程中和之后执行多个步骤来确保测试的有效性和准确性。这些步骤涉及到链路的配置、命令的发出、状态的检查以及错误处理等方面。
2025-01-16 08:00:10
137
原创 [PCIE5.0] 4.2.13.2 Margin Command and Response Flow
• 保留字段:在命令中存在一些保留字段,这些字段的作用是预留给未来扩展使用。接收器需要按照规则处理这些字段。• 厂商定义命令:如果厂商定义了新的边际命令或响应,而这些命令不在标准中定义,则必须被忽略或按照预定规则转发。这些规则的核心目的是确保高数据速率下的数据传输稳定可靠。接收器和 Retimer 必须根据边际命令调整其采样位置,并实时报告误差。边际调整主要通过 时序和电压 的调整来应对可能出现的传输问题,同时要求接收器在规定的时间内响应和报告状态。如果超时或遇到错误,系统会自动恢复到默认状态。
2025-01-16 07:58:06
116
原创 [PCIE5.0] 4.2.13.1 Receiver Number, Margin Type, Usage Model, and Margin Payload Fields
这段文字的核心是关于 边际控制命令(Margin Command) 和 控制 SKP Ordered Set 如何通过特定的字段来传递边际命令及其状态。边际命令用于调整接收端的时序和电压,以确保信号在高速传输中能够正确接收。控制 SKP Ordered Set 和响应的 Margin Payload 字段提供了调整方向和步长等具体信息。此外,未来可能会根据新需求扩展这些命令的使用。
2025-01-16 07:56:31
33
原创 [PCIE5.0] 4.2.13 Lane Margining at Receiver
这段文字的重点是 接收端通道边际(Lane Margining at Receiver),即在高速数据传输过程中,如何测量和调整接收端的信号质量,以确保数据能够可靠地接收。这个过程主要包括时序和电压两方面的容差信息,系统软件通过特定的命令来控制和获取这些信息,尤其在 16.0 GT/s 或更高速率 的链路中至关重要。在 Retimers 的场景下,边际测量的控制和状态反馈也会通过特定的命令集进行。
2025-01-15 08:16:02
189
原创 [PCIE5.0] 4.2.12 Jitter Measurement Pattern in 128b/130b
这段文字的重点是 抖动测量模式 的构成,它通过发送一个包含交替1和0的固定模式(55h)来测试发射器在传输过程中的信号稳定性。这个交替模式能够有效地帮助检测信号是否存在过多的时序波动(即抖动),从而判断发射器的性能。
2025-01-15 08:14:46
118
原创 [PCIE5.0] 4.2.11 Modified Compliance Pattern in 128b/130b Encoding
这段文字描述的是 修改后的合规性模式(Modified Compliance Pattern),它的主要目的是通过特定的符号序列和数据块来测试和验证链路的稳定性和合规性,尤其是在不同的工作模式下。
2025-01-15 08:13:32
67
原创 [PCIE5.0] 4.2.10 Compliance Pattern in 128b/130b Encoding
这段文字描述了 合规性模式 的详细组成部分,包括 同步头、符号序列、加扰处理、顺序集 等。它们用于确保在高速数据传输中,设备能够正确地发送和接收数据,同时测试设备在干扰和信号失真情况下的稳定性。这种模式有助于设备在实际应用中保证稳定的工作性能。
2025-01-14 17:20:27
315
原创 [PCIE5.0] 4.2.9 Modified Compliance Pattern in 8b/10b Encoding
这段文字的核心内容是描述了如何通过 Polling.Compliance 子状态,使用特定的符号序列(如 K28.5、D21.5 等)和符号延迟,来确保设备在多通道情况下能够正确处理符号差错,并通过模拟 串扰和干扰 来测试链路的稳定性。这个过程的目的是为了确保在高速数据传输过程中,链路能够在复杂电气环境下正确同步并稳定工作。
2025-01-14 17:18:41
357
原创 [PCIE5.0] 4.2.8 Compliance Pattern in 8b/10b Encoding
这段文字描述的是在 PCIe 或类似高速接口协议 中,Polling.Compliance 子状态的具体要求,特别是合规模式(Compliance Pattern)在传输过程中的处理方式。这个过程主要是通过 SKP Ordered Set 来验证链路的合规性,确保链路在高频率下的稳定性、可靠性和时序准确性。我们来逐步解读这段文字的重点。
2025-01-12 09:43:28
398
原创 [PCIE5.0] 4.2.7.4 Rules for Receivers
• SKP Ordered Set 的主要功能:SKP Ordered Set 主要用于链路同步和空闲状态的传输,它是为了在高速度数据传输中保持时钟同步、检测错误和维持链路状态的稳定。• 接收端的容忍度:接收端需要能够在不同的时间间隔下正确接收 SKP Ordered Set,尤其是在不同数据速率和电气空闲状态下,接收端需要有较强的容错能力。
2025-01-12 09:42:12
265
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人