------------------------------------------------------------------------------- This is the FEATURES file of the IgH EtherCAT Master. $Id$ vim: spelllang=en spell ------------------------------------------------------------------------------- General Features: * EtherCAT master implementation conforming to IEC/PAS 62407. - Runs as kernel module for Linux 2.6. - Multiple masters possible on one machine. * Native EtherCAT-capable versions of standard Linux drivers for wide-spread Ethernet devices, as well as a generic driver for all chips supported by the Linux kernel. - Interrupt-less operation of Ethernet devices when using native drivers. - Easy implementation of additional native Ethernet drivers through common device interface. - Operation possible with any device supported by the standard drivers, including PCMCIA devices. - For any other hardware, the generic driver can be used. It uses the lower layers of the Linux network stack. * Supports any realtime environment through independent architecture. - RTAI, Xenomai, RT-Preempt, etc. - Operation possible without any realtime extension at all. * Common API for Realtime-Applications in kernel- and userspace. - Requesting and releasing masters. - Dynamic slave configuration, even for slaves that are offline. - Detailed configuration of the slaves' PDOs and SDOs. - Creation of process data domains (see below). Registration of PDO entries for exchange within a domain. - Monitoring the states of masters, slave configurations and domains. - SDO handlers for application-triggered CoE transfers (see below). - VoE handlers for Vendor-specific mailbox protocols (see below). - Similar userspace implementation of the kernel API via a C-library. - Avoidance of unnecessary copy operations for process data. * Separating slave groups through domains. - Handling of multiple slave groups with different sampling rates. - Automatic calculation of process data mapping, FMMU- and sync manager configuration within the domains. - Process data exchange can be monitored via a per-domain mechanism. * Master finite state machine (FSM). - The same state machine runs both in idle mode and in realtime operation. - Bus monitoring: Slave states are read cyclically. Automatic scanning of the bus after a topology change. - Automatic configuration of slaves, if a application-layer state change is requested. * Implementation of the "CANopen over EtherCAT" (CoE) mailbox protocol. - Configuration of CoE-capable slaves. - SDO information service (dictionary listing). - SDO transfers both via the application interface and the command-line tool. * Implementation of the "Ethernet over EtherCAT" (EoE) mailbox protocol. - Virtual network interface for any EoE-capable slave. - Both a switched and a routed EoE network architecture is natively supported and configurable with standard tools. * Implementation of the "Vendor-specific over EtherCAT" (VoE) mailbox protocol. - Communication with vendor-specific mailbox protocols via the API. * Implementation of the "File Access over EtherCAT" (FoE) mailbox protocol. - Loading and storing files via the command-line tool. - Updating a slave's firmware can be done easily. * Userspace command-line tool 'ethercat'. - Detailed information about master, slaves, domains and bus configuration. - Setting the master's debug level. - Reading/Writing alias addresses. - Listing slave configurations. - Viewing process data. - SDO download/upload; listing SDO dictionaries. - Loading and storing files via FoE. - Access to slave registers. - Slave SII (EEPROM) access. - Controlling application-layer states. - Generation of slave description XML from existing slaves. * Seamless integration in any GNU/Linux distribution. - "Linux Standard Base"-compatible init script for master control. - Master and Ethernet device configuration via sysconfig file. * Virtual read-only network interface for debugging and traffic monitoring purposes (using Wireshark, etc.). No additional hardware necessary. -------------------------------------------------------------------------------