?
1 引言
工業以太網由于低成本、易于組網和具有相當高的數據傳輸速率、資源共享能力強以及易于Internet連接等特點,以太網(Ethernet)指的是由Xerox公司創建并由Xerox、Intel和DEC公司聯合開發的基帶局域網規范,是當今現有局域網采用的最通用的通信協議標準。以太網絡使用CSMA/CD(載波監聽多路訪問及沖突檢測)技術,并以10M/S的速率運行在多種類型的電纜上。以太網與IEEE802·3系列標準相類似。以太網最早由Xerox(施樂)公司創建,在1980年,DEC、lntel和Xerox三家公司聯合開發成為一個標準。以太網是應用最為廣泛的局域網,包括標準的以太網(10Mbit/s)、快速以太網(100Mbit/s)和10G(10Gbit/s)以太網,采用的是CSMA/CD訪問控制法,它們都符合IEEE802.3。
2 Ethercat技術介紹
2.1 Ethercat的系統組成及運行原理
?
EtherCAT 是開放的實時以太網絡通訊協議,最初由德國倍福自動化有限公司(BeckhoffAutomation GmbH) 研發。EtherCAT為系統的實時性能和拓撲的靈活性樹立了新的標準,同時,它還符合甚至降低了現場總線的使用成本。EtherCAT的特點還包括高精度設備同步,可選線纜冗余,和功能性安全協議(SIL3)。通過采用EtherCAT技術, Beckhoff突破了其它以太網解決方案的這些系統限制:不必再像從前那樣在每個連接點接收以太網數據包,然后進行解碼并復制為過程數據。當幀通過每一個設備(包括底層端子設備)時,EtherCAT從站控制器讀取對于該設備十分重要的數據。同樣,輸入數據可以在報文通過時插入至報文中。在幀被傳遞 (僅被延遲幾位)過去的時候,從站會識別出相關命令,并進行處理。此過程是在從站控制器中通過硬件實現的,因此與協議堆棧軟件的實時運行系統或處理器性能無關。網段中的最后一個EtherCAT從站將經過充分處理的報文返回,這樣該報文就作為一個響應報文由第一個從站返回到主站。
2.2 Ethercat協議
Ethercat主張"以太網控制自動化技術" 。它是一個開放源代碼,高性能的系統,目的是利用以太網協議(最惠國待遇系統局域網),在一個工業環境,特別是對工廠和其他制造業的關注,其中利用機器人和其他裝備線上的技術。Ethercat采用標準的IEEE802-3以太網幀,幀結構如圖2。Ethercat在標準以太網幀結構中使用了一個特殊的以太網幀類型0x88A4,采用這種方式可以使控制數據直接寫入以太網幀內,并且可以與遵守其它協議的以太網幀在同一網絡中并行。一個Ethercat幀中可以包含若干個Ethercat子報文,每個報文都服務于一塊邏輯過程映像區的特定內存區域,由FMMU(Fieldbus MemoryManagement Unit)寄存器和SM (SyncManager)寄存器定義,該區域最大可達4GB字節。Ethercat報文由一個16位的WKC(Working Count)結束,其數據區最大長度可達1486個字節。在報文頭中由8位命令區數據決定主站對從站的尋址方式,由于數據鏈獨立于物理順序,因此可以對Ethercat從站進行任意的編址。
?
圖2 Ethercat幀結構
2.3 Ethercat性能
Ethercat整個協議處理過程都在硬件中進行。EtherCAT在網絡性能上達到了一個新的高度。1000個分布式I/O數據的刷新周期僅為30μs,其中包括端子循環時間。通過一個以太網幀,可以交換高達1486字節的過程數據,幾乎相當于12000個數字量I/O。而這一數據量的傳輸僅用300μs。100個伺服軸的通訊只需100μs[5]。在此期間,可以向所有軸提供設置值和控制數據,并報告它們的實際位置和狀態。
3 基于ARM的從站節點控制器的硬件設計
ARM(Advanced RISC Machines)是微處理器行業的一家知名企業,設計了大量高性能、廉價、耗能低的RISC處理器、相關技術及軟件。技術具有性能高、成本低和能耗省的特點。適用于多種領域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應用等。
Ethercat從站節點的協議部分可以直接利用BECKHOFF公司的從站控制器ESC。ESC從站控制器提供3種接口規范如表1,具體采用哪一種方式可以設置控制器的EEPROM來選擇。
表1 接口規范
?
本文設計的Ethercat從站節點硬件包括從站協議控制器、從站CPU和網絡接口等部分組成。Ethercat從站中最關鍵部分是Ethercat協議控制器,它實現Ethercat的物理層與數據鏈路層的協議。現在市場上有多種Ethercat協議控制器可供使用,接口連接方式采用16位異步微處理器方式。從站的硬件實現如圖3所示。
其中ARM控制器實現Ethercat對現場任務的收集與調度;Ethercat從站控制器實現Ethercat協議;EEPROM用于保存從站配置數據和從站描述數據;網絡接口用于主從站之間或從站與從站之間的連接,根據Ethercat從站控制器的不同網絡接口可以分別為2-4個。
?
圖3 從站節點結構框圖
4 數據交換
主從站之間交換的數據主要分兩種形式:一種是周期性數據;另一種是非周期性數據。周期性數據傳輸可以根據任務的緊迫性劃分其優先級,通過采用EDF算法調度任務,把劃分好優先級的任務放入緩沖區供系統調用。緩沖區為在內存中分配的一段空間,兩端都可以訪問緩沖區中的數據;非周期性數據采用郵箱方式傳輸,此時一端寫入數據到內存,且只有此段內存寫滿后另一端才能開始從內存中讀取數據,并且只能當內存中的數據全部讀出時,才能重新寫入數據。針對這兩種數據通信方式,從站程序可以對非周期性數據通信采用查詢方式,對周期性通信采用中斷方式,程序流程圖如圖4、圖5所示。
?
圖4 中斷方式
?
圖5 查詢方式
5 最小截止優先(EDF,EarlieST Deadline First)算法
系統對周期性任務采用最小優先級優先算法進行調度,調度算法在ARM微控制器中實現。處理器對緊迫性事件的處理能力決定了系統處理突發事件的能力,把系統各種需要調度的任務按照緊迫程度用優先級來劃分,通過采用最小截止期優先算法來動態優先處理突發事件。
EDF全稱Earliest Deadline First。最早截止時間優先算法(EDF)也稱為截止時間驅動調度算法(DDS),是一種動態調度算法。EDF在調度時,任務的優先級根據任務的截止時間動態分配。截止時間越短,優先級越高。如果一個任務集負載U<=1,則是可調度的。EDF 調度算法已被證明是動態最優調度, 而且是充要條件。處理機利用率最大可達100% 。但瞬時過載時, 系統行為不可預測, 可能發生多米諾骨牌現象, 一個任務丟失時會引起一連串的任務接連丟失。所有實時任務必須滿足以下限制條件:
(1)所有實時任務均為周期任務,且周期大于或等于截止期。
(2)所有實時任務必須在其截止期到來前結束。
(3)所有實時任務相互獨立。
(4)所有實時任務具有恒定的運動時間。
任務按周期由大到小排列為
EDF以任務的截止期與當前時刻的距離確定任務優先級(稱這一距離為時限距離),距離越近,優先級越高,因此,EDF總是選擇當前最迫切需要完成的任務獲得處理器。Liu和Layland證明如下:
?
對于由n個周期任務組成實時任務集,當且僅當:
?
其中Ci為計算機時間,該任務集能夠由EDF調度。
EDF是最優動態可搶占優先級調度,對于任何實時任務集,只要存在可行的動態調度算法,則必可由EDF調度。需要注意的是,EDF只在出現任務實例就緒時調整任務的優先級。
6 結束語
EDF算法是對周期性任務的動態優先級調度算法,存在以下缺點:①調度算法是針對周期性任務而言的,沒有考慮對實時系統中突發任務(非周期性任務)的調度,且周期任務要求彼此獨立。②調度算對周期和時限寬度相同的同步周期任務,即使在處理器利用率很低的情況下,也可能產生不了合理的調度。因此在這種情況下,必須進行調度算法的可行性分析[10]。
評論
查看更多