Support for latest Intel Atom® x6000E Series (Elkhart Lake)

EC-Master V3.1.2 supports out-of-the-box the Intel Atom® x6000E Series (Elkhart Lake) processor. For the two on chip Ethernet MACs an dedicated high performance real-time Ethernet driver (Link Layer) is provided. The solution is available for the operating systems Linux, Windows and others.

For the implementation the module conga-SA7 from congatec was used.

Support for NXP i.MX RT1064 Crossover MCU with Arm® Cortex®-M7 Core

EC-Master V3.1.2 supports out-of-the-box the NXP i.MX RT1064 MCU together the development environment MCUXpresso SDK with FreeRTOS .

The MCUXpresso SDK is a comprehensive software enablement package designed to simplify and accelerate application development with Arm® Cortex®-M-based devices from NXP.

The on chip Ethernet MACs is controlled by a specific Ethernet driver (Link Layer) which realizes the fast and direct exchange of data between the master core and the Ethernet controller.

For the implementation the evaluation board MIMXRT1064-EVK: i.MX RT1064 from NXP was used.

Support for STMicroelectronics STM32MP1 microprocessor series with dual Arm® Cortex®-A7 on Linux

The STM32MP1 on chip Ethernet Controller is supported by the acontis Real-time Driver DW3504. This driver replaces the standard Linux Ethernet network adapter (MAC) driver for real-time EtherCAT usage. The driver runs in User Space and handles the MAC directly for high performance cyclic operation. The driver requires direct access to the MAC that is made possible by Kernel Module called atemsys which is available under GPL.

The reference implementation is based on the discovery kit STM32MP157D-DK1 from STMicroelectronics.

Python编程语言接口

从EC-Master V3.1.1 开始支持用户使用 Python 编程语言开发EtherCAT应用程序。

基于提供的封装库,用户可以通过调用 EC-Master API 开发或执行面向对象的 Python 封装模块、脚本等相关应用。

和其他示例程序相同,EcMasterDemoPython 演示了如何调用 EtherCAT 主站 API。Python 例程也可以允许运行在 interactive 模式,例如设置一个 EtherCAT 网络输出等等。这个功能对于快速测试EtherCAT网络执行不同的动作非常有用。

支持 Linux 基金会的 RTOS Zephyr 操作系统

从 EC-Master V3.1.1 开始支持 ZephyrTM 实时操作系统。这是一个可以运行在资源受限的设备上的,并且具有信息安全和功能安全的一流RTOS操作系统。

在 acontis 高性能实时以太网驱动程序的帮助下,可以保证 5kHz 的刷新频率。

EcMasterDemo 包含完整的例程源码和可以在免费集成开发环境 CMake下直接运行的工程文件。

支持 ARM64 CPU 下的 VxWorks7 SR650 64-Bit

EC-Master 现在已经支持运行64-bit版本的 ARM(aarch64)上的 VxWorks 7 SR650 操作系统。

在该体系架构下同样可以使用定制开发的实时以太网驱动(link layer),用于主站内核与以太网控制器之间实现快速直接的数据交换。

免费提供的评估版本包含应用程序示例,示例与 EtherCAT 网络配置(ENI文件)一起,可以将任何 EtherCAT 网络切换到 OP 状态。评估版中还包括示例应用程序的完整源代码以及详细文档。

支持 Linux 设备树:货架产品可以支持大部分客户定制硬件板

Linux 操作系统提供大多数常见的以太网控制器和相关收发器(PHY)驱动。供应商特定的 PHY 电路通过专用的内核驱动程序处理。

为了能够利用这个基本架构,需要将 acontis 内核模块 atemsys 作为以太网控制器的官方驱动程序包含在 Linux 设备树中。这样 atemsys 就可以与 Linux 驱动程序交互。

根据具体硬件体系结构,atemsys 可以授予 Linux 驱动程序对 MDIO 总线的访问权,或者向 Linux 驱动程序发送 MDIO 操作请求。

PHY “OS-Driver” 功能是通过 Linux 设备树专门配置的,不需要在应用程序层面进行任何额外的配置。

重构示例程序

EC-Master示例程序的内容和结构在主站3.1版本上已基本修订。修订的目的是提供更合理的框架,使主站功能更易懂,并删除多个文件夹中相同的文件。

新版本中通过为每个操作系统实现一个专用的主文件(EcDemoMain.cpp)适于每个操作系统。该文件可以用于Windows、Linux、QNX、VxWorks和所有其他现有支持的操作系统。这样就可以完全不依赖执行ifdef成为可能,这也意味着单个文件内容大大缩短,总体上用户也更容易理解。此外,各种示例应用程序使用的共用文件已经移动到新文件夹(Examples\Common)下。因为这些文件只使用一次,简化了维护工作。

因此,新架构使得EC-Master程序设计更容易入门。并且模块结构清晰,某些模块可以在用户自己的EtherCAT应用程序中轻松使用。

EtherCAT软件在环网络仿真

从EC-Master V3.1开始,网络仿真软件EC-Simulator可以作为一个link layer加载。这样就可以模拟一个完整的EtherCAT网络,模拟包括主站上的所有从站设备,而不需要任何额外的外部硬件。EtherCAT数据帧直接从主站核心传输到模拟器上,处理完成后再返回主站核心。

应用程序可以使用各种EC-Simulator功能,例如:esGetProcessImageInputPtr() 和esGetProcessImageOutputPtr()函数访问从站模拟器中的过程数据。其他函数可以用于实现一些故障场景的测试用例。例如,通过使用esPowerSlave()可以实现关闭和再次打开服务器功能。

Windows上的NDIS过滤模块

网络驱动程序接口的规范(NDIS)是网络驱动程序体系架构的规范,它允许TCP/IP等传输协议与底层物理网卡通信。对于在Windows中发送和接收EtherCAT数据帧,EC-Master以前使用著名的Windows数据包捕捉库—WinPcap。然而WinPcap基于NDIS 5.x驱动程序模型,该模型已经停止开发。最新版本的Windows10不再支持就的NDIS 5.x。所以现在EC-Master V3.1包含了最新的NDIS LinkLayer(emllNdis.dll)。这样EC-Master在所有Windows10版本上都不需要安装WinPcap。

支持STMicroelectronics STM32H7的CMSIS

现在,EC-Master可以使用基于Arm® Cortex®处理器的CMSIS硬件抽象层。CMSIS定义通用的工具接口,并能够提供很好的兼容性。

实现方案基于STMicroelectronics STM32H747I-DISCO开发套件。

Link layer使用CMSIS驱动程序库的以太网驱动(Driver_ETH.h),因此可以支持STM32系列更多的控制器。

对于广泛使用的集成开发环境STMicroelectronics 的 STM32CubeIDE 和 ARM 的 µVision MDK5 ,提供了可立即运行的项目文件。

支持ARM64 CPUs的 QNX 7 64-Bit

现在,对于运行在64位ARM(aarch64)上的QNX SDP 7.0的系统,EC-Master可以提供完整的解决方案。该方案基于Zynq UltraScale+ MPSoC ZCU102评估开发套件。

该体系结构使用了一种专门开发的实时以太网驱动程序(link layer),实现了主站核心与以太网控制器之间的数据快速、直接的交换。

一方面,这降低了计算资源占用,另一方面,发送EtherCAT帧的抖动明显变小。这意味着,可以使周期循环时间远远低于1ms。