BOMwiki the bill-of-materials encyclopedia

Protocol Analyzer Product

Overview

A protocol analyzer is a hardware-software instrument for capturing, decoding, and analyzing digital communication transactions on embedded system buses. Rather than using an oscilloscope to view raw waveforms, engineers deploy a protocol analyzer to automatically decode low-level bit streams into high-level protocol messages, making it straightforward to identify communication errors, timing violations, and unexpected device behavior.

The instrument is critical for debugging embedded systems because modern microcontrollers communicate via complex protocols (I2C, SPI, CAN, USB) where visual interpretation of oscilloscope signals is tedious and error-prone. A protocol analyzer displays transactions as human-readable frames: an I2C START condition followed by a seven-bit slave address and a read/write bit, followed by data bytes and a STOP condition. Engineers immediately spot when a slave device is not acknowledging messages (ACK bit missing), when data is corrupted, or when the master is violating timing constraints.

Hardware Architecture

The [[protocol-analyzer-capture-probes|probe assembly]] connects to the target system via spring-loaded hooks on individual signal lines. Each of the eight [[protocol-analyzer-input-buffer|input buffers]] presents minimal capacitive loading (<20 pF) and restores logic levels before feeding the [[protocol-analyzer-timing-engine|timing engine]].

The [[protocol-analyzer-timing-engine|master clock]] generates sample times at a user-selectable rate (10–100 MHz). At each clock edge, all eight input channels are sampled simultaneously and stored into the [[protocol-analyzer-buffer-memory|dual-port SRAM capture buffer]]. The [[protocol-analyzer-timing-engine|trigger logic]] continuously monitors the incoming bit patterns, comparing them against user-defined trigger conditions. When a trigger event occurs (e.g., "start recording when I2C address 0x50 appears"), the [[protocol-analyzer-sequencer|sequencer]] may immediately stop recording or continue for a specified duration.

The [[protocol-analyzer-analysis-processor|analysis processor]] (implemented as an FPGA or specialized ASIC) decodes captured bit streams in real time. For I2C, the decoder recognizes START conditions (SDA goes low while SCL is high), extracts 7-bit addresses and read/write bits, decodes data bytes, and identifies ACK/NAK responses. Similar hardware decoders exist for SPI, CAN, UART, and other protocols. Decoded frames are queued in software-accessible memory and streamed to the host via [[protocol-analyzer-host-interface|USB or Ethernet]].

Trigger and Capture Modes

Simple edge-triggered capture records all transitions on any selected channel. More sophisticated modes include:

Pattern Matching: Trigger when a specific bit sequence appears on one or more channels. Example: "start recording when SPI MOSI line carries 0xA5."

Serial Protocol Trigger: Recognize protocol-specific events. Example: "trigger on I2C address 0x50 followed by write," enabling targeted capture of communication with a particular device.

State Machine: Complex trigger sequences allow conditional logic. Example: "start recording when CAN error frame detected, and stop 1000 bit periods later."

Qualifiers: Combine conditions with AND, OR, NOT logic. Example: "capture when CAN bus is active AND more than 10 ms has elapsed since the last frame."

Decoding and Analysis

Real-time decoding transforms bit streams into frames. For I2C, captured bits are grouped into protocol units (START, address byte, data byte, STOP). Each unit displays as:

''' 12.345 µs: I2C_START 12.410 µs: I2C_ADDR 0x50 (Read) 12.520 µs: I2C_ACK 12.630 µs: I2C_DATA 0xA5 12.740 µs: I2C_ACK 12.850 µs: I2C_STOP '''

The [[protocol-analyzer-software-license|PC analysis software]] searches frames by address, data content, error type, or timestamp. Engineers can identify communication patterns: "how many times was address 0x50 polled?" or "what was the average response time between master query and slave data?" Statistics and histograms reveal timing anomalies.

Multi-Protocol Capture

Modern embedded systems use multiple protocols simultaneously. A microcontroller may communicate with a sensor via I2C, a wireless module via SPI, and a CAN bus for vehicle integration. The protocol analyzer, with eight independent channels, can capture all three protocols concurrently with hardware-aligned timestamps. This enables end-to-end system debugging: "what I2C command was sent 2 ms before the CAN error frame?"

Protocol-aware triggers leverage this: "record I2C transactions to address 0x50 that occur within 100 µs of a CAN frame with error code 0x02."

Capture Buffer and Memory Depth

The [[protocol-analyzer-buffer-memory|8 Mbit SRAM]] stores 131,072 time points × 8 channels. At 100 MHz sample rate (10 ns per sample), this captures 1.31 milliseconds of activity—sufficient for short transactions but insufficient for multi-second interaction patterns. Lower sample rates extend capture window: at 1 MHz (1 µs per sample), the same memory stores 131 seconds of activity.

For longer captures, the [[protocol-analyzer-host-interface|USB 2.0 interface]] streams data at 480 Mbps to the PC, enabling continuous capture on disk. However, real-time processing is limited to the onboard memory, so engineers typically use a two-phase approach: (1) a short high-speed capture into SRAM to identify the moment of interest, then (2) a longer continuous disk capture with appropriate filtering to save disk space.

Signal Integrity and Measurement Accuracy

The 10 ns timing resolution at 100 MHz sampling is sufficient to measure I2C bit timing (standard I2C SCL period is >2.5 µs, 250× slower than the analyzer resolution). For SPI capture at 10 MHz clock, the analyzer samples at the same or slightly faster rate, accurately capturing both data and clock transitions.

