1. Knowledge Base
  2. Test Solutions
  3. GRL-USB-PD-C2 / C2-EPR Automation Test Browser Application

EPR Source & Sink Protocol Flow with GRL-USB-PD-C2-EPR

Overview

This article describes the EPR protocol flow with respect to the compliance test
specification using the GRL-USB-PD-C2-EPR Browser Application for the Source (SRC) and Sink (SNK) DUT's.

EPR Protocol Flow for the SRC DUT

  1. During the initial BringUP.Procedure, the DUT initiates the SRC_Capability message and the GRL-USB-PD-C2-EPR tester hardware checks whether the Bit[23]:EPR mode Capable bit is set to 1 or not.
    BringUP.Procedure_EPR Protocol Flow_SRC DUT_GRL-USB-PD-C2-EPR tester hardware_set to 1
  2. The SRC_DUT and GRL-USB-PD-C2-EPR tester hardware then establish an explicit PDC contract.
    The EPR Entry processes the DUT as a Source:
    • The GRL-USB-PD-C2-EPR tester hardware initiates the EPR_Enter Mode Data Object with the Action field set to 1 and the DATA field set to 140W.
      EPR_Enter Mode Data Object_Action field set_GRL-USB-PD-C2-EPR Tester
    • The SRC_DUT responds with the EPR_Enter_Acknowledged Mode Data Object message with the Action field set to 2.
      SRC_DUT_EPR_Enter_Acknowledged Mode Data Object_Action field set to 2
    • The SRC_DUT initiates the Vendor_DISC_ID message in the SOP1 packet where the GRL-USB-PD-C2-EPR tester hardware is responding with the DISC_ACK message as follows:
      SRC_DUT_Vendor_DISC_ID_SOP1_GRL-USB-PD-C2-EPR_DISC_ACK
      1. Bit[6:5]: VBus_Current handling_Capacity is set to 5A
      2. Bit[10:9]: Maximum VBUS voltage is set to 50A
      3. Bit[17]: EPR mode capable bit is set to 1
    • The SRC_DUT initiates the EPR_Successed mode data object with the Action field set to 3.
      SRC_DUT_EPR_Successed mode data object_Action field set 3
    • The SRC_DUT initiates the EPR_SRC_Capability message with the supported PDOs. If the SRC_DUT does not initiate all the SRC_Supported PDOs in its SRC_Cap message, the GRL-USB-PD-C2-EPR tester hardware sends the EPR_SRC_Capability message with the Chunk_request message in order to obtain all SRC_Supported PDOs (including EPR_PDOs).
      The SRC_DUT then initiates the EPR_SRC_Capability message with all supported PDOs.
    • Now the SRC_DUT and GRL-USB-PD-C2-EPR tester hardware establish EPR negotiation using the COMMON.PROC.PD3.2.
      SRC_DUT_GRL-USB-PD-C2-EPR tester hardware_EPR negotiation_Common.PROC.PD3.2
      • COMMON.PROC.PD3.2:-
          1. The GRL-USB-PD-C2-EPR tester hardware is sending the EPR_Request message as follows:
            Object Position
            i. For EPR_Source_Cap message with no EPR PDO, Object Position = 001b
            ii. For EPR_Source_Cap message with EPR PDOs, Object Position = 1000b
            B27 (GiveBack Flag) = 0b
            B26 (Capability Mismatch) = 1b
            B25 (USB Communication Capable) = 0b
            B24 (No USB Suspend) = 1b
            B19…10 (Operating Current) = 100mA
            B9…0 (Maximum Operating Current) = 100mA
            GRL-USB-PD-C2-EPR tester hardware_sending EPR_Request_Object position
          2. The SRC_DUT initiates the ACCEPT message.
          3. The GRL-USB-PD-C2-EPR tester hardware checks that the PS_RDY message is received from the DUT within the tPSTransition(1020ms) max from the last bit of the EOP of the Accept message.
            tPSTransition_1020ms_EOP_PS_RDY_GRL-USB-PD-C2-EPR
          4. The GRL-USB-PD-C2-EPR tester hardware sends the EPR_KeepAlive message for every tSinkEPRKeepAlive max (500ms).
          5. The GRL-USB-PD-C2-EPR tester hardware checks that the DUT responds with EPR_KeepAlive_Ack.

Note: The EPR_KeepAlive message indicates that both the DUT and GRL-USB-PD-C2-EPR tester hardware are engaging in the EPR contract.

EPR Source & Sink Protocol Flow_EPR_KeepAlive_SRC_DUT

The SRC_DUT can initiate the EPR_Exit mode data object with the Action field set to 5 in order to exit from the EPR_Negotiation or otherwise the GRL-USB-PD-C2-EPR tester hardware can initiate the EPR_Exit mode data object with the Action field set to 5.

EPR Source & Sink Protocol Flow_SRC_Cap message_tFirstSourceCap

