如何在嵌入式应用程序中实现以太网这些协议

作者:网络测试仪资讯时间:2022-08-16 分类:技术新闻热度:174

简介 CAN 和其他现场总线互连等低端、低成本网络在分布式嵌入式系统中无处不在,但如今许多应用需要更多带宽——尤其是当多媒体进入嵌入式空间和工业应用时。基于以太网的网络...

此处可加入广告

奈图尔科技(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 和我们将在稍后讨论的其他标准。

poYBAGL56laAJmCFAAHdu5f3Zv0843.png

  图 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 描绘了这种设计的典型飞思卡尔方法。如您所见,该实施同时支持传统的现场总线协议。

poYBAGL56mKAfLTyAAFqb1cR1PY623.png

  图 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。如果您在控制应用程序中遇到带宽问题,这种选择可能被证明是最可行的选择。



此处可加入广告

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理