EtherCAT 之郵箱

EtherCAT特點

由於工作需要, 最近在學習EtherCAT總線,對於主站和從站的通信,發表一下我個人的理解。

1. EtherCAT爲保證低延遲高響應,不可能像MODBUS一樣用軟件解析數據包再轉發的模式,而是採用“高速火車”不停車上下車的方式,不停車指的是底層轉發完全靠硬件實現流處理,自動加載和提取數據,上層需配置相應的寄存器即可。

2. 通信兼容,最大化兼容以太網現有的設備,配置好上位機軟件,可以直接使用電腦控制(需要一些實時性優化)。

從站協議狀態機(硬件)

底層由硬件狀態機處理,上層軟件負責通信調度和管理。

 

                                                                                   硬件工作原理簡圖 

端口狀態機PSM

用於處理MAC幀並將其以八位位組的長度送到上一層處理。

①信息以一個八位位組的序列傳輸,而不是直接傳輸整個幀

②自動模式下端口自動開閉,或者由指令關閉該回路。

DLPDU處理狀態機 (DHSM)

DLPDU爲數據鏈路層處理數據單元,是一種特定的實時EtherType或特定的UDP目的端口的以太網幀解釋器。包含EtherCAT處理循環幀的檢測和自動增量地址的處理,更新WKC和FCS檢測等功能。當該“解釋器”識別到與本地內存和尋址,將產生與更高一層狀態機的交互。

同步信號管理器狀態機(SYSM)

同步信號管理器用作郵箱和緩存存儲器的存儲區域。郵箱服務將被轉發到一個郵箱處理重試的狀態機(PMSM),一般EtherCAT從機有四個同步管理器,每個同步管理器都對應一個SYSM。如果有一個特殊的內存地址對應到一個SYSM,則將有一個對應存儲區域或者寄存器的請求。

恢復郵箱狀態機(RMSM)

RNSM負責在操作讀郵箱過程中進行重試操作和檢查寫郵箱指令的序列號。

從站信息訪問狀態機(SIISM)

負責讀寫和更新特定的從站寄存器接口。

郵箱介紹

                                                                      EtherCAT數據流

郵箱位於同步管理器之上(SYSM), 對大多數從機應用的核心是郵箱的數據和過程的處理,一般使用郵箱封裝CiA301協議(對象字典,CoE)的方式實現。以下爲主站從站郵箱通信的說明。

郵箱是雙向工作的:由主站到從站,及由從站到主站,它支持兩個方向以上獨立全雙工通信和多數據鏈路用戶協議。從站從站間的通信通過類似路由器的主站進行管理。郵箱首部包含了一個允許主站進行重定向服務的地址字段(上圖Address)。
郵箱使用了兩個同步管理器通道(SM),每個方向一個通道(如通道0用於主機發送到從站,通道1位從站到主站)。郵箱的通信一般是非週期性的,並對單個從站進行尋址。因此不需要FMMU(現場總線內存管理單元)的邏輯地址,而是使用物理尋址。

郵箱主站與從站的通信過程中,主站必須檢查從站郵箱應答命令中的工作計數器,如果工作計數器沒有增加(通常因爲從站沒有完全讀取上一條命令)或在規定時間內沒有響應,主站必須重發該郵箱命令。

重發命令後,如果命令響應丟失(主站沒有收到應答),主站發送寫SM_activate命令(反轉repeat)後,不再讀取郵箱。從站檢查SM_activate檢測出郵箱重複請求,將psRepeatMbx(上次發送的備份)緩存再次放入郵箱,並反轉SM_read_toggle。 此時主站週期性的讀取SM DL_user的CTRL,檢查從站是否結束請求,當檢查的到SM DL_user的CTRL反轉時,主站再次讀取發送郵箱。

從站到主站的通信,主站必須確定從站是否使用郵箱命令填滿了同步管理器(從站預存數據),並儘快發送適當的讀命令。從站接收到郵箱讀事件,需保存發送緩衝器以用於可能的重複 (psRepeatMbx = psReadMbx)。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章