EtherCAT Master Stack for Embedded Systems


The icECAT EtherCAT master stack library is specifically designed for embedded systems. This EtherCAT master software provides best performance with lowest resource usage. Target platforms from small microcontrollers up to industrial PCs are supported. The library is written portable in ANSI-C.

Interfacing to the Ethernet network can be done either via the network driver of the underlying operating system or via an optimized link layer driver which uses DMA and zero-copy buffers. With this architecture the EtherCAT master stack reaches optimal performance: cycle times with 100 microseconds and below are possible even on small platforms

An EtherCAT master monitor tool is included in the product. It can be used to visualize the status of the EtherCAT network, control the master and the slaves, and manually access process variables.

Licensing:

All libraries and tools will be shipped in source code. The master stack is offered under a project based license, no royalties are necessary.

EtherCAT master stack features:

  • EtherCAT Master Class-B features (ETG.1500) and most important features from Class-A
  • Supported EtherCAT mailbox protocols:
    • CoE (CAN over EtherCAT)
    • EoE (Ethernet over EtherCAT)
    • FoE (Filetransfer over EtherCAT)
    • VoE (Vendor specific)
  • Distributed Clocks (DC): High-precision synchronization for DC slaves: Synchronous update of input and outputs in the complete EtherCAT network. Accuracy significantly below 1 µs (typical: 20...30 ns)
  • Slave-to-slave communication
  • EtherCAT network configuration (ENI) either via integrated XML parser or from in generated source code
  • EtherCAT State Machine (ESM), fast network startup due to parallel initialization of multiple slaves
  • Cyclic communication in one or more cyclic tasks with different cycle times
  • Optimized for speed:
    Outgoing and incoming process image can be directly accessed in the cyclic frame without copying the data. Macros can be used for high performance access to the process data.
  • Acyclic communication:
    Sending of asynchronous frames with EtherCAT datagrams by the application
  • Diagnostic features: Statistics and error counters, Event API for error notification
  • Configurable slave state monitoring and network supervision

Tooling:

The icECAT master stack comes with useful tooling for development and configuration:
  • EtherCAT Master Monitor for controlling the state of the master and slaves and for viewing and modifying process variables. The tool can be started at run-time on the target or on a remote host (using a TCP/IP connection)
  • ENI conversion tool for source code generation
  • EtherCAT configuration library for integration in a custom configuration tool (available as separate product)

Features on the roadmap:

  • SDO Info Service
  • Access to Slave Information Interface (SII)
  • Explicit device identification
  • Station alias addressing
  • Hot Connect
 
 

Architecture:

The software architecture of the master stack is modular and allows an embedding in an EtherCAT master application in flexible way:
 
 
 
icECAT EtherCAT Master Stack Software Architecture
 
 
 
  • The master stack library provides a C API to application.
  • An easy integration also in an existing application is possible because the stack does not impose the software architecture to the application.
  • The master stack library itself is completely passive. Cyclic tasks can be driven by the application. Different approaches for scheduling (single threaded, multi-threaded) and cycle synchronization are possible. The application can e.g. use a hardware specific timer or it can synchronize the tasks to other external events.
  • Multiple master stack instances are possible on the same target
  • The stack is shipped with a platform adaption layer for an simple integration of the portable stack and sample applications with an operating system.
  • Optional stack features that are not necessary for an application can be removed at compile time to minimize the footprint.
 
 

Supported CPU architectures:

  • ARM Cortex-A, ARM Cortex-M, ARM Cortex-R
  • x86 (32-/64-bit)
  • PowerPC

Supported operating systems:

  • Linux (opt. with RT PREEMPT)
  • Xenomai
  • QNX Neutrino RTOS
  • FreeRTOS
  • "Bare metal", without operating system
  • others on request

Optimized link layer drivers available for:

  • Intel I210 and Intel Pro/1000 cards
  • Texas Instruments Sitara
  • NXP i.MX6
  • NXP i.MX RT1050, NXP i.MX RT1064
  • NXP LPC18xx
  • STMicroelectronics STM32F4, STM32F7
  • coming soon: STMicroelectronics STM32H7
  • others on request

Support and Services:

IBV provides support and professional engineering and integration services for industrial Ethernet technology, real-time and embedded systems.

More information: