如何在嵌入式應用程序中實現以太網這些協議
奈圖爾科技(www.ntooler.com)整理消息:
CAN 和其他現場總線互連等低端、低成本網絡在分布式嵌入式系統中無處不在,但如今許多應用需要更多帶寬——尤其是當多媒體進入嵌入式空間和工業應用時。基于以太網的網絡可以支持更高的帶寬要求,并且仍然通過添加到基線標準的專用網絡層來支持實時應用程序要求。讓我們評估可應用于工業控制等應用的可用網絡。我們還將考慮可以支持這種快速網絡的微控制器 (MCU) 和嵌入式微處理器技術,以及如何在嵌入式應用程序中實現這些協議。
自 MCU 和微處理器進入工業控制領域以來,現場總線技術是一系列以工業和控制為中心的互連,已被用于連接分布式控制器。這一趨勢始于處理器節點之間的點對點 RS-232 鏈路,并隨著現場總線標準的發展而發展,例如在一個互連上連接多個節點的 PROFIBUS。控制器局域網 (CAN) 是汽車領域的一種選擇,但這些技術都無法提供接近以太網的帶寬以及由 IT 空間驅動的帶寬不斷增加的任何地方。
與其他嵌入式計算領域一樣,控制領域有很多理由追求基于以太網的控制網絡。IT 世界正在降低支持以太網的成本,并且隨著時間的推移,IT 世界將保證更快的物理層技術。
實際上,嵌入式領域長期以來一直將以太網用作與 IT 基礎設施相關的工廠控制系統等應用。然而,這些用途實際上只是變相的 IT 實施。許多嵌入式系統需要連接到 Internet 或專用網絡,如今您可以在相對低端的 MCU 上找到標準以太網支持。
以太網作為連接分布式控制系統的網絡的問題在于,以 IT 為中心的媒體訪問控制器 (MAC) 層不支持實時、低延遲的數據傳輸。以太網旨在允許節點控制網絡并傳輸相對較大的數據包。控制網絡需要確定性傳輸相對少量的控制或狀態數據。
幾家不同的公司和組織已經著手修改以太網,或者更確切地說,添加可選層,例如實時媒體訪問控制,以提供分布式控制應用程序所需的功能集。通常,這些努力試圖讓基線以太網物理層 (PHY) 和 MAC 能夠承載傳統的 IT 流量或實時收集的確定性控制命令和數據。這些互連中的大多數最近才進入控制領域,因此我們將回顧 MCU 上的網絡選項和實施可能性。
PROFINET
PROFINET 可能是率先源自以太網的控制網絡,并且由推動 PROFIBUS 現場總線技術的同一組織頒布。創建者為 TCP/IP 添加了新的傳輸層和網絡層替代方案,以提供更好的實時支持,盡管這兩個堆棧可以并存。PROFIBUS 標準仍然依賴于以太網 MAC。PROFIBUS 通過為實時控制部署定義特定拓撲來規避這一限制。
PROFINET 實際上有三種形式。基線技術提供了對以太網的一些改進,但不支持低于 100 ms 的控制周期時間。PROFINET RT(實時)版本可以支持 1 到 100 ms 的循環時間,PROFINET IRT(同步實時)版本可以支持低于 1 ms 的循環時間,抖動小于 1 μs。
PROFINET 在標準以太網 MAC 層之上運行,許多支持以太網的 MCU 和處理器可以托管 PROFINET 協議棧。例如,飛思卡爾報告稱,任何包含以太網的Power Architecture MCU和ColdFire MCU都可以托管該堆棧。MPC5121e _是飛思卡爾針對工業以太網應用的一種特定 MCU。那個 760-MIPS MCU 有大量的性能開銷來處理網絡堆棧和手頭的應用程序。它還包括一個音頻加速器和一個圖形引擎。
然而,對 PROFINET 支持的廣泛聲明有一個警告。像 MPC5121e 這樣的 MCU 當然可以支持 PROFINET 和 PROFINET RT。飛思卡爾承認您將需要 FPGA 或 ASIC 來加速 PROFINET IRT 堆棧并滿足更嚴格的時序要求。
Atmel 是另一家支持工業以太網技術的公司。該公司推薦 AT91SAM9G45 MCU 用于 PROFINET 應用,包括 RT 版本。Atmel 還推薦使用 FPGA 或 ASIC 來支持 IRT 低延遲響應。圖 1 描繪了低延遲工業以太網的一般 Atmel 架構策略,包括 PROFINET IRT 和我們將在稍后討論的其他標準。
圖 1:Atmel 在支持確定的工業以太網類型(如 PROFINET IRT 和 EtherCAT)時,依靠 FPGA 或 ASIC 作為其 MCU 的補充。
EtherNet/IP 和以太網 Powerlink
EtherNet/IP(以太網工業協議)是另一種為控制應用定制的以太網,盡管在這種情況下的修改位于網絡堆棧的頂層。除了為節點同步定義更精確的時鐘之外,標準中幾乎沒有隱含地改進確定性。EtherNet/IP 的優勢確實在于使用速度更快的處理器。
Ethernet Powerlink 由 Ethernet Powerlink 標準化組支持,并引入了在標準以太網 MAC 之上運行的時間分片機制。該方案支持低到 200 μs 的控制周期時間和低于 1 μs 的抖動。此外,該標準能夠在應用層托管 CAN 協議,使其成為需要遷移到更快網絡的 CAN 應用的理想選擇。
在實施以太網 Powerlink 方面,好消息和壞消息來自同一事實。該實現完全基于軟件,并且與標準以太網完全兼容。但是,您需要一個強大的、以通信為中心的處理器來實現 Powerlink 的優勢。例如,飛思卡爾推薦其PowerQUICC 處理器集成了可編程通信引擎。目前,該技術超出了大多數 MCU 的能力。
EtherCAT
我們將在這里討論的后面一項技術是用于控制自動化技術的以太網。EtherCAT 試圖解決我們在本文前面沒有描述的確定性應用中的以太網核心問題。通常,以太網依賴于將信息從一個節點傳送到另一個節點的相對較大的數據幀。如果控制器需要將數據傳輸到多個遠程節點,它必須在順序幀中這樣做。在許多控制應用程序的情況下,這些幀中的大部分將是空的,因為控制信息的性質很短。
EtherCAT 定義了網絡上的主/從拓撲。主節點可以將多個從節點的數據混合到一個幀中。此外,拓撲確保確定性響應。該技術允許同時向多個節點發送消息,因為 EtherCAT 技術組沒有指定單個控制周期的極小值。但是,該組織報告說您可以在 30 μs 內更新 1,000 個 I/O。
與其他工業以太網類型一樣,EtherCAT 技術也有其優點和缺點。飛思卡爾指出,其 MPC5121e 可以作為 EtherCAT 主站輕松處理任務。圖 2 描繪了這種設計的典型飛思卡爾方法。如您所見,該實施同時支持傳統的現場總線協議。
圖 2:飛思卡爾在廣泛的 MCU 架構中支持 EtherCAT 主站功能,包括基于 Power Architecture 的架構,在某些情況下或者包括 ColdFire MCU。
從屬實現是另一回事,因為從屬必須實時剖析每一幀以找到指向它的數據。與 PROFINET IRT 技術一樣,實時幀處理需要 FPGA 或 ASIC。
盡管如此,EtherCAT 似乎正在獲得動力。隨著 MCU 集成度和性能的提升,設想集成 EtherCAT 從站功能的 MCU 相對容易。
對該技術的支持也在建設中。今年早些時候德州儀器(TI) 宣布已獲得 EtherCAT 技術的許可。該公司計劃在其Stellaris 系列基于 ARM 的 MCU 中支持 EtherCAT。
在工業控制應用中部署基于以太網的網絡的任務可能比使用 CAN、PROFIBUS 或其他現場總線標準要困難一些。然而,以太網在數據速率方面可以提供明顯的優勢。此外,工業以太網風格通常保持對標準以太網流量的支持,因此您可能會發現將控制數據與操作信息或者多媒體內容混合起來很方便。您可能需要更強大的 MCU 或處理器來支持工業以太網,或者是 FPGA。如果您在控制應用程序中遇到帶寬問題,這種選擇可能被證明是最可行的選擇。
掃一掃,關注我們