top of page

MDIO 匯流排 Clause22/45 模式比較、與 Logic Analyzer 除錯實務

  • 17小时前
  • 讀畢需時 5 分鐘

《 快速進入本文重點 》


什麼是 MDIO 串列匯流排協定(硬體通訊協定)


MDIO 是一種用於乙太網路標準的序列匯流排協定,主要用於連接媒體存取控制層(MAC)裝置與實體層(PHY)電路。廣泛應用於具備乙太網路介面的汽車製造(100Base-T1 與 10Base-T1S 等汽車乙太網路標準)、工業裝置網路設備製造(PHY 的傳輸速度、雙工模式及自動協商)、消費電子產品(如家用路由器、電腦主機板)中。


MDIO 匯流排有兩個訊號:管理資料時脈(MDC)和管理資料輸入/輸出(MDIO)

MDIO 使用特定的術語來定義總線上的各種設備。驅動 MDIO 匯流排的設備稱為站點管理實體(STA)。由 MDC 管理的目標裝置 Slave 稱為 MDIO 可管理裝置(MMD)。由 STA 發起 MDIO 中的所有通信,並負責驅動 MDC 上的時鐘。 MDC 的頻率最高可達 2.5 MHz。


MDIO 串列匯流排協定
▲ MDIO 串列匯流排協定


MDIO 兩種模式:Clause 22 與 Clause 45


MDIO 根據 IEEE802.3,最初在 IEEE 802.3 的 Clause 22 中定義,後來為了滿足 10 Gigabit 乙太網路及更高性能裝置的需求,引入了 Clause 45 規範。兩者差別如下:



Clause 22

Clause 45

暫存器存取能力 (Addressing Capability)

使用 5 位元的暫存器位址 ,每個PHY 裝置能支援 32 個暫存器

使用 16 位元的暫存器位址 ,每個PHY 裝置能支援 64000以上

支援電壓 (Voltage Specification)

5V

1.2V~5V

存取週期設定 (Access cycle)

採單一週期存取,在同一個幀(Frame)中同時指定位址,執行讀取或寫入數據

雙週期存取。首先發送一個「位址幀」來指定目標裝置與暫存器,接著再發送第二個幀來執行實際的讀取或寫入操作

起始位元 (Start Bits, ST)

01

00

操作碼 (Opcode, OP)

01(寫入)、10(讀取)

00(位址)、01(寫入)、11(讀取)以及 10(增量讀取)

相容性

/

Clause 45 具備向下相容性,允許使用 Clause 45 的裝置與使用 Clause 22 的裝置進行通訊



MDIO 匯流排的分析與除錯


MDIO 可使用示波器(Oscilloscope)或邏輯分析儀(Logic analyzer)進行分析,但這兩者的擅長的部份不太相同,示波器主要用於訊號完整性(Signal Integrity)分析與底層電氣驗證;邏輯分析儀則著重於多個協定擷取長時間的數據監測。使用邏輯分析儀或專用的協定分析儀分析 MDIO 至 PHY 層的過程,主要集中在監測管理單元(MAC)如何透過序列匯流排配置與監控實體層晶片的狀態。


Saleae Logic Pro 連接觸發教學
▲ MDIO analysis by Saleae Logic Pro


使用 Saleae Logic Analyzer 進行 MDIO 取樣分析


〈Saleae Logic Analyzer〉支援超過 20 種通訊協定解碼,包括 I2C、I3C、SPI、MDIO、SMBus、UART、CAN、USB、SWD、Modbus……等,提供最高 500 MS/s 數位取樣率與 50 MS/s 類比取樣率。使用 Saleae Logic Analyzer 分析及除錯 MDIO 匯流排,可以以下步驟進行硬體連接、軟體設定與協定分析:


Saleae 邏輯分析儀 Logic Analyzer


1. 硬體連接設定


  • 連接訊號線: 將 MDIO 系統的兩條核心訊號線 MDC、MDIO 連接至 Saleae 的數位輸入通道(例如 Channel 0 和 1)。


  • 共地(Common Ground): Saleae 的 GND 引腳與待測物的地線連接,以確保訊號讀取正確。


  • 設置電壓門檻(Voltage Threshold): 在軟體中根據 MDIO 標準選擇正確的門檻電壓。例如 Clause 22 常見為 3.3~5V,而 Clause 45 則支援低至 1.2V 的低電壓設備。


