傳統乙太網路(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 時,硬體會同步解析資料內容:
- 當讀取到分配給當前 Slave 的輸出資料區塊時,ESC 立即擷取資料並寫入內建 DPRAM。
- 當到達需回傳給 Master 的輸入資料區塊時,ESC 立即從 DPRAM 讀取本地資料並插入至資料幀中。
- 其餘未修改的資料則立即經由 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 執行額外的協定初始化程序,可進一步縮短系統啟動時間。
相關產品
- Microchip LAN9252
- HX1188 隔離變壓器
- RJ45 網路連接器
