EtherCAT介绍和总线结构
来自硬石手册《YSF4-EtherCAT手册-LAN9253.pdf》
简单总结
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 等。
主要功能:
- 集成数据帧转发处理单元,通信性能不受从站微处理器限制。每个 ESC 最多可提供 8 个数据收发端口。
- 最大 8K 字节的双端口存储器 DPRAM 存储空间,DPRAM 可以由外部微处理器并行或串行数据总线访问,这个访问的接口就是 PDI。
- 具有 FMMU 逻辑地址映射功能,提高数据帧利用率。
- 由存储同步管理器通道 SyncManager(SM)管理 DPRAM,保证数据的一致性与安全性。
- 集成分布式时钟 DC 功能,为微处理器提供高精度中断信号。
- 具有 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不内部集成一个存储器呢。。