如果任意一条配置过的 lane 收到 EIOS 或者检测/推断对方进入了 ei (根据多长时间没有收到 TS 来判断), 则该条 lane 上存在 ei 条件
进入该状态时,速度协商成功(如 successful_speed_negotiation = 1b), 如果任意一条配置过的 lane 在特定时间类,Receiver lanes 没有收到 TS1 或者 TS2, 则推断进入了 ei
进入该状态时,速度协商失败(如 successful_speed_negotiation = 0b), 如果在指定时间间隔内,任意一条配置过的 lane 中没有检测到至少一次 ei 退出(即所有 lane 都没有检测到退出 ei)
如果速度没有达到 target link speed(Link Control 2 bit[3:0]), 则会一直往最高速度切
状态跳转
Recovery.Idle
处于该状态时
当使用8b/10b 编码时, 所有配置过的 lane 上传输 idle data(全0, 会加扰)
当使用 128b/130b 编码时, 与速度有关
当速率为 8.0 GT/s 时, 在所有配置过的 lane 上, 发射机发射一个 SDSOS 开始传输数据流 (Data Stream), 然后发送 Idle Data Symbol, 第一个 Idle data Symbol 位于 lane 0上,并且也是 Data Symbol 的第一个 Symbol
当速率为 16.0 GT/s 及更高时, 在所有配置过的 lane 上, 发射机发射 1 个 SDSOS 后, 需要在发送 1 个 Control SKPOS, 然后才发送数据流。同样, 数据流由 Idle data Symbol 构成, lane 0 上传输的第一个 Idle data Symbol 是数据流的第一个 Symbol
如果更高层需要直接去其它状态(如 Disable, Hot Reset, Configuration 或 Loopback), 在跳转在其它状态之前,禁止发送 Idle Symbol, 并且 Idle Symbol 也禁止使用 128b/130b 编码