White Paper Implementing Industrial Ethernet Field Device Functionality by Using FPGAs Executive Summary Industrial Ethernet protocols like PROFINET or EtherCAT are currently taking over the communication role in automation applications from fieldbuses. These protocols are based on various Ethernet and IT standards and provide real-time communication capabilities up to and including isochronous motion control. The implementation of Industrial Ethernet field devices requires hardware as well as software components. Different implementation approaches are available. While a conventional implementation for instance uses an Industrial Ethernet ASIC, a modern approach is based on FPGA technology. Here all the required hardware and software components are combined into just one component providing maximum implementation flexibility. This White Paper gives an overview of the implementation aspects of an Industrial Ethernet device based on FPGA technology and discusses the advantages of using this solution in comparison to conventional approaches. The aspects of using FPGAs for implementing individual Industrial Ethernet protocols are presented as well. White Paper Table of Contents 1. Introduction.............................................................................................................................. 1 2. Industrial Ethernet Overview.................................................................................................... 2 3. Implementing an Industrial Ethernet Field Device.................................................................... 4 3.1 Conventional Industrial Ethernet Field Device Implementation............................................ 5 3.1.1 Industrial Ethernet Field Device Implementation Based on ASIC.................................... 5 3.1.2 Software-Based Industrial Ethernet Field Device Implementation................................... 7 3.2 Industrial Ethernet Field Device Implementation Based on FPGA Technology..................... 8 3.2.1 FPGA Technology............................................................................................................ 8 3.2.2 Implementing the Industrial Ethernet Subsystem Based on FPGA Technology............... 9 3.2.3 Aspects of Industrial Ethernet Field Device Implementation Using FPGA..................... 11 3.2.3.1 Support of Different Implementation Architectures.................................................... 11 3.2.3.2 Performance Acceleration......................................................................................... 14 3.2.3.3 Hardware Options..................................................................................................... 17 3.2.3.4 Common Application Programming Interface............................................................ 18 3.2.3.5 Required FPGA Resources....................................................................................... 20 3.2.3.6 IT Channel Implementation....................................................................................... 23 3.2.3.7 Evaluation Kit............................................................................................................ 23 4. Implementing Specific Industrial Ethernet Protocols Using FPGA Technology...................... 24 4.1 Implementing a PROFINET Device Using FPGA Technology............................................ 24 4.1.1 PROFINET Technology................................................................................................. 24 4.1.1.1 System Model........................................................................................................... 24 4.1.1.2 Device Model............................................................................................................ 25 4.1.1.3 I/O Data Exchange.................................................................................................... 26 4.1.1.4 Acyclic Data Exchange............................................................................................. 27 4.1.1.5 Device Description.................................................................................................... 27 4.1.2 PROFINET Organization and Specifications................................................................. 29 4.1.3 Implementing a PROFINET Device............................................................................... 30 4.1.3.1 Conventional Implementation of a PROFINET Device.............................................. 30 4.1.3.2 PROFINET Device Implementation Based on FPGA Technology.............................. 30 White Paper 4.2 Implementing an EtherCAT Slave Using FPGA Technology............................................... 31 4.2.1 EtherCAT Technology.................................................................................................... 31 4.2.1.1 System Model........................................................................................................... 31 4.2.1.2 Device Model............................................................................................................ 32 4.2.1.3 I/O Data Exchange.................................................................................................... 33 4.2.1.4 Acyclic Data Exchange............................................................................................. 33 4.2.1.5 Device Description.................................................................................................... 34 4.2.2 EtherCAT Organization and Specification...................................................................... 34 5. Advantages of Using FPGA Technology for Industrial Ethernet Field Device Implementation...................................................................................................................... 36 5.1 Flexibility for Implementing an Industrial Ethernet Field Device......................................... 36 5.2 Further Advantages............................................................................................................ 38 5.3 Support of Different Protocols by One Hardware............................................................... 39 6. Summary............................................................................................................................... 40 7. Abbreviations and Acronyms................................................................................................. 41 8. About Softing......................................................................................................................... 43 9. Authors.................................................................................................................................. 44 10. References............................................................................................................................ 44 11. List of Figures........................................................................................................................ 45 12. List of Tables......................................................................................................................... 46 White Paper 1. Introduction Following the success of fieldbuses during the last decades, Industrial Ethernet is today, in a next innovation phase, gaining increasing acceptance with regard to communication within factory and process automation applications. Industrial Ethernet extends standard Ethernet to suit automation requirements, and supports deterministic real-time communication with cycle times of 1 ms and below, which is suitable for all types of applications, including motion control. Despite all efforts it has not been possible to standardize on just one Industrial Ethernet protocol. Rather, a number of different Industrial Ethernet variants is available on the market, which differ from protocol to protocol and which are not compatible. According to the market share the most important Industrial Ethernet protocols include EtherCAT, EtherNet/IP, Ethernet POWERLINK, PROFINET and MODBUS TCP. Basically, it is possible to implement Industrial Ethernet in software only. However, to fulfill individual requirements like real-time behavior with short cycle times and low jitter, support of various network topologies including daisy chain or ring-based media redundancy, specific hardware components need to be included in the Industrial Ethernet implementation. Different approaches are available here. While conventional implementations use special hardware components or result in a reduced performance, an advanced implementation option is based on Field Programmable Gate Array (FPGA) technology. This approach combines the different elements required for an Industrial Ethernet implementation into a single electronic component. Application-specific parts can also be added in a very flexible way. This White Paper outlines the implementation aspects of an Industrial Ethernet field device based on FPGA technology and discusses the advantages of using this technology. In the first part, the focus is on the general aspects common to all the individual protocols. The second part addresses the protocol-specific aspects of implementing a PROFINET Device or an EtherCAT Slave based on FPGA technology. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 1 White Paper 2. Industrial Ethernet Overview Industrial Ethernet is based on the standard Ethernet technology specifying hardware (e.g. cables, distribution devices, network interfaces) and software (e.g. protocols) components for cable-based data transmission. However, the requirements of automation communication go beyond these capabilities and include a collision-free deterministic communication, which is suitable also for very fast motion applications. Thus cycle times of significantly less than 1 ms combined with minimum jitter have to be supported. Depending on the achieved cycle time and the jitter Industrial Ethernet protocols are subdivided into real-time protocols and hard real-time protocols. These requirements resulted in the definition of the powerful Industrial Ethernet communication technology. It is based on Fast Ethernet (transmission rate of 100 Mbit/s) and makes use of switches, full-duplex data transmission and message prioritization. Industrial Ethernet can be understood as the common platform for a variety of individual communication protocols including EtherCAT, EtherNet/IP, Ethernet POWERLINK, PROFINET and Modbus TCP. In general, it follows the Open Systems Interconnection (OSI) Reference Model (see Table 1). OSI Layer 7 - Application Layer (Software Based) Standard Industrial Ethernet Implementation Application Protocol 6 - Presentation Layer (Software Based) 5 - Session Layer (Software Based) 4 - Transport Layer (Software Based) Transmission Control Protocol (TCP) and User Datagram Protocol (UDP), respectively Additional IT Standards 3 - Network Layer (Software Based) Internet Protocol (IP) 2 - Data Link Layer (Hardware Based) Carrier Sense Multiple Access / Collision Detection (CSMA/CD)1 1 - Physical Layer (Hardware Based) Ethernet Transmission Technology Table 1: 1 OSI Layers and Their Industrial Ethernet Implementation The access mechanism Carrier Sense Multiple Access / Collision Detection (CSMA/CD) is responsible for solving data collisions and handles the overlapping data transmission of two or more stations. In contrast, the use of Switched Ethernet technology avoids data collisions without the CSMA/CD method. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 2 White Paper The OSI layers 1 (Physical Layer) and 2 (Data Link Layer) of Industrial Ethernet protocols are described by the Ethernet standard. The layer 3 (Network Layer) supports, in particular, the addressing of stations via IP addresses. Layer 4 (Transport Layer) consists of the TCP and UDP protocols. IT standards like the Hypertext Transfer Protocol (HTTP) and the File Transfer Protocol (FTP) are also located at this layer. Layer 7 (Application Layer) provides the application interface. The OSI layers shown in Table 1 describe the standard implementation parts of Industrial Ethernet protocols. However, individual protocols make more or less use of this ideal layer model. In fact, the implementation of these layers varies from one Industrial Ethernet protocol to the next. From a general point of view the protocols that use more Ethernet and TCP/IP standards provide less real-time support, while protocols providing hard real-time features are usually based on special implementations. Here the range reaches from Modbus TCP and EtherNet/IP at the more standards-based and less real-time support end to PROFINET IRT and EtherCAT at the isochronous hard real-time end with little jitter. In addition to the differences within the OSI layers, the various Industrial Ethernet protocols also vary in the basic protocol architecture, the individual application protocol, the object model as well as the engineering concepts and tools. When used as a fieldbus, Industrial Ethernet in general makes use of two types of stations, controllers and devices. Devices typically perform slave functionality and interact with the environment by reading or setting values, or execute motion control applications, whereas controllers are usually responsible for master functionality such as the calculation of values that are sent to actuator field devices based on the values read by sensor field devices. Industrial Ethernet protocols support the “One Ethernet” concept, which defines a joint usage of the Ethernet cables by the automation application together with IT systems. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 3 White Paper 3. Implementing an Industrial Ethernet Field Device As the Industrial Ethernet communication is structured in layers (see Table 1), a complete Industrial Ethernet field device implementation has to address the individual required layers. Thus, an Industrial Ethernet field device implementation consists of a hardware and a software portion. The hardware portion of the Industrial Ethernet field device implementation typically comprises the time-critical functionality, which is responsible for accessing the Industrial Ethernet network at the logical level. The Industrial Ethernet protocol stack covers the software portion of the Industrial Ethernet field device implementation, which deals with the remaining communication functionality (see Figure 1). Figure 1: Structure of Industrial Ethernet Field Device Implementation and Its Reference to the OSI Layer Model To minimize the dependency on individual suppliers, field device manufacturers in general are interested in basing an Industrial Ethernet implementation on standard components as much as possible. In addition, they demand that all the Industrial Ethernet protocols needed are implemented using identical hardware to ensure maximum flexibility. The following sections present various conventional approaches used for implementing an Industrial Ethernet field device. These approaches are discussed with respect to the individual demands of field device manufacturers. In another section a state-of-the-art Industrial Ethernet field device design based on an FPGA architecture is described. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 4 White Paper 3.1 Conventional Industrial Ethernet Field Device Implementation There are various conventional strategies for implementing an Industrial Ethernet field device. 3.1.1 Industrial Ethernet Field Device Implementation Based on ASIC The conventional approach for implementing an Industrial Ethernet field device makes use of a dedicated Application-Specific Integrated Circuit (ASIC). This component combines specific Industrial Ethernet hardware responsible for real-time access with a processor core executing the Industrial Ethernet protocol stack. In general, there are two types of ASICs available for implementing an Industrial Ethernet field device. One type of ASIC is especially focused on one specific Industrial Ethernet protocol (“Single Protocol ASIC”). Typically, this type of ASIC is manufactured by the technology leader of this specific protocol. For implementing further protocols, components from other sources have to be used, if this is possible at all. The other type of available ASIC supports the implementation of multiple Industrial Ethernet protocols with a single hardware platform (“Multiple Protocol ASIC”). Table 2 gives an overview of advantages and disadvantages related to the implementation of an Industrial Ethernet field device based on ASICs. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 5 White Paper Relevant for Aspect Single Protocol ASIC Multiple Advantage / Protocol Disadvantage ASIC Description Combined Component X X Advantage The ASIC combines the specific Industrial Ethernet hardware with a processor core executing the protocol stack. As a result no additional main components are required for implementing the Industrial Ethernet field device functionality, reducing the hardware development effort in comparison to an approach using standard hardware components. Compatibility X X Advantage A Single Protocol ASIC available from the technology leader ensures the compatibility with other stations within an Industrial Ethernet network. Multiple Protocol ASICs can also provide this advantage. Support of Multiple Protocols X Disadvantage A specific ASIC is required to be implemented for each individual supported protocol, resulting in additional development effort for each additional protocol. X Advantage Only one ASIC is required for implementing all the required protocols. Thus, there is no need to support different hardware platforms. Closed System X X Disadvantage The supported functionality is defined by the ASIC manufacturer. Thus, there are only limited possibilities of adapting this functionality to address specific Industrial Ethernet field device requirements.2 Single Source X X Disadvantage The Industrial Ethernet field device ASIC is only available from one manufacturer, increasing the dependency on the implemented Industrial Ethernet field device. The manufacturer may discontinue the ASIC at any time, which directly jeopardizes the availability of an implemented Industrial Ethernet field device. Table 2: Advantages and Disadvantages of Using Single Protocol and Multiple Protocol ASICs for Implementing an Industrial Ethernet Field Device 2 For instance, there is no possibility to integrate additional hardware-based functionality like motion control support or to modify the implemented memory interface. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 6 White Paper 3.1.2 Software-Based Industrial Ethernet Field Device Implementation The Industrial Ethernet field device can also be implemented completely in software by making use of standard hardware, e.g. a PC platform for accessing the Ethernet. This Industrial Ethernet field device implementation approach involves advantages and disadvantages, which are summarized in Table 3. Aspect Advantage / Disadvantage Description Low Price Advantage A standard hardware is sold in high quantities and thus is typically available at very competitive prices, which are lower than prices resulting from other implementation approaches. Known Hardware and Development Tools Advantage The standard hardware plus the respective development tools are well known. Thus less learning effort is required than for getting acquainted with an unknown hardware and development environment, as may be the case with ASICs and FPGAs. High Processor Performance Required Disadvantage A purely software based Industrial Ethernet field device implementation requires a high processor performance for supporting a real-time adequate Ethernet functionality. No Guarantee of Determinism Disadvantage Depending on the processor performance and the individual tasks to be performed by the processor, the fully deterministic responses required for an Industrial Ethernet communication may not be guaranteed. Additional Processor Required Disadvantage In order to limit the load of the processor executing the Industrial Ethernet communication, an additional processor is required to run the Industrial Ethernet field device application. Restricted Disadvantage Not all Industrial Ethernet functionality3 can be implemented in software on a standard hardware platform. Thus a softwareFunctionality based Industrial Ethernet implementation typically results in a restriction of the supported functionality. Table 3: Advantages and Disadvantages of Using the Completely Software-Based Implementation of an Industrial Ethernet Field Device 3 For instance, this applies for support of hard real-time, daisy chain topology and media redundancy. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 7 White Paper 3.2 Industrial Ethernet Field Device Implementation Based on FPGA Technology As the various discussed conventional approaches to implementing an Industrial Ethernet field device (see Section 3.1) have disadvantages e.g. regarding their flexibility, scalability, performance, usability and/or their cost/performance ratio, it makes sense to look for alternatives when implementing Industrial Ethernet field devices. When analyzing the market demands, a natural choice is the use of FPGA technology, which directly results in a number of advantages. Based on the FPGA-based Industrial Ethernet solution from Softing, this option will be discussed in more depth in the following sections. 3.2.1 FPGA Technology The FPGA is an electronic component which can be programmed after its production. FPGAs are available from various manufacturers, including Altera and Xilinx. The FPGA is structured in logic elements which, on the one hand, can be used for directly implementing specific functionality and, on the other hand, also support the loading of individual IP Cores providing pre-engineered functionality. These IP Cores can be “wired together” to provide the overall functionality of an FPGA. For an FPGA, IP Cores are available from different sources, including FPGA manufacturers and various service providers. Plus, they also can be developed individually to meet specific needs. One type of IP Core provided by FPGA manufacturers is the processor IP Core. It allows the execution of individual programs as in a standard processor. Modern FPGA architectures in addition include an ARM-based System-on-a-Chip (SoC) hard processor system, providing the ultimate combination of hardened intellectual property (IP) for performance and power savings with the flexibility of programmable logic. Other types of IP Cores support a specific communication technology (e.g. Real-Time Ethernet IP Core for supporting Industrial Ethernet communication), allow connecting peripheral components like memory and I/Os, or provide a special functionality (e.g. closed loop control for drives). A major advantage of this approach is that, based on these individually available IP Cores, a specific set of hardware and software can be loaded into an FPGA to deliver the desired functionality. As loading into the FPGA is performed at runtime, the support of re-configurability and updates in the field comes as a free added benefit. All in all, the FPGA offers an additional level of flexibility unknown in other electronic components. For implementing an Industrial Ethernet field device, a hardware part (Ethernet real-time access) as well as a software part (protocol stack) is required (see Chapter 3). Both parts can be ideally combined into an FPGA, together defining the Industrial Ethernet Subsystem. This combination is a ready-to-integrate solution and requires only minimal integration effort by the field device manufacturer. Thus, this White Paper primarily focuses on the internal aspects of an FPGA-based Industrial Ethernet field device implementation rather than on specific integration tasks. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 8 White Paper Figure 2 shows the overall hardware architecture of an FPGA-based Industrial Ethernet Subsystem using two IP Cores4. Figure 2: Hardware Architecture of Industrial Ethernet Subsystem Implemented on FPGA5 3.2.2 Implementing the Industrial Ethernet Subsystem Based on FPGA Technology The hardware part of the Industrial Ethernet Subsystem is the Ethernet real-time access. It is responsible for accessing the Industrial Ethernet network, for transforming the serial data stream into individual frames, and for observing the Industrial Ethernet timing rules. The Ethernet real-time access is implemented as an FPGA IP Core and provides functionality comparable to that of a specific Ethernet hardware component. An overview of the advantages when implementing an Ethernet real-time access as an FPGA IP Core is given in Table 4. 4 5 In fact the FPGA implementation uses more than two IP Cores, the processor IP Core and the Industrial Ethernet IP Core being the relevant ones. The terms used in the figure refer to Altera FPGAs. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 9 White Paper Advantage No External Parts Description In comparison to using standard processors, the Ethernet real-time access is completely implemented inside the FPGA, together with additional components like memory interface, level shifters, etc. This results in reduced costs and space requirements. Possibility to Provide In comparison to using ASICs and standard processors, the FPGA can Additional be used for implementing any other application-specific requirements in Functionality parallel. Thus, there is no need for additional components. This results in a highly integrated solution, supporting a small footprint. Interface Flexibility Table 4: An FPGA provides flexibility for accessing external resources. For instance, the data exchange can be performed via an external dual port memory or via a Serial Peripheral Interface (SPI). Advantages of Implementing an Ethernet Real-Time Access Based on FPGA Technology In summary, the implementation of a real-time Ethernet access based on FPGA technology uses an IP Core which supports an extensive set of functionality while focusing on the time-critical part of the Industrial Ethernet protocol stack. This implementation is 100% compliant with the individual Industrial Ethernet standard. The implementation of a real-time Ethernet access is typically available to the manufacturers of Industrial Ethernet field device applications in an encrypted format which allows them to include this IP Core in their own FPGA design. The protocol stack defines the software part of the Industrial Ethernet Subsystem. Industrial Ethernet protocol stacks are available in binary format for direct execution on a processor IP Core in an FPGA. As opposed to the classical approach, the stack does not need to be ported to the target processor and operating system. It is designed from the outset for use with the IP Core and uses a royalty-free operating system.6 The stack comprises the complete Industrial Ethernet Application Layer as well as the non-time-critical parts of the Industrial Ethernet protocol. The use of an FPGA-based Industrial Ethernet field device implementation provides additional flexibility to the device manufacturer. For instance, it allows supporting a device architecture with direct access to the protocol stack through an external application. This feature is useful for implementing an application, acting as an Industrial Ethernet controller and device in parallel. From the user’s point of view, the complete Industrial Ethernet Field Device implementation is encapsulated and provides an application interface, typically based on a dual port memory, for exchanging data with an additional application. 6 The Softing approach uses the eCos operating system. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 10 White Paper 3.2.3 Aspects of Industrial Ethernet Field Device Implementation Using FPGA This section discusses some aspects regarding the implementation of Industrial Ethernet protocols in field devices based on FPGA technology. 3.2.3.1 Support of Different Implementation Architectures Being flexible and scalable, an FPGA allows different implementation approaches for Industrial Ethernet field devices, which are all based on an identical communication connection and leverage the advantages offered by modular FPGA architecture. This makes it possible to select the implementation structure to suit the existing field device resources (such as available microprocessors, peripherals and memory). The most flexible implementation approach, which is also suitable for complex field device applications, uses two processors or one processor together with an ARM-based SoC in the FPGA (see Figure 3). While one processor is responsible for executing the communication protocol, the second processor runs the device application, such as executing the measurement algorithm, processing the I/O data or controlling the drives. For this processor, the field device manufacturer is free to choose the environment in which it will run, so that manufacturers can continue to use existing implementations to a great extent. Alternatively, the integrated ARM-based SoC can also be used for this task. The two processors exchange information via a dual port RAM and the application programming interface (API). This implementation approach ensures optimum load balancing, decouples the communication protocol from the device application, and avoids mutual interference in resource usage. Additional functionality can be integrated into the FPGA as required by using additional IP cores, which for example provide access to external peripherals (General Purpose I/O, GPIO) or contain special algorithms, e.g. for motion control. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 11 White Paper Figure 3: Allocation of the Industrial Ethernet Communication Protocol and the Device Application to Two Different Processors Within an FPGA A second implementation approach places the device application on the same FPGA processor as the communication protocol (see Figure 4) and is typically used for less complex field devices. In this case, no dual port memory is required for the exchange of information because the two components are more tightly coupled than in the first implementation structure. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 12 White Paper Figure 4: FPGA Processor Shared Between the Industrial Ethernet Communication Protocol and the Device Application Another implementation option uses the FPGA only as a communication processor; for the device application, a separate microprocessor outside the FPGA is used (see Figure 5). This approach is recommended if comprehensive application software is already being used on an external processor and there is no need to integrate it into the FPGA. The communication protocol and the device application can then exchange information in a number of ways – via dual port memory of different sizes or by using a standard bus system like Modbus RTU, or standard hardware protocols (e.g. SPI, etc.) with proprietary communication. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 13 White Paper Figure 5: Use of the FPGA As Communication Processor and Execution of the Device Application on an External Microprocessor 3.2.3.2 Performance Acceleration The minimum achievable cycle time of an Industrial Ethernet implementation defines how fast input and output data can be exchanged between communicating devices. Thus, it is often seen as an important key performance index of an Industrial Ethernet implementation and used for comparing different communication systems. As this value is measured at the communication medium, however, this value does not necessarily allow to determine the supported performance for accessing input and output data at the application level. Here the delay caused by the implemented mechanism for data transfer between the communication medium and the application has to be considered as well. In general, an Industrial Ethernet implementation may also cause latencies related to • Delays of the PHY component • Delays of the Ethernet interface (e.g. MAC, switch, etc.) • Delays of the Industrial Ethernet protocol stack • Delays caused by the implementation of the interface between the protocol and the application software • Delays within the application implementation Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 14 White Paper Using an FPGA allows implementing performance optimizations to overcome some of these various delays.7 When analyzing the different delays of an Industrial Ethernet implementation it can be found that the major part of the overall delay within a field device is related to the protocol stack. As a consequence, this component offers the biggest optimization potential. The implementation of a configurable DMA channel for input and output data is a key to significant performance acceleration. This approach uses the DMA channel for the direct data exchange between sources and sinks of I/O data, bypassing the protocol software. This solution allows to directly exchange data between the specific Industrial Ethernet IP Core (e.g. switch or EtherCAT Slave Controller) and the dual port memory or the application’s IP Core. The FPGA architecture of this implementation is presented in Figure 6. Table 5 shows the delay measured between the Industrial Ethernet IP Core and the application interface for the PROFINET and EtherCAT protocols.8 7 8 The optimizations related to the Industrial Ethernet implementation are already integrated into the solution offered by Softing. Additional options for performance improvements regarding the interface between the protocol software and the application as well as within the application are described in the available documentation. The delays shown have been measured based on the Softing FPGA-based Industrial Ethernet implementation. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 15 White Paper Figure 6: Performance Acceleration in FPGA-Based Industrial Ethernet Implementations Using the DMA Channel PROFINET Implementation EtherCAT Implementation Maximum Delay Mean Delay Maximum Delay Mean Delay Without Optimization 160 µs 125 µs 220 µs 150 µs Using DMA Channel 9.7 µs 9.7 µs 7.1 µs 7.1 µs Table 5: Performance Optimization Potential Using the DMA Channel Analysis of the data shown in Table 5 indicates that the use of a DMA channel decreases the delay by at least a factor of 15. In addition, it can be seen that the related jitter has vanished completely. As a result, the implementation of a DMA channel allows to exchange new input and output data in every cycle at cycle times as low as 50 µs. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 16 White Paper 3.2.3.3 Hardware Options Field device manufacturers can choose from different hardware options for implementing the Industrial Ethernet field device functionality based on FPGA technology. One is to use an embedded communication module that comprises all the required hardware and software of the Industrial Ethernet Subsystem, and is integrated into the target hardware as a piggy-back board (see Figure 7). Another option is a custom FPGA hardware development, including the Industrial Ethernet Field Device functionality and all manufacturer-specific functions in a cost-optimized manner. Figure 7: FPGA-Based Communication Interface for Implementing an Industrial Ethernet Field Device Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 17 White Paper 3.2.3.4 Common Application Programming Interface9 After defining the FPGA platform as a general hardware platform for implementing Industrial Ethernet field devices, the next step is to address the requirements of the market and of individual customers in order to provide a unified interface for programming the application for the various supported Industrial Ethernet protocols. Therefore, the individual protocols were analyzed and similarities in accessing these protocols were identified despite the differences between the individual protocols. These similarities eventually formed the base for the implementation of a common Application Programming Interface (API) which covers the complete range of supported Industrial Ethernet protocols.10,11 As a result, only minor implementation modifications during initialization are required within the application when migrating from one Industrial Ethernet protocol to the next. The API has been implemented in such a way that it is fully independent of the hardware and operating system being used. Thus porting is quite easy, resulting in a flexible interface library that can be used with all types of field device platforms. Another advantage is that the API can be implemented in very lean way so that just a few protocolindependent calls are necessary to start, perform and stop the Industrial Ethernet communication. The resulting calling structure of a common API is shown in Figure 8. 9 10 11 From a general point of view the use of a common API is not necessarily related to the FPGA-based implementation of an Industrial Ethernet field device. Softing has implemented a common API which can be used for FPGA implementations as well as conventional implementation approaches. This section describes Softing’s API solution (Simple Device Application Interface, SDAI). The various Industrial Ethernet protocols differ to some extent e.g. regarding the diagnosis features, alarming or dynamic I/O data re-configuration. These individual features are implemented in Softing’s SDAI and require an application modification during the Industrial Ethernet protocol migration, if these are used. The idea of defining a common API for accessing various Industrial Ethernet (as well as fieldbus) protocols has its origin at Softing. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 18 White Paper Figure 8: Lean Calling Structure of the Common Application Programming Interface for Industrial Ethernet Field Devices12 12 The shown calling structure refers to the routines implemented in the Softing Simple Device Application Interface (SDAI). Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 19 White Paper 3.2.3.5 Required FPGA Resources The FPGA size required for implementing an Industrial Ethernet field device is driven by the specific functionality supported in the individual case. Here, it is important to note that the various Industrial Ethernet protocols do not define and require the same range of functionality: For instance, some protocols support extended diagnostic capabilities, which, as a consequence, also require additional resources when implemented. Based on the implemented features the resources can be determined and the appropriate FPGA size can be chosen. Typical FPGA resource requirements for implementing various aspects of an Industrial Ethernet field device are given in Table 7.13 The overall FPGA combining the Industrial Ethernet subsystem plus the application subsystem is shown in Figure 9. In general, the Industrial Ethernet implementation consists of more than just the individual Industrial Ethernet protocol stack, but also includes additional IP Cores. The resource consumption of these additional IP Cores is given in Table 6. Included in these additional IP Cores is a DDR RAM Soft IP Core. The resources associated with the DDR RAM Soft IP Core are not required if a Hard IP Core or a memory type other than DDR RAM is used. In addition, the resource consumption of the application subsystem also depends on the specific use case. 13 The information presented in this section refers to FPGA-based Industrial Ethernet designs created for the Softing Protocol IP V1.20 using the Altera Quartus 14 design software for an Altera Cyclone V E A7 FPGA supporting 149,500 logic elements and 6,860 M10K blocks. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 20 White Paper Figure 9: FPGA Design of the Industrial Ethernet Subsystem Together with the Application Subsystem Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 21 White Paper ALMs Used in Final Placement M10K Blocks 866 3 Memory (DDR RAM Soft IP Core) 2,232 24 Application Subsystem 2,544 25 Functionality Common Table 6: FPGA Resource Consumption of Additional IP Cores Required for an Industrial Ethernet Implementation Table 7 shows the resource consumption of the overall Industrial Ethernet FPGA design including the resources given in Table 6, the resource consumption of the Industrial Ethernet subsystem as well as the resource consumption of the specific Industrial Ethernet IP Core. Depending on the implemented Industrial Ethernet protocol the Industrial Ethernet IP Core consists of • EtherCAT Slave Controller (for EtherCAT) • Hub (for Ethernet POWERLINK) • Switch without IRT Support (for PROFINET RT, EtherNet/IP and MODBUS TCP) • Switch with IRT Support (for PROFINET IRT) Overall Design Industrial Ethernet Subsystem Industrial Ethernet IP Core ALMs M10K Blocks ALMs M10K Blocks ALMs M10K Blocks EtherCAT 18,400 102 13,076 50 7,828 9 EtherNet/IP / MODBUS TCP 13,358 122 7,409 70 4,732 36 POWERLINK 9,617 125 3,825 73 1,231 40 PROFINET RT (Cycle Time 1 ms) 13,239 122 7,530 70 4,582 36 PROFINET IRT (with DMA) 17,156 142 11,198 90 7,283 48 Table 7: Required FPGA Resources for Overall Design, Industrial Ethernet Subsystem and Industrial Ethernet IP Core of an Industrial Ethernet Field Device Implementation for Different Industrial Ethernet Protocols Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 22 White Paper 3.2.3.6 IT Channel Implementation Implementing the specific Ethernet hardware based on FPGAs allows to provide individual additional functionality to the device manufacturer. Following the “One Ethernet” concept a separate internal Ethernet port can be provided, which allows the execution of additional Ethernet services beyond the scope of the specific Industrial Ethernet protocol, e.g. IT services within the field device in parallel to the pure Industrial Ethernet communication. This channel can be used, for example, to update the firmware of the field device or to access a web server which can be used for defining device parameters. 3.2.3.7 Evaluation Kit Evaluation kits are helpful for integrating the Industrial Ethernet Subsystem into the field device as well as for developing the device application running within the FPGA. Typically, appropriate evaluation kits are available from the FPGA manufacturers.14 These evaluation kits come with a full-featured development environment focusing on the specific features of the FPGA being used. 14 The Softing solution is available for the Altera INK, Altera CVE as well as the Altera CVSoC evaluation boards. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 23 White Paper 4. Implementing Specific Industrial Ethernet Protocols Using FPGA Technology While so far the implementation of an Industrial Ethernet field device based on FPGA technology has been discussed from a general point of view, this chapter now addresses specific aspects required for implementing the protocols PROFINET (see Section 4.1) and EtherCAT (see Section 4.2). These aspects include an introduction to the protocol technology as well as a comparison of conventional vs. FPGA-based implementation approach. 4.1 Implementing a PROFINET Device Using FPGA Technology 4.1.1 PROFINET Technology PROFINET is an open, cross-vendor Industrial Ethernet communication standard for factory and process automation. The protocol is based on various Ethernet and IT standards and offers scalable real-time communication including an optional isochronous mode (PROFINET IRT). 4.1.1.1 System Model The PROFINET specification distinguishes three different station classes: PROFINET Controller, PROFINET Device and PROFINET Supervisor. A number of (1…n) PROFINET Controllers exchanges data cyclically and acyclically with a number of (1…m) PROFINET Devices. A PROFINET Supervisor can be integrated into the system in addition to the PROFINET Controller. A PROFINET Supervisor can be used, for example, for commissioning (as part of an engineering tool) or for the parameterization of PROFINET Devices. The use of PROFINET requires 100 MBit/s full-duplex, switched Ethernet. The switch functionality can be implemented as part of an external device (switch) or as part of the automation device. The use of these two implementation types allows the support of different topologies, including star, line, tree and ring topologies. A ring topology is a line topology that has been closed to form a ring in order to support media redundancy. A sample structure of a PROFINET topology is shown in Figure 10. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 24 White Paper Figure 10: PROFINET Network Structure 4.1.1.2 Device Model PROFINET Devices are based on a modular device model, in which modules can be plugged into slots. If a device has only virtual modules and virtual slots that cannot be plugged by the user, this device is referred to as a Compact Device. In addition to the modules that establish a connection to inputs and outputs, there is another special device module type – the Device Access Point (DAP). The DAP is used for modeling the communication interface of the device. A device family can include more than one DAP. This allows the description of different interfaces (e.g. copper, fiber optic, 1 Ethernet port, 2 Ethernet ports, etc.) of the device family. Slots/modules are further subdivided into subslots/submodules. As no devices supporting pluggable submodules are available in the market today, this subdivision so far is always a virtual subdivision. The submodule 0 acts as a special submodule, representing the respective alarm messages of the module. Thus, the submodule 0 cannot contain any I/O data, records or diagnostic information, while all other submodules provide access to I/O data, records or diagnostic information. The structure of the PROFINET Device is shown in Figure 11. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 25 White Paper Figure 11: PROFINET Device Structure 4.1.1.3 I/O Data Exchange PROFINET supports the exchange of I/O data on a cyclical basis. Different cycles are possible within a PROFINET system. The transmission cycle of the PROFINET Controller is used as the calculation basis for the entire scheduling. The transmission cycle is a property of the PROFINET Controller and describes its performance. Every PROFINET Controller must support a transmission cycle of 1 ms. Other cycles, which may be shorter or longer, can be additionally supported. The ReductionRatio value is used to define the specific cycles for the exchange of inputs and outputs. All parameters for the scheduling of I/O data are specified during commissioning and transmitted to the PROFINET Controller, which distributes these parameters to the PROFINET Devices at the beginning of the data exchange. The basics for scheduling the cyclic data exchange within a PROFINET network are shown in Figure 12. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 26 White Paper Figure 12: PROFINET Communication Schedule of I/O Data 4.1.1.4 Acyclic Data Exchange Within PROFINET networks alarms are exchanged acyclically. They can be transmitted and acknowledged by PROFINET Controllers as well as by PROFINET Devices. Read and write access to records is also executed acyclically. A special PROFINET protocol based on UDP/IP is used for this purpose. 4.1.1.5 Device Description A Generic Station Description Markup Language (GSDML) file is used for describing the properties of a PROFINET Device. It is based on XML. While GSD is the result of many years of experience with the description of device properties in the PROFIBUS environment, GSDML also describes extensions that have been introduced with PROFINET (subslots, different communication interfaces, etc.). XML is used by various PROFIBUS & PROFINET International (PI) workgroups. A style guide has been created to prevent inconsistencies. The GSDML specification is based on all three sources as shown by Figure 13. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 27 White Paper Figure 13: Sources of the GSDML Specification A useful tool for viewing and checking GSDML files is the PROFINET XML Viewer, which PROFIBUS & PROFINET International (PI) members can download from the PI website. A sample GSDML file and a representation of the different parts displayed in the PROFINET XML Viewer are shown in Figure 14. Figure 14: Different Parts of a GSDML File and Their Representation in the PROFINET XML Viewer Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 28 White Paper 4.1.2 PROFINET Organization and Specifications The different aspects of a PROFINET system (communication protocol, device description, profiles, installation guidelines, etc.) are defined in different specifications. PROFINET specifications are created by the respective workgroups established by PI. PI members can download the specifications from the PI website www.profinet.com. PI has about 1,400 members worldwide. The majority of specifications have been submitted to the applicable international standardization bodies. An overview of the currently available PROFINET specifications is shown in Table 8. PROFINET Specification International Standard PROFINET IO V2.3 Ed2MU1 IEC61158, Ed. 4.0 Industrial Communication Networks - Fieldbus Specifications PROFINET RT/IRT IEC61784 Industrial Communication Networks - Fieldbus Specifications Profile Sets – Part 2 GSDML V2.31 ISO15745 Industrial Automation Systems and Integration -Open Systems Application Integration Framework PROFINET Security Guideline V2.0 IEC62443 Security for Industrial Process Measurement and Control. Network and System Security PROFIsafe V2.6.1, PROFIdrive V4.1 PROFINET Cabling and Interconnection Technology V3.1 Table 8: 15 Title IEC61784-4 Industrial Communication Networks - Fieldbus Specifications Profile Sets – Part 4 IEC61784-3 Industrial Communication Networks - Fieldbus Specifications Profile Sets – Part 3 IEC61918 Industrial Communication Networks Installation of Communication Networks in Industrial Premises IEC61784-5 Industrial Communication Networks - Fieldbus Specifications Profile Sets – Part 5 PROFINET Specifications15 (Source: PROFIBUS & PROFINET International) The PROFINET specification overview reflects the status as per June 2015. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 29 White Paper 4.1.3 Implementing a PROFINET Device 4.1.3.1 Conventional Implementation of a PROFINET Device This section details the discussion from Section 3.1 for the Industrial Ethernet protocol PROFINET. A PROFINET Device can be implemented by using off-the-shelf microprocessors with or without integrated Ethernet MAC. This type of device can only support PROFINET RT functionality as defined by the Conformance Classes A and B. The implementation of a pure PROFINET Device functionality is typically accompanied by the implementation of additional functionality like the integration of switch functionality into the device. The support of this commonly requested feature requires the addition of an external switch component. Alternatively, a PROFINET Device can also be implemented using ASICs from different vendors. As described in Section 3.1.1, Single Protocol ASICs (which only support the implementation of PROFINET Devices) as well as Multiple Protocol ASICs are available. Both types of ASICs support the implementation of the PROFINET RT as well as the PROFINET IRT protocol. Disadvantages associated with a conventional PROFINET Device implementation are given in Table 9. Disadvantage Performance Requirements Cannot be Met Table 9: Description Isochronous data exchange requires special hardware support. This functionality is not available in off-the-shelf microprocessors. Disadvantages of PROFINET Device Implementations Using Conventional Implementation Approaches 4.1.3.2 PROFINET Device Implementation Based on FPGA Technology This section details the discussion from Section 3.2 for the Industrial Ethernet protocol PROFINET. The implementation of a PROFINET Device based on FPGA technology consists of two main components as described in Table 10. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 30 White Paper Component Description Switch IP Core The switch IP Core implements standard switch functionality plus additional switch functionality as required by PROFINET, including PROFINET IRT. Protocol Stack The protocol stack implements the remaining PROFINET Device functionality. It runs on an IP Core processor16 on top of an operating system17. Table 10: Main Components of a PROFINET Device Implementation Based on FPGA Technology Access to the implemented functionality is provided through an Application Programming Interface as described in Section 3.2.3.4. It provides the necessary functionality to set up and use the PROFINET communication in a PROFINET Device.18 Typically, the application-related part of the API is provided in source code and can be easily ported. 4.2 Implementing an EtherCAT Slave Using FPGA Technology 4.2.1 EtherCAT19 Technology 4.2.1.1 System Model EtherCAT uses standard Ethernet frames but a completely different communication structure idea. An EtherCAT network consists of an EtherCAT Master and a number of EtherCAT Slaves. With EtherCAT different topology structures like star topologies, daisy chain topologies and drop line topologies are supported. These topology variants can be used in any combination. Almost any number of devices (up to 65,535) can be wired in a line structure. There are no restrictions due to cascaded switches or hubs. An overview of different topology structures supported by EtherCAT is shown in Figure 15. 16 17 18 19 For instance, the protocol stack can run on the IP Core processor NIOS II for Altera FPGAs or on the IP Core processor µBlaze for Xilinx FPGAs. The Softing implementation uses the operating system eCos. The Softing Simple Device Application Interface (SDAI) by default supports a 4 KB dual port RAM interface. EtherCAT is a patented technology, licensed by Beckhoff Automation. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 31 White Paper Figure 15: Different Topology Structures Supported by EtherCAT Each EtherCAT frame contains data for the various slaves within the network and its relevant data is accessed and processed by the individual slave on the fly, resulting in very short cycle times. When the frame reaches the end of the network, it is sent back to the master directly. The Ethernet full-duplex mode allows to create a logical ring supporting this communication behavior. An example of an EtherCAT frame is shown in Figure 16. Figure 16: Structure of an EtherCAT Frame 4.2.1.2 Device Model The EtherCAT Slave consists of the EtherCAT Slave Controller and the implementation of the individual EtherCAT communication protocol features like cyclic synchronous communication and asynchronous communication. The EtherCAT Slave Controller implements the Data Link Layer and provides an interface to the EtherCAT fieldbus. Figure 17 shows the architecture of a typical EtherCAT Slave. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 32 White Paper Figure 17: EtherCAT Slave Structure 4.2.1.3 I/O Data Exchange EtherCAT exchanges data cyclically. Usually the cyclic frames are for process data and cannot be modified during system runtime. The cyclic frames depend on the configuration. The EtherCAT Master is responsible for sending them out. The most widely used software PLC for EtherCAT usually works with cycle times between 50 µs and 100 ms. 4.2.1.4 Acyclic Data Exchange Acyclic data can be exchanged as part of the cyclic frames and are also sent out by the EtherCAT Master. Acyclic data is used to send diagnostic information, mailbox communication or communication within subordinate fieldbuses. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 33 White Paper 4.2.1.5 Device Description The EtherCAT device description file is based on XML and describes the properties of the EtherCAT Slave. The information contained in the EtherCAT device description file is listed in Table 11. Component Description Vendor Vendor Information Like Vendor ID, Name, etc. Device Groups Organization Units to Help Configuration Tools Device Device Information Like Device Type, Name, Process Data Interface Type, etc. Process Data Object (PDO) Description of RxPDOs (Output Process Data) and Description of TxPDOs (Input Process Data) Fieldbus Memory Definition of FMMU Usage Manage Unit (FMMU) Allowed Values: • ‘Outputs’: FMMU is Used for RxPDO • ‘Inputs’: FMMU is Used for TxPDO • ‘MBoxState’: FMMU is Used to Poll Input Mailbox Size and Address Information Regarding FMMU Table 11: Components of EtherCAT Device Description Files This XML description provided by the device description file can be used by the EtherCAT configuration tool to configure the device and the network. The specification of the file format is defined in an XSD schema. 4.2.2 EtherCAT Organization and Specification EtherCAT is a worldwide standard allowing data exchange inside a communication network based on Ethernet technology. EtherCAT stands for very short cycle times for applications in real-time environments. Since its publication in 2003 the EtherCAT Technology Group (ETG) is responsible for the further development. The ETG has over 2,400 members who can influence the development of the technology in different working groups. EtherCAT is an official IEC specification: 61158 – Type 12 (Industrial Communication Networks, Part 3/4/5/6). Currently EtherCAT is defined by the standards listed in Table 12. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 34 White Paper EtherCAT Specification EtherCAT Specification ETG.1000.x Version 1.0.3 International Standard IEC61158, Ed. 4 Title Industrial Communication Networks - Fieldbus Specifications EtherCAT Slave Information (ESI) Specification ETG.2000 V1.0.7 ISO15745-4 Industrial Automation Systems and Integration – Open Systems Application Integration Framework Drive Profiles and Mapping to EtherCAT V1.0 IEC61800-7 Adjustable Speed Electrical Power Drive Systems Safety over EtherCAT ETG.5100 V1.2.0 IEC61784-3 Industrial Communication Networks - Fieldbus Specifications Profile Sets – Part 3 EtherCAT Installation Profile, Version from May 14, 2010 IEC61784-5 Industrial Communication Networks - Fieldbus Specifications Profile Sets – Part 5 Table 12: 20 EtherCAT Specifications20 (Source: EtherCAT Technology Group) The EtherCAT specification overview reflects the status as per June 2015. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 35 White Paper 5. Advantages of Using FPGA Technology for Industrial Ethernet Field Device Implementation There are a number of advantages to be gained from using the FPGA technology for implementing an Industrial Ethernet field device. These advantages are discussed in this chapter. 5.1 Flexibility for Implementing an Industrial Ethernet Field Device A main advantage of FPGA technology is that it provides a high level of flexibility for implementing an Industrial Ethernet field device. Different aspects resulting from the provided flexibility are discussed in Table 13. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 36 White Paper Flexibility Aspect Description Supported Scalability The FPGA image is structured by individual IP Cores which can be combined into one FPGA providing scalability. Thus, different Industrial Ethernet field device architectures can be implemented, including a pure Industrial Ethernet protocol or the additional implementation of the application processor within the same FPGA and IP Core processor, respectively (see Figure 2, Figure 3 and Figure 4). The required FPGA size is determined by the individual functionality to be supported. Integration of Communication and Application Depending on the individual requirements, using an FPGA allows to combine both, communication and application implementation into one component. Support of Protocol Extensions and New Protocols The FPGA-based Industrial Ethernet implementation allows to extend a specific protocol implementation individually as needed. It also allows to support additional Industrial Ethernet protocols using the same hardware. Scope of Implemented The FPGA allows manufacturers to not only implement the Industrial Functionality Ethernet field device functionality, but also add individual capabilities (e.g. access to the backplane bus) according to their specific requirements. This is done by simply adding the appropriate IP Cores. Integration of Interfaces IP Cores supporting different types of memory interfaces (e.g. SDRAM, DDR2RAM, etc.) and interfaces for application integration (e.g. dual port memory, Serial Peripheral Interface, etc.) are available and can be integrated directly into the FPGA of the Industrial Ethernet field device implementation. IP Core Loading Time FPGAs provide flexibility to load the IP Cores of an Industrial Ethernet field device. For instance, the IP Cores can be loaded as part of the field device production. Alternatively, the IP Cores can also be loaded after installation, making use of the provided IT channel. Support of Specification Updates The functionality provided by an FPGA is not fixed, but can be updated as required by simply loading the individual IP Core into the FPGA. This way, for instance, a future specification update can be implemented and used within an existing FPGA hardware. Upgrade to Next Technology Level Device manufacturers are free to decide on a new hardware generation on the basis of their own individual considerations and not driven by external factors like the discontinuation of an individual electronic component. Existing IP Cores can be re-used with nextgeneration FPGAs, and new IP Cores (e.g. supporting a new memory technology) can easily be added. Table 13: Flexibility Provided by Using FPGA Technology for Industrial Ethernet Field Device Implementation Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 37 White Paper 5.2 Further Advantages Besides flexibility there are other benefits in using FPGA technology for implementing an Industrial Ethernet field device. One is that with FPGAs, the investment in the Industrial Ethernet field device implementation is guaranteed for the future: A specific Ethernet hardware component as well as an Industrial Ethernet field device ASIC are specialized components which are typically only available from a single manufacturer. Some of these niche products have already been on the market for several years, which increases the probability of supply bottlenecks and product discontinuation in the near future, and thus directly impacts the product availability of the Industrial Ethernet field device implemented based on these components. FPGAs in contrast are universal mainstream products which are produced and distributed in large amounts. Their product maintenance is thus of vital interest to FPGA manufacturers. Improvements in semiconductor technology can be implemented very quickly and additional IP Cores, for instance supporting new memory technologies, continuously become available. Therefore, basing an Industrial Ethernet field device implementation on FPGA technology ensures its continued availability in the future. The easy integration of the Industrial Ethernet field device protocol stack is another advantage of using FPGA technology. As the environment (i.e. processor IP Core, operating system, and memory access) is fully defined, the executable format of the Industrial Ethernet field device protocol stack can be prepared in advance. This eliminates the need to port this protocol stack to the target platform. All that has to be implemented is the access to the planned application interface, resulting in significantly less effort. Within an existing Industrial Ethernet field device implementation, an application like the communication via the backplane bus is often already provided using FPGA technology. Thus, the decision to use an FPGA for implementing the Industrial Ethernet field device does not require additional hardware components. Instead, this functionality can be merged into an existing FPGA. Automation device hardware more and more includes consumer components, e.g. memory. In comparison to dedicated automation components, consumer components are typically available only for a short time (3 to 4 years). This makes component obsolescence a real challenge. ASIC manufacturers guarantee that their products will be available for 10 years and more. However, they cannot guarantee the availability of the other components used. Thus, it may happen that new components can no longer be interfaced with the ASICs in use. FPGAs are more flexible here and allow the manufacturer to make a free choice of components. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 38 White Paper 5.3 Support of Different Protocols by One Hardware Using FPGA technology for implementing the Industrial Ethernet field device allows to support a set of Industrial Ethernet protocols with just one hardware platform. The selection of the specific Industrial Ethernet protocol to be used is done by loading the appropriate image, e.g. from the Flash memory, or by loading a new firmware. This approach provides additional freedom to hardware manufacturers. It allows using a universal hardware and application platform to support multiple protocols within several product families. All in all this results in the effective use of the implementation effort invested and minimizes the required amount of stock held by the manufacturer. In addition, the FPGA-based implementation of an Industrial Ethernet device also allows to support IT services by the device as well. Here standard Ethernet protocols like HTTP or FTP are used for implementing a transparent IT path using the same infrastructure. For instance, functionality such as access to device data via a web server and the internet or the firmware download can be provided by the device. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 39 White Paper 6. Summary FPGA technology allows implementing a fully functional Industrial Ethernet field device while offering advantages over a conventional closed implementation. To sum up the FPGA advantages, a comparison regarding various aspects of an Industrial Ethernet field device implementation is given in Table 14.21 This comparison addresses the usage of an FPGA vs. an ASIC or a standard processor. Topic FPGA (see Section 3.2) ASIC22 (see Section 3.1.1) Standard Processor (Pure Software Solution) (see Section 3.1.2) Full Support of Industrial Ethernet Field Device Functionality (Including Ethernet Access Functionality) + o - Support of Different Protocols by the Same Hardware + o o Integration of Application + o o Scalability + o - Long-Term Availability of Technology (Including Successor Products) + o o Flexibility Regarding Support of Add-On Functionality + - - Price of Relevant Components (Protocols, Processor, PHY, Memory) + + o Table 14: Advantages of FPGA Usage in Comparison With Conventional Implementation Approaches22 (Coverage of Topic: +: Good, o: Neutral, -: Bad) The FPGA hardware platform which has been developed as part of an Industrial Ethernet field device implementation also provides additional capabilities. It makes use of a universal hardware architecture which results in a general platform supporting multiple communication protocols. 21 22 Softing’s FPGA solution allows to make use of the individual advantages presented. Within this summary table the term ASIC includes Single Protocol ASICs as well as Multiple Protocol ASICs as described in Section 3.1.1. Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 40 White Paper 7. Abbreviations and Acronyms ALM Adaptive Logic Module (Abbreviation refers to Altera FPGAs) ASIC Application-Specific Integrated Circuit API Application Programming Interface CPU Central Processing Unit CSMA/CD Carrier Sense Multiple Access / Collision Detection DDR Double Data Rate DMA Direct Memory Access DPRAM Dual Port Memory ESC EtherCAT Slave Controller FPGA Field Programmable Gate Array FTP File Transfer Protocol GSDML Generic Station Description Markup Language (Abbreviation refers to PROFINET protocol) GPIO General Purpose I/O HTTP Hypertext Transfer Protocol IP Internet Protocol IP Core Intellectual Property Core I/O Input/Output IRQ Interrupt Request IRT Isochronous Real-Time (Abbreviation refers to PROFINET protocol) MAC Medium Access Control MII Media Independent Interface MM Bridge Memory-Mapped Bridge (Abbreviation refers to Altera FPGAs) Mutex Mutual Exclusion PHY Physical Layer PI PROFIBUS & PROFINET International PIO Programmed Input/Output Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 41 White Paper PLC Programmable Logic Controller PLL Phase-Locked Loop RAM Random-Access Memory SDAI Simple Device Application Interface Unified API developed by Softing supporting different communication protocols including PROFINET and EtherCAT SoC System-on-a-Chip SYSID System Identifier TCP Transmission Control Protocol UDP User Datagram Protocol XML Extensible Markup Language Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 42 White Paper 8. About Softing The Softing Industrial Automation segment is part of the Softing group founded in 1979. Softing Industrial Automation is a global specialist in industrial communication technologies such as fieldbuses and Industrial Ethernet. With over 35 years of experience, Softing’s Industrial Automation business units deliver connectivity, diagnostic products, and services to customers in the factory and process automation industry. The options offered by Softing for implementing an Industrial Ethernet field device are based on the great technical experience and the high quality resulting from implementing a vast number of field-proven products and successful customer-specific projects. Thus, for an individual Industrial Ethernet field device implementation a unique combination of perfectly matched highquality products and professional services is available from a single source. Softing’s relationship with its customers is shaped by a high degree of flexibility for adaptations to individual requirements as well as by a long-term partnership. A network of sales offices and distribution partners around the world enable Softing to address individual customer needs in a quick and appropriate way. The Softing products are tailored to the requirements of system integrators, device vendors, machine and equipment manufacturers, or end users and are known for their ease of use and functional advantages. Softing Industrial Automation GmbH Richard-Reitzner-Allee 6 DE-85540 Haar Germany Phone: +49 / (0)89 / 45656-340 Fax: +49 / (0)89 / 45656-488 E-mail: info.automation@softing.com http://industrial.softing.com Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 43 White Paper 9. Authors Tobias Heilmeier Product Manager Factory Automation Softing Industrial Automation GmbH Haar (near Munich), Germany Frank Iwanitz Product Manager Real-Time Ethernet Softing Industrial Automation GmbH Haar (near Munich), Germany Georg Süss Product Marketing Softing Industrial Automation GmbH Haar (near Munich), Germany 10. References • PROFINET Technology and Application – System Description October 2014 Order Number 4.132 Available at: http://www.profibus.com/download/technical-descriptions-books/ (as of March 24, 2015) • EtherCAT Brochure November 2014 Available at: www.ethercat.org/download/documents/ETG_Brochure_EN.pdf (as of March 24, 2015) Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 44 White Paper 11. List of Figures Figure 1: Structure of Industrial Ethernet Field Device Implementation and Its Reference to the OSI Layer Model.............................................................................. 4 Figure 2: Hardware Architecture of Industrial Ethernet Subsystem Implemented on FPGA....... 9 Figure 3: Allocation of the Industrial Ethernet Communication Protocol and the Device Application to Two Different Processors Within an FPGA.............................. 12 Figure 4: FPGA Processor Shared Between the Industrial Ethernet Communication Protocol and the Device Application.......................................................................... 13 Figure 5: Use of the FPGA As Communication Processor and Execution of the Device Application on an External Microprocessor................................................... 14 Figure 6: Performance Acceleration in FPGA-Based Industrial Ethernet Implementations Using the DMA Channel................................................................. 16 Figure 7: FPGA-Based Communication Interface for Implementing an Industrial Ethernet Field Device................................................................................................ 17 Figure 8: Lean Calling Structure of the Common Application Programming Interface for Industrial Ethernet Field Devices......................................................................... 19 Figure 9: FPGA Design of the Industrial Ethernet Subsystem Together with the Application Subsystem.............................................................................................. 21 Figure 10: PROFINET Network Structure.................................................................................. 25 Figure 11: PROFINET Device Structure..................................................................................... 26 Figure 12: PROFINET Communication Schedule of I/O Data.................................................... 27 Figure 13: Sources of the GSDML Specification........................................................................ 28 Figure 14: Different Parts of a GSDML File and Their Representation in the PROFINET XML Viewer............................................................................................ 28 Figure 15: Different Topology Structures Supported by EtherCAT.............................................. 32 Figure 16: Structure of an EtherCAT Frame............................................................................... 32 Figure 17: EtherCAT Slave Structure......................................................................................... 33 Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 45 White Paper 12. List of Tables Table 1: OSI Layers and Their Industrial Ethernet Implementation........................................... 2 Table 2: Advantages and Disadvantages of Using Single Protocol and Multiple Protocol ASICs for Implementing an Industrial Ethernet Field Device......................... 6 Table 3: Advantages and Disadvantages of Using the Completely Software-Based Implementation of an Industrial Ethernet Field Device................................................ 7 Table 4: Advantages of Implementing an Ethernet Real-Time Access Based on FPGA Technology................................................................................................................ 10 Table 5: Performance Optimization Potential Using the DMA Channel................................... 16 Table 6: FPGA Resource Consumption of Additional IP Cores Required for an Industrial Ethernet Implementation........................................................................... 22 Table 7: Required FPGA Resources for Overall Design, Industrial Ethernet Subsystem and Industrial Ethernet IP Core of an Industrial Ethernet Field Device Implementation for Different Industrial Ethernet Protocols............................ 22 Table 8: PROFINET Specifications......................................................................................... 29 Table 9: Disadvantages of PROFINET Device Implementations Using Conventional Implementation Approaches................................................................ 30 Table 10: Main Components of a PROFINET Device Implementation Based on FPGA Technology..................................................................................................... 31 Table 11: Components of EtherCAT Device Description Files.................................................. 34 Table 12: EtherCAT Specifications........................................................................................... 35 Table 13: Flexibility Provided by Using FPGA Technology for Industrial Ethernet Field Device Implementation..................................................................................... 37 Table 14: Advantages of FPGA Usage in Comparison With Conventional Implementation Approaches...................................................................................... 40 Implementing Industrial Ethernet Field Device Functionality by Using FPGAs 46