Sitara处理器上的EtherCAT

时间:2022-02-16 11:33:12

EtherCAT(以太网控制自动化技术)是一种适合输入/输出(I/O)设备、传感器和可编程逻辑控制器(PLC)等工业自动化应用的新兴实时工业以太网标准。它最初是由德国倍福自动化有限公司(Beckhoff Automation GmbH)开发的,不过现在受EtherCAT技术协会(为帮助EtherCAT标准的推广而成立)监管。如今,来自52个国家的1900多家会员公司在创建和部署EtherCAT兼容型产品。以太网在多种应用里被广泛采用,这种情况前所未有;但在工业环境中,它用于少量数据交换时仍然不够高效,用于实时运行时确定性较低,并且只能与星状拓扑结构(其中网络节点必须通过交换机进行连接)一起使用。EtherCAT技术在以太网上添加了某些特性并实施了某些配置,旨在让它成为适用于自动化的非常高效的网络技术,同时完全符合以太网规范。EtherCAT的设计使任何标准个人电脑均能用作EtherCAT主站并可与EtherCAT从站(它们是符合EtherCAT规范的专门设备)进行通信。总之,EtherCAT的主站和从站可用于工厂网络中的所有设备――自动化控制器、操作员界面、远程输入/输出单元、传感器、致动器、驱动器等。

技术

通过实施“即时”处理(这种情况下EtherCAT网络中的节点可从正经过的帧读取数据),EtherCAT比传统的以太网大有改进。所有EtherCAT帧均源自可向从站发送命令和数据的EtherCAT主站。任何要发回主站的数据均由从站写入正经过的帧。

这有助于在主站和各个从站之间消除小型帧点对点交换的必要性,大大提高通信的效率。然而,这也意味着每个从站必须有两个以太网端口并能让帧经过,同时从正经过的帧读取数据或将数据写入该帧,因此,在从站设备中需要专门的硬件。作为这些改进的结果,在一个运行EtherCAT的IOOMbps的网络里可用带宽超过90%;而在主站必须分别与每个从站节点进行通信的情况下,网络的可用带宽不到5%。

EtherCAT报文

如图2所示,EtherCAT报文被封装在以太网帧中,并包括专为EtherCAT从站而设计的一个或多个EtherCAT数据报文。此类以太网帧在报头使用EtherCAT类型,也可用IP/UDP报头对它们进行包装。当使用IP报头时,还可跨网络路由器使用EtherCAT协议。

每个EtherCAT数据报文均是一个由报头、数据和工作计数器组成的命令。报头和数据被用来指定从站必须执行的操作;工作计数器则由从站进行更新,以便让主站知道从站已处理完该命令。

协议

每个从站均可“即时”处理EtherCAT数据包,因为如果EtherCAT数据报文中指定的地址与它自己的地址相符,它就可以接收该帧、解析该帧并采取行动,从其第二个端口转发整个数据报文,同时更新该数据包的内容和循环冗余码(CRC)。通过数据报文,EtherCAT主站可为整个地址空间(高达4GB)寻址,该空间中多达65536个EtherCAT从站(每个从站有65536个地址)均可被定位。就网络中从站节点的实际位置而言,EtherCAT数据报文对从站被寻址的顺序没有任何限制。

有不同类型的EtherCAT数据传输――循环的和非循环的。循环数据是被以周期性间隔或循环时间传送的过程数据。非循环数据通常是非时间关键性数据,可能数量很多,通常为响应控制器的命令而进行交换。有些非循环数据(如诊断数据)可能至关重要,并有严苛的时序要求。通过优化寻址方案(物理寻址、逻辑寻址、多重寻址和广播寻址),EtherCAT可处理这些不同的数据传输要求。

