EtherCAT 如何實現低延遲通訊?

傳統乙太網路(Ethernet) 工作流程

傳統乙太網路(Ethernet)通常遵循以下流程:
接收完整資料幀 (frame) → CPU 解析 → 產生回應 → 傳送完整資料幀

EtherCAT 系統

LAN9252 為例, EtherCAT 則在 LAN9252 內部實現了接收、處理與轉發同步進行,大幅降低通訊延遲。

EtherCAT 系統方塊圖

LAN9252 系統方塊圖:雙 PHY 與 EtherCAT Slave Controller (ESC) 通訊系統架構(圖片來源:Microchip)

以 Microchip 的 LAN9252 ESC 通訊系統架構 為例,周邊硬體通常包含:

  • 2 組隔離變壓器(Isolation Magnetics)
  • RJ45 網路連接器
  • 25MHz 參考晶體振盪器

EtherCAT 超低延遲的實現原理

On-the-Fly 模式:硬體即時處理資料幀

EtherCAT Master 會傳送一個長乙太網路資料幀(Ethernet Frame),並依序流經各個 Slave 裝置:

資料流經過:

RJ45 → 隔離變壓器 → LAN9252 PHY → ESC 核心

關鍵在於:

ESC 不需要先緩存整個 Ethernet Frame。

當資料位元流(Bit Stream)進入 ESC 時,硬體會同步解析資料內容:

  1. 當讀取到分配給當前 Slave 的輸出資料區塊時,ESC 立即擷取資料並寫入內建 DPRAM。
  2. 當到達需回傳給 Master 的輸入資料區塊時,ESC 立即從 DPRAM 讀取本地資料並插入至資料幀中。
  3. 其餘未修改的資料則立即經由 Port 1 PHY、隔離變壓器與 RJ45 轉送至下一個 Slave。

相較之下,標準乙太網路控制器必須先接收完整資料幀,再交由 CPU 進行軟體解析,因此單一節點就可能產生數十微秒延遲,並增加額外的軟體處理負擔。

雙資料通道並行運作

從系統方塊圖可看出,LAN9252 內部包含兩條互不干擾的資料路徑:

1. 網路資料路徑

RJ45 ↔ PHY ↔ ESC ↔ DPRAM

  • 完全由硬體自動運作
  • 不占用 MCU 資源
  • 可實現即時資料交換

2. 本地控制路徑

DPRAM ↔ Local Bus ↔ MCU

  • MCU 可透過本地匯流排存取資料
  • 不影響 EtherCAT 網路通訊

由於 DPRAM(Dual-Port RAM)採用雙埠架構,網路硬體與 MCU 可同時存取記憶體,因此不會出現記憶體存取排隊或彼此阻塞的問題。

EEPROM 在 EtherCAT 系統中的作用

在系統上電時,EEPROM 內儲存的 ESC 組態資訊會自動載入,包括:

  • FMMU(Fieldbus Memory Management Unit)
  • SyncManager 參數設定

因此無需透過 MCU 執行額外的協定初始化程序,可進一步縮短系統啟動時間。

相關產品

更多相關技術主題: