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的计数器。
条件 | 跳转原因 |
---|---|
条件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
条件 | 跳转原因 |
---|---|
条件1 | USP : 至少一条lane检测到退出电气空闲 |
条件2 | DSP : 上层直接让LTSSM进入Detect,比如通过软件设置Link Disable比特为0 |
条件3 | USP : 没有收到EIOS,直到2ms超时 |
受益匪浅了!
干货满满!
大哥,求讲解Jitter部分~
@Thomas 协议哪部分的内容呢,平时很少会涉及到jitter的部分,可以学习学习,然后总结出来。
@重新开始 Base spec_6.2中的
8.3.5 Tx jitter parameters
8.4.2 stressed eye中的Sj mask
这两部分不太能看懂,哈哈