By GRL Team on May 12, 2022

USB Power Delivery规范中的重置

   

Granite River Labs, GRL
陈世豪 Ryan Chen

 

在USB PD协议中,重置是对协议或其他错误情况触发时的必要响应方式,USB Power Delivery规范中也定义了四种类型的重置,此篇文章将分别介绍各种重置被触发的原因、特点、触发条件以及触发后对待测物与测试的影响,并且也会通过测试软件中实际测试的画面截图让大家更清楚整个重置流程与Vbus电压电流的响应。

 

USB Power Delivery规范定义的四种重置类型:

  • Soft Reset 软重置,是对协议层的重置
  • Data Reset 数据重置,是对数据汇流排和电缆的重置
  • Hard Reset 硬重置,是对电源和协议的重置
  • Cable Reset 电缆重置(SOP’/SOP”),是对电缆插头的重置
 

Soft Reset(软重置)

当协议通信以某种方式出错时,Soft_Reset消息将用于对协议层进行软重置,来纠正通信时协议层出现的错误。协议错误通常是指在AMS(注释1)中出现任何非预期的消息。值得注意的是,软重置的触发条件需要考虑以下两种情况:

  1. 若协议错误发生在可中断的AMS中,那么策略引擎不应触发软重置,而应将端口状态返回至PE_SNK_Ready/PE_SRC_Ready(注释2)状态,再进行后续的消息交互,若后续收到的是非预期的消息,那么策略引擎应触发软重置。
  2. 若协议错误发生在不可中断的AMS中,那么将触发软重置用于重新同步策略引擎状态机制;若此时的协议错误发生在电压转变时,那么应触发硬重置。

软重置的特点

  • 软重置不会中断电力传输
  • 在响应协议错误时,无论此时声明的Rp状态是SinkTxOk/SinkTxNG(注释3),都可以在AMS 期间发送Soft_Reset 消息
  • Soft_Reset 消息应使用特定的数据包起点SOP* 发送

軟重置對USB Power Delivery的影響

  • 物理层:物理层不重置,因为对于物理层而言,软重置发生在每个传输/ 接收的数据包中
  • 协议层:重置MessageIDCounter、RetryCounter和协议层状态
  • 策略引擎:通过建立明确的电源协议进行重置
    • 当在SPR(标准功率范围,即≤100W)模式下,Source发送Source_Capabilities
    • 当在EPR(扩展功率范围,即100W<PDP≤240W)模式下,Source发送EPR_Source_Capabilities
  • 电源:不改变状态

如下图所示的软重置交互过程中,在Rp声明状态为SinkTxOK时,软重置的发起方为Sink/UFP,此时UFP将其MessageID置0(同时重置其RetryCounter),接收方DFP在回复Accept消息的同时也会将消息栏位中MessageID置0,在完成软重置后,SPR(标准功率范围)模式下,Source/DFP会重新广播Source_Cap,并与Sink/UFP建立明确的电源协议。可以看出在整个软重置过程中,Vbus的电压及电流并未发生改变。

图1: SPR模式下Soft Reset交互流程

 

Data Reset(数据重置)

端口发出数据重置消息,重置其数据汇流排连接,并退出与其连接埠和电缆插头中的所有备用模式。对于彼此连接的两个埠之间,数据重置可以由任意一方发起。

数据重置对USB Power Delivery的影响

  • 不应改变埠的供电角色(Source/Sink)或数据角色(DFP/UFP)
  • 不应改变已建立的明确的电源协议
  • 将退出所有备用模式
  • 通过开启再关闭Vconn的电源重置电缆
  • DFP应成为Vconn供电方
  • 在数据重置过程完成之前,发送方和接收方均不得发起Vconn交换

