![]() |
||||||
|
||||||
| ||||||
Nuvation HEADLINES ![]()
|
EtherCAT uses a 100 Mbit/s, full duplex (thus collision free) link between nodes, which are physically connected using 100Base-TX (over usual CAT5e/CAT6 cable), 100Base-FX, or LVDS links. An EtherCAT network uses the ‘master node communicating with many slave nodes’ paradigm. This requires foreknowledge of the types of slaves, their cabling order, and master-initiated communication. The payoff is deterministic behavior and high performance – much less bandwidth wasted on overhead, and cycle times measured in μsec and milliseconds, not seconds. A master is usually a PC-class workstation with an ordinary Ethernet NIC. An EtherCAT slave will typically consist of two Ethernet PHYs (“in” and “out”), EtherCAT slave controller (providing Ethernet Media Access Control -- MAC -- functionality), and a microcontroller. As an alternative, MCU-less digital I/O is also provided directly from the slave controller, allowing for simple, low-cost slaves without any slave-side coding. Fundamentally, EtherCAT slave controllers are a very creative departure from the traditional Ethernet MAC. To address a slave, instead of specifying a unique MAC address (which they don’t possess), one of the following address modes is set in the EtherCAT header:
The address is processed by the slave in HW and requires no SW intervention at all. As a result, while TCP/IP can be tunneled over EtherCAT, regular EtherCAT networks should not be connected to regular Ethernet networks, such as a corporate LAN! Fortunately, the designers have thought of this and provided for a special tunneling EtherCAT over IP master mode, using UDP port 34980. In EtherCAT, the slaves process chunks of bits called a datagram. An EtherCAT datagram primarily contains the node addressing info, payload, and command (eg. read or write), as shown in Figure 1. Multiple EtherCAT commands may be multiplexed into one or more Ethernet frames. An EtherCAT cycle is composed of one or more frames, and is generated by the master at any rate it chooses.
In the simplest EtherCAT topology, a daisy-chain, the cycle is created by a master and uses a broadcast destination MAC address. It makes its way through all the slaves and then back to the master, forming a logical loop. HW support is provided for each slave to modify a status counter in the Ethernet frame every single cycle if it has modified that frame. The master SW checks this against its expected value, which provides a low-level acknowledgement that the transmission succeeded. Additional data integrity detection is provided by the Ethernet Frame Check Sequence (CRC). Now that the cycle has returned to the master, its application-level software may do some processing on the received data, and the next cycle begins anew.
Nuvation is one of a handful of companies in North America to have developed an EtherCAT slave, and certainly one of the first design services companies here to implement the technology. We recently completed a project with EtherCAT technology for a distributed control system within a factory automation system design. This system is a great example of a design which was enabled by EtherCAT’s unique capabilities. Each EtherCAT slave is complex subsystem with an FPGA, DSP, motor controllers, and external interfaces to sensors, GPIO, etc. One of the many challenges of this design was a low latency requirement (single millisecond range), coupled with a large number of slaves that could be simultaneously communicating. EtherCAT. With an enormous payload capacity (up to 1486 bytes per datagram), low slave CPU requirements, and fast cycle times, EtherCAT made it possible and scalable for the future. EtherCAT was also used for remote firmware updates for the FPGA and DSP on board. In a distributed environment, it would be very time-consuming to upgrade each slave individually, for instance via serial, JTAG or removable storage. Additionally, synchronizing these individual software upgrades and the operation of the master stack, while ensuring uptime for the rest of the system, would be equally painful. To minimize downtime and ensure consistency, a centralized upgrade system is provided using EtherCAT for both the FPGA and the DSP binaries. Two very different real time operating systems were used in this project: Wind River's VxWorks and TI's DSP/BIOS. Nuvation successfully integrated EtherCAT with both operating systems, also dealing with the differing processor byte sizes and endianness. Another benefit of EtherCAT is that it allows XML configuration of master and slave. For the project, this feature was quite useful, providing excellent source control compatibility as well as leveraging a variety of editors and automated validation tools. The ongoing benefit to XML configuration is that it can easily be modified by future customer-supplied programs. Extensive error handling scenarios and responses were also considered, an expensive, time-consuming, yet critical part of any distributed control application. Savings were realized by using open source Ethernet network protocol analyzers with an EtherCAT plugin vs proprietary and costly analyzer HW/SW for other fieldbuses.EtherCAT has many more interesting features that were not used on this particular project:
With low cost, familiar Ethernet hardware and royalty-free licensing, flexible software and network models, open standards, class leading performance, interoperability with other fieldbuses, and a huge list of other features, EtherCAT technology is poised for success. Some of the EtherCAT and embedded networking related services Nuvation offers customers include:
Nuvation possesses specialized EtherCAT design services within our larger umbrella of electronic design expertise including FPGA/ASIC, digital/analog board design, DSP/MCU, RF/wireless, signal integrity, embedded software and turnkey product design. For more information please contact Nuvation at sales@nuvation.com.
· To subscribe yourself or a friend, please click here. · Questions? Comments? Send us your feedback. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Copyright © Nuvation Research Corporation 2007. All rights reserved. Privacy Policy | About Nuvation | NUVATION.COM |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||