如何在嵌入式應(yīng)用程序中實(shí)現(xiàn)以太網(wǎng)這些協(xié)議
奈圖爾科技(www.ntooler.com)整理消息:
CAN 和其他現(xiàn)場(chǎng)總線互連等低端、低成本網(wǎng)絡(luò)在分布式嵌入式系統(tǒng)中無(wú)處不在,但如今許多應(yīng)用需要更多帶寬——尤其是當(dāng)多媒體進(jìn)入嵌入式空間和工業(yè)應(yīng)用時(shí)。基于以太網(wǎng)的網(wǎng)絡(luò)可以支持更高的帶寬要求,并且仍然通過(guò)添加到基線標(biāo)準(zhǔn)的專用網(wǎng)絡(luò)層來(lái)支持實(shí)時(shí)應(yīng)用程序要求。讓我們?cè)u(píng)估可應(yīng)用于工業(yè)控制等應(yīng)用的可用網(wǎng)絡(luò)。我們還將考慮可以支持這種快速網(wǎng)絡(luò)的微控制器 (MCU) 和嵌入式微處理器技術(shù),以及如何在嵌入式應(yīng)用程序中實(shí)現(xiàn)這些協(xié)議。
自 MCU 和微處理器進(jìn)入工業(yè)控制領(lǐng)域以來(lái),現(xiàn)場(chǎng)總線技術(shù)是一系列以工業(yè)和控制為中心的互連,已被用于連接分布式控制器。這一趨勢(shì)始于處理器節(jié)點(diǎn)之間的點(diǎn)對(duì)點(diǎn) RS-232 鏈路,并隨著現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)的發(fā)展而發(fā)展,例如在一個(gè)互連上連接多個(gè)節(jié)點(diǎn)的 PROFIBUS。控制器局域網(wǎng) (CAN) 是汽車領(lǐng)域的一種選擇,但這些技術(shù)都無(wú)法提供接近以太網(wǎng)的帶寬以及由 IT 空間驅(qū)動(dòng)的帶寬不斷增加的任何地方。
與其他嵌入式計(jì)算領(lǐng)域一樣,控制領(lǐng)域有很多理由追求基于以太網(wǎng)的控制網(wǎng)絡(luò)。IT 世界正在降低支持以太網(wǎng)的成本,并且隨著時(shí)間的推移,IT 世界將保證更快的物理層技術(shù)。
實(shí)際上,嵌入式領(lǐng)域長(zhǎng)期以來(lái)一直將以太網(wǎng)用作與 IT 基礎(chǔ)設(shè)施相關(guān)的工廠控制系統(tǒng)等應(yīng)用。然而,這些用途實(shí)際上只是變相的 IT 實(shí)施。許多嵌入式系統(tǒng)需要連接到 Internet 或?qū)S镁W(wǎng)絡(luò),如今您可以在相對(duì)低端的 MCU 上找到標(biāo)準(zhǔn)以太網(wǎng)支持。
以太網(wǎng)作為連接分布式控制系統(tǒng)的網(wǎng)絡(luò)的問(wèn)題在于,以 IT 為中心的媒體訪問(wèn)控制器 (MAC) 層不支持實(shí)時(shí)、低延遲的數(shù)據(jù)傳輸。以太網(wǎng)旨在允許節(jié)點(diǎn)控制網(wǎng)絡(luò)并傳輸相對(duì)較大的數(shù)據(jù)包。控制網(wǎng)絡(luò)需要確定性傳輸相對(duì)少量的控制或狀態(tài)數(shù)據(jù)。
幾家不同的公司和組織已經(jīng)著手修改以太網(wǎng),或者更確切地說(shuō),添加可選層,例如實(shí)時(shí)媒體訪問(wèn)控制,以提供分布式控制應(yīng)用程序所需的功能集。通常,這些努力試圖讓基線以太網(wǎng)物理層 (PHY) 和 MAC 能夠承載傳統(tǒng)的 IT 流量或?qū)崟r(shí)收集的確定性控制命令和數(shù)據(jù)。這些互連中的大多數(shù)最近才進(jìn)入控制領(lǐng)域,因此我們將回顧 MCU 上的網(wǎng)絡(luò)選項(xiàng)和實(shí)施可能性。
PROFINET
PROFINET 可能是率先源自以太網(wǎng)的控制網(wǎng)絡(luò),并且由推動(dòng) PROFIBUS 現(xiàn)場(chǎng)總線技術(shù)的同一組織頒布。創(chuàng)建者為 TCP/IP 添加了新的傳輸層和網(wǎng)絡(luò)層替代方案,以提供更好的實(shí)時(shí)支持,盡管這兩個(gè)堆棧可以并存。PROFIBUS 標(biāo)準(zhǔn)仍然依賴于以太網(wǎng) MAC。PROFIBUS 通過(guò)為實(shí)時(shí)控制部署定義特定拓?fù)鋪?lái)規(guī)避這一限制。
PROFINET 實(shí)際上有三種形式。基線技術(shù)提供了對(duì)以太網(wǎng)的一些改進(jìn),但不支持低于 100 ms 的控制周期時(shí)間。PROFINET RT(實(shí)時(shí))版本可以支持 1 到 100 ms 的循環(huán)時(shí)間,PROFINET IRT(同步實(shí)時(shí))版本可以支持低于 1 ms 的循環(huán)時(shí)間,抖動(dòng)小于 1 μs。
PROFINET 在標(biāo)準(zhǔn)以太網(wǎng) MAC 層之上運(yùn)行,許多支持以太網(wǎng)的 MCU 和處理器可以托管 PROFINET 協(xié)議棧。例如,飛思卡爾報(bào)告稱,任何包含以太網(wǎng)的Power Architecture MCU和ColdFire MCU都可以托管該堆棧。MPC5121e _是飛思卡爾針對(duì)工業(yè)以太網(wǎng)應(yīng)用的一種特定 MCU。那個(gè) 760-MIPS MCU 有大量的性能開(kāi)銷來(lái)處理網(wǎng)絡(luò)堆棧和手頭的應(yīng)用程序。它還包括一個(gè)音頻加速器和一個(gè)圖形引擎。
然而,對(duì) PROFINET 支持的廣泛聲明有一個(gè)警告。像 MPC5121e 這樣的 MCU 當(dāng)然可以支持 PROFINET 和 PROFINET RT。飛思卡爾承認(rèn)您將需要 FPGA 或 ASIC 來(lái)加速 PROFINET IRT 堆棧并滿足更嚴(yán)格的時(shí)序要求。
Atmel 是另一家支持工業(yè)以太網(wǎng)技術(shù)的公司。該公司推薦 AT91SAM9G45 MCU 用于 PROFINET 應(yīng)用,包括 RT 版本。Atmel 還推薦使用 FPGA 或 ASIC 來(lái)支持 IRT 低延遲響應(yīng)。圖 1 描繪了低延遲工業(yè)以太網(wǎng)的一般 Atmel 架構(gòu)策略,包括 PROFINET IRT 和我們將在稍后討論的其他標(biāo)準(zhǔn)。
圖 1:Atmel 在支持確定的工業(yè)以太網(wǎng)類型(如 PROFINET IRT 和 EtherCAT)時(shí),依靠 FPGA 或 ASIC 作為其 MCU 的補(bǔ)充。
EtherNet/IP 和以太網(wǎng) Powerlink
EtherNet/IP(以太網(wǎng)工業(yè)協(xié)議)是另一種為控制應(yīng)用定制的以太網(wǎng),盡管在這種情況下的修改位于網(wǎng)絡(luò)堆棧的頂層。除了為節(jié)點(diǎn)同步定義更精確的時(shí)鐘之外,標(biāo)準(zhǔn)中幾乎沒(méi)有隱含地改進(jìn)確定性。EtherNet/IP 的優(yōu)勢(shì)確實(shí)在于使用速度更快的處理器。
Ethernet Powerlink 由 Ethernet Powerlink 標(biāo)準(zhǔn)化組支持,并引入了在標(biāo)準(zhǔn)以太網(wǎng) MAC 之上運(yùn)行的時(shí)間分片機(jī)制。該方案支持低到 200 μs 的控制周期時(shí)間和低于 1 μs 的抖動(dòng)。此外,該標(biāo)準(zhǔn)能夠在應(yīng)用層托管 CAN 協(xié)議,使其成為需要遷移到更快網(wǎng)絡(luò)的 CAN 應(yīng)用的理想選擇。
在實(shí)施以太網(wǎng) Powerlink 方面,好消息和壞消息來(lái)自同一事實(shí)。該實(shí)現(xiàn)完全基于軟件,并且與標(biāo)準(zhǔn)以太網(wǎng)完全兼容。但是,您需要一個(gè)強(qiáng)大的、以通信為中心的處理器來(lái)實(shí)現(xiàn) Powerlink 的優(yōu)勢(shì)。例如,飛思卡爾推薦其PowerQUICC 處理器集成了可編程通信引擎。目前,該技術(shù)超出了大多數(shù) MCU 的能力。
EtherCAT
我們將在這里討論的后面一項(xiàng)技術(shù)是用于控制自動(dòng)化技術(shù)的以太網(wǎng)。EtherCAT 試圖解決我們?cè)诒疚那懊鏇](méi)有描述的確定性應(yīng)用中的以太網(wǎng)核心問(wèn)題。通常,以太網(wǎng)依賴于將信息從一個(gè)節(jié)點(diǎn)傳送到另一個(gè)節(jié)點(diǎn)的相對(duì)較大的數(shù)據(jù)幀。如果控制器需要將數(shù)據(jù)傳輸?shù)蕉鄠€(gè)遠(yuǎn)程節(jié)點(diǎn),它必須在順序幀中這樣做。在許多控制應(yīng)用程序的情況下,這些幀中的大部分將是空的,因?yàn)榭刂菩畔⒌男再|(zhì)很短。
EtherCAT 定義了網(wǎng)絡(luò)上的主/從拓?fù)洹V鞴?jié)點(diǎn)可以將多個(gè)從節(jié)點(diǎn)的數(shù)據(jù)混合到一個(gè)幀中。此外,拓?fù)浯_保確定性響應(yīng)。該技術(shù)允許同時(shí)向多個(gè)節(jié)點(diǎn)發(fā)送消息,因?yàn)?EtherCAT 技術(shù)組沒(méi)有指定單個(gè)控制周期的極小值。但是,該組織報(bào)告說(shuō)您可以在 30 μs 內(nèi)更新 1,000 個(gè) I/O。
與其他工業(yè)以太網(wǎng)類型一樣,EtherCAT 技術(shù)也有其優(yōu)點(diǎn)和缺點(diǎn)。飛思卡爾指出,其 MPC5121e 可以作為 EtherCAT 主站輕松處理任務(wù)。圖 2 描繪了這種設(shè)計(jì)的典型飛思卡爾方法。如您所見(jiàn),該實(shí)施同時(shí)支持傳統(tǒng)的現(xiàn)場(chǎng)總線協(xié)議。
圖 2:飛思卡爾在廣泛的 MCU 架構(gòu)中支持 EtherCAT 主站功能,包括基于 Power Architecture 的架構(gòu),在某些情況下或者包括 ColdFire MCU。
從屬實(shí)現(xiàn)是另一回事,因?yàn)閺膶俦仨殞?shí)時(shí)剖析每一幀以找到指向它的數(shù)據(jù)。與 PROFINET IRT 技術(shù)一樣,實(shí)時(shí)幀處理需要 FPGA 或 ASIC。
盡管如此,EtherCAT 似乎正在獲得動(dòng)力。隨著 MCU 集成度和性能的提升,設(shè)想集成 EtherCAT 從站功能的 MCU 相對(duì)容易。
對(duì)該技術(shù)的支持也在建設(shè)中。今年早些時(shí)候德州儀器(TI) 宣布已獲得 EtherCAT 技術(shù)的許可。該公司計(jì)劃在其Stellaris 系列基于 ARM 的 MCU 中支持 EtherCAT。
在工業(yè)控制應(yīng)用中部署基于以太網(wǎng)的網(wǎng)絡(luò)的任務(wù)可能比使用 CAN、PROFIBUS 或其他現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)要困難一些。然而,以太網(wǎng)在數(shù)據(jù)速率方面可以提供明顯的優(yōu)勢(shì)。此外,工業(yè)以太網(wǎng)風(fēng)格通常保持對(duì)標(biāo)準(zhǔn)以太網(wǎng)流量的支持,因此您可能會(huì)發(fā)現(xiàn)將控制數(shù)據(jù)與操作信息或者多媒體內(nèi)容混合起來(lái)很方便。您可能需要更強(qiáng)大的 MCU 或處理器來(lái)支持工業(yè)以太網(wǎng),或者是 FPGA。如果您在控制應(yīng)用程序中遇到帶寬問(wèn)題,這種選擇可能被證明是最可行的選擇。
掃一掃,關(guān)注我們
相關(guān)新聞
- STP、SFTP、UTP、FTP、ASTP分別是什么網(wǎng)線?
- POE交換機(jī)150米和250米的傳輸有哪些區(qū)別?
- 常見(jiàn)的無(wú)線網(wǎng)絡(luò)連接故障有哪些解決方法?
- 四種PLC之間跨網(wǎng)段通訊的常用方法分享
- PoE供電如何在無(wú)線網(wǎng)絡(luò)中應(yīng)用?
- 輕量化能否成為5G“燎原”之星火?
- LoRa無(wú)線傳輸技術(shù)與LoRaWAN無(wú)線模塊的區(qū)別
- 工業(yè)互聯(lián)網(wǎng)能給我們帶來(lái)什么?
- 示波器電壓探頭和電流探頭一樣嗎
- 局域網(wǎng)的組建設(shè)備有哪些?