目录
第1章 EtherCAT通信原理
1.1 网络架构
1.2 分层模型
2.1 物理层
1.2 数据链路层
1.2.1 EtherCAT数据帧结构
1.2.2 EtherCAT报文寻址
第2章 EtherCAT从站
2.1 概述
2.2 EtherCAT从站的组成包括:
2.3 EtherCAT从站的硬件
2.4 从站控制信息芯片(PHY层/MAC层)
2.5 EtherCAT从站的软件
2.6 常见的EtherCAT从站解决方案
2.7 常见的EtherCAT从站开发板:
2.8 常见的额EtherCAT从站模块:
参考:
第1章 EtherCAT通信原理
1.1 网络架构
EtherCAT网络运行原理如图2-1所示。
以太网设备之间接收和发送标准的ISO/IEC8802-3以太网数据帧,这些从站可以直接处理接收到的子报文,并对这些报文进行相应的加工,例如提取某些数据或插入需要的用户数据,之后将加工之后的报文传输给下一个EtherCAT从站。
最后一个EtherCAT从站的功能则是发回经过完全处理的报文,并由第一个从站作为相应报文将其发送给控制单元。
每个从站的数据并非使用各自独立的以太网帧,而是把每个从站的以太网帧合并在一起。
这是因为etherCat网络采用的是中央调度机制,而不是独立竞争机制。
(1)下行:主站可以通过一个以太网帧,同时控制多个从站设备,提升了系统的实时性。
(2)上行:主站通过通过一个以太网帧,同时获取多个从站设备发来的数据,提升了系统的实时性。
1.2 分层模型
EtherCAT参考模型如图2-2所示:
EtherCAT网络具有物理层(PHL)、数据链路层(DLL)和应用层(APL)。
2.1 物理层
EtherCAT物理层是EtherCAT参考模型中的最底层,它为网络信号的传输提供了物理接口,同时接收来自数据链路层的数据单元,并对它们进行相应的解码。
根据系统需求,可以选择是否加入通信帧数据,之后再将处理的物理信号发送给其他节点的传输介质,然后在之后的节点上接收信号并进行解码。
要想实现设备之间的数据交换,在物理层的下面就必须有连接设备的实际传输介质。
EtherCAT物理层连接原理如图2-3所示。
其中,
RJ45是一种标准的网络物理接口;
隔离变压器用来隔离信号以保证通信的可靠性;
物理层芯片PHY则用来实现数据编译、译码和收发;
在物理层芯片PHY和以太网通信控制芯片ESC之间是通过一个MII(Media Independent Interface)接口来交换数据。
ESC芯片是实现EtherCAT数据链路层协议的专用集成电路芯片,它处理EtherCAT数据帧,并为从站控制装置提供数据接口。
1.2 数据链路层
数据链路层处于ISO/OSI参考模型中的第二层,为物理层把数据帧转化为原始位,并负责将来自高层的数据打包成帧以及流量控制、纠错和帧的重发。
媒体访问控制(MAC)地址、网桥和网络接口卡(NIC)即工作在这一层。
数据链路层最基本的功能就是通过该层的协议使相邻两个节点之间进行可靠的数据传输。
1.2.1 EtherCAT数据帧结构
EtherCAT的数据帧结构采用符合标准的IEEE802.3的以太网标准帧,EtherCAT协议用于过程数据的优化协议,采用的数据帧类型为0x88A4。
如图2-4所示,EtherCAT数据帧的数据内容包括:
数据头(2Byte)、数据(44~1498Byte)。
EtherCAT帧可包括一个或者多个EtherCAT子报文,每个报文都服务于一块逻辑过程影像区的特定内存区域(可达4GB)。
每个EtherCAT子报文都以一个2Byte的WKC结束,WKC的功能是记录子报文被从站操作的次数,主站为每个通信服务子报文设置预期的WKC,通过与返回的WKC实际值进行比较来判断子报文是否被正确处理。
一个以太网帧可以包含多个子报文,每个子报文为一个从站服务,拥有报文所属从站的地址编号。
1.2.2 EtherCAT报文寻址
EtherCAT通信由主站发送EtherCAT数据帧读写从站设备的内部存储区来实现,EtherCAT报文使用多段寻址方式操作ESC内部存储区,实现多种通信服务。
1) 网络寻址
EtherCAT网络寻址方式如图2-5所示,一个EtherCAT网段相当于一个以太网设备,主站首先使用以太网数据帧头的MAC地址寻址到网段,然后使用EtherCAT子报文头中的32位地址寻址到段内设备,段内寻址可以使用两种方式:设备寻址和逻辑寻址。
第2章 EtherCAT从站
2.1 概述
在EtherCAT(以太CAT)网络中,从站(Slave)是指通过EtherCAT总线连接到主站(Master)的外部设备或模块。
从站通常是实时控制系统中的执行器(写)、传感器(读)、驱动器(写)等外部设备。
从站在EtherCAT网络中起到了连接外部设备和主站之间的桥梁作用。它们接收主站发送的命令和控制信息,根据指令执行相应的操作,并将执行结果和实时数据通过EtherCAT总线返回给主站。
每个从站在EtherCAT网络中都有一个唯一的站地址(Station Address),用于区分不同的从站设备。主站可以通过发送同步和数据帧来轮询所有从站,以获取实时数据或向从站发送控制指令。
从站在EtherCAT网络中的工作方式具有以下特点:
-
实时性:EtherCAT网络是一种实时网络,从站通过接收实时的同步和数据帧来保持和主站的通信。这使得从站能够以非常低的延迟和高的精确性响应主站的命令。
-
链式拓扑结构:EtherCAT网络采用了链式拓扑结构,从站之间通过EtherCAT总线按顺序连接。主站通过发送帧的方式从第一个从站开始,逐个传递到最后一个从站。
-
灵活性:从站可以是不同类型的外部设备或模块,例如执行器、传感器、驱动器等。从站可以根据应用需求进行配置和定制,以满足不同的实时控制任务。
总的来说,EtherCAT的从站扮演着实时控制系统中与外部设备交互的角色,它们通过EtherCAT总线与主站进行数据交换和通信,以实现高性能的实时控制和数据传输。
主站与从站的关系,类似无线通信基站与手机的关系。
2.2 EtherCAT从站的组成包括:
-
从站控制器(Slave Controller):从站控制器是从站的核心组件,负责从站的通信和协议处理。它与EtherCAT总线进行物理连接,并通过处理和解析主站发送的帧来发送和接收数据。
-
物理通信接口和连接器(Communication Interface and Connector):从站通常具备适配EtherCAT网络的通信接口和连接器,以便连接到EtherCAT总线,并与主站进行通信。通常使用以太网接口(例如RJ45接口)或M8/M12连接器等。
-
存储器(Memory):从站通常具有自己的存储器,用于存储从站配置参数、状态信息、应用数据等。存储器在一些从站设备中可以作为数据缓存区,用于输入和输出数据的临时存储。
-
输入/输出接口(I/O Interface):从站需要与外部设备或模块进行数据交换,因此具备输入/输出接口。输入接口用于接收主站发送的命令和控制信息,输出接口用于发送实时数据和执行结果。
-
实时时钟(Real-Time Clock):一些从站需要具备实时时钟,以便在需要时间同步或时间戳等应用场景时提供准确的时间基准。
-
外部设备/模块(External Devices/Modules):从站还包括与其连接的外部设备或模块,例如执行器(如电机驱动器)、传感器、开关等。这些外部设备/模块通过从站与主站进行数据交换和控制。
总体而言,从站由从站控制器、存储器、输入/输出接口、实时时钟、通信接口和连接器等组成,并与外部设备或模块互联,以满足实时控制系统的数据交换和控制需求。每个从站的具体组成和功能可以根据应用需求和设备类型的不同而有所差异。
2.3 EtherCAT从站的硬件
在EtherCAT网络中,从站的硬件通常由以下几个部分组成:
-
从站控制器芯片(Slave Controller Chip):从站控制器芯片是连接从站设备到EtherCAT总线的关键组件。它负责处理EtherCAT协议、数据的发送和接收,并与其他硬件组件进行通信。常见的从站控制器芯片包括Beckhoff的EtherCAT Slave Controller、Wiznet的W5500等。
-
物理通信接口和连接器(Communication Interface and Connector):从站需要通过适配EtherCAT网络的通信接口和连接器与总线进行物理连接。通常使用以太网接口(例如RJ45接口)或M8/M12连接器等。
-
存储器(Memory):从站通常具有自己的存储器,用于存储从站配置参数、状态信息、应用程序代码和数据等。存储器可以是片上内存(SRAM、Flash等)或外部存储芯片。
-
输入/输出接口(I/O Interface):从站可能需要进行输入和输出数据的交换,因此具备输入/输出接口。输入接口用于接收主站发送的命令和控制信息,输出接口用于发送实时数据和执行结果。
-
外部设备/模块(External Devices/Modules):从站的硬件配置还包括与其连接的外部设备或模块,例如执行器(如电机驱动器)、传感器、开关等。这些外部设备/模块通过从站与主站进行数据交换和控制。
-
供电模块(Power Supply):EtherCAT从站需要供电才能正常工作,供电模块提供所需的电力。供电可以通过外部电源适配器或总线供电方式实现。
需要注意的是,具体的从站硬件配置因应用需求和设备类型而有所差异。不同厂商的从站设备可能具有不同的硬件设计和组成。因此,在实际使用中,根据具体的应用需求和厂商提供的规格,选择适当的从站硬件设备进行使用。
2.4 从站控制信息芯片(PHY层/MAC层)
从站控制器芯片是连接从站设备到EtherCAT总线的关键组件,它负责处理EtherCAT协议、数据的发送和接收,并与其他硬件组件进行通信。以下是一些常见的从站控制器芯片:
-
Beckhoff EtherCAT Slave Controller:Beckhoff是EtherCAT技术的主要推动者之一,他们提供了多种型号的EtherCAT从站控制器芯片,如EK1100、EK1110等。这些芯片具有高性能和可靠性,并支持多种EtherCAT协议功能。
-
Wiznet W5500:Wiznet的W5500是一款基于SPI接口的Ethernet控制器芯片,它可以作为从站控制器芯片用于EtherCAT网络。该芯片集成了以太网物理层收发器,提供了高质量的以太网通信性能。
-
Renesas R-IN32M3系列:Renesas的R-IN32M3系列是专为EtherCAT应用设计的高性能MCU,内置了EtherCAT从站控制器。这些芯片具有强大的处理能力和多种外设接口,适用于复杂的实时控制应用。
-
TI Sitara系列:德州仪器(TI)的Sitara系列是一组基于ARM架构的处理器,其中一些型号具有集成的EtherCAT从站控制器。这些芯片具有强大的计算能力和丰富的通信接口选项,适用于高性能和高集成度的应用。
-
Hilscher netX系列:Hilscher的netX系列芯片是专为工业以太网通信应用设计的,包括EtherCAT从站控制器功能。这些芯片具有低功耗、高性能和丰富的外设接口,适用于工业自动化和控制系统。
这只是一些常见的从站控制器芯片示例,市场上还存在其他厂商提供的从站控制器芯片。在选择从站控制器芯片时,需要根据具体的应用需求、性能要求和供应商支持等因素进行评估和选择。
2.5 EtherCAT从站的软件
EtherCAT从站的软件通常由以下几个部分组成:
-
EtherCAT从站驱动程序:EtherCAT从站驱动程序是在从站控制器芯片上运行的软件代码,负责实现EtherCAT协议的解析、数据的发送和接收等功能。这些驱动程序通常由芯片厂商提供,供用户集成到自己的从站设备中。
-
从站配置工具:从站配置工具用于配置从站的参数、通信设置和功能等。它提供用户界面,使用户能够方便地设置从站的各种属性和功能。从站配置工具通常由从站控制器芯片的厂商提供。
-
EtherCAT协议栈:EtherCAT协议栈是一种实现EtherCAT通信协议的软件库。它提供了一系列API和函数,使开发人员能够更方便地开发和集成EtherCAT通信功能。常见的EtherCAT协议栈有Beckhoff的TwinCAT、SOES(Simple Open EtherCAT Slave)等。
-
应用程序代码:从站的应用程序代码是根据具体应用需求开发的,它们负责从站设备的特定功能和逻辑。应用程序代码可以包括数据处理、控制算法、状态机等,以满足设备的实际应用需求。
-
通信驱动程序:通信驱动程序是用于与主站进行通信的软件模块。它负责解析主站发送的命令和数据,执行相应的操作,并将结果返回给主站。通信驱动程序通常与从站控制器芯片的驱动程序密切相关,以确保数据的正确传输和处理。
从站软件的具体实现和选择取决于设备厂商和应用需求。开发人员可以根据具体情况,选择合适的从站控制器芯片、EtherCAT协议栈和应用程序开发工具,以开发出高性能、稳定可靠的EtherCAT从站设备。
2.6 常见的EtherCAT从站解决方案
-
Beckhoff EtherCAT从站模块:Beckhoff提供了一系列 EtherCAT从站模块,如ELxxxx 系列,其中包括数字输入/输出模块、模拟输入/输出模块、电机驱动模块等。这些模块具有高集成度、高性能和可靠性,可用于各种工业自动化应用。
-
Hilscher EtherCAT从站模块:Hilscher提供了一系列 EtherCAT从站模块,如CIF系列,其中包括不同类型的输入/输出模块、驱动器模块、测量模块等。这些模块具有灵活的配置选项和高度可定制性,适用于各种工业场景。
-
Kollmorgen AKD EtherCAT驱动器:Kollmorgen的AKD EtherCAT驱动器系列集成了EtherCAT从站功能,可用于控制和驱动各种类型的电机。这些驱动器具有高性能、高精度和可靠性,适用于精密运动控制应用。
-
WAGO I/O-System EtherCAT模块:WAGO提供了一系列 EtherCAT从站模块,包括数字输入/输出模块、模拟输入/输出模块、驱动器接口模块等。这些模块可灵活扩展并与其他WAGO I/O模块集成,用于各种自动化和控制应用。
-
智能型 EtherCAT 从站控制器:一些公司提供了基于 ARM Cortex-M 系列处理器或专用 SoC 开发的智能型 EtherCAT 从站控制器模块。这些模块具有强大的处理能力和丰富的通信接口,可用于实现复杂的控制和通信功能。
这些是常见的EtherCAT从站解决方案示例。在选择适合的解决方案时,需要考虑应用需求、性能要求、可靠性和供应商支持等因素,并与供应商进行深入的技术评估和咨询,以确保选择的解决方案能够满足特定的应用需求。
2.7 常见的EtherCAT从站开发板:
-
Beckhoff EtherCAT开发板: Beckhoff提供了多个EtherCAT从站开发板,如EL9840和EL987x系列。这些开发板具有以太网接口和集成的EtherCAT从站控制器,可用于快速原型设计和开发。
-
Hilscher EtherCAT开发板: Hilscher提供了EtherCAT开发板,如EvalCNC和EvalCon。这些开发板基于Hilscher的EtherCAT从站模块,配备了通信接口和扩展槽位,方便快速开发和测试。
-
WAGO EtherCAT开发板: WAGO提供了EtherCAT开发板,如750-352模块。该开发板配备了EtherCAT通信接口和数字/模拟输入输出接口,支持快速的从站开发和集成。
-
TI Sitara开发板: 德州仪器(TI)提供了基于Sitara处理器的开发板,例如AM335x和AM437x系列。这些开发板具有集成的EtherCAT从站控制器和丰富的外设接口,适用于高性能应用的开发和测试。
-
树莓派+EtherCAT HAT: 使用树莓派单板计算机与EtherCAT HAT(Hardware Attached on Top)组合,可以实现经济实惠的EtherCAT从站开发板。这种方式适合小规模和简单的EtherCAT应用。
这些EtherCAT从站开发板可用于快速原型设计、开发和测试EtherCAT从站设备。开发人员可以使用这些开发板进行硬件和软件开发,验证和调试EtherCAT从站功能,并将其集成到真实应用中。在选择开发板时,需要根据具体项目需求、预算和性能要求进行评估和选择。
2.8 常见的EtherCAT从站模块:
以下是一些常见的EtherCAT从站模块:
-
Beckhoff EtherCAT从站模块: Beckhoff提供了一系列EtherCAT从站模块,如ELxxxx系列。这些模块包括数字输入/输出模块、模拟输入/输出模块、温度传感器模块等,具有高性能和可靠性。
-
Hilscher CIF EtherCAT从站模块: Hilscher的CIF系列是一组可定制的EtherCAT从站模块。这些模块适用于数字和模拟输入/输出、驱动器接口、温度测量等各种应用。
-
WAGO EtherCAT从站模块: WAGO提供了一系列EtherCAT从站模块,包括数字输入/输出模块、模拟输入/输出模块、电机驱动模块等。这些模块具有灵活的配置选项和可扩展性。
-
RTX64 EtherCAT从站模块: IntervalZero的RTX64 EtherCAT模块是一款高性能的软件解决方案,可将Windows操作系统转换为EtherCAT从站设备。它可以运行在标准PC上,并支持各种通信和输入/输出配置。
-
Kunbus EtherCAT Shield模块: Kunbus的EtherCAT Shield模块是一种基于Arduino开发板的低成本EtherCAT从站解决方案。它可以通过Arduino的扩展接口实现EtherCAT通信功能。
这些EtherCAT从站模块可用于快速集成和开发各种EtherCAT从站设备。
开发人员可以选择适合自己的模块,根据应用需求进行配置和定制。
在选择模块时,需要考虑通信速率、接口类型、IO数量、可扩展性和供应商支持等因素。
2.9 EtherCAT数据采集卡
以下是一些常见的EtherCAT数据采集卡:
-
Beckhoff EtherCAT数据采集卡: Beckhoff提供了一系列EtherCAT数据采集卡,如EKxxxx系列。这些数据采集卡集成了EtherCAT从站控制器和多个输入/输出通道,支持高速、精确的数据采集和实时控制。
-
Hilscher EtherCAT数据采集卡: Hilscher提供了基于EtherCAT的数据采集模块,如CIF系列。这些模块提供了多个数字和模拟输入通道,可用于实时数据采集和控制应用。
-
National Instruments EtherCAT数据采集卡: National Instruments提供了一系列EtherCAT数据采集卡,如NI-9144和NI-9146系列。这些模块集成了高速A/D和D/A转换器,可实现高精度的信号采集和控制功能。
-
ADLINK EtherCAT数据采集卡: ADLINK提供了基于EtherCAT的高性能数据采集卡,如HSL系列。这些卡片具有多个模拟输入/输出通道和高采样率,适用于高速数据采集和实时控制应用。
-
Acontis EtherCAT数据采集卡: Acontis提供了EtherCAT数据采集卡,如EC-AT系列。这些卡片支持多种数字和模拟输入/输出,具有灵活的配置选项和高性能。
2.10 高速EtherCAT数据采集卡
这些EtherCAT数据采集卡可用于高速、实时的数据采集和控制应用。
在选择数据采集卡时,需要考虑采样率、分辨率、通道数量、兼容性和软件支持等因素,以满足特定应用的需求。
以下是一些高速EtherCAT数据采集卡的示例:
-
National Instruments (NI) PXIe-8370: 这是一款高速的EtherCAT数据采集卡,可与NI的PXIe平台配合使用。它支持高达1 Gb/s的EtherCAT通信速率,并提供多个高速数字输入/输出通道和模拟输入/输出通道,适用于高速数据采集和实时控制应用。
-
Beckhoff EKxxxx 系列: Beckhoff的EKxxxx系列EtherCAT数据采集卡中有一些模型支持高速数据采集。这些卡片具有高速的EtherCAT通信接口和多个高速模拟、数字输入/输出通道,适用于需要高速数据采集和实时控制的应用。
-
ADLINK PCIe-8338: 这是一款高速的PCIe接口EtherCAT数据采集卡,支持高达2 Gb/s的EtherCAT通信速率。它提供多个高速模拟输入/输出通道和数字输入/输出通道,适用于需要高速数据采集和实时控制的应用。
-
Acontis EC-AT系列: Acontis的EC-AT系列EtherCAT数据采集卡具有高速EtherCAT通信接口和多个模拟、数字输入/输出通道。这些卡片支持高速数据采集和实时控制,适用于高要求的应用场景。
重要的是要根据具体的应用需求评估和选择适合的高速EtherCAT数据采集卡。考虑通信速率、接口类型、通道数量、分辨率、采样率和供应商技术支持等因素,以确保选择的数据采集卡满足应用的高速数据采集和实时控制要求。
参考:
EtherCAT从站学习笔记 - 知乎