Saleae 邏輯分析儀  分析前設置電壓
▲ 設置電壓

一開始硬體設定的方法,可在以下這支影片觀看:




2. 軟體擷取設定


  • 取樣率設定: 根據 Nyquist 採樣定理,數位訊號的取樣率應至少為訊號頻率的 4 倍。MDIO 的 MDC 頻率最高通常為 2.5 MHz,因此建議將取樣率設定在 10 MSPS 或更高


  • ※ 若採用「類比訊號取樣率」觀察訊號細節:建議使用最高 50 MSPS


  • ※ 若需要觀察訊號的電氣特性(如電壓位準不穩或細微的時序問題),建議同時開啟類比通道並設定為最大頻寬 50 MSPS,以看更細緻的訊號特徵。


MDIO analysis by Saleae Logic Analyzer
▲ MDIO analysis by Saleae Logic Analyzer


3. 啟用 Logic2 軟體開始 MDIO 協定解碼


  • 加入分析儀: 在 Saleae Logic 軟體右側的「Analyzers」面板點擊「+」,從支援的 20 多種協定中選擇 MDIO。


  • 指派通道: 在設定視窗中,正確指派哪一個通道連接了 MDC,哪一個連接了 MDIO。


  • 即時解碼: 軟體會自動將波形轉換為可讀的欄位,包括 Preamble、Start of Frame、OP Code(讀/寫)、PHY Address(實體位址)、Register Address(暫存器位址)及 STA Write Data & MMD Read Data 數據內容。


Saleae Logic Analyzer 連接設定 - MDIO
Saleae Logic Analyzer 連接設定 - MDIO


4. 分析與除錯技巧


  • 時序驗證(Timing Analysis):

    • 利用時序標記(Timing Markers)測量建立時間(Setup Time)與保持時間(Hold Time)。標準要求在 MDC 上升沿前後,MDIO 訊號應各保持穩定至少 10ns。

    • 若 PHY 驅動 MDIO,訊號應在時鐘上升沿後 0 至 300ns 之間提供。


  • 搜尋與過濾: 在「Decoded Protocols」視窗中,可輸入特定的 PHY 位址(如 0x01)或數據,快速跳轉到要查找的封包位置。


  • 排除硬體問題:

    • 如果 MAC 嘗試存取不存在的 PHY 位址,TA(Turnaround)欄位後的數值會持續保持高電位,這是常見的定址錯誤訊號。

    • 建議同時開啟模擬(Analog)紀錄功能(最高可達 50 MSPS),以觀察訊號是否存在過大(Overshoot)或電壓位準不穩定的底層電氣問題。


設定時序標記
▲ 設定時序標記
在「Decoded Protocols」查找特定的 PHY 位址
▲ 在「Decoded Protocols」查找特定的 PHY 位址


使用 Saleae Logic Analyzer,快速完成 MDIO 訊號分析與除錯


MDIO 是乙太網路系統中不可或缺的管理介面,從家用網路設備、工業控制,到車載乙太網路(Automotive Ethernet)皆可見其應用。當工程師需要驗證 MAC 與 PHY 之間的管理通訊、檢查暫存器存取是否正確,或排除 PHY 初始化、自動協商(Auto-Negotiation)及鏈路建立(Link Training)等問題時,快速且精確的協定分析工具便成為開發與除錯的重要助手。


相較於僅能觀察波形的量測方式,Saleae Logic Analyzer 可直接將 MDIO 波形解碼為可閱讀的協定內容,包括 PHY Address、Register Address、Opcode、Turnaround(TA)及 Data 等欄位,同時支援長時間擷取、搜尋、過濾與匯出資料,大幅提升除錯效率。


翔宇科技代理 Saleae Logic Analyzer 系列產品,若您有 MDIO、I²C、SPI、UART、CAN、USB、SMBus、SWD 等序列匯流排分析需求,歡迎與翔宇科技聯絡,我們可協助您選擇合適的邏輯分析儀,並提供產品規劃、技術諮詢與應用支援,協助您更有效率完成嵌入式系統與乙太網路裝置的開發及除錯工作。

 MDIO、I²C、SPI、UART、CAN、USB、SMBus、SWD  Logic Analyzer


參考資料:



Eagletek 翔宇科技獨家代理 Saleae 邏輯分析儀






歡迎 訂閱翔宇科技主題式電子報 >,您將可同步掌握最新的產業新訊以及技術文章。
bottom of page