目录
2.1.1 ErrorRecovery State Requirements
2.1.2 Exiting from ErrorRecovery State
2.2.1 Unattached.SNK Requirements
2.2.2 Exiting from Unattached.SNK State
2.3.1 AttachWait.SNK Requirements
2.3.2 Exiting from AttachWait.SNK State
2.4.1 Attached.SNK Requirements
2.4.2 Exiting from Attached.SNK State
2.5.1 Unattached.SRC Requirements
2.5.2 Exiting from Unattached.SRC State
2.6.1 AttachWait.SRC Requirements
2.6.2 Exiting from AttachWait.SRC State
2.7.1 Attached.SRC Requirements
2.7.2 Exiting from Attached.SRC State
2.8.1 UnattachedWait.SRC Requirements
2.8.2 Exiting from UnattachedWait.SRC State
1. Connection State Diagrams
This section provides reference connection state diagrams for CC-based behaviors.
2. Connection State Machine
2.1 ErrorRecovery State
The ErrorRecovery state is where the port removes the terminations from the CC1 and CC2 pins for tErrorRecovery followed by transitioning to the appropriate Unattached.SNK or Unattached.SRC state based on port type. This is the equivalent of forcing a detach event and looking for a new attach.
Ports that support the ErrorRecovery state shall transition to the ErrorRecovery state from
any other state when directed.
2.1.1 ErrorRecovery State Requirements
The port shall not drive VBUS or VCONN, and shall present a high-impedance to ground (above zOPEN) on its CC1 and CC2 pins.
2.1.2 Exiting from ErrorRecovery State
A Sink shall transition to Unattached.SNK after tErrorRecovery.
A Source shall transition to Unattached.SRC after tErrorRecovery.
2.2 Unattached.SNK State
When in the Unattached.SNK state, the port is waiting to detect the presence of a Source.
A port with a dead battery shall enter this state while unpowered.
2.2.1 Unattached.SNK Requirements
The port shall not drive VBUS or VCONN.
Both CC1 and CC2 pins shall be independently terminated to ground through Rd.
2.2.2 Exiting from Unattached.SNK State
If the port supports USB PD or accessories, the port shall transition to AttachWait.SNK when the SNK.Rp state is present on at least one of its CC pins.
2.3 AttachWait.SNK State
When in the AttachWait.SNK state, the port has detected the SNK.Rp state on at least one of its CC pins and is waiting for VBUS.
2.3.1 AttachWait.SNK Requirements
The port shall not drive VBUS or VCONN.
Both the CC1 and CC2 pins shall be independently terminated to ground through Rd.
2.3.2 Exiting from AttachWait.SNK State
A Sink shall transition to Unattached.SNK when the state of both the CC1 and CC2 pins is SNK.Open for at least tPDDebounce.
The port shall transition to Attached.SNK after the state of only one of the CC1 or CC2 pins is SNK.Rp for at least tCCDebounce and VBUS is detected. Note the Source may initiate USB PD communications which will cause brief periods of the SNK.Open state on one of the CC pins with the state of the other CC pin remaining SNK.Open, but this event will not exceed tPDDebounce.
2.4 Attached.SNK State
When in the Attached.SNK state, the port is attached and operating as a Sink. When the port initially enters this state it is also operating as a UFP. The power and data roles can be changed using USB PD commands.
2.4.1 Attached.SNK Requirements
If the port needs to determine the orientation of the connector, it shall do so only upon entry to this state by detecting which of the CC1 or CC2 pins is connected through the cable.
If the port has entered the Attached.SNK state from the AttachWait.SNK or TryWait.SNK states, only one the CC1 or CC2 pins will be in the SNK.Rp state. The port shall continue to terminate this CC pin to ground through Rd.
2.4.2 Exiting from Attached.SNK State
A port that is not a VCONN-Powered USB Device and is not in the process of a USB PD PR_Swap or a USB PD Hard Reset or a USB PD FR_Swap shall transition to Unattached.SNK within tSinkDisconnect when VBUS falls below vSinkDisconnect for VBUS operating at or below 5 V or below vSinkDisconnectPD when negotiated by USB PD to operate above 5 V.
A port that is monitoring the CC voltage for disconnect (but is not in the process of a USB PD PR_Swap or USB PD FR_Swap) shall transition to Unattached.SNK within tSinkDisconnect after the CC voltage remains below vRd-USB for tPDDebounce.
A VCONN-Powered USB Device shall return to Unattached.SNK when VBUS has fallen below vSinkDisconnect and VCONN has fallen below vVCONNDisconnect.
If supplying VCONN, the port shall cease to supply it within tVCONNOFF of exiting Attached.SNK.
2.5 Unattached.SRC State
When in the Unattached.SRC state, the port is waiting to detect the presence of a Sink or an Accessory.
2.5.1 Unattached.SRC Requirements
The port shall not drive VBUS or VCONN.
The port shall source current on both the CC1 and CC2 pins independently.
The port shall provide a separate Rp termination on the CC1 and CC2 pins.
2.5.2 Exiting from Unattached.SRC State
The port shall transition to AttachWait.SRC when:
• The SRC.Rd state is present on either the CC1 or CC2 pin or
• The SRC.Ra state is present on both the CC1 and CC2 pins.
Note: A cable without an attached device can be detected, when the SRC.Ra state is detected on one of the CC1 or CC2 pins and the other CC pin is SRC.Open. However in this case, the port shall not transition to AttachWait.SRC.
2.6 AttachWait.SRC State
The AttachWait.SRC state is used to ensure that the state of both of the CC1 and CC2 pins is stable after a Sink is connected.
2.6.1 AttachWait.SRC Requirements
The requirements for this state are identical to Unattached.SRC.
2.6.2 Exiting from AttachWait.SRC State
The port shall transition to Attached.SRC when VBUS is at vSafe0V and the SRC.Rd state is detected on exactly one of the CC1 or CC2 pins for at least tCCDebounce.
2.7 Attached.SRC State
When in the Attached.SRC state, the port is attached and operating as a Source. When the port initially enters this state it is also operating as a DFP. Subsequently, the initial power and data roles can be changed using USB PD commands.
2.7.1 Attached.SRC Requirements
If the port needs to determine the orientation of the connector, it shall do so only upon entry to the Attached.SRC state by detecting which of the CC1 or CC2 pins is connected through the cable, i.e., which CC pin is in the SRC.Rd state.
If the port has entered this state from the AttachWait.SRC state or the Try.SRC state, the SRC.Rd state will be on only one of the CC1 or CC2 pins. The port shall source current on this CC pin and monitor its state.
The port shall supply VBUS current at the level it advertises on Rp.
The port shall supply VBUS within tVBUSON of entering this state, and for as long as it is operating as a power source.
The port shall not initiate any USB PD communications until VBUS reaches vSafe5V.
If the port supplies VCONN, it shall do so within tVCONNON.
2.7.2 Exiting from Attached.SRC State
A Source that is supplying VCONN or has yielded VCONN source responsibility to the Sink through USB PD VCONN_Swap messaging shall transition to UnattachedWait.SRC when the SRC.Open state is detected on the monitored CC pin. The Source shall detect the SRC.Open state within tSRCDisconnect, but should detect it as quickly as possible.
A Source that is not supplying VCONN and has not yielded VCONN responsibility to the Sink through USB PD VCONN_Swap messaging shall transition to Unattached.SRC when the SRC.Open state is detected on the monitored CC pin. The Source shall detect the SRC.Open state within tSRCDisconnect, but should detect it as quickly as possible.
A port shall cease to supply VBUS within tVBUSOFF of exiting Attached.SRC.
2.8 UnattachedWait.SRC State
When in the UnattachedWait.SRC state, the port is discharging the CC pin that was providing VCONN in the previous Attached.SRC state.
2.8.1 UnattachedWait.SRC Requirements
The port shall not enable VBUS or VCONN.
The port shall complete the VCONN turn off initiated when leaving the previous Attached.SRC state.
The port shall continue to provide an Rp termination, on the CC pin not being discharged.
The port shall not provide an Rp termination on the CC pin being discharged.
The port shall provide an Rdch termination on the CC pin being discharged.
The port shall discharge the CC pin being discharged below vVCONNDischarge.
2.8.2 Exiting from UnattachedWait.SRC State
The port shall transition to Unattached.SRC when VCONN is below vVCONNDischarge.