为了处理不同的寻址方案,每个从站均有一个现场总线内存管理单元(FMMU)。每个从站中的FMMU单元都能支持EtherCAT协议,以便把各种从站设备当作4GB大型内存空间(从站空间被映射在其中)的一部分。EtherCAT主站在初始化阶段可拼集一个完整的过程图像,然后通过一个单一的EtherCAT命令甚至可对从站设备进行位级访问。有了这种能力,几乎有可能通过标准以太网控制器和标准以太网线缆在整个现场总线网络范围内跨大型和小型设备任何数量的输入/输出(I/O)通道进行通信。

性能

因为有基于硬件的FMMU和即时处理功能,EtherCAT网络能以非常高的效率水平运行。它能以微秒级的周期时间实现从控制器到现场设备的通信。通信效率不但不再是工业网络中的瓶颈,还能使其与当代工业PC的计算速度一致。例如,提升的性能使分布式驱动器有可能在EtherCAT上除运行位置环路外还运行电流环路。

拓扑结构

EtherCAT标准可支持任何拓扑结构(线状、星状或树状),借助EtherCAT还可实现在现场总线网络中常见的总线结构。由于EtherCAT接口存在于I/0设备上,因此无须任何以太网交换硬件。采用有效距离为lOOm的铜缆链路以及有效距离更长的光链路,EtherCAT可在一个很大的地理区域内跨越数千台分散的设备正常运行。对于较短的距离(如在背板上),EtherCAT则可使用E总线――一种差分信号技术。

分布式时钟

为了在相互远离安装的工业节点中实现同步行动,就必须使它们的内部时钟同步。通过在每个从站节点上为经过网络的EtherCAT数据包的入口和出口采集时间戳样本,EtherCAT可实现这一目的。主站可用从站提供的时间戳信息来为每个单独的从站精确计算传播延迟。应基于该计算结果调整每个从站节点中的时钟,因此,这些时钟经同步后相互间的时差在1μs以内。精确同步化时钟的另一个优势是,所进行的任何测量均与同步的时间有联系,并可消除不确定性(与设备之间通信中的抖动相关)。

设备配置文件

在工业自动化领域,要描述设备的功能和参数,一种常见的方法是使用设备配置文件。EtherCAT可提供至现有设备配置文件的接口,因此原有现场总线设备可很轻松地升级以便使用EtherCAT。有些这样的接口是EtherCAT上的控制局域网(CAN)应用层(CoE)和EtherCAT上的伺服驱动器配置文件(SoE)――能使用CANOpen和SERCOS,但必须通过利用它们的数据结构到EtherCAT的映射。

EtherCAT节点的组成部分

每个EtherCAT节点(见图3)均有3个组成部分:物理层、数据链路层和应用层。

物理层要用IOOBASE-TX铜缆、100BASEFX光纤或基于LVDS信号的E总线来实现。介质访问控制(MAC)操作可按EtherCAT标准规范在专用集成电路(ASIC)或专门的现场可编程门阵列(FPGA)内实施。除MAC外还有工业应用,该应用可满足应用特有行为和标准TCP/IP和UDP/IP堆栈的需要以支持基于以太网的设备配置文件。根据设备的复杂度,可在硬件中实现EtherCAT节点,也可当作嵌入式中央处理器(CPU)内运行的软硬件的组合。

合规性

为确保用EtherCAT接口设计的设备之间有广泛的互操作性,EtherCAT技术协会(ETG)制定了好几项方案以保证符合技术规范。这些方案包括:一致性测试工具(CTT),它是一种用于检验合规性的软件程序;插拔测试大会,其中会员可聚会并对彼此的设备进行测试;设在德国和日本的认证实验室,在那里可进行正式认证测试。为了满足最低的一致性要求,设备在其首次向市场时必须通过使用一致性测试工具的协议测试。另外,供应商还可选择让自己的产品在任何授权的认证实验室接受认证。ETG网站提供了有关程序和认证实验室位置的详细信息。

现今使用的典型EtherCAT节点具有的架构与下列多张图中的一张相似。

