3-Port fido2100 DLR Switch

By Innovasic Semiconductor 73

3-Port fido2100 DLR Switch

Innovasic Semiconductor's fido2100 adds fault tolerance and precision timing to Ethernet/IP networks by supporting ring topologies using the Device Level Ring (DLR) protocol and synchronization using 1588v2.

Traditional line and star topologies do not provide any level of fault tolerance in case of a failure in the cable or a field device. In a line topology, a failure causes loss of communication down the line. In a star topology, only the device at the end of the star is affected. By supporting a ring or redundant star topology, a single failure allows communication to continue. However, a redundancy protocol is required.

The DLR protocol provides redundancy by reconfiguring the ring into a line topology. At least one device in the ring is configured as a "Ring Supervisor", and its job is to keep packets from circulating forever. It is also responsible for managing the ring's recovery. All other devices are configured as "Ring Nodes". These nodes must respond to periodic frames called Beacon Frames or Announce Frames. In beacon-based rings, the frame interval provides fast fault detection. In announced-based rings, the frame interval is slower, so fault detection and recovery times are slower.

The fido2100 is a 3-port device. One port connects to a communication controller, and the other two ports connect to an Ethernet/IP network. The communication controller is responsible only for switch configuration and responding to the DLR Object message. A small amount of additional processing is required when the node is a supervisor. The fido2100 takes care of the rest of the DLR protocol. Because beacon-based frames are processed in hardware, fault-detection times are faster than using announced-based frames.

Innovasic provides a Support Library that contains all the software required to implement the beacon-based Device Level Ring (DLR) protocol using the Innovasic fido2100 DLR switch. The features of the library can be broken down into the following functional areas:
  • DLR porting layer support code
  • DLR switch interrupt-event handling
  • DLR packet processing
  • DLR protocol implementation
  • Ethernet/IP DLR object support