Guide de protocole

USB Power Delivery 3.1 Protocol Testing Guide

Cet article est actuellement disponible en anglais uniquement. Traduction à venir.

USB Power Delivery (PD) 3.1 has become the universal standard for negotiated power over USB Type-C connections. With Extended Power Range (EPR) supporting up to 240W (48V / 5A), the protocol now covers everything from smartphone charging to laptop docking stations and even some industrial equipment. Testing PD negotiations correctly is essential for product reliability, safety compliance, and interoperability.

USB PD 3.1 Architecture Overview

USB PD communication happens over the CC (Configuration Channel) line of the USB Type-C connector. Unlike high-speed USB data which uses differential pairs, PD messaging uses a single-wire half-duplex protocol with Biphase Mark Coding (BMC) at a base rate of 300 kbaud.

The PD 3.1 specification defines two power ranges:

  • Standard Power Range (SPR): Voltages of 5V, 9V, 15V, and 20V with currents up to 5A, maxing out at 100W. This is the range most existing PD devices support.
  • Extended Power Range (EPR): Adds 28V, 36V, and 48V levels, pushing the ceiling to 240W. EPR requires explicit negotiation and a special Adjustable Voltage Supply (AVS) mode for fine-grained voltage control.

A PD transaction consists of structured messages built from a preamble, Start of Packet (SOP), message header, data objects, and a CRC-32. Source Capabilities, Request, Accept, PS_RDY, and other message types form the negotiation handshake.

CC Line Communication and BMC Encoding

BMC encoding represents each bit using transitions within a bit period. A logic 1 produces a mid-bit transition, while a logic 0 has no mid-bit transition, though every bit boundary has a transition regardless. This self-clocking scheme means you do not need a separate clock line to decode PD traffic.

To capture BMC-encoded PD messages on an Acute instrument, connect a probe to the CC line (CC1 or CC2, depending on cable orientation) and ground. The signal swings between roughly 0V and 1.2V during communication, riding on top of a DC bias that indicates the initial connection state (Rp/Rd detection). Set your trigger threshold to approximately 600mV to reliably capture transitions.

Capturing PD Negotiations with Acute Instruments

The TravelBus and MSO3000 are particularly well-suited for PD analysis because they combine analog and digital capture. The analog channels let you verify voltage levels and BMC signal integrity, while the protocol decoder translates raw transitions into human-readable PD messages.

Basic Capture Setup

  1. Probe connection: Attach an analog probe to the CC line and ensure a solid ground connection close to the connector. Keep probe ground leads short to minimize ringing on the BMC signal edges.
  2. Timebase and sample rate: PD communication at 300 kbaud means each bit is approximately 3.33 microseconds. Set your sample rate to at least 12 MS/s to get adequate oversampling. For signal integrity analysis of the BMC waveform, 50 MS/s or higher is recommended.
  3. Trigger configuration: Use the PD protocol trigger to start capture on a specific message type. Triggering on Source_Capabilities is the most common starting point, as it marks the beginning of a negotiation sequence.
  4. Decoder setup: Select USB PD from the protocol decoder menu. Configure the CC line channel assignment, and the decoder will parse all captured PD messages into structured fields.

Decoding Power Contracts

Once you capture a negotiation sequence, the decoder displays each message in order. A typical successful negotiation looks like this:

  1. Source_Capabilities from the power source, listing all supported Power Data Objects (PDOs). Each PDO specifies a voltage and maximum current. EPR PDOs are listed separately and require the sink to explicitly enter EPR mode.
  2. Request from the sink, referencing a specific PDO by index and indicating the desired operating current.
  3. Accept from the source, confirming it can fulfill the request.
  4. PS_RDY from the source, indicating the power supply output has stabilized at the requested voltage.

For EPR negotiations, additional messages are exchanged: the sink sends an EPR_Mode message, and the source responds with EPR source capabilities that include the higher voltage PDOs.

Common PD Failure Modes

Contract Failure

If a source cannot deliver a requested PDO, or if the sink requests an invalid PDO index, a Reject message is sent. Repeated contract failures often indicate a firmware bug in PDO construction or request logic. Look for mismatches between advertised PDOs and what the sink requests.

Hard Reset

A Hard Reset is the PD equivalent of pulling the plug and starting over. It occurs when message CRC checks fail repeatedly, when required responses time out (the SenderResponseTimer is 27ms), or when voltage negotiation enters an unrecoverable state. Hard Resets are signaled on the CC line as a distinctive low-frequency pattern that the decoder flags automatically.

Frequent Hard Resets in a capture indicate a serious interoperability problem. Check for BMC signal integrity issues first, as noisy CC lines cause CRC failures that cascade into resets.

Soft Reset

Less severe than a Hard Reset, a Soft Reset re-initializes the PD message counters without cutting power. These often appear when message ID tracking gets out of sync between source and sink, sometimes caused by missed messages on a noisy CC line.

Compliance Testing Basics

USB-IF compliance testing for PD requires verifying timing parameters, message formatting, and power delivery behavior against the specification. Key areas to validate with your Acute instrument include:

  • Timer compliance: Measure the interval between Source_Capabilities and Request, between Accept and PS_RDY, and other timing-critical transitions. The specification defines minimum and maximum values for each timer.
  • Message formatting: Verify that message headers, data objects, and CRC values are constructed correctly. The protocol decoder flags malformed messages automatically.
  • Voltage transition timing: Using the analog channels of a TravelBus or MSO3000, measure how quickly the power rail transitions between voltage levels during a contract change. The PD specification requires the transition to complete within tSrcTransition (typically 275ms maximum).
  • VBUS voltage accuracy: Simultaneously capture the CC line negotiation and the VBUS voltage to verify the source delivers the correct voltage. Use the MSO3000’s analog channels to measure VBUS while decoding PD on the digital channels.

Tips for Efficient PD Debug

When chasing a PD interoperability problem, capture the full negotiation from cable insertion through final PS_RDY. Many issues only appear during the initial connection sequence and are missed if you trigger too late. Use streaming mode on the TravelLogic or LA4000 for long-duration captures when the failure is intermittent, and filter the decoded results by message type to quickly locate the point of failure.

Besoin d'aide pour choisir le bon instrument ?

Notre équipe d'ingénieurs peut vous aider à trouver la meilleure solution pour votre application. Contactez-nous pour une recommandation personnalisée ou pour planifier une démo.