? ? ? ? L0是PCIE設備正常工作的狀態,當設備鏈路處于非工作狀態可以跳轉大相應的低功耗狀態,L0s是一種可以快速恢復到L0的低功耗狀態;L1必須經過Reovery狀態才可以恢復到L0狀態;L2需要從Detect開始逐步進入到L0狀態。它們的恢復時間依次延長,與此對應便是降低功耗的等級越來越高。
1.?L0s
? ? ? ? L0s狀態下發送機和接收機分別有一個狀態機進行控制。RX狀態機主要包括Rx_L0s.entry,Rx_L0s.idle,Rx_L0s.FTS; TX狀態機主要包括Tx_L0s.entry,Tx_L0s.idle,Tx_L0s.FTS;
接收機:
- Rx_L0s.entry:等待一個超時時間T_tx_idle_min 后,便會跳轉Rx_L0s.idle。
- Rx_L0s.idle:如果任何lane檢測到退出電氣空閑,或者100ms 超時 with 接收機的電阻不滿足規范,且當前速度是8GT 及以上,便會跳轉到Rx_L0s.FTS。
- Rx_L0s.FTS:如果接收到特定的Order Set則會跳轉到L0, (SKP OS for 8b/10b,SDS for 128b/130b); 否則達到超時時間內需要退出至Recovery狀態更新N_FTS的值。
發送機:
- Tx_L0s.entry:發送機需要發送EIEOSQ,等待一個超時時間T_tx_idle_min 后,便會跳轉Rx_L0s.idle。此時要求DC 共模電壓符合協議規范,接口電路需要保持active狀態。
- Tx_L0s.idle:無條件跳轉到Tx_L0s.FTS。
- Tx_L0s.FTS:此階段需要發送用于link partner 完成bit or symbole鎖定的FTS序列,發送結束后便會跳轉到L0狀態。8b/10b需要在發送FTS之前發送4~8個EIE,發送FTS后在發送一個SKP; 128b/130b要求在發送FTS之前發送EIEOS,發送FTS之后需要先發送EIEOS 在發送一個SDS。
2. L1
? ? ? ? L1主要包括L1.entry,L1.Idle兩個狀態,
????????在L1.entry狀態下,設備的DC共模電壓需要維持在協議規范之內,在達到T_tx_idle_min超時后跳轉到L1.idle狀態。?
????????在L2.idle狀態下,當任意lane檢測到退出電氣空閑或者被directed 后,退出至Recovery狀態,(這要求在該狀態至少持續40ns,原因是保證空閑檢測電路可以正常工作);另外如果達到100ms超時后with?接收機的電阻不滿足規范,且當前速度是8GT 及以上,此時也會跳轉到Reovery狀態。
3. L2
? ? ? ? L2狀態時更深層次的低功耗狀態,此時main power 跟PLL以及移除。主要分為L2.idle,L2.Transmitwake。
? ? ? ? 在L2.idle狀態下,協議規定設備的DC共模電壓不需要維持在協議規范之內,需要在1ms內完成端口電阻的調節使其符合規范,所有的Receiver必須等待T_tx_idle_min事件后才可以捕捉時候退出電氣空閑狀態。
For Downstream Port:對于RC來說 如果捕捉到喚醒信號Beacon,或者被top Directed,則會退出至Detect狀態(要求退出至Detect之前,Main power需要恢復)。對于Switch 的lane0 以及其他通道的DSP端口收到Beacon時,它需要指示其本地USP 進入L2.TransmitWake狀態向上一級發送Becaon喚醒信號。
For Upstream Port:如果any predetermined lane偵測到退出電氣空閑,則跳轉到Detect狀態,(此時如果設備時Switch ,此時他的DSP的需要跳轉達到Detect狀態)。 如果被指示進入發送喚醒信號Beacon則需要跳轉到L2.TransmitWake。
? ? ? ? 在L2.Transmitwake狀態下,它只支持USP端口,如果USP的接收機捕捉到了退出電氣空閑則需要跳轉到Detect狀態。