The SRC_DUT sends the SRC_Cap message within tFirstSourceCap (250ms) as an
acknowledgment to the EPR_Mode (Exit) message.
The SRC_DUT performs the SPR negotiation using COMMON.PROC.PD.10 as follows:

    1. The GRL-USB-PD-C2-EPR tester hardware sends a Request message for 5V at 100mA.
      1. B30 (Object Position) = 001b
      2. B27 (GiveBack Flag) = 0b
      3. B26 (Capability Mismatch) = 1b
      4. B25 (USB Communication Capable) = 0b
      5. B24 (No USB Suspend) = 1b
      6. B19…10 (Operating Current) = 100mA
      7. B9…0 (Maximum Operating Current) = 100mA
        GRL-USB-PD-C2-EPR tester_Request message_5V at 100mA
    2. The check Fails if an Accept message is not received.
    3. The check Fails if the PS_RDY message is not received within tPSTransition(550ms) max from the last bit of the EOP of the Accept message.

EPR Protocol Flow for the SNK DUT

  1. During the initial BringUp.Procedure, the SNK_DUT responds with the Request message for the SRC_Cap message by the GRL-USB-PD-C2-EPR tester hardware.
  2. The GRL-USB-PD-C2-EPR tester hardware checks that Bit[22]:EPRModeCapable is set to 1.

The EPR Entry processes the DUT as a Sink:

  1. The SNK_DUT initiates the EPR_Enter Mode Data Object with the Action field set to 1.
    EPR Source & Sink Protocol Flow_SNK_DUT initiates_EPR_Enter Mode Data Object
  2. The GRL-USB-PD-C2-EPR tester hardware as a SRC responds with the EPR_Enter_Acknowledged Mode Data Object message with the Action field set to 2.
    EPR Source & Sink Protocol Flow_SRC response
  3. The GRL-USB-PD-C2-EPR tester hardware sends the EPR_Enter Successed Mode message with Action field set to 0x03(Enter_Succeeded) and Data field set to 0x0 within tEnterEPR (450ms) minimum from the EPR_Mode(Enter) message.
    GRL-USB-PD-C2-EPR tester_EPR_Enter Successed Mode_tEnterEPR_Action field set
  4. The GRL-USB-PD-C2-EPR tester hardware sends the EPR_Source_Capabilities message after 50ms from the last bit of the GoodCRC message acknowledging the EPR_Mode (Enter_Succeeded) message and establishes EPR contract using common procedure COMMON.PROC.PD3.3 from Step 2.
    GRL-USB-PD-C2-EPR tester_EPR_Source_Capabilities_GoodCRC_COMMON.PROC.PD3.3
  5. The GRL-USB-PD-C2-EPR tester hardware sends the EPR_Source_Capabilities message that contains eight PDO’s and one PDO (140W AVS_APDO).
  6. The check Fails if the DUT does not respond with an EPR_Request message.
  7. The GRL-USB-PD-C2-EPR tester hardware responds with an Accept message to the EPR_Request message.
  8. If the VBUS voltage is stable within the target voltage, the GRL-USB-PD-C2-EPR tester hardware sends a PS_RDY message at tPSTransition.EPRMode (830ms) min after the reception of the Accept message.
    GRL-USB-PD-C2-EPR tester_VBUS voltage_PS_RDY_tPSTransition.EPRMode
  9. The DUT should send every single EPR_KeepAlive message in above step or else this
    check is updated as a warning.
    EPR Source & Sink Protocol Flow_send EPR_KeepAlive message_warning
  10. The GRL-USB-PD-C2-EPR tester hardware waits for 100ms for the DUT to initiate the EPR_EXIT Mode message with Action field set to 5 and Data field set to 0, or else the GRL-USB-PD-C2-EPR tester hardware sends the EPR_EXIT Mode message with Action field set to 5 and Data field set to 0.
  11. The GRL-USB-PD-C2-EPR tester hardware sends a SRC_Cap message with SPR_PDOs to exit from the EPR contract and checks whether or not the DUT is responded with a Request message.
  12. The GRL-USB-PD-C2-EPR tester hardware and SNK_UUT establish a SPR_contract negotiation using COMMON.PROC.PD.10.

TEST.PD.PS.EPR.SRC3.1 Multiple EPR Request Load Test:

The GRL-USB-PD-C2-EPR tester hardware draws the Load current from 0% to 100% to 0% with the step increment of 25% of Load current from the max current in the EPR_PDOs supported by the SRC_DUT, as shown in the following example:
TEST.PD.PS.EPR.SRC3.1 Multiple EPR Request Load Test_GRL-USB-PD-C2-EPR tester_EPR_PDOs

TEST.PD.PS.EPR.SRC3.2 PDO Transitions in EPR Mode:

The GRL-USB-PD-C2-EPR tester hardware requests different PDO's supported by the SRC_DUT based on the PDO transition table to check whether or not the SRC_DUT provides VBUS as expected, as shown in the following example:
TEST.PD.PS.EPR.SRC3.2 PDO Transitions_EPR Mode_SRC_DUT_VBUS_PDO Transition Table