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