實(shí)時(shí)以太網(wǎng)EtherCAT從站的硬件系統(tǒng)設(shè)計(jì)
摘要:本文介紹了EtherCAT的工作原理、通信協(xié)議和基于專用芯片ET1100的從站硬件設(shè)計(jì)。憑借dsPICDEM1.1Plus Development Board開發(fā)平臺(tái)和TwinCAT軟件,驗(yàn)證了EtherCAT主從站之間的I/O開關(guān)量的通信,并通過SOEM軟件和Linux平臺(tái),驗(yàn)證了EtherCAT從站接口卡的實(shí)時(shí)性能。
本文引用地址:http://www.ex-cimer.com/article/201610/306372.htm引言
將以太網(wǎng)技術(shù)應(yīng)用于工業(yè)控制領(lǐng)域形成的工業(yè)以太網(wǎng)技術(shù)是當(dāng)前工業(yè)控制網(wǎng)絡(luò)和現(xiàn)場總線技術(shù)的一個(gè)很重要的發(fā)展方向。與傳統(tǒng)的現(xiàn)場總線相比,以太網(wǎng)現(xiàn)場總線具有性價(jià)比高、傳輸速度快、數(shù)據(jù)量大、可接入標(biāo)準(zhǔn)以太網(wǎng)端等優(yōu)點(diǎn)。目前,主要的實(shí)時(shí)以太網(wǎng)有如下幾種:Pro finet、TC-net、EtherCAT、Ethernet PowerLink、Modbus-RTPS、SERCOS III,以及我國自主研制的EPA等。
EtherCAT技術(shù)是由德國Beckhoff自動(dòng)化公司提出的,該技術(shù)以其優(yōu)越的性能獲得越來越多的關(guān)注。2003年底成立的ETG(Ethernet Techno logy Group)組織負(fù)責(zé)EtherCAT技術(shù)的維護(hù)和推廣。該組織已經(jīng)擁有逾千個(gè)成員,很多成員已經(jīng)推出相關(guān)產(chǎn)品。相關(guān)產(chǎn)品的研發(fā)主要來自國外,如以色列Elmo公司已推出基于EtherCAT的Elmo伺服直流驅(qū)動(dòng)器(Elmo Golden);而國內(nèi)在此領(lǐng)域還處于起步階段,只有少數(shù)公司有所涉及,如上海新華集團(tuán)公司開發(fā)了一套基于EtherCAT技術(shù)的DCS控制系統(tǒng)等。對(duì)此,本文對(duì)工業(yè)以太網(wǎng)EtherCAT從站的硬件和軟件部分進(jìn)行開發(fā),最終通過實(shí)驗(yàn)驗(yàn)證了所開發(fā)的EtherCAT從站具有較高實(shí)時(shí)性,滿足工業(yè)控制需求。
1 EtherCAT技術(shù)介紹
1.1 EtherCAT組成及運(yùn)行原理
EtherCAT使用全雙工通信技術(shù)構(gòu)成主從結(jié)構(gòu),主站使用標(biāo)準(zhǔn)的以太網(wǎng)控制器,傳輸介質(zhì)通常使用100BASE-TX規(guī)范的5類UTP雙絞線纜;從站由專用控制芯片或者FPGA IP核構(gòu)成,TI公司已推出帶有EtherCAT功能的微控制器M335X。
EtherCAT的運(yùn)行原理如圖1所示,圖中j為從站個(gè)數(shù),j=1,2,…,i,…,n。主站發(fā)出下行電報(bào),數(shù)據(jù)幀遍訪所有從站,在數(shù)據(jù)幀到達(dá)每個(gè)從站時(shí),從站解析出本機(jī)報(bào)文,并對(duì)報(bào)文數(shù)據(jù)進(jìn)行處理,然后將該數(shù)據(jù)幀傳輸?shù)较乱粋€(gè)從站,從站再進(jìn)行類似的處理,直至傳輸完整個(gè)回路。最后一個(gè)從站發(fā)回經(jīng)過完全處理的數(shù)據(jù)幀,并由緊挨著主站的從站作為響應(yīng),將數(shù)據(jù)幀發(fā)送給主站,完成一個(gè)周期的數(shù)據(jù)處理。
1.2 EtherCAT協(xié)議
EtherCAT的數(shù)據(jù)幀結(jié)構(gòu)如圖2所示。從圖中可以看出,它采用的是標(biāo)準(zhǔn)的以太網(wǎng)幀結(jié)構(gòu),幀類型為0x88A4。數(shù)據(jù)包由EtherCAT頭和Ether CAT數(shù)據(jù)組成,而若干個(gè)子報(bào)文又組成了數(shù)據(jù)區(qū)。子報(bào)文又由子報(bào)文頭、數(shù)據(jù)域及工作計(jì)數(shù)器組成。子報(bào)文頭決定該子報(bào)文應(yīng)傳輸?shù)綄?duì)應(yīng)的從站,以及該從站對(duì)子報(bào)文進(jìn)行讀或者寫操作。在主從站通信的過程中,16位的工作計(jì)數(shù)器(WKC)的值顯得尤為重要。主站發(fā)起周期控制的時(shí)候,預(yù)先給定WKC一個(gè)值,當(dāng)數(shù)據(jù)幀遍歷完整個(gè)設(shè)備的時(shí)候,通過對(duì)比返回的WKC值,可以驗(yàn)證數(shù)據(jù)報(bào)文是否被EtherCAT從站節(jié)點(diǎn)正確處理。
2 EtherCAT從站硬件設(shè)計(jì)
2.1 整體結(jié)構(gòu)
本文設(shè)計(jì)的從站硬件電路由物理通信接口、從站控制器及其外圍設(shè)備和電源模塊等部分組成。從站控制器ET1100與物理通信端口的連接部分是EtherCAT從站硬件設(shè)計(jì)最關(guān)鍵的部分,此部分是實(shí)現(xiàn)主站與從站以及從站與微控制器數(shù)據(jù)通信中不可或缺的。為了拓展本設(shè)計(jì)從站接口卡對(duì)微處理器的通用性,PDI接口部分引腳引出,可以實(shí)現(xiàn)與數(shù)字量I/O接口、SPI接口及并行微處理器通信接口的連接。
本文后續(xù)的驗(yàn)證試驗(yàn)中,為了測試與接線的方便,使用SPI接口與微處理器進(jìn)行通信。從站接口卡的整體硬件電路如圖3所示。EEPROM采用的是24LC16B,存儲(chǔ)ET1100的配置信息;電源模塊采用的是體積小、價(jià)格便宜的SP6205EM,固定輸出3.3 V電壓;物理芯片選擇的是KSZ87 21;RJ45選擇的是集成了變壓器接頭的HanRun HR911105A。
2.2 物理通信端口
ET1100是一個(gè)功能強(qiáng)大的從站控制器,可以提供4個(gè)物理通信端口,實(shí)現(xiàn)各種類型的拓?fù)浣Y(jié)構(gòu),且每個(gè)端口皆可配置為MII或EBUS兩種類型。通信端口類型配置無需軟件編程,可直接通過對(duì)ET1100的外圍引腳P_MODE[1:0]和P_CONFIG[3:0]進(jìn)行上拉或者下拉獲得。其中,P_CON FIG[3:0]決定通信接口的類型,P_MODE[1:0]決定通信接口的數(shù)目。ET1100使用MII接口時(shí),需要外接以太網(wǎng)物理層芯片,并且為了降低處理/轉(zhuǎn)發(fā)延時(shí),ET1100的MII接口省略了發(fā)送FIFO,最遠(yuǎn)傳輸距離為100 m;EtherCAT協(xié)議自定義了一種物理層傳輸方式EBUS,EBUS傳輸介質(zhì)使用低壓差分信號(hào)LVDS,最遠(yuǎn)傳輸距離為10m。
本設(shè)計(jì)中,物理通信端口使用的是端口0與端口1,且使用能傳輸100 m的MII類型,則有如下配置信息:P_MODE[0:1]下拉決定端口0與端口1被使能用,而P_CONFIG[0:1]上拉表示端口0與端口1使用MII類型。本文物理芯片選用的是KSZ8721,其電路連接圖如圖4所示。
2.3 過程數(shù)據(jù)接口
從站控制芯片ET1100的應(yīng)用數(shù)據(jù)接口又稱為過程數(shù)據(jù)接口,簡稱為PDI。PDI是微處理器與ET1100進(jìn)行數(shù)據(jù)交換的接口,是底層接口電路,為上層復(fù)雜的應(yīng)用協(xié)議提供硬件基礎(chǔ)。ET1100的PDI接口可分為SPI接口、微處理器接口和數(shù)字量I/O接口,這三種接口的實(shí)現(xiàn)通過PDI控制寄存器0x140取不同的值來實(shí)現(xiàn)。而ET1100中控制寄存器的值是上電時(shí)自動(dòng)加載EEPROM中用戶配置的數(shù)據(jù),并且ET1100提供一專用引腳來表征此配置信息是否被正確加載。當(dāng)此引腳信號(hào)為高電平時(shí),表示配置信息被正確加載,此時(shí)端口才會(huì)被激活。本設(shè)計(jì)中三種接口方式皆可以使用,但是SPI接口具有接線少、使用方便、傳輸速度快等優(yōu)勢,因而后續(xù)的測試實(shí)驗(yàn)中使用SPI接口與測試開發(fā)板進(jìn)行連接。
綜合以上信息,本文詳細(xì)介紹了從站硬件整體框圖、ET1100的物理通信端口、PDI接口以及外圍芯片具體選型與使用,最終設(shè)計(jì)的具體電路的實(shí)物圖如圖5所示。
3 EtherCAT從站軟件設(shè)計(jì)
EtherCAT從站的軟件設(shè)計(jì)主要包括微處理器的軟件設(shè)計(jì)和ET1100的軟件設(shè)計(jì)。在本設(shè)計(jì)中,由于嵌入式主站的設(shè)計(jì)工作很復(fù)雜,所以本測試的主站由PC機(jī)擔(dān)任,PC機(jī)通過倍福公司的TwinCAT軟件實(shí)現(xiàn)主站功能,主要負(fù)責(zé)所有從站設(shè)備的工作狀態(tài)以及管理主從站之間的數(shù)據(jù)通信。
ET1100的軟件設(shè)計(jì)就是把配置好的與硬件相符的XML文件燒寫到EEPROM中,最終實(shí)現(xiàn)主從站之間的通信。微處理器dsPIC30F6014A的軟件設(shè)計(jì)通過操作ET1100實(shí)現(xiàn)應(yīng)用層協(xié)議,其任務(wù)主要完成dsPIC30F6014A硬件的初始化、ET1100的初始化以及過程數(shù)據(jù)的處理等。
非周期性數(shù)據(jù)通信與周期性過程數(shù)據(jù)通信是EtherCAT網(wǎng)絡(luò)中主從站之間數(shù)據(jù)交換的兩種形式。周期性過程數(shù)據(jù)通信采用現(xiàn)場總線邏輯單元進(jìn)行尋址,緩沖區(qū)可以被主從節(jié)點(diǎn)同時(shí)訪問;非周期性數(shù)據(jù)通信采用郵箱方式進(jìn)行,郵箱數(shù)據(jù)通信使用兩個(gè)存儲(chǔ)同步管理通道,通常主站到從站通信使用SM0,從站到主站通信使用SM1,它們可被配置成一個(gè)緩沖區(qū)方式,使用握手來避免數(shù)據(jù)溢出,只有把緩沖區(qū)數(shù)據(jù)寫滿后,另一端才能讀取,并且只有當(dāng)內(nèi)存中的數(shù)據(jù)全部讀出時(shí),一端才能重新寫入數(shù)據(jù)。本實(shí)驗(yàn)中,從站程序采用的是非周期性數(shù)據(jù)通信,并且采用的是查詢方式,程序流程圖如圖6所示。
4 測驗(yàn)測試及分析
4.1 I/O開關(guān)量的實(shí)驗(yàn)測試與分析
以設(shè)計(jì)的基于從站控制器ET1100的EtherCAT從站接口卡和Microchip公司的dsPICDEM1.1 Plus Development Board開發(fā)板構(gòu)成從站設(shè)備,PC機(jī)憑借德國倍福公司開發(fā)的TwinCAT軟件作為主站設(shè)備搭建實(shí)驗(yàn)平臺(tái)。首先,打開TwinCAT軟件中的System Manager功能,找到I/O Device,單擊鼠標(biāo)右鍵掃描設(shè)備,找到BOX設(shè)備,燒寫XML配置文件到ET1100中,完成特定功能的配置,按照功能要求對(duì)從站接口板與開發(fā)板進(jìn)行正確的連線。在TwinCAT軟件以及開發(fā)板中編寫測試程序,通過觀察開發(fā)板上LED的明亮以及TwinCAT軟件中的圖示,來驗(yàn)證EtherCAT中主從站之間的通信是否成功。具體實(shí)驗(yàn)結(jié)果如圖7~圖10所示。
由圖7、圖8可知:主站TwinCAT軟件中,寫入開關(guān)量1(即高電平),從站實(shí)驗(yàn)平臺(tái)中LED被點(diǎn)亮,驗(yàn)證了主站到從站數(shù)據(jù)傳輸?shù)恼_性。由圖9與圖10分析可得:對(duì)從站平臺(tái)按下按鍵,輸出低電子,上位機(jī)主站得到了從高電平到低電平的突變,從而從站到主站的數(shù)據(jù)傳輸?shù)恼_性得到驗(yàn)證。綜上所述,主從站之間實(shí)現(xiàn)了雙工通信,并且驗(yàn)證了所設(shè)計(jì)的從站接口卡的可行性。
4.2 EtherCAT從站的實(shí)時(shí)性能測試
以SOURCEFORGE上開源的SOEM(Simple Open EtherCAT Master)軟件,基于嵌入式操作系統(tǒng)Linux的應(yīng)用環(huán)境,以及本設(shè)計(jì)中的從站接口卡作為測試平臺(tái),對(duì)EtherCAT數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性進(jìn)行測試分析。在不同從站節(jié)點(diǎn)個(gè)數(shù)組建的網(wǎng)絡(luò)下,采集實(shí)驗(yàn)數(shù)據(jù),實(shí)驗(yàn)數(shù)據(jù)包括主站控制周期平均值、環(huán)運(yùn)行時(shí)間。通過分析實(shí)驗(yàn)數(shù)據(jù)可知,本設(shè)計(jì)的從站接口卡達(dá)到了預(yù)定要求,實(shí)驗(yàn)數(shù)據(jù)如表1所列。
分析表中數(shù)據(jù)可以得出:在不同從站節(jié)點(diǎn)個(gè)數(shù)組建的網(wǎng)絡(luò)下,周期是不變的(約為0.5 ms),這是由主站來控制的;環(huán)運(yùn)行時(shí)間隨著節(jié)點(diǎn)數(shù)的增加而成倍增加,每增加一個(gè)節(jié)點(diǎn),環(huán)運(yùn)行時(shí)間增加1μs,也就是報(bào)文經(jīng)過每個(gè)節(jié)點(diǎn)時(shí)延時(shí)時(shí)間約為500 ns,可以看出從站的實(shí)時(shí)性很好。
結(jié)語
針對(duì)EtherCAT應(yīng)用較廣,但在國內(nèi)起步較晚的現(xiàn)狀,本文詳細(xì)闡述了EtherCAT的組成、工作原理以及EtherCAT協(xié)議,并在此基礎(chǔ)上,利用從站控制芯片ET1100設(shè)計(jì)了一種EtherCAT從站卡。此從站接口卡采用MII類型的物理通信接口與同步串行總線SPI進(jìn)行通信,傳輸介質(zhì)使用100BASE-TX規(guī)范UTP雙絞線纜,可以實(shí)現(xiàn)100 m內(nèi)的可靠傳輸,而且SPI通信方式具有接線少等優(yōu)點(diǎn)。
通過搭建實(shí)驗(yàn)乎臺(tái),對(duì)簡單I/O開關(guān)量的主從站之間的數(shù)據(jù)傳輸進(jìn)行了驗(yàn)證,并利用SOEM對(duì)其實(shí)時(shí)性能進(jìn)行驗(yàn)證。綜上可知,本文設(shè)計(jì)的EtherCAT接口卡有兩方面的優(yōu)點(diǎn):具有較高實(shí)時(shí)性,滿足工業(yè)需求;具有較強(qiáng)的通用性,可以作為單獨(dú)的I/O從站,也可以融進(jìn)其他嵌入式設(shè)備中進(jìn)行更深層次的開發(fā),進(jìn)一步提高系統(tǒng)的實(shí)時(shí)性。
評(píng)論