可借助现在可用的单个FPGA或ASIC解决方案创建许多简单的EtherCAT设备(如数字I/O设备)。图4展示了此类架构的一个简化版。这种架构非常适合于不需要软件、所有功能均在硬件中实施的成本敏感型简易I/O节点。

在EtherCAT节点(其中额外的处理能力是必要的)里,通常具有片上闪存的外部处理器被连接到适合负责应用级处理的EtherCAT ASIC/FPGA。此类器件可以是传感器应用,例如,在这种情况下需要该处理器来操作传感器、安装启用设备驱动器并运行EtherCAT协议栈。这种架构要比简单的数字I/O设备成本高,并具有灵活性――开发人员可选择能满足自己需求并可实现成本目标的处理器。

若采用另一种方法,EtherCAT实施方案在具有集成式CPU的设备里则是外设之一。许多FPGA设备均有能力在FPGA中配置处理器或已有集成的处理器。一些供应商可在设备上提供具有EtherCAT与合适处理器的ASIC。FPGA很灵活,但根据CPU的选择,存在这样一种风险:成本或运行频率目标的实现颇具挑战性。

TI已将EtherCAT功能集成到了Sitara AM335x ARM Corte-xA8和AM437x Cortex-A9处理器。这些器件把ARM处理内核与大量其他外设和接口(使它们成为颇具魅力的器件,适用于打造工业自动化设备)集成在了一起。

Sitara AM335x和AM437x处理器集成了可编程实时单元(PRU)子系统――支持与MII接口极低层次的互动。这种能力使PRU子系统可执行EtherCAT等专门通信协议。可通过固件将整个EtherCAT MAC层封装在PRU子系统里。PRU能即时处理EtherCAT报文、解析它们、对地址进行解码并执行EtherCAT命令。当EtherCAT堆栈(第7层)和工业应用正在ARM处理器里运行时,中断可用于和ARM处理器进行的任何必要通信。PRU子系统还可在相反方向进行帧转发。由于PRU子系统可实施所有的EtherCAT功能,因此可将ARM处理器用于复杂的应用,还可将低速ARM内核进行部署以便用于较简单的成本受限制型应用(如分布式I/O)。

Sitara处理器方框图

Sitara AM335x和AM437x处理器是分别基于ARM Cortex-A8和ARMCortex-A9 RISC内核的低功耗器件。这两款处理器均具有多种集成式外设。对工业应用而言,Sitara处理器可支持从300MHz(适合简单应用)到1GHz(适合工业驱动器等需要高性能的复杂应用)的多种工作频段。任何性能水平的AM335x和AM437x处理器都可实施EtherCAT。AM335x处理器配置有一个PRU协处理器(两个实时内核);而AM437x处理器则具有两个PRU,总共4个实时内核。下边的图8和图9展示了Sitara AM335x和AM437x处理器的方框图。

EtherCAT软件架构

三种主要软件组件可在一款TISitara处理器上构成EtherCAT从站实施方案。第一种是可在PRU中实现第二层功能的微码;第二种是可在ARM处理器上运行的EtherCAT从站堆栈;第三种是依赖于终端设备(其中使用了该解决方案)的工业应用。协议适配层和器件驱动器等附加支持组件均由TI在软件开发套件中提供。不管是用TI测试的EtherCAT堆栈还是用别的堆栈,图10所示的架构经过设计都能在工作时不发生变化。这种EtherCAT解决方案也是独立干操作系统(OS)之外的,通过参阅PRU子系统固件应用程序界面(API)指南可进行任何适应性调整。

在EtherCAT第二层中,PRU实时内核可分担数据报文处理、分布式时钟、地址映射、错误检测及处理以及主机接口的任务。

PRU也可在内部共享存储器中仿真EtherCAT寄存器空间。凭借自己确定性的实时处理能力,PRU能以始终如一且可预测的处理时延来处理EtherCAT数据报文。

上一篇:2015 TOP 10POWER获奖产品 下一篇:DSP技术推动智能物联网发展

文档上传者
热门推荐 更多>
精品范文更多>