数据重置流程概述

  1. DFP 中断相应的数据传输信号
    • 断开D+/D-信号对[USB 2.0]
    • 若此时处于[USB3.2]工作状态,则应断开Rx信号对
    • 若此时处于[USB4]工作状态,则应将端口的SBTX调整为低逻辑状态
  2. DFP和UFP都应退出所有的备用模式
  3. 通过开启再关闭Vconn的电源重置电缆
    • 若Vconn供电方为UFP,那么将按照以下方式执行Vconn回圈上电
      • UFP关闭Vconn并确保在tVconnZero(125ms)时间内,电压低于vRaReconnect(800mV)
      • 当Vconn低于800mV时,UFP应发送PS_RDY消息,注意:即使UFP不是Vconn供电方也需要发送PS_RDY消息
      • DFP应等待tVconnReapplied(10~20ms)后再打开Vconn。并且应在tVconnValid(5ms)时间内确保Vconn在vVconnValid(3~5.5V)范围内:

图2: Data Reset UFP Vconn 回圈上电(来源:USB Power Delivery Specification Revision 3.1, Version 1.3)

 
  • 若Vconn供电方为DFP,Vconn回圈上电时序与以上内容相同,唯一的差异在于在整个Data Reset交互中,不需要发送PS_RDY消息,可参考下图:

图3: Data Reset DFP VCONN Power Cycle(来源:USB Power Delivery Specification Revision 3.1, Version 1.3)

 
  • 最终DFP应作为Vconn供电方,退出Vconn Power Cycle流程
  • tDataReset(200~250ms)(注释4)后,DFP应重新连接[USB 2.0] D+/D-信号对;若工作在[USB3.2]/[USB4],则重新应用端口的Rx信号对
  • Data Reset过程完成;DFP应发送Data_Reset_Complete消息,两端口之间重新建立USB数据连接

若Data_Reset消息的发起者在tSenderResponse(24~30ms)内没有收到Accept消息,发起者将进入ErrorRecovery(错误恢复)(注释5)状态。

图4: DFP作为发起Data Reset交互流程(来源:USB Power Delivery Specification Revision 3.1, Version 1.3)

 

图5: UFP作为Vconn Source发起Data Reset交互流程(来源:USB Power Delivery Specification Revision 3.1, Version 1.3)

 

Hard Reset(硬重置)

硬重置触发后要求发送方与接收方的电源状态返回到预设状态。除此之外,端口合作伙伴各自的协议层也应该按照软重置方式进行重置。这允许连接的设备处于可以重新建立USB PD通信的状态。请注意,在硬重置过程中,Vbus 降至vSafe0V,Sink也不会将此视为断开连接,因为这是预期行为。

硬重置不会改变此时已经声明的Rp/Rd状态。若硬重置之前完成了Data Role Swap(数据角色转换),那么硬重置将要求连接的端口还原回初始的数据角色,即DFP对应Source,UFP对应Sink。当支持Vconn的情况下,硬重置应使初始声明为Source的端口提供Vconn,而作为Sink的端口则关闭Vconn。

硬重置将使得端口合作伙伴和电缆插头退出EPR(扩展的功率范围)模式和所有备用模式,通过下图来说明Vbus,Vconn响应硬重置信号的状态变化:

图6: Vbus 和Vconn响应Hard Reset过程中的变化状态(来源:USB Power Delivery Specification Revision 3.1, Version 1.3)

硬重置流程概述

  1. 当接收到硬重置信号后,Source端口需保持当前电压状态持续tPSHardReset(25~35ms)
  2. tPSHardReset时间过后
    •  Vbus电压降低要求:
      • 若当前电压(Old Voltage)高于vSafe5V(4.75V~5.5V),那么要求在tSafe5V(275ms)时间内Vbus降低至vSafe5V;并且在tSafe0V(650ms)时间内,Vbus从当前电压(Old Voltage)降低至vSafe0V(0V~0.8V)
      • 若当前电压在vSafe5V范围内,那么要求在tSafe0V(650ms)时间内,Vbus降低至vSafe0V(0V~0.8V)
    • Vconn电压降低要求:
      • 要求在tVconnDischarge(230ms)时间内,降低至vVconnDischarge(800mV)
  3. Vbus电压应保持在vSafe0V持续tSrcRecover(注释6),此后Source开始向Vbus供电以尝试重新与Sink建立连接,Vbus应在tSrcTurnOn(275ms)时间内内上升至vSafe5V;Vconn则应满足相对于Vbus达到vSafe5V的tVconnON(2ms)时间内,上电至vVconnValid(3V~5.5V) *tVconnDischarge/tVconnOn定义请参考[USB Type-C 2.1 Specification]