However, timing jitter in the sample clock degrades accuracy over long observation windows. A 100 ppm crystal oscillator drifts <10 ns per millisecond, acceptable for most protocols but requiring correction if absolute timing across seconds is needed. The [[protocol-analyzer-timestamp-counter|64-bit timestamp counter]] provides a fallback: GPS or external reference signals synchronize the analyzer's clock for distributed system debugging.

Applications and Troubleshooting

Embedded System Development: A firmware engineer compiles the microcontroller code and tests the embedded software against the actual hardware. Unexpected behavior (sensor data not changing, actuator commands not executing) requires understanding the command stream. The protocol analyzer reveals whether commands are being sent correctly and whether sensor data is being received.

Peripheral Integration: Adding a new I2C temperature sensor to a system requires verifying the initialization sequence, confirming that temperature data is being read at the correct intervals, and diagnosing any timing violations (e.g., master holding SCL too long, violating I2C specifications).

CAN Bus Diagnostics: Automotive or industrial systems using CAN often experience intermittent failures. The protocol analyzer captures error frames, identifies the source node (based on CAN ID), and reveals whether the error is due to bit stuffing violations, checksum failures, or frame timing violations.

SPI Bandwidth Characterization: For systems pushing SPI to high speeds (25+ MHz), the analyzer captures all transactions with nanosecond accuracy, identifying setup-and-hold time violations or clock skew that a slower oscilloscope measurement would miss.

Build & assembly graph

expand / collapse · shared sub-assemblies converge · links to related products · est. labour
product / assembly shared across products atomic part related product

Tap an assembly to expand/collapse · tap a part to open it · use “Open page” for any node · drag to pan, scroll to zoom.

Bill of materials

8 top-level lines · 40 rows shown · 73 parts total · indented to 3 levels
# Item / sub-assembly Part no. Qty/assy Ext. qty Parts Type
1 Probe Assembly 5 parts protocol-analyzer-capture-probes 1 26 assembly
1.1 Test Point Probe protocol-analyzer-probe-connector 8 part
1.2 TTL Input Buffer protocol-analyzer-input-buffer 8 part
1.3 Switchable Terminator protocol-analyzer-terminator 8 part
1.4 Probe Shield Cage protocol-analyzer-shield-cage 1 part
1.5 Probe Cable Bundle protocol-analyzer-ribbon-cable 1 part
2 Timing and Trigger 4 parts protocol-analyzer-timing-engine 1 11 assembly
2.1 Sample Clock Oscillator protocol-analyzer-master-clock 1 part
2.2 Trigger Comparator protocol-analyzer-trigger-comparator 8 part
2.3 Trigger Sequencer protocol-analyzer-sequencer 1 part
2.4 64-Bit Timestamp protocol-analyzer-timestamp-counter 1 part
3 Capture Buffer 4 parts protocol-analyzer-buffer-memory 1 11 assembly
3.1 1 Mbit SRAM protocol-analyzer-sram-chip 8 part
3.2 DMA Engine protocol-analyzer-dma-controller 1 part
3.3 Address Multiplexer protocol-analyzer-address-mux 1 part
3.4 Arbitration Logic protocol-analyzer-memory-arbitration 1 part
4 Decode Processor 4 parts protocol-analyzer-analysis-processor 1 5 assembly
4.1 Programmable FPGA protocol-analyzer-fpga 1 part
4.2 LUT Memory protocol-analyzer-lookup-ram 2 part
4.3 Frame Formatter protocol-analyzer-frame-formatter 1 part
4.4 Filter Logic protocol-analyzer-filter-network 1 part
5 Host Communication 4 parts protocol-analyzer-host-interface 1 4 assembly
5.1 USB 2.0 Controller protocol-analyzer-usb-controller 1 part
5.2 Ethernet PHY protocol-analyzer-ethernet-phy 1 part
5.3 RJ45 Isolation Transformer protocol-analyzer-transformer-rj45 1 part
5.4 USB Type B Port protocol-analyzer-usb-connector 1 part
6 Power Distribution 6 parts protocol-analyzer-power-supply 1 9 assembly
6.1 Isolation Transformer protocol-analyzer-transformer 1 part
6.2 Rectifier Module protocol-analyzer-rectifier 2 part
6.3 3.3V Regulator protocol-analyzer-regulator-3v3 1 part
6.4 5V Regulator protocol-analyzer-regulator-5v 1 part
6.5 USB Power Module protocol-analyzer-usb-power 1 part
6.6 Filter Capacitor protocol-analyzer-filter-caps 3 part
7 Mechanical Assembly 5 parts protocol-analyzer-housing 1 6 assembly
7.1 Polycarbonate Enclosure protocol-analyzer-case-plastic 1 part
7.2 Hinged Protective Lid protocol-analyzer-lid 1 part
7.3 RF Shield Partition protocol-analyzer-shielding 2 part
7.4 Carrying Handle protocol-analyzer-handle 1 part
7.5 Fastener Set fastener-set 1 part
8 Analysis Software protocol-analyzer-software-license 1 part

Sourcing — likely vendors

Companies that make this · indicative price $1k–$500k · MOQ & lead are typical
VendorHQSpecialtyMOQLead time
thermofisher.com ↗ Waltham, US Lab instruments 100 units 10–18 wks
🇺🇸Agilent
agilent.com ↗
Santa Clara, US Analytical instruments 100 units 10–18 wks
🇺🇸Bruker
bruker.com ↗
Billerica, US Scientific instruments 100 units 10–18 wks
🇯🇵Shimadzu
shimadzu.com ↗
Kyoto, JP Analytical instruments 100 units 10–18 wks
🇺🇸Waters
waters.com ↗
Milford, US Chromatography & MS 100 units 10–18 wks

1,123-word article