實時以太網EtherCAT從站的硬件系統設計
摘要:本文介紹了EtherCAT的工作原理、通信協議和基于專用芯片ET1100的從站硬件設計。憑借dsPICDEM1.1Plus Development Board開發平臺和TwinCAT軟件,驗證了EtherCAT主從站之間的I/O開關量的通信,并通過SOEM軟件和Linux平臺,驗證了EtherCAT從站接口卡的實時性能。
本文引用地址:http://www.j9360.com/article/201610/306372.htm引言
將以太網技術應用于工業控制領域形成的工業以太網技術是當前工業控制網絡和現場總線技術的一個很重要的發展方向。與傳統的現場總線相比,以太網現場總線具有性價比高、傳輸速度快、數據量大、可接入標準以太網端等優點。目前,主要的實時以太網有如下幾種:Pro finet、TC-net、EtherCAT、Ethernet PowerLink、Modbus-RTPS、SERCOS III,以及我國自主研制的EPA等。
EtherCAT技術是由德國Beckhoff自動化公司提出的,該技術以其優越的性能獲得越來越多的關注。2003年底成立的ETG(Ethernet Techno logy Group)組織負責EtherCAT技術的維護和推廣。該組織已經擁有逾千個成員,很多成員已經推出相關產品。相關產品的研發主要來自國外,如以色列Elmo公司已推出基于EtherCAT的Elmo伺服直流驅動器(Elmo Golden);而國內在此領域還處于起步階段,只有少數公司有所涉及,如上海新華集團公司開發了一套基于EtherCAT技術的DCS控制系統等。對此,本文對工業以太網EtherCAT從站的硬件和軟件部分進行開發,最終通過實驗驗證了所開發的EtherCAT從站具有較高實時性,滿足工業控制需求。
1 EtherCAT技術介紹
1.1 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從站節點正確處理。

2 EtherCAT從站硬件設計
2.1 整體結構
本文設計的從站硬件電路由物理通信接口、從站控制器及其外圍設備和電源模塊等部分組成。從站控制器ET1100與物理通信端口的連接部分是EtherCAT從站硬件設計最關鍵的部分,此部分是實現主站與從站以及從站與微控制器數據通信中不可或缺的。為了拓展本設計從站接口卡對微處理器的通用性,PDI接口部分引腳引出,可以實現與數字量I/O接口、SPI接口及并行微處理器通信接口的連接。

本文后續的驗證試驗中,為了測試與接線的方便,使用SPI接口與微處理器進行通信。從站接口卡的整體硬件電路如圖3所示。EEPROM采用的是24LC16B,存儲ET1100的配置信息;電源模塊采用的是體積小、價格便宜的SP6205EM,固定輸出3.3 V電壓;物理芯片選擇的是KSZ87 21;RJ45選擇的是集成了變壓器接頭的HanRun HR911105A。
2.2 物理通信端口
ET1100是一個功能強大的從站控制器,可以提供4個物理通信端口,實現各種類型的拓撲結構,且每個端口皆可配置為MII或EBUS兩種類型。通信端口類型配置無需軟件編程,可直接通過對ET1100的外圍引腳P_MODE[1:0]和P_CONFIG[3:0]進行上拉或者下拉獲得。其中,P_CON FIG[3:0]決定通信接口的類型,P_MODE[1:0]決定通信接口的數目。ET1100使用MII接口時,需要外接以太網物理層芯片,并且為了降低處理/轉發延時,ET1100的MII接口省略了發送FIFO,最遠傳輸距離為100 m;EtherCAT協議自定義了一種物理層傳輸方式EBUS,EBUS傳輸介質使用低壓差分信號LVDS,最遠傳輸距離為10m。

本設計中,物理通信端口使用的是端口0與端口1,且使用能傳輸100 m的MII類型,則有如下配置信息:P_MODE[0:1]下拉決定端口0與端口1被使能用,而P_CONFIG[0:1]上拉表示端口0與端口1使用MII類型。本文物理芯片選用的是KSZ8721,其電路連接圖如圖4所示。
2.3 過程數據接口
從站控制芯片ET1100的應用數據接口又稱為過程數據接口,簡稱為PDI。PDI是微處理器與ET1100進行數據交換的接口,是底層接口電路,為上層復雜的應用協議提供硬件基礎。ET1100的PDI接口可分為SPI接口、微處理器接口和數字量I/O接口,這三種接口的實現通過PDI控制寄存器0x140取不同的值來實現。而ET1100中控制寄存器的值是上電時自動加載EEPROM中用戶配置的數據,并且ET1100提供一專用引腳來表征此配置信息是否被正確加載。當此引腳信號為高電平時,表示配置信息被正確加載,此時端口才會被激活。本設計中三種接口方式皆可以使用,但是SPI接口具有接線少、使用方便、傳輸速度快等優勢,因而后續的測試實驗中使用SPI接口與測試開發板進行連接。

