PCIe EIOS & EIEOS

简介

在发射机进入 Electrical Idle (简称 EI) 前,如果没有特别说明,发射机必须发送 Electrical Idle Ordered Set Sequence (简称EIOSQ)。在 2.5 GT/s, 8.0 GT/s, 16.0 GT/s 和 32.0 GT/s 时,EIOSQ 为一个 Electrical Idle Ordered Set (简称 EIOS),在 5.0 GT/s 为两个 EIOS。EIOS 在不同速度下其内容不完全一样。Electrical Idle Exit Ordered Sets (简称EIEOS) 是用来退出 EI 状态, EIEOS 在不同速度下也有不同的格式。EIEOS序列 (Electrical Idle Exit Ordered Set Sequence,简称EIEOSQ) 在 5.0 GT/s, 8.0 GT/s, 16.0 GT/s 由一个 EIEOS 构成,在 32.0 GT/s 时由 2 个连续的 EIEOS 构成

EIOS

不同速度下的 EIOS 组成

2.5 GT/s 和 5.0 GT/s

COM (K28.5) + IDL(K28.3) + IDL + IDL

8.0 GT/s 及以上

66h (EIOS标识) + 15个66h (0110_0110b)

EIEOS

作用

  1. 确保电路能够退出 EI 状态
  2. 128b/130b 编码时用来做块对齐 (Block Alignment)

不同速度下的 EIEOS 组成

5.0 GT/s

EIEOS 为 Gen2 增加的内容,在 Gen1 不存在

Symbol 号 编码 描述
0 K28.5 COM 字符用符号对齐
1-14 K28.7 退出 EI 的低频序列
15 D10.2 TS1 的标识

8.0 GT/s

Symbol 号 编码 描述
0,2,4,6,8,10,12,14 00h 低频序列
1,3,5,7,9,11,13,15 ffh 低频序列

16.0 GT/s

Symbol 号 编码 描述
0,1,4,5,8,9,12,13 00h Symbol0 : EIEOS 标识,其它低频序列
2,3,6,7,10,11,14,15 ffh 低频序列

32.0 GT/s

Symbol 号 编码 描述
0,1,2,3,8,9,10,11 00h Symbol0 : EIEOS 标识,其它低频序列
4,5,6,7,12,13,14,15 ffh 低频序列

一些规则

  • 8b/10b编码,且链路速度为 5.0 GT/s 时
    • 进入 Configuration.Linkwidth.Start 状态后,发送第一个 TS1OS 前,必须发送 EIEOS
    • 进入 Recovery.RcvrLock 状态后,发送第一个 TS1OS 前,必须发送 EIEOS
    • 在 LTSSM 中的 Configuration.Linkwidth.Start, Recovery.RcvrLock 和 Recovery.RcvrCfg 状态,每发送 32 个 TS1/2 后要发送一个 EIEOS。TS1/2 的数量会被清零,当满足下面的条件时 :
      • 发送了一个 EIEOS
      • 当在 Recovery.RcvrCfg 状态时,收到第一个 TS2OS
  • 128b/130b 编码,EIEOS 需要满足的规则
    • 进入 Configuration.Linkwidth.Start 状态后,发送第一个 TS1OS 前,必须发送 EIEOS
    • 进入 Recovery.RcvrLock 状态后,发送第一个 TS1OS 前,必须发送 EIEOS
    • 当数据流 (Data Stream) 结束且没有发送 EIOS, 也没有进入 LTSSM 中的 Recovery.RcvrLock 状态时,在 EDS Framing Token 后面接 EIEOS
    • 在需要传输 TS1/2 的状态,每32个 TS1/2 传输后必须跟 EIEOS。当满足下面条件时, TS1/2 的数量会被清零
      • 传输了一个 EIEOS
      • 在 Recovery.RcvrCfg 状态,收到第一个 TS2OS 后
      • 在 Configuration.Complete 状态,收到第一个 TS2OS 后
      • Downstream Port 在 LTSSM 中 Recovery.Equalization 的 Phase 2 并且任意一条 lane 收到 2 个连续的 TS1 (Reset EIEOS Interval Count 必须要为1,Symbol 6 bit[2])
      • Upstream port 在 LTSSM 中 Recovery.Equalization 的 phase 3并且收到 2 个连续的 TS1 (Reset EIEOS Interval Count 必须要为1,Symbol 6 bit[2])
    • LTSSM 中的 Recovery.Equalization 状态每传输 65536 个 TS1 后 (Reset EIEOS Interval Count 位要设置为 1)

类似文章

Subscribe
提醒
0 评论
内联反馈
查看所有评论