I2C SPI USB CAN eSPI Cable Testing View All Videos Quick Start Guides Software Downloads App Notes White Papers User Manuals Knowledge Base Sales Support About Us
Products Blog Sales Support Contact Search
MDIO Sniffing and Emulation Using Total Phase Tools

Total Phase offers tools, including the Beagle I2C/SPI Protocol Analyzer and Promira Serial Platform, that can be used for MDIO sniffing and emulation purposes. Find out more about how these tools can used or configured to support your MDIO application.

MDIO Sniffing Using the Beagle I2C/SPI Protocol Analyzer


The Beagle I2C/SPI Protocol Analyzer can non-intrusively monitor MDIO traffic up to 2.5 MHz. This analyzer monitors clause 22 and clause 45 using Data Center Software version 2.20 or any version of the Beagle Software API.

Clause 22 and clause 45 are parts of the IEEE 802.3 specification. Clause 22 defines the MDIO communication basic frame format while Clause 45 supports low voltage devices down to 1.2V, and extends the frame format, providing access to more devices and registers.


Beagle I2C/SPI Protocol Analyzer

MDIO Signals

The MDIO bus has two signals: Management Data Clock (MDC) and Management Data Input/Output (MDIO).

MDIO has specific terminology to define the various devices on the bus. The device driving the MDIO bus is identified as the Station Management Entity (STA). The target devices that are being managed by the MDC are referred to as MDIO Manageable Devices (MMD).

The STA initiates all communication in MDIO and is responsible for driving the clock on MDC. MDC is specified to have a frequency of up to 2.5 MHz.

The Beagle MDIO signal, pin 8, is the management data input/output and is a bidirectional signal which is used to transfer data between the STA and the MMD. The Beagle MDC signal, pin 7, is the management data clock, which is a control line that is driven by the STA and synchronizes the flow of the data on the MDIO line. The Beagle analyzer’s signal level is 3.3V. To monitor a lower voltage MDIO bus, the Total Phase level shifter board can be used in your setup.

In order to properly capture MDIO signals, the sampling rate must be set properly. For MDIO monitoring, the minimum requirement for the sampling rate is twice the bus bit rate.

Data Center Software v2.20

The Data Center Software v2.20 offers cross-platform support for Windows, Mac OS, and Linux devices. Within the software, users can capture MDIO traffic in real time and perform filters on various data parameters including data pattern, address, register, type of clause, opcode, and more.

Example MDIO Capture 

Below are example MDIO traces captured in the Data Center Software v2.20:


MDIO Data Capture in “All” Tab


MDIO Data Capture in “MDIO” Tab


MDIO Data Capture in “MDIO” Tab Part 2



MDIO Data Filters


For more background on MDIO and MDIO sniffing using the Beagle I2C/SPI Protocol Analyzer, please reference the Beagle Protocol Analyzer User Manual Section 2.4 or other Knowledge Base Articles.


MDIO Emulation Using the Promira Serial Platform and API 


Our host adapter tools in general do not have explicit MDIO support. However, if users require a general-purpose device where each individual signal line can be controlled, the Promira Serial Platform licensed with the I2C Active - Level 1 or Level 2 Applications would suffice for this purpose.

MDIO Emulation Requirements

To emulate an MDIO master, users can do so over the SPI lines. To accomplish this, users would need a GPIO signal (or SPI signals) to be able to drive a clock signal (MDC, similar to a SPI clock) and a bidirectional line as an MDIO signal. It is also required that the signal levels are 2.5V.

Promira Software API for MDIO Emulation

Given the above requirements, we recommend our customers use the Promira Serial Platform which has an integrated IO level control for the 2.5V IO requirement. We suggest customers use the Promira Software API to develop a custom application that controls two GPIO pins, one as clock (MDC) and one as bidirectional data (MDIO) to emulate an MDIO master. Since this is all software driven, users will have no control over the length of the emulated clock low/clock high periods and can only control edge