楊曉鴻
摘要:本文總結了EtherCAT協議的特點,分析EtherCAT在工業應用中的優勢,最后簡要分析了EtherCAT在實際應用中的實現方法。
關鍵字:EtherCAT;現場總線;以太網;實時系統
一、引言
工業以太網通過把原有的工業現場總線協議應用到以太網上,兼容現場總線的工業應用特性以及以太網的通用性。本文先介紹了EtherCAT協議的特點及其在工業領域中應用的優勢;最后簡單介紹EtherCAT的實現方法。
二、EtherCAT
EtherCAT協議是德國倍福自動化有限公司(Beckhoff Automation GmbH)于2003年提出,并于2005年被定為IEC標準62407;2007年,IEC把EtherCAT協議加到工業現場總線標準61158。
1.協議概述
為提高通信效率以及實時性,EtherCAT協議的主要思想有兩方面。簡化協議,協議兼容以太網的MAC層協議,并由純硬件完成解析,提高處理速度;而其他協議由軟件解析上層協議,由于CPU的負載在不同時段的不確定性導致相應的處理時間偏差加大,而純硬件的方式能在確定的時間內完成處理,使時間更加精確。EtherCAT協議考慮到工業應用中每次通信的數據量小和對實時要求高的特點,在以太網數據包的基礎上加了自己的協議,把一個以太網數據包分成若干個EtherCAT數據包加以充分利用,并給了主站控制各從站提供了更大的靈活性。
EtherCAT網絡由一個主站(Master)和最大可能為216次個從站(Slave)組成,支持以太網的所有拓撲結構(星型/總線型/環型等),其工作原理如下:EtherCAT網絡就象是一列運行的火車,主站是火車的起點和終點,火車把車上的乘客(數據包)送(寫操作)到任何指定的站點(從站),也能在所有它經過的站點上接收新的乘客(讀操作),它是工業領域中飛速傳輸的以太網。
下圖為典型的EtherCAT網絡結構,圖中的黃色的連線表示網線,數據包從左上角的主站出發,經過所有的從站,再返回到主站,EtherCAT從站至少要有兩個網絡接口。
典型的EtherCAT網絡結構
2.EtherCAT關鍵技術
(1)幀結構。EtherCAT在以太網幀結構的基礎上加入新的協議,數據的最外層是以太網數據幀;在以太網數據幀的數據部分中實現EtherCAT協議,由EtherCAT協議頭開始,后跟若干個數據包。數據包由包頭和數據組成,最后跟WKC以判斷每次操作是否正確。
(2)尋址方式。EtherCAT主站通過特定的尋址方式選擇從站,當整個EtherCAT網絡中有路由器時,主站先通過網段間尋址(segment addressing)找到子網,網段尋址通過以太網數據幀中的目標地址(Destination Address)找到目標網段,而這個DA是目標網段內第一個EtherCAT從站的MAC地址。當EtherCAT數據包經過第一個子網絡后,從站把DA和SA(Source Address)互換,因為數據經過全部從站后,要返回到主站。
EtherCAT網段內尋址包括設備尋址(Device addressing)和邏輯尋址(Logical addressing),設備尋址分兩種尋址方式,位置尋址(position addressing)和節點尋址(Node addressing)。位置尋址的地址由從站在網段中的位置決定,一般上電后主站通過位置尋址統計網段內的從站總數;節點尋址通過給每個從站配一個各不相同的節點地址,主站通過節點地址選擇從站。邏輯尋址由主站發一個32位的邏輯地址,從站通過現場總線內存管理單元(FMMU)的配置確定是否被選中以及要訪問的從站內寄存器地址,這種尋址方式最靈活,在一個數據包管理多個從站的應用中作用明顯。
(3)FMMU。FMMU(FieldBus Memory Management Unit)類似CPU中的MMU,系統上電后通過EEPROM或主站對每個從站的FMMU(每個從站最多16個FMMU條目)配置邏輯地址和物理地址的映射關系,每個條目包含一對映射關系。主站發出32位邏輯地址,從站查找FMMU的條目,如果某一個條目中的邏輯地址與接收到的邏輯地址相等,且當前條目的配置有效,則當前從站被選中。
(4)SyncManager。EtherCAT從站的同步管理單元(SyncManager)用于同步主站和從站間的數據操作,它可以把從站中的操作對象(寄存器和存儲單元)配置成實時操作的buffer模式和握手方式的Mailbox模式。當從站接收到數據或請求后,同步管理單元也會向從站外接的設備發出中斷或請求信號,以快速完成主站的請求。
(5)操作命令。每個數據包由一個命令(Command)確定功能,用于告訴從站主站的尋址方式和操作請求。主站對從站主要有讀/寫/讀寫三種操作方式,所以相應的命令有位置尋址讀/寫/讀寫命令、節點尋址讀/寫/讀寫、邏輯尋址讀/寫/讀寫命令,此之外還有廣播模式下的讀/寫/讀寫命令。
三、應用實現
EtherCAT網絡由主站和從站組成,目前從站主要由Beckhoff公司提供的芯片。EtherCAT主站在硬件上只要求以太網接口,市場上常見的應用處理器(Application Processor),都可以作為EtherCAT的主站。
由于通用的Linux是非實時的,作用主站的Linux必須加實時補丁,工業上常用Adeos+Xenomai作用Linux上的實時補丁。Adeos在中斷控制器硬件和Linux中斷處理程序中間提供了中斷處理的中間層,在系統運行過程中做到不關閉硬件中斷,所以可以快速響應一些實時要求高的應用,如EtherCAT驅動;Xenomai是在adeos上的Linux實時補丁,是一個獨立的實時內核。通過對Adeos和Xenomai可以滿足EtherCAT實時應用的要求。