實(shí)時(shí)以太網(wǎng)EtherCAT從站的硬件系統設計
摘要:本文介紹了EtherCAT的工作原理、通信協(xié)議和基于專(zhuān)用芯片ET1100的從站硬件設計。憑借dsPICDEM1.1Plus Development Board開(kāi)發(fā)平臺和TwinCAT軟件,驗證了EtherCAT主從站之間的I/O開(kāi)關(guān)量的通信,并通過(guò)SOEM軟件和Linux平臺,驗證了EtherCAT從站接口卡的實(shí)時(shí)性能。
本文引用地址:http://dyxdggzs.com/article/201610/306372.htm引言
將以太網(wǎng)技術(shù)應用于工業(yè)控制領(lǐng)域形成的工業(yè)以太網(wǎng)技術(shù)是當前工業(yè)控制網(wǎng)絡(luò )和現場(chǎng)總線(xiàn)技術(shù)的一個(gè)很重要的發(fā)展方向。與傳統的現場(chǎng)總線(xiàn)相比,以太網(wǎng)現場(chǎng)總線(xiàn)具有性?xún)r(jià)比高、傳輸速度快、數據量大、可接入標準以太網(wǎng)端等優(yōu)點(diǎn)。目前,主要的實(shí)時(shí)以太網(wǎng)有如下幾種:Pro finet、TC-net、EtherCAT、Ethernet PowerLink、Modbus-RTPS、SERCOS III,以及我國自主研制的EPA等。
EtherCAT技術(shù)是由德國B(niǎo)eckhoff自動(dòng)化公司提出的,該技術(shù)以其優(yōu)越的性能獲得越來(lái)越多的關(guān)注。2003年底成立的ETG(Ethernet Techno logy Group)組織負責EtherCAT技術(shù)的維護和推廣。該組織已經(jīng)擁有逾千個(gè)成員,很多成員已經(jīng)推出相關(guān)產(chǎn)品。相關(guān)產(chǎn)品的研發(fā)主要來(lái)自國外,如以色列Elmo公司已推出基于EtherCAT的Elmo伺服直流驅動(dòng)器(Elmo Golden);而國內在此領(lǐng)域還處于起步階段,只有少數公司有所涉及,如上海新華集團公司開(kāi)發(fā)了一套基于EtherCAT技術(shù)的DCS控制系統等。對此,本文對工業(yè)以太網(wǎng)EtherCAT從站的硬件和軟件部分進(jìn)行開(kāi)發(fā),最終通過(guò)實(shí)驗驗證了所開(kāi)發(fā)的EtherCAT從站具有較高實(shí)時(shí)性,滿(mǎn)足工業(yè)控制需求。
1 EtherCAT技術(shù)介紹
1.1 EtherCAT組成及運行原理
EtherCAT使用全雙工通信技術(shù)構成主從結構,主站使用標準的以太網(wǎng)控制器,傳輸介質(zhì)通常使用100BASE-TX規范的5類(lèi)UTP雙絞線(xiàn)纜;從站由專(zhuān)用控制芯片或者FPGA IP核構成,TI公司已推出帶有EtherCAT功能的微控制器M335X。

EtherCAT的運行原理如圖1所示,圖中j為從站個(gè)數,j=1,2,…,i,…,n。主站發(fā)出下行電報,數據幀遍訪(fǎng)所有從站,在數據幀到達每個(gè)從站時(shí),從站解析出本機報文,并對報文數據進(jìn)行處理,然后將該數據幀傳輸到下一個(gè)從站,從站再進(jìn)行類(lèi)似的處理,直至傳輸完整個(gè)回路。最后一個(gè)從站發(fā)回經(jīng)過(guò)完全處理的數據幀,并由緊挨著(zhù)主站的從站作為響應,將數據幀發(fā)送給主站,完成一個(gè)周期的數據處理。
1.2 EtherCAT協(xié)議
EtherCAT的數據幀結構如圖2所示。從圖中可以看出,它采用的是標準的以太網(wǎng)幀結構,幀類(lèi)型為0x88A4。數據包由EtherCAT頭和Ether CAT數據組成,而若干個(gè)子報文又組成了數據區。子報文又由子報文頭、數據域及工作計數器組成。子報文頭決定該子報文應傳輸到對應的從站,以及該從站對子報文進(jìn)行讀或者寫(xiě)操作。在主從站通信的過(guò)程中,16位的工作計數器(WKC)的值顯得尤為重要。主站發(fā)起周期控制的時(shí)候,預先給定WKC一個(gè)值,當數據幀遍歷完整個(gè)設備的時(shí)候,通過(guò)對比返回的WKC值,可以驗證數據報文是否被EtherCAT從站節點(diǎn)正確處理。

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

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

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

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

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

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

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