拓冰建站拓冰建站
首页 / 资讯中心 / 正文

【SI_PCIe 05】详细介绍PCIe链路训练

目录1. PCIe链路训练简介2. PCIe链路训练内容3. PCIe训练基本概念4. PCIe训练过程4.1. 链路初始化与训练 (Link Initialization Training)4.2. 正常工作与异常恢复 (Normal Operation Error Recovery)4.3. 电源管理 (Power Management)4.4. 测试与维护 (Test Maintenance)1. PCIe链路训练简介PCIe物理层实现了链路训练Link Training和链路初始化Link Initialization的功能这一般是通过链路训练状态机Link Training and Status State MachineLTSSM来完成的。主要流程为上电后两侧根据PCIe总线协议进入LTSSM流程;该过程是一套硬件自动化的流程链路双方自动协商速率和宽度调节发送和接收参数从而达到最佳信号质量。核心背景解决RC与EP经过PCB传输后信号衰减、串扰、抖动、码间干扰导致的采样错误问题全程物理层硬件自动完成无软件参与训练完成后上层TL/DL层才可传输业务数据。核心原理通过LTSSM状态机流转双方交互TS训练序列协商链路参数、调优收发信号参数补偿PCB传输损耗实现对端模数信号精准恢复。阶段大类LTSSM状态核心子步骤RC/EP关键动作物理层解决的PCB信号问题1.链路初始化上电自检Detect 检测状态Quiet静默、Active探测1. 设备上电/复位后进入首个状态2. 两端通过链路阻抗充电探测检测对端设备是否在位、通道是否有效3. 无信号交互仅硬件链路物理连通性检测排查PCB虚焊、断线、通道开路等硬件连通故障确认链路基础物理通路正常Polling 轮询状态Polling.Active、Polling.Configuration1. 两端互相发送TS1/TS2训练序列2. 接收端锁定CDR时钟完成初步比特同步3. 确认对端设备PCIe协议版本兼容解决PCB传输导致的时钟偏移、比特失步问题让对端可以初步识别串行比特流2.链路参数协商基础配置Configuration 配置状态通道协商、链路宽度绑定、速率预协商1. RC下行端口为主导端EP上行端口为跟随端2. 协商有效链路宽度x1/x4/x8/x16屏蔽异常PCB通道3. 协商初始最大传输速率Gen1/2/3/4/5规避PCB部分通道信号损耗过大、通道不一致问题匹配硬件最优传输规格3.精准链路训练信号质量优化核心Recovery 训练恢复状态速率重训练、均衡参数调优、采样窗口校准1.发送端调节预加重、去加重、输出幅值补偿PCB高频信号衰减2.接收端开启CTLE线性均衡、DFE判决反馈均衡消除串扰和ISI码间干扰3. 微调采样相位锁定最佳采样点核心解决PCB传输带来的高频衰减、信号抖动、串扰、码间干扰修复模数转换信号失真问题4.正常工作状态L0 活跃状态稳定传输、实时链路监测1. 链路训练完成物理层锁定最优收发参数2. 向上层DL/TL层上报链路就绪3. 正常转发业务数据同时实时监测信号质量维持PCB链路信号稳定保障高速数据持续可靠传输5.低功耗状态拓展L0s/L1/L2 低功耗状态空闲休眠、唤醒预备1. 链路无数据时自动进入低功耗关闭部分收发电路2. 唤醒时自动触发简易链路重训练快速恢复L0状态低功耗场景下保障链路唤醒后信号可快速恢复正常2. PCIe链路训练内容训练项核心作用必选 / 可选关键说明位锁定 Bit LockCDR 恢复嵌入式时钟稳定识别 0/1 比特必选串行接收基础先完成 Bit Lock符号锁定 Symbol Lock识别 K 字符界定编码符号边界必选Gen1/28b/10bGen3128b/130b极性翻转 Polarity Inversion修正差分 D/D - 正反接反必选所有设备强制支持链路宽度 Link Width协商有效通道数量 x1/x4/x8/x16必选屏蔽失效 Lane通道翻转 Lane Reversal修正通道编号顺序不匹配可选规范布线一般不用链路速率 Data Rate协商 Gen1~Gen5 传输速率必选初始 2.5GT/s高速需重训练通道对齐 Lane De-skew消除多通道走线时延差必选多 Lane 绑定传输必备均衡 EqualizationTx FFE Rx CTLEDFE补偿信号损耗Gen3 必选高速链路保证眼图质量核心1. 位锁定 Bit LockPCIe 采用嵌入式时钟仅传输差分数据不单独发送时钟。接收端通过 CDR 电路从串行数据流恢复采样时钟恢复时钟与数据相位稳定对齐可正确识别比特 0/1即完成位锁定。发送方发送连续的 101010… 序列称为 Jitter Tolerance Pattern 或 JTP。接收方通过时钟恢复电路Clock and Data Recovery, CDR锁定发送方的位时钟确保能够正确采样每一位。2. 符号锁定 Symbol Lock完成位锁定仅能识别比特流无法区分字符边界。Gen1/Gen2 使用 8b/10b 编码以 10bit 为一个符号。LTSSM 通过识别 COMK28.5等 K 控制字符定位每个符号起始边界实现符号锁定。Gen3 及以上为 128b/130b 编码字符对齐机制有所变化。发送方发送 8b/10b 编码的字符序列。接收方通过 8b/10b 解码器识别和解码这些字符确保能够正确解码每一个字符。3. 极性翻转 Polarity InversionPCIe 传输差分信号D/D-PCB 布线可能造成差分对正负接反。规范要求所有 PCIe 设备必须支持极性自动翻转在链路训练阶段完成修正和通道翻转不同属于必选能力。发送方和接收方通过交换 Polarity Inversion 训练序列来检测信号极性。如果检测到信号极性不一致接收方会进行极性翻转以确保信号的正确性。4. 链路宽度 Link Width支持 x1/x4/x8/x16 多种通道组合允许短卡插入长插槽。链路初始化阶段双方交互能力协商最终可用有效链路宽度屏蔽失效通道。5. 通道翻转 Lane ReversalPCB 布线可能导致两端 Lane 编号顺序不一致协议支持通道顺序重映射对齐。该功能为可选标准硬件布线下一般不会启用。发送方和接收方通过交换 Lane Reversal 训练序列来确定通道的正确顺序。如果物理连接顺序不正确双方会进行通道位置翻转以确保数据在正确的通道上传输。6. 链路速率 Data Rate上电初始训练统一从 Gen12.5GT/s起步若两端均支持更高速率Gen2 5GT/s、Gen3 8GT/s、Gen4 16GT/s、Gen5 32GT/s会进入 Recovery 状态执行重训练协商切换更高速率。发送方和接收方通过交换 Training SequenceTS包来协商链路速度。双方根据各自的硬件能力和配置选择最佳的链路速度。7. 通道对齐 Lane-to-Lane De-skew多条并行 Lane 经过 PCB走线长度差异会带来通道间时延差Skew。完成符号锁定后接收端缓存各通道数据消除通道间时延偏差保证多通道数据同步拼接。发送方发送 De-skew 训练序列这些序列包含已知的时延信息。接收方通过测量各通道的时延差异调整接收时钟以对齐所有通道。双方通过交换 De-skew 训练序列来确保所有通道的时延一致。8. 均衡 Equalization高速链路核心为补偿 PCB 高频损耗、ISI 码间干扰高速 PCIeGen3必须执行均衡训练TxFFE 前馈均衡器预加重 / 去加重RxCTLE 连续时间线性均衡 DFE 判决反馈均衡双方交互均衡预设值迭代找到最优收发参数保证接收端信号采样窗口充足。3. PCIe训练基本概念PCIe进行链路训练时要发送一些特殊的字符序列这些序列也被称为PLPPLPPhysical Layer Packet 物理层报文链路训练专用特殊字符序列物理层报文。这些字符序列主要有如下PLP 序列组成结构核心功能TS1 / TS2Gen1/Gen216 SymbolCOM 起始TS1 协商链路参数TS2 确认协商结果速率、Link/Lane 编号等EIOSIdle 相关有序集合进入电气空闲前发送链路进入低功耗 Electrical IdleFTSCOM 3×FTS辅助完成位锁定、符号锁定SKIPCOM 3×SKP时钟补偿消除通道间 Skew4. PCIe训练过程LTSSM具体有11个状态分别是Detect、Polling、Configuration、RecoveryL0、L0s、L1、L2L3是可选的、Hot Reset、Loopback和Disable状态。系统进行复位操作Cold, Hot or Warm Reset后会自动进入Detect状态。这11个状态又可以被分为下面五个类别链路训练状态Link Training State重训练状态Re-TrainingRecovery State软件驱动功耗管理状态Software Driven Power Management State活动状态功耗管理状态Active-State Power Management StateASPM State其他状态Other State状态分组状态名称核心作用初始化训练Detect探测对端接收器是否在位PollingBit Lock、Symbol Lock、极性校正Configuration协商链路宽度、通道映射工作 低功耗L0正常收发业务 TLP 数据L0s轻量低功耗快速唤醒L1深度低功耗中等唤醒时延L2休眠电路下电唤醒慢重训练Recovery速率切换、均衡调优、链路修复测试 / 异常Loopback硬件环回自测Hot Reset热复位重置整条链路Disabled端口禁用链路关闭4.1. 链路初始化与训练 (Link Initialization Training)系统上电 / 复位后必须顺序执行完成链路基础通信建立属于 LTSSM 前序核心流程状态核心功能关键动作完成成果Detect探测接收端是否在位Tx 调节共模电压检测 RC 充放电特征判断链路物理通路是否存在Polling时钟与符号对齐收发 TS1/TS2CDR 完成 Bit Lock、Symbol Lock修正极性比特与符号可正确解析Configuration链路拓扑参数协商TS 交互通道信息链路降级、通道翻转配置确定最终链路宽度与 Lane 映射1. Detect检测状态功能定义检测物理链路是否存在带有效终端匹配电阻的接收端底层行为发送端周期性调整共模电压通过 RC 充放电时间变化识别对端寄生电容未探测到设备时在 Detect.Quiet 与 Detect.Active 之间循环等待2. Polling轮询状态功能定义完成物理层时钟同步、符号对齐底层行为两端互发 TS1/TS2 训练有序集接收端依靠 CDR 电路实现位锁定 Bit Lock、符号锁定 Symbol Lock同时自动识别并修正差分信号极性翻转Polarity Inversion3. Configuration配置状态功能定义协商确定链路拓扑参数链路宽度、通道编号分配底层行为通过 TS1/TS2 交互通道能力通道故障时执行链路降级x8→x4→x1完成通道翻转Lane Reversal映射配置4.2. 正常工作与异常恢复 (Normal Operation Error Recovery)链路初始化完成后进入 L0 正常工作态双向收发 TLP 与 DLLP 业务报文初次建链默认 Gen1 速率。链路误码过高或者需要提升传输速率时进入 Recovery 恢复状态Gen3 及以上速率在此完成四阶段均衡训练调优收发均衡参数满足高速信号完整性训练完成后切回 L0。状态核心功能关键动作完成成果L0全速双向业务传输TLP/DLLP 正常编解码收发初次进入默认 Gen1 2.5GT/sRC 与 EP 可正常交互上层业务数据Recovery链路修复、速率切换、高速均衡训练重同步Gen3 执行 EQ 四阶段调优 Tx 预加重、Rx 均衡参数修复链路误码完成高速速率协商返回 L01. L0 (正常工作状态)功能定义链路完全激活全速双向数据传输底层行为正常收发、编解码 TLP 事务层数据包与 DLLP 数据链路层数据包链路初次建链进入 L0 默认使用 Gen1 基础速率 2.5GT/s2. Recovery (恢复状态)功能定义修复链路失锁、高误码故障完成动态速率切换底层行为L0 误码超标或是切换更高 Gen 速率时进入Gen3 及以上必须在此执行 4 阶段均衡训练EQ Phase0~3协商 Tx 预加重、Rx CTLE/DFE 等均衡参数补偿 PCB 高频损耗保障高速信号完整性4.3. 电源管理 (Power Management)PCIe 电源管理包含三级低功耗状态L0s 为 ASPM 极速待机单向电气空闲FTS 快速唤醒回 L0L1 深度休眠双向电气空闲可关闭 PLL唤醒需要经过 Recovery 重训练L2/L3 Ready 是主电源关断预备仅保留辅助电源监听唤醒信号。状态核心功能关键动作唤醒特性L0sASPM 轻量低功耗待机Tx 单向电气空闲停止发数保存链路基础同步信息FTS 快速唤醒纳秒级返回 L0L1深度休眠低功耗链路双向电气空闲可关闭 PLL唤醒需进入 Recovery 重训练微秒级时延L2/L3 Ready主电源下电预备Vmain 准备关闭仅保留 Vaux 供电监听 WAKE#/Beacon 唤醒信号唤醒流程更长1. L0s (待机状态)功能定义ASPM 管理纳秒级极速唤醒的轻量低功耗状态底层行为发送端单向进入电气空闲 Electrical Idle停止数据发送依靠 FTS 快速训练序列短时间即可返回 L0 工作态2. L1 (休眠状态)功能定义微秒级深度低功耗状态底层行为链路双向进入电气空闲收发器可关闭 PLL 锁相环需上层协商进入唤醒时经过 Recovery 重训练重新完成符号锁定3. L2/L3 Ready (极低功耗准备状态)功能定义主电源下电前的预备状态底层行为准备关闭主电源 Vmain仅保留辅助电源 Vaux用于监听 WAKE# 边带唤醒信号或 Beacon 带内唤醒信号4.4. 测试与维护 (Test Maintenance)Disable 为软件强制禁用链路发送端保持电气空闲适配热插拔场景Loopback 是测试专用状态接收数据直接环回发送用于误码率与信号一致性测试Hot Reset 属于带内热复位通过 TS1 序列通知对端清空配置回到 Detect 重新建链。状态核心功能关键动作使用场景Disable软件强制关闭物理链路Tx 保持电气空闲热插拔断开前准备软件关闭端口Loopback物理层测试验证Rx 数据直接环回至 Tx不经过上层协议BER 误码测试、信号一致性调试Hot Reset带内软复位链路发送 Hot Reset 标记 TS1对端清空状态返回 Detect链路异常恢复无需硬件断电复位1. Disable禁用状态功能定义软件强制禁用物理链路底层行为发送端持续保持电气空闲多用于热插拔断开前的链路准备工作2. Loopback环回状态功能定义物理层 BER 误码率、信号一致性专用测试状态底层行为从设备将 Rx 解串后的数据流不经过上层协议栈直接转发至 Tx 原样回传给主设备3. Hot Reset热复位功能定义带内软复位机制底层行为主端持续发送带有 Hot Reset 标志位的 TS1 有序集对端识别后清空状态、缓存参数跳转回 Detect 状态重新完成整套链路初始化
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门