PCIe Electrical Idle Sequences ( EIOS and EIEOS )

前言

PCI Express (PCIe)协议中,EIOS (Electrical Idle Ordered Set) 和 EIEOS (Electrical Idle Exit Ordered Set) 是在高速链路管理和状态切换过程中极为重要的特殊序列。下面做详细解释:

一、EIOS(Electrical Idle Ordered Set)

1. 定义及作用

EIOS是PCIe物理层在发送端进入"电气空闲(Electrical Idle)"状态之前,必须发送的特殊序列。

它用来通知接收端:链路即将进入电气空闲状态(即没有数据传输,线路进入低功耗/待机状态)。

2. EIOS的构成

不同编码模式下的EIOS
1)8b/10b编码(如PCIe 2.x/3.x低速率)

● EIOS = 1个K28.5(COM)符号 + 3个K28.3(IDL)符号。

● 详见下表:

● 发送端需要发出全部4个符号,接收端收到头4个(COM+任意2个IDL)即可视为EIOS已接收。

2)128b/130b 编码(如PCIe 4.0及更高速率)

● EIOS是一个特殊的 Ordered Set Block(有序块),具体符号见Table 4-32。

● 这个块的前4个编解码符号用于识别EIOS。

3)1b/1b 编码(PCIe 6.0 极高速率)

3. 截断与接收规则

● 截断(Truncation):最后一个EIOS序列在实际进入Idle状态时,可以在符号14或15提早结束(为支持某些编码模式下的时钟不对齐)。但接收方只要前4个符号匹配EIOS定义就可以正确判定链路进入空闲。

● 状态切换:发送最后一个EIOS所有符号后,发送端必须真正进入Idle状态。

4. 作用意义

● EIOS告知接收方链路即将Idle,可以收尾上一次传输的数据,进行电路省电和同步状态管理。

二、EIEOS(Electrical Idle Exit Ordered Set)

1. 定义及作用

EIEOS是从"电气空闲"状态返回到正常数据传输状态前要发送的特殊有序序列。

它通知接收器:链路即将退出Idle,准备恢复正常通信。

2. EIEOS的构成

● 8b/10b编码下,EIEOS包含:

○ K28.7(EIE)等特定标识符(不同协议版本有所不同)。

○ EIEOS会在你想要退出Idle、准备发恢复训练序列(FTS)之前发送。

● 其余编码下,用有序块识别。

● 详见协议相关章节,通常和FTS配套出现。

3. 与EIOS的区别

● EIOS:Idle前发,进入空闲

● EIEOS:Idle结束发,退出空闲、恢复数据传输

4. 作用意义

● EIEOS确保接收方正确检测到链路恢复,同步时钟和准备下一帧训练(FTS)或数据交换。

三、EIOS与EIEOS在链路训练和状态管理中的流程

  1. 正常数据传输
  2. 准备进入Idle
    ○ 发送EIOS (通知即将Idle)
  3. 实际进入Idle状态
  4. 准备恢复数据传输
    ○ 发送EIEOS (通知即将恢复)
  5. 发送FTS或数据帧,链路恢复激活

四、常见应用场景

● PCIe设备省电自动管理

● PCIe链路训练/恢复同步

● 热插拔、链路异常恢复

五、简明总结

相关推荐
夏天Aileft5 天前
PCIe6.0 FC机制
pcie
数字硬鉴6 天前
PCIe Base Specification解析(八)
芯片设计·soc·pcie·arm架构·cpu设计
Lllongroad22 天前
lspci/setpci用法小结
linux·服务器·网络·pcie
凉、介2 个月前
Linux 下 pcie 初始化设备枚举流程代码分析
linux·运维·服务器·学习·嵌入式·c·pcie
Evan_ZGYF丶2 个月前
【PCIe总线】 -- PCI、PCIe相关实现
linux·嵌入式·pcie·pci
凉、介4 个月前
PCI 总线学习笔记(五)
android·linux·笔记·学习·pcie·pci
9527华安7 个月前
技术总结:FPGA基于GTX+RIFFA架构实现多功能SDI视频转PCIE采集卡设计方案
fpga开发·架构·pcie·sdi·gtx·riffa
FPGA技术实战7 个月前
Xilinx PCIe高速接口入门实战(三)
fpga开发·pcie
憧憬一下8 个月前
PCIe_Host驱动分析_设备枚举
arm开发·嵌入式硬件·嵌入式·pcie·linux驱动开发