綜合以上信息,本文詳細介紹了從站硬件整體框圖、ET1100的物理通信端口、PDI接口以及外圍芯片具體選型與使用,最終設計的具體電路的實物圖如圖5所示。
3 EtherCAT從站軟件設計
EtherCAT從站的軟件設計主要包括微處理器的軟件設計和ET1100的軟件設計。在本設計中,由于嵌入式主站的設計工作很復雜,所以本測試的主站由PC機擔任,PC機通過倍福公司的TwinCAT軟件實現主站功能,主要負責所有從站設備的工作狀態以及管理主從站之間的數據通信。
ET1100的軟件設計就是把配置好的與硬件相符的XML文件燒寫到EEPROM中,最終實現主從站之間的通信。微處理器dsPIC30F6014A的軟件設計通過操作ET1100實現應用層協議,其任務主要完成dsPIC30F6014A硬件的初始化、ET1100的初始化以及過程數據的處理等。
非周期性數據通信與周期性過程數據通信是EtherCAT網絡中主從站之間數據交換的兩種形式。周期性過程數據通信采用現場總線邏輯單元進行尋址,緩沖區可以被主從節點同時訪問;非周期性數據通信采用郵箱方式進行,郵箱數據通信使用兩個存儲同步管理通道,通常主站到從站通信使用SM0,從站到主站通信使用SM1,它們可被配置成一個緩沖區方式,使用握手來避免數據溢出,只有把緩沖區數據寫滿后,另一端才能讀取,并且只有當內存中的數據全部讀出時,一端才能重新寫入數據。本實驗中,從站程序采用的是非周期性數據通信,并且采用的是查詢方式,程序流程圖如圖6所示。

4 測驗測試及分析
4.1 I/O開關量的實驗測試與分析
以設計的基于從站控制器ET1100的EtherCAT從站接口卡和Microchip公司的dsPICDEM1.1 Plus Development Board開發板構成從站設備,PC機憑借德國倍福公司開發的TwinCAT軟件作為主站設備搭建實驗平臺。首先,打開TwinCAT軟件中的System Manager功能,找到I/O Device,單擊鼠標右鍵掃描設備,找到BOX設備,燒寫XML配置文件到ET1100中,完成特定功能的配置,按照功能要求對從站接口板與開發板進行正確的連線。在TwinCAT軟件以及開發板中編寫測試程序,通過觀察開發板上LED的明亮以及TwinCAT軟件中的圖示,來驗證EtherCAT中主從站之間的通信是否成功。具體實驗結果如圖7~圖10所示。

由圖7、圖8可知:主站TwinCAT軟件中,寫入開關量1(即高電平),從站實驗平臺中LED被點亮,驗證了主站到從站數據傳輸的正確性。由圖9與圖10分析可得:對從站平臺按下按鍵,輸出低電子,上位機主站得到了從高電平到低電平的突變,從而從站到主站的數據傳輸的正確性得到驗證。綜上所述,主從站之間實現了雙工通信,并且驗證了所設計的從站接口卡的可行性。
4.2 EtherCAT從站的實時性能測試
以SOURCEFORGE上開源的SOEM(Simple Open EtherCAT Master)軟件,基于嵌入式操作系統Linux的應用環境,以及本設計中的從站接口卡作為測試平臺,對EtherCAT數據傳輸的實時性進行測試分析。在不同從站節點個數組建的網絡下,采集實驗數據,實驗數據包括主站控制周期平均值、環運行時間。通過分析實驗數據可知,本設計的從站接口卡達到了預定要求,實驗數據如表1所列。

分析表中數據可以得出:在不同從站節點個數組建的網絡下,周期是不變的(約為0.5 ms),這是由主站來控制的;環運行時間隨著節點數的增加而成倍增加,每增加一個節點,環運行時間增加1μs,也就是報文經過每個節點時延時時間約為500 ns,可以看出從站的實時性很好。
結語
針對EtherCAT應用較廣,但在國內起步較晚的現狀,本文詳細闡述了EtherCAT的組成、工作原理以及EtherCAT協議,并在此基礎上,利用從站控制芯片ET1100設計了一種EtherCAT從站卡。此從站接口卡采用MII類型的物理通信接口與同步串行總線SPI進行通信,傳輸介質使用100BASE-TX規范UTP雙絞線纜,可以實現100 m內的可靠傳輸,而且SPI通信方式具有接線少等優點。
通過搭建實驗乎臺,對簡單I/O開關量的主從站之間的數據傳輸進行了驗證,并利用SOEM對其實時性能進行驗證。綜上可知,本文設計的EtherCAT接口卡有兩方面的優點:具有較高實時性,滿足工業需求;具有較強的通用性,可以作為單獨的I/O從站,也可以融進其他嵌入式設備中進行更深層次的開發,進一步提高系統的實時性。
評論