USB3-Link Layer_Flow Control, Error Recovery, and Power Management_3

Link Command Usage for Flow Control, Error Recovery, and Power Management

2、Link Power Management and Flow

   one port发送LGO_Ux Link Command请求进入low power state,other port发送LAU或者LXU来响应进入低功耗请求,port用LPMA响应LAU。

2.1 Power Management Link Timers

   Port有3个计时器用于link层电源管理:

  • PM_LC_TIMER : port用于发送进入low power state请求,port发送完LGO_Ux的最后一个symbol使能计时器,接收到LAU/LXU的最后一个symbol,禁能计时器并重新置位。
  • PM_ENTRY_TIMER : port用于接收low power请求,port发送完LAU最后一个symbol使能计时器,接收到LPMA的最后一个symbol或者检测到TS1 OS,禁能并重置计时器。如果LPMA损坏,port的接收端在计时器溢出前清除bit-lock ,直到计时器溢出进入Recovery状态。
  • LUx_EXIT_TIMER : port用于退出U1/U2状态,port开始发送LFPS Exit handshake signal使能计时器,进入U0状态后禁能且重置计时器。
  • 在这里插入图片描述

2.2 Low Power Link State Initiation

  • Port发送low power请求(LGO_Ux)需要满足以下所有条件:
      a、接收到的使用packet都使用LGOOD_n和LCRDn_x响应;
      b、所有发送的packet都接收到LGOOD_n和LCRDn_x响应;
      c、发送端没有需要发送的packets;
      d、进入U0状态后,完成了the Header Sequence Number Advertisement和(Type 1/Type 2 Rx )Buffer Credit Advertisements;port即接收到另一个port的Advertisement,也要发送Advertisement给另一个port
      e、由更高层引导进入;
      f、link层满足引导条件;
  • Port响应LGO_U1或者LGO_U2:
      a、如果Force Link PM Accept field被Set Link Function LMP置位,发送LAU;
      b、port满足以下所有条件,发送LAU:
       (1)、接收到的使用packet都使用LGOOD_n和LCRDn_x响应;
       (2)、所有发送的packet都接收到LGOOD_n和LCRDn_x响应;
       (3)、发送端没有需要发送的packets;
       (4)、更高层的Layer没有拒绝;
      c、其余情况下发送LXU;

2.3 U1/U2 Entry Flow

  (1)、port(请求port)发送LGO_U1 or LGO_U2,请求进入low power link state,使能PM_LC_TIMER计时器;low power request发送后不再发送其他packet,直到接收到LXU或者重新进入U0状态,但可以接收和处理 packets和link commands
  (2)、另一个port(接收port)可以发送LAU接收LGO_Ux同时使能PM_ENTRY_TIMER计时器,或者发送LXU拒绝LGO_Ux且保留在U0状态;
  (3)、如果PM_LC_TIMER超时,进入Recovery状态;
    如果请求port接收到LXU,停留在U0状态;
    如果请求port接收到LAU,发送LPMA并进入请求的low power 状态;
  (4)、如果接收port在PM_ENTRY_TIMER超时前接收到LPMA,进入请求的low power 状态;
    如果在PM_ENTRY_TIMER超时前检测到TS1 OS,进入Recovery状态;
    如果在PM_ENTRY_TIMER超时后检测到TS1 OS,进入请求的low power 状态;
  portz发送LPMA或者LAU后,不再发送任何packets、link commands
  port发送LAU后,在PM_ENTRY_TIMER超时前不会响应LFPS Ux_Exit signal
  port从U1进入U2的两个条件:1、U2 inactivity timer使能;2、U2 inactivity timer超时且没有接收到U1 LFPS exit signal

2.4 U3 Entry Flow

  仅下游端口可以引导进入U3状态,并且上游端口不能拒绝。
  (1)、downstream 发送LGO_U3,使能PM_LC_TIMER计时器,忽略所有upstream发送的packets;
  (2)、upstream发送LAU响应downstream,使能PM_ENTRY_TIMER计时器,没有响应的packets都被终止,停止发送任何packets、link command;
  (3)、如果downstream接收到LAU,响应LPMA并进入U3状态;
    如果PM_LC_TIMER超时,没有接收到LAU,并且port连续尝试进入U3状态的次数小于3,port进入Recovery状态,从Recovery退出到U0后重新引导进入U3;
    如过port连续尝试进入U3状态的次数等于3,进入eSS.Inactive状态;
  (4)、upstream接收到LPMA或者PM_ENTRY_TIMER也没有接收到LPMA,进入U3状态;

2.5 Concurrent Low Power Link Management Flow

  当downstream port和upstream port都请求进入low power状态时,遵循以下规则:

  • 如果downstream port发送LGO_U1/2/3,且接收到LGO_U1/2,发送LXU;
  • 如果upstream发送LGO_U1/2,且接收到LGO_U1/2,先等待downstream的LXU,在发送LXU或者LAU;
  • 如果upstream发送LGO_U1/2,且接收到LGO_U3,先等待downstream的LXU,在发送LAU;
  • 如果downstream在请求进入U1或者U2的过程中,高层的layer指示link进入U3,需要完成当前U1、U2流程,进入U1、U2状态后再退回到U0状态,在发起请求进入U3状态;

2.6 Concurrent Low Power Link Management and Recovery Flow

  当一个port发起low power请求,另一个port发起Recovery,遵循以下规则:

  • port发送LGO_Ux,接收到TS1 OS后进入Recovery状态;
  • 当port从Recovery状态退出到U0状态后,如果引导进入low power的请求仍然有效,重新引导进入;

2.7 Low Power Link State Exit Flow

  U1_MIN_RESIDENCY_TIMER : port发送LPMA(接收LPMA或者是PM_ENTRY_TIMER超时)到发送U1_LFPS_Exit signal的最小时间,仅用于U1状态

  • 如果port需要退出U1/U2、或者U3唤醒,发送LFPS Exit handshake signal,如果是退出U1/U2,使能Ux_EXIT_TIMER。U1/U2退出信号U1/U2 LFPS Exit handshake signal和U3唤醒信号U3 LFPS wakeup handshake signal是相同的,仅时间定义有差别。
  • 另一个port接收到LFPS Exit handshake signal,发送LFPS Exit handshake signal来响应;
  • tNoLFPSResponse超时前,LFPS handshake成功,port进入Recovery状态;
  • 如果U1/U2 Exit遇见以下任何条件,进入eSS.Inactive状态:
      a、tNoLFPSResponse超时;
      b、Ux_EXIT_TIMER超时,且port没有回到U0状态;
  • 如果是U3tNoLFPSResponse超时,会在100ms(最短时间)后再次引导U3唤醒;
  • 如果是root poot在tNoLFPSResponse超时前不会响应U3 LFPS wakeup handshake signal,那么port会在准备回到U0状态时主动引导U3唤醒;只能主动唤醒

                                        USB3-Link Layer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值