1 引言
工業(yè)以太網(wǎng)由于低成本、易于組網(wǎng)和具有相當(dāng)高的數(shù)據(jù)傳輸速率、資源共享能力強以及易于Internet連接等特點[1],使其在工業(yè)中應(yīng)用越來越多。Ethercat技術(shù)是德國BECKHOFF公司提出的實時工業(yè)以太網(wǎng)技術(shù),它基于標(biāo)準(zhǔn)的以太網(wǎng)技術(shù),具備靈活的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。系統(tǒng)配置簡單,具有高速、有效數(shù)據(jù)率高等特點,全雙工特性完全得以利用[2]。
2 Ethercat技術(shù)介紹
2.1 Ethercat的系統(tǒng)組成及運行原理
Ethercat采用了主從介質(zhì)訪問方式,在基于Ethercat的通信系統(tǒng)中,主站控制從站發(fā)送或接收數(shù)據(jù)。主站發(fā)送數(shù)據(jù)幀,從站在數(shù)據(jù)幀經(jīng)過從站時讀取相應(yīng)報文中的輸出數(shù)據(jù)。同時,從站的輸入數(shù)據(jù)插入到同一數(shù)據(jù)幀的相關(guān)報文中。當(dāng)該數(shù)據(jù)幀經(jīng)過所有從站并與從站進行數(shù)據(jù)交換后,由Ethecat系統(tǒng)中末端從站將數(shù)據(jù)幀返回[3]。圖1由一個主站和3個從站組成的線性拓?fù)浣Y(jié)構(gòu)的簡單Ethercat系統(tǒng)。
2.2 Ethercat協(xié)議
Ethercat以標(biāo)準(zhǔn)以太網(wǎng)技術(shù)為基礎(chǔ),在MAC(媒體訪問層)增加了一個確定性調(diào)度的軟件層,該軟件層實現(xiàn)了通信周期內(nèi)的數(shù)據(jù)幀的傳輸。Ethercat采用標(biāo)準(zhǔn)的IEEE802-3以太網(wǎng)幀,幀結(jié)構(gòu)如圖2。Ethercat在標(biāo)準(zhǔn)以太網(wǎng)幀結(jié)構(gòu)中使用了一個特殊的以太網(wǎng)幀類型0x88A4,采用這種方式可以使控制數(shù)據(jù)直接寫入以太網(wǎng)幀內(nèi),并且可以與遵守其它協(xié)議的以太網(wǎng)幀在同一網(wǎng)絡(luò)中并行。
一個Ethercat幀中可以包含若干個Ethercat子報文,每個報文都服務(wù)于一塊邏輯過程映像區(qū)的特定內(nèi)存區(qū)域,由FMMU(Fieldbus Memory Management Unit)寄存器和SM (SyncManager)寄存器定義,該區(qū)域最大可達4GB字節(jié)。Ethercat報文由一個16位的WKC(Working Count)結(jié)束,其數(shù)據(jù)區(qū)最大長度可達1486個字節(jié)。在報文頭中由8位命令區(qū)數(shù)據(jù)決定主站對從站的尋址方式,由于數(shù)據(jù)鏈獨立于物理順序,因此可以對Ethercat從站進行任意的編址[4]。
圖2 Ethercat幀結(jié)構(gòu)
2.3 Ethercat性能
Ethercat整個協(xié)議處理過程都在硬件中進行。EtherCAT在網(wǎng)絡(luò)性能上達到了一個新的高度。1000個分布式I/O數(shù)據(jù)的刷新周期僅為30μs,其中包括端子循環(huán)時間。通過一個以太網(wǎng)幀,可以交換高達1486字節(jié)的過程數(shù)據(jù),幾乎相當(dāng)于12000個數(shù)字量I/O。而這一數(shù)據(jù)量的傳輸僅用300μs。100個伺服軸的通訊只需100μs[5]。在此期間,可以向所有軸提供設(shè)置值和控制數(shù)據(jù),并報告它們的實際位置和狀態(tài)。分布式時鐘技術(shù)保證了這些軸之間的同步時間偏差小于1μs [6]。
3 基于ARM的從站節(jié)點控制器的硬件設(shè)計
Ethercat從站節(jié)點的協(xié)議部分可以直接利用BECKHOFF公司的從站控制器ESC。ESC從站控制器提供3種接口規(guī)范如表1,具體采用哪一種方式可以設(shè)置控制器的EEPROM來選擇。
表1 接口規(guī)范
本文設(shè)計的Ethercat從站節(jié)點硬件包括從站協(xié)議控制器、從站CPU和網(wǎng)絡(luò)接口等部分組成。Ethercat從站中最關(guān)鍵部分是Ethercat協(xié)議控制器,它實現(xiàn)Ethercat的物理層與數(shù)據(jù)鏈路層的協(xié)議。現(xiàn)在市場上有多種Ethercat協(xié)議控制器可供使用,如FPGA實現(xiàn)和ASIC實現(xiàn)。從站CPU采用ARM920T核的S3C2440芯片。接口連接方式采用16位異步微處理器方式[7]。從站的硬件實現(xiàn)如圖3所示。
其中ARM控制器實現(xiàn)Ethercat對現(xiàn)場任務(wù)的收集與調(diào)度;Ethercat從站控制器實現(xiàn)Ethercat協(xié)議;EEPROM用于保存從站配置數(shù)據(jù)和從站描述數(shù)據(jù);網(wǎng)絡(luò)接口用于主從站之間或從站與從站之間的連接,根據(jù)Ethercat從站控制器的不同網(wǎng)絡(luò)接口可以分別為2-4個,網(wǎng)絡(luò)接口采用標(biāo)準(zhǔn)以太網(wǎng)物理層器件就可以。
圖3 從站節(jié)點結(jié)構(gòu)框圖
4 數(shù)據(jù)交換
主從站之間交換的數(shù)據(jù)主要分兩種形式:一種是周期性數(shù)據(jù);另一種是非周期性數(shù)據(jù)。周期性數(shù)據(jù)傳輸可以根據(jù)任務(wù)的緊迫性劃分其優(yōu)先級,通過采用EDF算法調(diào)度任務(wù),把劃分好優(yōu)先級的任務(wù)放入緩沖區(qū)供系統(tǒng)調(diào)用。緩沖區(qū)為在內(nèi)存中分配的一段空間,兩端都可以訪問緩沖區(qū)中的數(shù)據(jù);
非周期性數(shù)據(jù)采用郵箱方式傳輸,此時一端寫入數(shù)據(jù)到內(nèi)存,且只有此段內(nèi)存寫滿后另一端才能開始從內(nèi)存中讀取數(shù)據(jù),并且只能當(dāng)內(nèi)存中的數(shù)據(jù)全部讀出時,才能重新寫入數(shù)據(jù)。針對這兩種數(shù)據(jù)通信方式,從站程序可以對非周期性數(shù)據(jù)通信采用查詢方式,對周期性通信采用中斷方式,程序流程圖如圖4、圖5所示[8]。
圖4 中斷方式
圖5 查詢方式
5 最小截止優(yōu)先(EDF,Earliest Deadline First)算法
系統(tǒng)對周期性任務(wù)采用最小優(yōu)先級優(yōu)先算法進行調(diào)度,調(diào)度算法在ARM微控制器中實現(xiàn)。處理器對緊迫性事件的處理能力決定了系統(tǒng)處理突發(fā)事件的能力,把系統(tǒng)各種需要調(diào)度的任務(wù)按照緊迫程度用優(yōu)先級來劃分,通過采用最小截止期優(yōu)先算法來動態(tài)優(yōu)先處理突發(fā)事件,很好地提高了Ethercat網(wǎng)絡(luò)實時性能。
EDF(Earliest Deadline First)是一種動態(tài)可搶占優(yōu)先級實時調(diào)度,所有實時任務(wù)必須滿足以下限制條件:
(1)所有實時任務(wù)均為周期任務(wù),且周期大于或等于截止期。
(2)所有實時任務(wù)必須在其截止期到來前結(jié)束。
(3)所有實時任務(wù)相互獨立。
(4)所有實時任務(wù)具有恒定的運動時間。
任務(wù)按周期由大到小排列為
EDF以任務(wù)的截止期與當(dāng)前時刻的距離確定任務(wù)優(yōu)先級(稱這一距離為時限距離),距離越近,優(yōu)先級越高,因此,EDF總是選擇當(dāng)前最迫切需要完成的任務(wù)獲得處理器。Liu和Layland證明如下:
對于由n個周期任務(wù)組成實時任務(wù)集,當(dāng)且僅當(dāng):
其中Ci為計算機時間,該任務(wù)集能夠由EDF調(diào)度。
EDF是最優(yōu)動態(tài)可搶占優(yōu)先級調(diào)度,對于任何實時任務(wù)集,只要存在可行的動態(tài)調(diào)度算法,則必可由EDF調(diào)度。需要注意的是,EDF只在出現(xiàn)任務(wù)實例就緒時調(diào)整任務(wù)的優(yōu)先級。因為在其它時刻,任務(wù)實例按時限距離的長短的排序關(guān)系不變,因此任務(wù)間優(yōu)先級的排序不變[9]。
6 結(jié)束語
EDF算法是對周期性任務(wù)的動態(tài)優(yōu)先級調(diào)度算法,存在以下缺點:①調(diào)度算法是針對周期性任務(wù)而言的,沒有考慮對實時系統(tǒng)中突發(fā)任務(wù)(非周期性任務(wù))的調(diào)度,且周期任務(wù)要求彼此獨立。②調(diào)度算對周期和時限寬度相同的同步周期任務(wù),即使在處理器利用率很低的情況下,也可能產(chǎn)生不了合理的調(diào)度。因此在這種情況下,必須進行調(diào)度算法的可行性分析[10]。
編輯:jq
-
控制器
+關(guān)注
關(guān)注
112文章
16126瀏覽量
177129 -
cpu
+關(guān)注
關(guān)注
68文章
10810瀏覽量
210878 -
EDFA
+關(guān)注
關(guān)注
0文章
25瀏覽量
12137 -
工業(yè)以太網(wǎng)
+關(guān)注
關(guān)注
10文章
613瀏覽量
42302
發(fā)布評論請先 登錄
相關(guān)推薦
評論