EtherCAT 如何實現超低延遲?深入解析 Cut-Through 即時轉發機制

傳統 Ethernet 的資料處理流程為:

接收完整 Frame→ CPU 解析 → 產生回應 → 傳送完整 Frame

而 EtherCAT 則在 LAN9252 內部實現資料的同步接收、處理與轉發,因此能夠達成遠低於傳統 Ethernet 的通訊延遲。

EtherCAT 系統方塊圖


LAN9252 系統架構採用雙 PHY 與 EtherCAT Slave Controller(ESC)組成的 Cut-Through 轉發架構。

以 Microchip 的 LAN9252 為例,其典型周邊元件包括:

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

其中,ESC(EtherCAT Slave Controller)是實現 EtherCAT 即時通訊的核心元件。

超低延遲的實現原理

Frame「On-the-Fly」硬體處理機制

EtherCAT Master 會發送一個較長的 Ethernet Frame,並以串接方式依序經過各個 Slave 節點。

資料流在節點中的傳輸路徑如下:
RJ45 → 隔離變壓器 → LAN9252 的 PHY → ESC

與傳統 Ethernet 最大的不同之處在於:
EtherCAT 不需要先完整接收整個 Ethernet Frame。 ESC 硬體會在資料流經裝置時,即時逐位元(Bit-by-Bit)解析封包內容。

輸出資料擷取

當 ESC 讀取到分配給目前 Slave 的輸出資料區段時:

  • 硬體直接擷取資料
  • 將資料寫入內建 DPRAM

無需等待整個封包接收完成。

輸入資料插入

當封包到達預留給本地裝置回傳資料的位置時:

  • ESC 從 DPRAM 讀取本地收集的資料
  • 直接將資料插入正在傳輸的 Frame 中

整個過程由硬體即時完成。

即時轉發至下一個節點

未被修改的資料位元流會立即透過下列路徑轉發:

Port1 PHY → 隔離變壓器 → RJ45

並繼續傳送至下一個 EtherCAT Slave。

相較之下,傳統 Ethernet 控制器必須先接收完整 Frame,再交由 CPU 進行軟體解析,因此會產生額外處理延遲與系統負擔。

方塊圖中的雙資料流架構

LAN9252 內部存在兩條完全獨立的資料路徑。

  1. 網路資料路徑(Network Path): RJ45 ↔ PHY ↔ ESC ↔ DPRAM (硬體自主運行,不佔用MCU資源)
    特點如下:
  • 完全由硬體自主管理
  • 不需 MCU 介入
  • 不占用 MCU 運算資源
  1. 本地資料路徑(Local Path): DPRAM ↔ Local Bus ↔ Local MCU
    此路徑供本地 MCU 與應用程式存取 EtherCAT 資料。

DPRAM 的作用

DPRAM(Dual-Port RAM)允許:

  • EtherCAT 網路硬體存取資料
  • 本地 MCU 同時存取資料

雙方可平行運作,而不會產生記憶體存取衝突或排隊瓶頸。

EEPROM 的角色

在方塊圖左上角可以看到 EEPROM。其主要功能是在系統上電時自動載入 ESC 設定資訊,包括:

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

由於這些配置可自動完成載入,因此不需要 MCU 透過軟體進行協定初始化,有助於進一步降低系統啟動延遲。

結論

EtherCAT 可實現同步進行的 On-the-Fly 處理機制。由於它不需要緩衝完整 Ethernet Frame,即可完成資料交換與 Frame 轉發,因此 EtherCAT 能夠提供工業自動化系統所需的超低延遲通訊效能。

參考資料:

Microchip LAN9252

相關產品:

更多相關技術主題: