问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

EtherCAT技术详解:工业以太网的实时通信解决方案

创作时间:
作者:
@小白创作中心

EtherCAT技术详解:工业以太网的实时通信解决方案

引用
CSDN
1.
https://blog.csdn.net/qlexcel/article/details/145299355

EtherCAT是一种实时工业以太网技术,由德国倍福自动化公司于2003年提出。它具有高速和高数据有效率的特点,支持多种设备连接拓扑结构。EtherCAT使用主从结构,从站使用专用的控制芯片,主站使用标准的以太网控制器。

简单总结

  1. 要使用EtherCAT只需要电路板上加一个从站控制器芯片,比如LAN9253、AX58100,然后从站控制器芯片引出网口,MCU/DSP与从站控制器芯片通信读写数据。
  2. EtherCAT只能主机发送数据帧,然后从机从数据帧上读取数据判断是否发送给自己,或者从机把自己要发送的数据附在此数据帧上。因此避免了多个从机同时发送数据的仲裁时间。
  3. EtherCAT完全符合以太网标准,在电脑上运行TwinCAT软件,就可以作为主机控制从机了。

EtherCAT协议概述

EtherCAT是由德国BECKHOFF(倍福)自动化公司于2003年提出的实时工业以太网技术。它具有高速和高数据有效率的特点,支持多种设备连接拓扑结构。EtherCAT使用主从结构,从站使用专用的控制芯片,主站使用标准的以太网控制器。

EtherCAT从站设备在报文经过其节点时读取相应的数据报文,同样输入数据也是在报文经过时插入到报文中。整个过程报文只有几纳秒的时间延迟,实时性极强。

EtherCAT工业以太网在全球多个领域得到广泛应用,如机器控制、测量设备、医疗设备、汽车和移动设备以及无数的嵌入设备。

EtherCAT协议特点

  1. EtherCAT完全符合以太网标准,可以与其它以太网设备及协议并存于同一个总线,以太网交换机等标准结构组件也可以用于EtherCAT。
  2. EtherCAT使用标准IEEE802.3以太网帧,主站不需要特殊的硬件支持,任何带以太网控制器的设备都有条件作为EtherCAT主站,比如嵌入式系统,普通的PC和控制板卡等。
  3. 高效率、刷新周期短。EtherCAT从站对数据帧的读取、解析和过程数据的提取与插入完全由硬件来实现,这使得数据帧的处理不受CPU的性能影响,时间延迟小,实时性高。同时EtherCAT可与达到小于100us的数据刷新周期。EtherCAT以太网帧中能够压缩大量的设备数据,使得EherCAT网络有效数据率可达90%以上。根据官方测试1000个硬件IO更新时间仅为30us,包括IO周期时间,而容纳1486个字节的单个以太网帧的通信时间仅为300us。
  4. EtherCAT帧类型有0x88A4与其他以太网帧作区分。EtherCAT不需要IP协议,但可以封装在IP/UDP中,EtherCAT从站控制器以硬件方式处理。

总线拓扑

EtherCAT支持多种设备连接拓扑结构:线性、树形、星形等,可以选用的物理介质有100Base-TX标准以太网电缆或光缆,使用该物理介质允许两个设备之间最大的电缆长度为100米,连接的设备数量理论上可达到65535个,网络的容量几乎没有限制。

数据交互方式

Beckhoff官方对EtherCAT的传递机制命名为:On The Fly。如下图所示:将其想象为一列火车,每个带有从站地址的车厢对应需要与主站交互数据的从站的子报文。系统运行起来就是火车开起来,每个站点对应EtherCAT从站,依次停靠站点,如果没有自己设备地址的车厢(子报文),则将货车发往下一站点,如果有自己的车厢,等待乘客上下车(数据交换)完成后,发往下一站点,到达终点站返回始发站,返回过程中不再交互数据,这样就完成了一次通信周期。

通常每个通信周期只需要传输一个以太网数据帧,简单的理解就是一趟火车,完成一次循环,数据帧沿着逻辑环传输一周,完成所有广播式、多播式以及从站间的通信。

EtherCAT系统组成

EtherCAT充分利用了以太网的“双全工”特性。使用主从模式介质访问控制(MAC),主站发送以太网帧给各从站,从站从数据帧中抽取数据或者将数据插入数据帧。主站使用标准的以太网接口网卡,从站使用专门的EtherCAT从站控制器ESC(EtherCAT Slave Contronller)。EtherCAT物理层使用标准的以太网物理层器件。

EtherCAT主站组成

EtherCAT主站使用标准的以太网控制器,传输介质通常使用100BASE-TX规范的5类UTP线缆,在本文对应从站的例程,主要使用PC端作为主站,同时有网卡芯片的以及PC处理器的搭配需求,这点下文会提到。

在基于PC的主站中,通常使用网络接口卡NIC(Network Interface Card),其中网卡芯片集成了以太网通信控制器和物理数据收发器。

EtherCAT主机硬件

本文使用PC电脑端作为EtherCAT主机,因为使用TwinCAT作为上位机,所以对PC的硬件是有要求的。

TwinCAT对电脑处理器和网卡型号有要求,处理器必须是Intel的,网卡也要求是Intel,其它网卡的兼容性并不保证。

可以通过倍福官方网站进行验证查询:
https://infosys.beckhoff.com/english.php?content=…/content/1033/tc3_overview/9309844363.html&id=1489698440745036069。

EtherCAT从站组成

EtherCAT从站设备同时实现通信和控制应用两部分功能,其中主要是四部分组成。这四部分是构成从站必不可少的因素,在标准ISO/OSI的七层参考模型中,EtherCAT仅仅使用了物理层、链路层和应用层。

1:EtherCAT从站控制器ESC

EtherCAT从站控制器实现链路层协议,一般情况下是使用BECKHOFF官方的ET1100芯片,本文使用性价比较高的LAN9252与LAN9253芯片实现。

ESC负责处理EtherCAT数据帧,并使用双端口存储器实现EtherCAT主站与从站本地应用的数据交换。各个从站ESC按照各自在环路上的物理位置顺序移位读写数据帧。在报文经过从站时,ESC从报文中提取发送给自己的输出命令数据并将其存储到内部存储区,该输入数据从内部存储区又被写到相应的子报文中。数据的提取与插入都是由数据链路层硬件完成。

EtherCAT通信和完成控制任务还需要从站微控制器主导完成,通常是通过微控制器从ESC读取控制数据,从而实现设备控制功能,将设备反馈的数据写入ESC,并返回给主站。由于整个通信过程数据交换完全由ESC处理,与从站设备微控制器响应时间无关。从站微控制器的选择不受到功能限制,可以使用单片机、DSP和ARM等。

主要功能:

  1. 集成数据帧转发处理单元,通信性能不受从站微处理器限制。每个ESC最多可提供8个数据收发端口。
  2. 最大8K字节的双端口存储器DPRAM存储空间,DPRAM可以由外部微处理器并行或串行数据总线访问,这个访问的接口就是PDI。
  3. 具有FMMU逻辑地址映射功能,提高数据帧利用率。
  4. 由存储同步管理器通道SyncManager(SM)管理DPRAM,保证数据的一致性与安全性。
  5. 集成分布式时钟DC功能,为微处理器提供高精度中断信号。
  6. 具有EEPROM访问功能,存储ESC与应用配置参数,定义从站信息接口。
2:EEPROM

ESC使用EEPROM来存储所需要的设备相关信息,称为从站信息接口。这里涉及到一个关键的点,在使用新开发板的新EEPROM芯片,需要使用PC上位机对EEPROM写入设备信息以及PDI接口方式,否则微控制处理器则无法对ESC进行操作。

3:从站微控制器处理器

微处理器负责处理EtherCAT通信和完成控制任务,本文使用STM32F407芯片作为微处理器。微处理器从ESC读取控制数据,实现设备控制,并采样设备的反馈数据,写入ESC,由主站读取。

通信过程完成由ESC处理,与设备控制微处理器响应时间无关。微处理器相当于应用层,根据相应的协议编写程序代码,或者直接使用协议栈实现代码。

4:物理层器件

由于我们使用LAN9253芯片作为ESC,LAN9253已经集成了以太网PHY功能,所以ESC芯片直接连接RJ45网络接口,连接网线即可。

从站原理图:

原理图中除了STM32通过SPI与LAN9253连接之外,还有EEPROM芯片与LAN9253进行连接,EEPROM芯片存储EtherCAT设备信息等内容,包括LAN9253与STM32通信的接口方式(扩展板使用SPI接口)都由ROM存储,在STM32初始化ESC时会读取EEPROM中的设置,包括了接口信息等内容,这样才能正常的控制ESC芯片。

EEPROM是给LAN9253使用的,为啥LAN9253不内部集成一个存储器呢。。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号