傳統 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 內部存在兩條完全獨立的資料路徑。
- 網路資料路徑(Network Path): RJ45 ↔ PHY ↔ ESC ↔ DPRAM (硬體自主運行,不佔用MCU資源)
特點如下:
- 完全由硬體自主管理
- 不需 MCU 介入
- 不占用 MCU 運算資源
- 本地資料路徑(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
