?
1 引言
工業(yè)以太網(wǎng)由于低成本、易于組網(wǎng)和具有相當(dāng)高的數(shù)據(jù)傳輸速率、資源共享能力強(qiáng)以及易于Internet連接等特點(diǎn),以太網(wǎng)(Ethernet)指的是由Xerox公司創(chuàng)建并由Xerox、Intel和DEC公司聯(lián)合開發(fā)的基帶局域網(wǎng)規(guī)范,是當(dāng)今現(xiàn)有局域網(wǎng)采用的最通用的通信協(xié)議標(biāo)準(zhǔn)。以太網(wǎng)絡(luò)使用CSMA/CD(載波監(jiān)聽多路訪問及沖突檢測)技術(shù),并以10M/S的速率運(yùn)行在多種類型的電纜上。以太網(wǎng)與IEEE802·3系列標(biāo)準(zhǔn)相類似。以太網(wǎng)最早由Xerox(施樂)公司創(chuàng)建,在1980年,DEC、lntel和Xerox三家公司聯(lián)合開發(fā)成為一個(gè)標(biāo)準(zhǔn)。以太網(wǎng)是應(yīng)用最為廣泛的局域網(wǎng),包括標(biāo)準(zhǔn)的以太網(wǎng)(10Mbit/s)、快速以太網(wǎng)(100Mbit/s)和10G(10Gbit/s)以太網(wǎng),采用的是CSMA/CD訪問控制法,它們都符合IEEE802.3。
2 Ethercat技術(shù)介紹
2.1 Ethercat的系統(tǒng)組成及運(yùn)行原理

