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 兩種模式: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 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 匯流排,可以以下步驟進行硬體連接、軟體設定與協定分析:

1. 硬體連接設定
連接訊號線: 將 MDIO 系統的兩條核心訊號線 MDC、MDIO 連接至 Saleae 的數位輸入通道(例如 Channel 0 和 1)。
共地(Common Ground): 將 Saleae 的 GND 引腳與待測物的地線連接,以確保訊號讀取正確。
設置電壓門檻(Voltage Threshold): 在軟體中根據 MDIO 標準選擇正確的門檻電壓。例如 Clause 22 常見為 3.3~5V,而 Clause 45 則支援低至 1.2V 的低電壓設備。

一開始硬體設定的方法,可在以下這支影片觀看:
2. 軟體擷取設定
取樣率設定: 根據 Nyquist 採樣定理,數位訊號的取樣率應至少為訊號頻率的 4 倍。MDIO 的 MDC 頻率最高通常為 2.5 MHz,因此建議將取樣率設定在 10 MSPS 或更高。
※ 若採用「類比訊號取樣率」觀察訊號細節:建議使用最高 50 MSPS。
※ 若需要觀察訊號的電氣特性(如電壓位準不穩或細微的時序問題),建議同時開啟類比通道並設定為最大頻寬 50 MSPS,以看更細緻的訊號特徵。

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 數據內容。

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)或電壓位準不穩定的底層電氣問題。


使用 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 等序列匯流排分析需求,歡迎與翔宇科技聯絡,我們可協助您選擇合適的邏輯分析儀,並提供產品規劃、技術諮詢與應用支援,協助您更有效率完成嵌入式系統與乙太網路裝置的開發及除錯工作。

參考資料:




