EtherCAT 同步原理及模式詳解
EtherCAT作為高即時性工業通訊協議,其分布式時鐘(DC)功能使從站設備同步成為可能。本文將詳細解說EtherCAT同步原理及其不同的同步模式,並介紹實際應用中的優化方法。
一、DC同步原理
EtherCAT的分布式時鐘(DC)功能通過將總線中的第一個DC從站定義為基準時鐘,EtherCAT主站將基準時鐘的時間分配至所有的從站。EtherCAT主站周期性地發送一個ARMW命令,讀取並寫入DC-從站的寄存器中,從而更新他們的本地時間。為了確保精度,特殊從站之間的EtherCAT幀延遲需要額外補償。
ESC控制器的DC單元提供兩個數字輸出信號,SYNC0和SYNC1,這些信號在從站一側可作為數字輸出信號或從站軟件中斷源。EtherCAT主站和DC時鐘主站的同步機制被稱為分布式時鐘主站同步(DCM),可通過重新調整主站的硬體計時器或DC時鐘主站的總線時間實現。
二、同步模式
EtherCAT提供三種同步模式:
A、Free Run(非同步)
從站的過程數據處理由內部事件觸發,與主站循環無關。每個從站的定時周期不一樣,各自執行自己的程序。
B、SM-Synchronous(Sync Manager同步管理器)
從站的過程數據處理由接收到攜帶過程數據的周期性數據幀時所產生的硬件中斷觸發。當系統較大時,每個從站接收到數據幀的時間會相差較大。
C、DC-Synchronous(Sync0 Event)
從站的過程數據處理由基於分布時鐘和系統時間的硬件中斷觸發。Sync0 Event根據設置的延時時間觸發,輸出抖動小,同步性能好。
2.1 Free Run(非同步)
Free Run模式下,每個從站的定時周期都不一樣,各自執行自己的程序。這類似於每個人有自己的手錶,但沒有對時,因此到達公司的時間不統一。
2.2 SM-Synchronous(Sync Manager同步管理器)
SM同步模式下,從站的過程數據處理由接收到數據幀時所產生的硬件中斷觸發。當系統很大時,每個從站接收到數據幀的時間會相差較大。
2.3 DC-Synchronous(Sync0 Event)
DC-Synchronous模式下,從站的過程數據處理由基於分布時鐘和系統時間的硬件中斷觸發。不同於SM Event,Sync0 Event根據設置的延時時間觸發,不是帧到達時才觸發。
2.4 DC-Synchronous優化
優化的DC模式同時使用了SM Event和Sync0 Event事件信號,減少了輸出延時時間。
2.5 DC同步丟幀
在使用DC模式時可能出現同步丟幀的情況,可以通過調整Shift Time來解決。
3、優化DC模式的時序分析
數據幀依次到達每個從站時,EtherCAT會觸發SM Event,從站進行數據處理並等待DC Sync信號同步事件中斷。
四、總結
DC分布式時鐘模式的總體流程如圖所示。無論是哪種同步模式,都可以實現高效的數據通信。