Protocol Decoding

The ACTIVE-PRO software decodes protocols in two layers. Hardware-decoded protocols are framed by the FPGA inside the hardware pod, at full sample rate, before data is even sent to the PC. Software-decoded protocols are decoded by the host application from the captured logic or analog samples after they arrive.

On top of either layer, the PacketPresenter engine provides a third layer — application-level packet parsing with named fields, lookup tables, and graphing.


Assigning a Decoder to a Device Port

Open the Settings tab on the right-side panel. Each Active Debug Port device has its own decoder mode selector.

Active Debugger: One selector — AMode
ACTIVE-PRO and ACTIVE-PRO Ultra: Four selectors — AMode, BMode, CMode, DMode

Not all decoder modes are available on every port. SPI variants, LIN, DS101, and RS232 appear only in the AMode and CMode selectors. Ports B and D offer the full Active Debug Port, I2C, UART, EE101, CHSI, 1-Wire, and MDIO modes. The reason is hardware-level: LIN, DS101, and RS232 route through the analog input channels (CH1/CH2), which are only wired to ports A and C on the pod.

Select a mode from the drop-down. The waveform area updates immediately to show the appropriate channel rows for that port. To stop decoding on a port, set its mode to OFF.

Helpful Hint: To maximize capture performance, make sure that any channels not necessary for a trace are turned off.


Hardware-Decoded Protocols

These protocols are decoded by the FPGA at full sample rate. No host CPU is involved in framing — the FPGA sends complete decoded bytes to the PC.

Active Debug Port (2-Wire)

The recommended mode for the Active Debug Port. Uses a dedicated clock line and a data line. Data rate up to 80 Mbps. Compatible with the SPI peripheral on most microcontrollers.

Decoder mode: Active Debug Port (2-Wire)

With this mode selected, the device port shows named text channels and graphable value channels populated by your firmware's ACTIVE library calls. Channel names come from your firmware's ACTIVELabel() calls.

Active Debug Port (1-Wire UART)

Single-wire variant of the Active Debug Port. Uses your MCU's existing UART TX pin — no dedicated clock pin needed. Works at any baud rate that is an exact divisor of 30 MHz.

Decoder mode: Active Debug Port (1-Wire UART)

When to use: When you cannot spare a second GPIO pin for the clock signal, or when the only available debug output pin is a UART TX.

Active Debug Port (1-Wire SWV)

Active Debug Port data carried over the ARM Serial Wire Viewer (SWV/ITM) output — the dedicated debug output pin on ARM Cortex-M processors.

Decoder mode: Active Debug Port (1-Wire SWV)

When to use: On ARM Cortex-M targets where the SWV pin is available and you want to reserve all GPIO pins for other use.

I2C / SMBus

Decodes standard I2C and SMBus transactions. Displays the 7-bit address (R/W), data bytes, and ACK/NAK state for every transaction. SMBus devices operate correctly under the I2C decoder — no separate mode is needed.

Decoder mode: I2C

UART

The following UART decoder modes are available:

Decoder mode Description
UART 8,N,1 Standard 8-bit, no-parity, 1-stop-bit UART
UART 8,N,1 Inverted Inverted polarity — for RS-232 on single-ended logic pins
UART 9,N,1 9-bit UART used in multi-drop/address-mode networks
UART 9,N,1 Inverted Inverted 9-bit UART

Baud rate: Enter the baud rate in the settings field next to the mode selector. Set to 0 to enable automatic baud-rate detection. The Auto-Detect button measures the baud rate from the currently captured signal — click it after capturing with mode set to 0 and it fills in the detected rate. The Auto-Baud feature captures inputs for 1 second and computes the baud rate from the signal.

Tip: Auto-baud works well for standard rates (9600, 115200, etc.). For custom rates, enter the exact value for best results.

SPI

Decodes SPI bus transactions. Four variants cover the common SPI mode combinations:

Decoder Mode Chip Select Polarity Clock Active Edge
SPI (SS active low, SCK rising edge) Active low Rising
SPI (SS active low, SCK falling edge) Active low Falling
SPI (SS active high, SCK rising edge) Active high Rising
SPI (SS active high, SCK falling edge) Active high Falling

How to choose: Check your device's datasheet for CPOL (clock polarity) and CPHA (clock phase). Most common devices use SS active low and rising edge (SPI mode 0).

Note: You must have SS enabled in the channel settings for SPI chip-select events (SS Active, SS Inactive) to be generated. These events are used by PacketPresenter definitions to detect packet boundaries.

EE101 Debug Protocol

Decodes EE101 legacy debug protocol frames.

Decoder modes: EE101 (2-Wire) and EE101 (1-Wire)


Software-Decoded Protocols

These protocols are decoded in the host application from the logic or analog sample data captured during the capture session. They require the corresponding logic or analog channels to be enabled and capturing.

Available on: ACTIVE-PRO · ACTIVE-PRO Ultra (require logic or analog inputs)

1-Wire (Dallas/Maxim)

Decodes Dallas/Maxim 1-Wire bus transactions including ROM commands, function commands, and read/write data.

Decoder mode: 1-Wire

LIN Bus

Decodes LIN bus frames. Requires an analog input — connect the LIN bus signal to Analog CH1.

Decoder mode: LIN (connect to Analog CH1)

RS-232

Decodes RS-232 serial signals through the analog input channels. RS-232 uses inverted, bipolar signaling (typically ±12 V). Connect the RS-232 signal to Analog CH1 and CH2 (differential pair, if used).

Decoder mode: RS232 (connect to Analog CH1 and CH2)

MDIO

Decodes MDIO (Management Data Input/Output) transactions used for Ethernet PHY register access.

Decoder mode: MDIO

CHSI

Decodes the CHSI clock-plus-data protocol.

Decoder mode: CHSI

DS101

Decodes the DS101 protocol using analog inputs in differential configuration.

Decoder mode: DS101 (connect to Analog CH1 and CH2)


Decoder Settings Reference

Protocol Setting field Notes
UART (all variants) Baud rate (0 = auto-detect) Click Auto-Detect to measure from captured signal
I2C None needed Also handles SMBus devices
SPI None (mode is in the decoder selection) Choose the appropriate SPI variant
1-Wire, LIN, RS232, MDIO, CHSI, DS101 None

List Tab Display Format

Decoded bytes in the List tab can be shown in several formats. Right-click a column header in the List tab to change the display format for that port's column:

Format Example
Hex 0x41
Decimal 65
ASCII A
Binary 01000001
ASCII + Hex A (0x41)

This format setting is per-column and is saved in the capture file.


Waveform and List Synchronization

Clicking a decoded item in the waveform area scrolls the List tab to the corresponding row. Clicking a row in the List tab scrolls the waveform to that event's timestamp.

This bidirectional synchronization is always active — you never need to do anything to enable it. It is especially useful when you have a long bus trace and need to correlate specific events between the visual waveform display and the numeric/text data in the list.

Previous
Previous

Export and File Operations

Next
Next

PacketPresenter