PCIe物理层之LTSSM
📌 PCIe LTSSM 关键状态速查手册
- 状态总览(11个主状态)
· 训练与配置:Detect → Polling → Configuration
· 正常工作:L0
· 恢复与重训练:Recovery
· 低功耗:L0s / L1 / L2
· 特殊功能:Hot Reset / Loopback / Disable
- Detect 状态(电气空闲退出机制)
子状态 动作 本质
Detect.Quiet 接收端通过阻抗/电压变化被动感知对端物理存在 摸硬件(直流检测)
Detect.Active 感知存在后,发送端发出 EIEOS 唤醒序列 喊暗号(交流确认)
关键规则:先摸后喊,双向独立。任何一端先感知到对方,即可触发Active发送。
- Polling 状态(位锁定与符号锁定)
· 执行方式:所有Lane 独立并行进行CDR位锁定。
· 进入Configuration的条件:至少1条Lane在 2ms 内完成锁定即可。
· 失败后果:若2ms内0条Lane锁定,则超时跳回 Detect 重来。
· 降宽逻辑:未锁定的Lane在后续Configuration中被剔除(如x16降为x1)。
- Configuration 状态(链路宽度协商)
三步走流程:
- 广播能力:所有激活Lane发送TS1,字段内写明本端最大支持宽度(如x16)。
- 统计对端Lane数:数一数自己收到了几个Lane的TS1。
- 取最小值定宽度:
最终宽度 = min(本端能力, 对端能力, 对端实际发送的Lane数)
(例:A支持x16,B支持x8但只插x4线 → 协商为 x4)
确认方式:写入Lane编号,切换TS2冻结配置,未使用Lane禁用,跳入 L0。
- Recovery 状态(重训练与均衡)
进入原因:L0运行时信号劣化、位锁定丢失或速率变更。
内部流程:
- Recovery.RcvLock:重新进行位/符号锁定(失败的Lane会被标记)。
- Recovery.Equalization:执行Phase 0~3均衡优化(调预加重/均衡器系数)。
- Recovery.Config:重新确认宽度,剔除失败Lane(可能降宽)。
- 退出:成功 → 返回 L0;全部失败 → 跳回 Detect。
- 核心时间参数速记
参数 值 适用场景
位锁定超时 2ms Polling / Recovery期间
电气空闲退出序列 EIEOS Detect.Active / 唤醒低功耗
训练序列 TS1 / TS2 Polling / Configuration / Recovery
💡 记忆口诀
Detect摸电闸,Polling练锁位,Config数车道,L0跑起来;
信号抖进Recovery,均衡降宽再重来,全崩只能回Detect。