http://www.ethercat.org.cn/cn.htm
? ? ?? EtherCAT技術介紹
?????? EtherCAT系統組成和工作原理
?????? EtherCAT采用主從式結構,主站PC機采用標準的100Base-TX以太網卡,從站采用專用芯片。系統控制周期由主站發起,主站發出下行電報,電報的最大有效數據長度為1498字節。數據幀遍歷所有從站設備,每個設備在數據幀經過時分析尋址到本機的報文,根據報文頭中的命令讀入數據或寫入數據到報文中指定位置,并且從站硬件把該報文的工作計數器(WKC)加1,表示該數據被處理。整個過程會產生大約10ns的時間延遲[1]。數據幀在訪問位于整個系統邏輯位置的最后一個從站后,該從站把經過處理的數據幀做為上行電報直接發送給主站。主站收到此上行電報后,處理返回數據,一次通信結束。系統結構原理圖如圖1所示:
?????? EtherCAT支持幾乎所有的拓撲類型,包括線型、樹型、星型等,其在物理層可使用100BASE-TX雙絞線、100BASE-FX光纖或者 LVDS(Low Voltage Differential Signaling, 即低壓差分信號傳輸),還可以通過交換機或介質轉換器實現不同以太網布線的結合。快速以太網的物理層(100Base-TX)允許兩個設備之間的最大電纜長度為100米,而LVDS的物理層只能保障10米的傳輸間距,適合于近距離站點的連接。整個網絡最多可以連接65535個設備。
?????? 借助于從站中的EtherCAT專用芯片和主站中讀取網卡數據的DMA技術,整個協議處理過程都在硬件中進行。EtherCAT系統可以在30μs內刷新1000個I/O點,它可以在300μs內交換一幀多達1486個字節的協議數據,這幾乎相當于12000個數字量輸入或輸出。控制100個輸入輸出數據均為8字節的伺服軸只需要100μs[2]。EtherCAT的高性能使它還可以處理分布式驅動器的電流(轉矩)控制。
????? EtherCAT數據幀結構
????? EtherCAT以標準以太網技術為基礎,在MAC(媒體訪問層)增加了一個確定性調度的軟件層,該軟件層實現了通信周期內的數據幀的傳輸。EtherCAT采用標準的IEEE802.3以太網幀,幀結構如圖2,各部分含義見表1:
?????? EtherCAT沒有重新定義新的以太網幀結構,而是在標準以太網幀結構中使用了一個特殊的以太網幀類型0x88A4,采用這種方式可以使控制數據 直接寫入以太網幀內,并且可以與遵守其它協議的以太網幀在同一網絡中并行。一個EtherCAT幀中可以包含若干個EtherCAT子報文,報文結構如圖3,各部分含義見表2,每個報文都服務于一塊邏輯過程映像區的特定內存區域,由FMMU(Fieldbus Memory Management Unit,負責邏輯地址與物理地址的映射)寄存器和SM(Sync Manager,負責對ESC和微處理器內存的讀寫)寄存器定義,該區域最大可達4GB字節。EtherCAT報文由一個16位的WKC(Working Count)結束,其數據區最大長度可達1486個字節。在報文頭中由8位命令區數據決定主站對從站的尋址方式,由于數據鏈獨立于物理順序,因此可以對EtherCAT從站進行任意的編址。
EtherCAT組成及運行原理
? ? EtherCAT使用全雙工通信技術構成主從結構,主站使用標準的以太網控制器,傳輸介質通常使用100BASE-TX規范的5類UTP雙絞線纜;從站由專用控制芯片或者FPGA? IP核構成,TI公司已推出帶有EtherCAT功能的微控制器M335X。
? ? EtherCAT的運行原理如圖1所示,圖中j為從站個數,j=1,2,…,i,…,n。主站發出下行電報,數據幀遍訪所有從站,在數據幀到達每個從站時,從站解析出本機報文,并對報文數據進行處理,然后將該數據幀傳輸到下一個從站,從站再進行類似的處理,直至傳輸完整個回路。最后一個從站發回經過完全處理的數據幀,并由緊挨著主站的從站作為響應,將數據幀發送給主站,完成一個周期的數據處理。
1.2 EtherCAT協議
? ? EtherCAT的數據幀結構如圖2所示。從圖中可以看出,它采用的是標準的以太網幀結構,幀類型為0x88A4。數據包由EtherCAT頭和Ether CAT數據組成,而若干個子報文又組成了數據區。子報文又由子報文頭、數據域及工作計數器組成。子報文頭決定該子報文應傳輸到對應的從站,以及該從站對子報文進行讀或者寫操作。在主從站通信的過程中,16位的工作計數器(WKC)的值顯得尤為重要。主站發起周期控制的時候,預先給定WKC一個值,當數據幀遍歷完整個設備的時候,通過對比返回的WKC值,可以驗證數據報文是否被EtherCAT從站節點正確處理。