在下图中,可以看到待测设备(DUT)发起硬重置后的电源变化:电源协商中,Sink收到Source发出的Source_Cap后,Source未收到Sink发送出的Request消息时,Source会触发硬重置机制进行错误恢复。

图7: 在PD Merged测试中触发硬重置机制的测项日志(来源:USB Power Delivery Specification Revision 3.1, Version 1.3)

 

Cable Reset(电缆重置)

电缆重置只退出电缆插头中的所有备用模式。

电缆重置信号的发送方和接收方都应重置各自的协议层,DFP 必须在电缆重置之前提供Vconn,若Vconn已关闭,则DFP应在发出电缆重置信号之前打开Vconn。若发生Vconn交换并且Vconn供电方为UFP,那么DFP应执行Vconn交换,以便在发送电缆重置信号之前提供Vconn。需要注意的是,只有DFP可以发出电缆重置信号,且DFP应仅在明确的电源协议交互中发出电缆重置信号。

在下图中,测试仪器GRL-USB-PD-C2,发起电缆重置信号后,Cable回复的Discover ID ACK消息中,MessageID已置0,即协议层MessageIDCounter已重置,同时也可以看到在Cable Reset过程中电源没有变化。

图8: Emarker Cable在PD测试中响应Cable Reset测试日志(来源:USB Power Delivery Specification Revision 3.1, Version 1.3)

 

结论

以上简单介绍了四种重置的行为,大家可以通过文章中的介绍更清楚如何应对测试中发生的错误状况,进而帮助产品设计与后续改善。 GRL拥有丰富的USB与USB Power Delivery测试经验,除了此篇文章外,亦有关于USB Type-C PD角色与历代规格整理等文章,欲详细了解请阅读「USB Type-C Power Delivery 的角色交换功能」、「Power Delivery 的源起与规格」。若有任何不清楚或想深入了解的部分,欢迎与我们联系/technical-blog/application-notes-usbc-role-swap/。

 

注释

注释1:AMS(Atomic Message Sequence)原子消息序列,一个固定的消息序列。

注释2:PE_SNK_Ready State/PE_SRC_Ready State,该状态下PD Sink/PD Source处于稳定的电源运行状态,且没有任何正在进行的消息协商。

注释3:SinkTxOk/SinkTxNG,碰撞避免,PD3.0中Source可以调整Rp阻值宣称是否允许Sink主动发起AMS;若Rp值为3A@5V,那么允许Sink初始化AMS;若Rp值为1.5A@5V,Sink不允许主动发起AMS。

图9: PD3.0中定义了CC上通信时避免碰撞的Rp值(来源:USB Power Delivery Specification Revision 3.1, Version 1.3)

注释4:tDataReset时间判定范围,DFP应该再tDataReset时间内完成数据重置,而对于该计时器的截止时间点判定有以下两种情况:

  • 当DFP发起Data_Reset消息时,截止于响应Accept消息的GoodCRC末尾比特位。
  • 当UFP发起Data_Reset消息时,截止于Accept消息末尾比特位元。

注释5:ErrorRecovery(错误恢复)状态,端口执行断开并重新连接。当USBType-C端口出现无法通过硬重置恢复错误时,将进入ErrorRecovery(错误恢复)状态。

注释6:tSrcRecover,Source响应硬重置的恢复时间。

  • 在SPR 模式tSrcRecover 0.66~1s。
  • 在EPR 模式tSrcRecover 1.085~1.425s。
 

参考文献

  1. [Universal Serial Bus Type-C Cable and Connector Specification Release 2.1]
  2. [Universal Serial Bus Power Delivery Specification Rev3.1_Ver1.3]
 

作者

GRL 上海测试工程师陈世豪Ryan Chen

毕业于中国民航大学计算机科学与技术专业,负责USB-IF Power Delivery、Qualcomm Quick Charge认证测试及电源测试解决方案技术支持。

 

联系我们了解更多

本文件中规格特性及其说明若有修改恕不另行通知。

发布日期2022/05/12 AN-220512-TW

Published by GRL Team May 12, 2022

Related Post