?
EtherCAT 是開放的實(shí)時(shí)以太網(wǎng)絡(luò)通訊協(xié)議,最初由德國倍福自動(dòng)化有限公司(BeckhoffAutomation GmbH) 研發(fā)。EtherCAT為系統(tǒng)的實(shí)時(shí)性能和拓?fù)涞撵`活性樹立了新的標(biāo)準(zhǔn),同時(shí),它還符合甚至降低了現(xiàn)場總線的使用成本。EtherCAT的特點(diǎn)還包括高精度設(shè)備同步,可選線纜冗余,和功能性安全協(xié)議(SIL3)。通過采用EtherCAT技術(shù), Beckhoff突破了其它以太網(wǎng)解決方案的這些系統(tǒng)限制:不必再像從前那樣在每個(gè)連接點(diǎn)接收以太網(wǎng)數(shù)據(jù)包,然后進(jìn)行解碼并復(fù)制為過程數(shù)據(jù)。當(dāng)幀通過每一個(gè)設(shè)備(包括底層端子設(shè)備)時(shí),EtherCAT從站控制器讀取對(duì)于該設(shè)備十分重要的數(shù)據(jù)。同樣,輸入數(shù)據(jù)可以在報(bào)文通過時(shí)插入至報(bào)文中。在幀被傳遞 (僅被延遲幾位)過去的時(shí)候,從站會(huì)識(shí)別出相關(guān)命令,并進(jìn)行處理。此過程是在從站控制器中通過硬件實(shí)現(xiàn)的,因此與協(xié)議堆棧軟件的實(shí)時(shí)運(yùn)行系統(tǒng)或處理器性能無關(guān)。網(wǎng)段中的最后一個(gè)EtherCAT從站將經(jīng)過充分處理的報(bào)文返回,這樣該報(bào)文就作為一個(gè)響應(yīng)報(bào)文由第一個(gè)從站返回到主站。
2.2 Ethercat協(xié)議
Ethercat主張"以太網(wǎng)控制自動(dòng)化技術(shù)" 。它是一個(gè)開放源代碼,高性能的系統(tǒng),目的是利用以太網(wǎng)協(xié)議(最惠國待遇系統(tǒng)局域網(wǎng)),在一個(gè)工業(yè)環(huán)境,特別是對(duì)工廠和其他制造業(yè)的關(guān)注,其中利用機(jī)器人和其他裝備線上的技術(shù)。Ethercat采用標(biāo)準(zhǔn)的IEEE802-3以太網(wǎng)幀,幀結(jié)構(gòu)如圖2。Ethercat在標(biāo)準(zhǔn)以太網(wǎng)幀結(jié)構(gòu)中使用了一個(gè)特殊的以太網(wǎng)幀類型0x88A4,采用這種方式可以使控制數(shù)據(jù)直接寫入以太網(wǎng)幀內(nèi),并且可以與遵守其它協(xié)議的以太網(wǎng)幀在同一網(wǎng)絡(luò)中并行。一個(gè)Ethercat幀中可以包含若干個(gè)Ethercat子報(bào)文,每個(gè)報(bào)文都服務(wù)于一塊邏輯過程映像區(qū)的特定內(nèi)存區(qū)域,由FMMU(Fieldbus MemoryManagement Unit)寄存器和SM (SyncManager)寄存器定義,該區(qū)域最大可達(dá)4GB字節(jié)。Ethercat報(bào)文由一個(gè)16位的WKC(Working Count)結(jié)束,其數(shù)據(jù)區(qū)最大長度可達(dá)1486個(gè)字節(jié)。在報(bào)文頭中由8位命令區(qū)數(shù)據(jù)決定主站對(duì)從站的尋址方式,由于數(shù)據(jù)鏈獨(dú)立于物理順序,因此可以對(duì)Ethercat從站進(jìn)行任意的編址。

?
圖2 Ethercat幀結(jié)構(gòu)
2.3 Ethercat性能
Ethercat整個(gè)協(xié)議處理過程都在硬件中進(jìn)行。EtherCAT在網(wǎng)絡(luò)性能上達(dá)到了一個(gè)新的高度。1000個(gè)分布式I/O數(shù)據(jù)的刷新周期僅為30μs,其中包括端子循環(huán)時(shí)間。通過一個(gè)以太網(wǎng)幀,可以交換高達(dá)1486字節(jié)的過程數(shù)據(jù),幾乎相當(dāng)于12000個(gè)數(shù)字量I/O。而這一數(shù)據(jù)量的傳輸僅用300μs。100個(gè)伺服軸的通訊只需100μs[5]。在此期間,可以向所有軸提供設(shè)置值和控制數(shù)據(jù),并報(bào)告它們的實(shí)際位置和狀態(tài)。
3 基于ARM的從站節(jié)點(diǎn)控制器的硬件設(shè)計(jì)
ARM(Advanced RISC Machines)是微處理器行業(yè)的一家知名企業(yè),設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點(diǎn)。適用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類多媒體、DSP和移動(dòng)式應(yīng)用等。
Ethercat從站節(jié)點(diǎn)的協(xié)議部分可以直接利用BECKHOFF公司的從站控制器ESC。ESC從站控制器提供3種接口規(guī)范如表1,具體采用哪一種方式可以設(shè)置控制器的EEPROM來選擇。
表1 接口規(guī)范

?
本文設(shè)計(jì)的Ethercat從站節(jié)點(diǎn)硬件包括從站協(xié)議控制器、從站CPU和網(wǎng)絡(luò)接口等部分組成。Ethercat從站中最關(guān)鍵部分是Ethercat協(xié)議控制器,它實(shí)現(xiàn)Ethercat的物理層與數(shù)據(jù)鏈路層的協(xié)議。現(xiàn)在市場上有多種Ethercat協(xié)議控制器可供使用,接口連接方式采用16位異步微處理器方式。從站的硬件實(shí)現(xiàn)如圖3所示。
其中ARM控制器實(shí)現(xiàn)Ethercat對(duì)現(xiàn)場任務(wù)的收集與調(diào)度;Ethercat從站控制器實(shí)現(xiàn)Ethercat協(xié)議;EEPROM用于保存從站配置數(shù)據(jù)和從站描述數(shù)據(jù);網(wǎng)絡(luò)接口用于主從站之間或從站與從站之間的連接,根據(jù)Ethercat從站控制器的不同網(wǎng)絡(luò)接口可以分別為2-4個(gè)。

?
圖3 從站節(jié)點(diǎn)結(jié)構(gòu)框圖
4 數(shù)據(jù)交換
主從站之間交換的數(shù)據(jù)主要分兩種形式:一種是周期性數(shù)據(jù);另一種是非周期性數(shù)據(jù)。周期性數(shù)據(jù)傳輸可以根據(jù)任務(wù)的緊迫性劃分其優(yōu)先級(jí),通過采用EDF算法調(diào)度任務(wù),把劃分好優(yōu)先級(jí)的任務(wù)放入緩沖區(qū)供系統(tǒng)調(diào)用。緩沖區(qū)為在內(nèi)存中分配的一段空間,兩端都可以訪問緩沖區(qū)中的數(shù)據(jù);非周期性數(shù)據(jù)采用郵箱方式傳輸,此時(shí)一端寫入數(shù)據(jù)到內(nèi)存,且只有此段內(nèi)存寫滿后另一端才能開始從內(nèi)存中讀取數(shù)據(jù),并且只能當(dāng)內(nèi)存中的數(shù)據(jù)全部讀出時(shí),才能重新寫入數(shù)據(jù)。針對(duì)這兩種數(shù)據(jù)通信方式,從站程序可以對(duì)非周期性數(shù)據(jù)通信采用查詢方式,對(duì)周期性通信采用中斷方式,程序流程圖如圖4、圖5所示。

?
圖4 中斷方式

?
圖5 查詢方式
5 最小截止優(yōu)先(EDF,EarlieST Deadline First)算法
系統(tǒng)對(duì)周期性任務(wù)采用最小優(yōu)先級(jí)優(yōu)先算法進(jìn)行調(diào)度,調(diào)度算法在ARM微控制器中實(shí)現(xiàn)。處理器對(duì)緊迫性事件的處理能力決定了系統(tǒng)處理突發(fā)事件的能力,把系統(tǒng)各種需要調(diào)度的任務(wù)按照緊迫程度用優(yōu)先級(jí)來劃分,通過采用最小截止期優(yōu)先算法來動(dòng)態(tài)優(yōu)先處理突發(fā)事件。
EDF全稱Earliest Deadline First。最早截止時(shí)間優(yōu)先算法(EDF)也稱為截止時(shí)間驅(qū)動(dòng)調(diào)度算法(DDS),是一種動(dòng)態(tài)調(diào)度算法。EDF在調(diào)度時(shí),任務(wù)的優(yōu)先級(jí)根據(jù)任務(wù)的截止時(shí)間動(dòng)態(tài)分配。截止時(shí)間越短,優(yōu)先級(jí)越高。如果一個(gè)任務(wù)集負(fù)載U<=1,則是可調(diào)度的。EDF 調(diào)度算法已被證明是動(dòng)態(tài)最優(yōu)調(diào)度, 而且是充要條件。處理機(jī)利用率最大可達(dá)100% 。但瞬時(shí)過載時(shí), 系統(tǒng)行為不可預(yù)測, 可能發(fā)生多米諾骨牌現(xiàn)象, 一個(gè)任務(wù)丟失時(shí)會(huì)引起一連串的任務(wù)接連丟失。所有實(shí)時(shí)任務(wù)必須滿足以下限制條件:
(1)所有實(shí)時(shí)任務(wù)均為周期任務(wù),且周期大于或等于截止期。
(2)所有實(shí)時(shí)任務(wù)必須在其截止期到來前結(jié)束。
(3)所有實(shí)時(shí)任務(wù)相互獨(dú)立。
(4)所有實(shí)時(shí)任務(wù)具有恒定的運(yùn)動(dòng)時(shí)間。
任務(wù)按周期由大到小排列為

EDF以任務(wù)的截止期與當(dāng)前時(shí)刻的距離確定任務(wù)優(yōu)先級(jí)(稱這一距離為時(shí)限距離),距離越近,優(yōu)先級(jí)越高,因此,EDF總是選擇當(dāng)前最迫切需要完成的任務(wù)獲得處理器。Liu和Layland證明如下:
?
對(duì)于由n個(gè)周期任務(wù)組成實(shí)時(shí)任務(wù)集,當(dāng)且僅當(dāng):

?
其中Ci為計(jì)算機(jī)時(shí)間,該任務(wù)集能夠由EDF調(diào)度。
EDF是最優(yōu)動(dòng)態(tài)可搶占優(yōu)先級(jí)調(diào)度,對(duì)于任何實(shí)時(shí)任務(wù)集,只要存在可行的動(dòng)態(tài)調(diào)度算法,則必可由EDF調(diào)度。需要注意的是,EDF只在出現(xiàn)任務(wù)實(shí)例就緒時(shí)調(diào)整任務(wù)的優(yōu)先級(jí)。
6 結(jié)束語
EDF算法是對(duì)周期性任務(wù)的動(dòng)態(tài)優(yōu)先級(jí)調(diào)度算法,存在以下缺點(diǎn):①調(diào)度算法是針對(duì)周期性任務(wù)而言的,沒有考慮對(duì)實(shí)時(shí)系統(tǒng)中突發(fā)任務(wù)(非周期性任務(wù))的調(diào)度,且周期任務(wù)要求彼此獨(dú)立。②調(diào)度算對(duì)周期和時(shí)限寬度相同的同步周期任務(wù),即使在處理器利用率很低的情況下,也可能產(chǎn)生不了合理的調(diào)度。因此在這種情況下,必須進(jìn)行調(diào)度算法的可行性分析[10]。
評(píng)論