LTSSM – Hot Reset

hot reset

hot reset时的行为

  • note : 当前状态发射机不是处于EI状态
  • note : 通常DSP或则crosslink port是上层直接让LTSSM进入Hot Reset,而USP或者crosslink port是由于在Recovery.Idle收到Hot Reset为1的TS1OS而进入Hot Reset
  • LinkUp = 0
  • 发送TS1OS,其中Symbol 5的hot reset比特为1,link number和lane number为在configuration状态协商后的值
  • 如果USP的任意lane收到2个连续的TS1OS(其中Hot Reset比特为1),则所有DSP必须尽快进入Hot Reset状态。 – 不针对Switch中的crosslink连接

hot reset状态跳转

  • hot reset可以实现的跳转
    • hot reset -> detect

hot reset -> detect

  • 如果进入Hot Reset是由上层发起,且收到对方发来的TS1OS,其中Hot Reset为1,只要本端没有明确要退出Hot Reset,就必须一直待到Hot Reset,即使2ms超时后。
  • 如果进入Hot Reset是由于收到2个连续的TS1OS,其中Hot Reset为1,那么当LTSSM进入到Hot Reset之后,如果还是收到了Hot Reset为1的TS1OS,则LTSSM仍然保持在Hot Reset状态,并复位2ms的计数器。
Hot Reset跳转到Detect条件
条件 跳转原因
条件1 进入Hot Reset是由上层发起,且任意一条lane收到连续2个TS1OS,其中Hot Reset比特为1,且上层不要求物理层处于Hot Reset
条件2 进入Hot Reset是由上层发起,没有收到hot reset为1的TS1OS,且2ms超时后
条件3 进入Hot Reset不是由上层发起(如任意一条lane收到2个连续的TS2OS,其中Hot Reset比特位1),且在2ms之内,该状态一直没有收到Hot Reset为1的TS1OS
  • MSIC
    • Q : 上述条件三,如果2ms之内收到了hot reset assert的TS1OS之后,2ms之后行为是啥呢?
    • A : 如果在2ms之内收到的hot reset assert的TS1OS后,首先肯定会复位2ms的计数器,其次LTSSM状态仍然会在Hot Reset。如果没有收到hot reset assert的TS1OS之后,应该就会重新开始计数,如果再次计数到2ms时,2ms中间仍然没有收到hot reset assert的TS1OS,则跳转到Detect状态,否则一直复位2ms计数器

Disabled

Disabled 时的行为

  • 进入Disabled时,推荐清掉LinkUp,而不需要等待发送EIOSQ或者收到EIOS,
  • 所有lane发送16到32个TS1OS,其中Disable Link比特位1,发送完之后进入电气空闲
    • 在进入电气空闲前,必须发送一个EIOSQ
    • DC共模电压不必符合规格
  • 所有发送了EIOSQ或者收到了EIOS后(即使在传输Disable Link比特为1的TS1)
    • LinkUp = 0,除非像上面提到的那样已经清掉了Linkup(其实也为0)
    • 禁用lane
  • 对USP而言,所有接收机必须在1ms内满足2.5GT/s时的ZRX-RC(最少40欧姆,最大60欧姆)。

Disabled状态跳转

  • Disabled可以实现的跳转
    • Disabled -> detect

Disabled -> detect

Disabled跳转到Detect条件
条件 跳转原因
条件1 USP : 至少一条lane检测到退出电气空闲
条件2 DSP : 上层直接让LTSSM进入Detect,比如通过软件设置Link Disable比特为0
条件3 USP : 没有收到EIOS,直到2ms超时
guest
2 评论
内联反馈
查看所有评论
daydayupup

受益匪浅了!

NDT

干货满满!