Detect:使用电气的方法检测对端是否有设备存在。
Polling:
Bit Lock
Symbol Lock or Block Lock
Lane极性反转
获知可用的速率,但不做速率切换
Detect状态
Detect.Quiet
发送端进入Electrical Idle状态,当检测到接受端有lane处于Electrical Idle状态或者12ms的timeout,状态机会由该状态跳转到Detect.Active状态。
Detect.Active
在该状态下,发送端会产生一个0~3.6V的共模电压,通过检测共模电压的上升率,来判断是否有设备与之对接,如果超过12ms还未检测到有任何设备存在就退回到Detect.Quiet状态,如果检测到有设备就进入Polling状态
Polling状态
在进入该状态后,首先link均处于electrical idle状态,在这个状态下会通过交换TS1s和TS2s来建立bit和symbol lock以及极性问题。具体过程是在Polling.Active状态下,两边互相发送1024个带有PAD(link num和lane num未知)的TS1序列,当收到8个TS1或者TS2(因为存在两边状态机不一致的情况,有可能对端会提前)进入Polling.Configuration状态,在收到8个TS1或者TS2的过程中,先完成bit/Symbol Lock。当状态机进入Polling.Configuration后开始发送16个带PAD信息的TS2,当接收到8个TS2时,进入configuration状态,在Polling Configuration状态下依靠接收到的8个TS2来完成需要的极性反转(Polarity inversion)功能。