EtherCAT-Geräte implementieren EtherCAT mit Cortex-M4

EtherCAT-Geräte zu einer umfangreichen Peripherie auf einem Chip.
EtherCAT-Geräte zu einer umfangreichen Peripherie auf einem Chip.

Das von Beckhoff entwickelte EtherCAT zeichnet sich durch langfristige Stabilität aus. Die Mikrocontroller XMC4300 und XMC4800 kombinieren EtherCAT-Knoten mit ARM-Cortex-M-Prozessor und umfangreicher Peripherie auf einem Chip.

Die Digitalisierung hält Einzug in die Fertigung – Stichwort Industrie 4.0. Damit gehen gewaltige Datenmengen einher, produziert von Sensoren und Aktoren, Daten für die Eigen- und Ferndiagnose sowie Daten von Maschine zu Maschine. Spricht man mit Automatisierungstechnikern über Kommunikation auf der Maschinen- und Feldebene, führt an Echtzeit-Ethernet-Protokollen wie EtherCAT kein Weg vorbei, denn klassische Feldbussysteme stoßen in puncto Echtzeit zunehmend an ihre technischen Grenzen. Mikrocontroller wie die XMC4300- und XMC4800-Serien ermöglichen es, EtherCAT zu sehr geringen Kosten zu realisieren. Dabei sind XMC4300 und XMC4800 bis mindestens ins Jahr 2031 verfügbar.

Kommunikation im Schnelldurchlauf

EtherCAT ist ein Feldbussystem auf Basis von Ethernet, das 2003 eingeführt und 2007 standardisiert wurde. Es bietet eine hohe Datenrate, wobei die EtherCAT-Knoten das vom Master gesendete Telegramm „on the fly“ auslesen. EtherCAT-Slave-Geräte entnehmen die für sie bestimmten Daten, während das Telegramm das Gerät durchläuft. Ebenso werden Eingangsdaten im Durchlauf in das Telegramm eingefügt. Die Telegramme werden dabei nur um wenige Nanosekunden verzögert. Das Telegramm weist eine Hardware-Verzögerung von nur 3 bit/Slave auf. Für die On-the-Fly-Verarbeitung nutzen die Slaves den EtherCAT Slave Controller (ESC). Er kann als ASIC, FPGA, diskreter Switch oder Mikrocontroller ausgeführt sein.

EtherCAT wurde von Beckhoff und der EtherCAT Technology Group (ETG) entwickelt. Es ist eine offene Technologie, die in den internationalen Standards IEC 61158 und IEC 61784 sowie in ISO 15745-4 verankert ist. Das schnelle Industrial-Ethernet-System eignet sich für den Einsatz in zeitkritischen Motion-Control-Anwendungen. Typische Anwendungen sind Verpackungsmaschinen, Spritzgussmaschinen, schnelle Pressen, CNC-Bearbeitungszentren, Robotik und Hydraulikregelungen.

EtherCAT implementiert ein Distributed Clock System (DC) für die exakte Synchronisation aller Knoten in einem Cluster. Dabei ist die Synchronisation besser als 1 μs. Zur Konfiguration und Diagnose der Teilnehmer kann man mit Hilfe azyklischer Kommunikation auf die Variablen zugreifen, die für das Netzwerk zur Verfügung gestellt werden. Ein zuverlässiges Mailbox-Protokoll ist hierfür die Grundlage. Basierend auf diesem Mailbox-Kanal sind verschiedene Kommunikationsprofile für EtherCAT festgelegt:

  • CAN application protocol over EtherCAT (CoE),
  • Servo drive profile according to IEC 61800-7-204 (SoE),
  • Ethernet over EtherCAT (EoE),
  • Safety over EtherCAT (FSoE) und
  • File Access over EtherCAT (FoE) für Firmware Updates.
  • Eine leistungsfähige EtherCAT-Implementierung sollte die parallele Bearbeitung der verschiedenen Protokolle ermöglichen.

Performant und langfristig stabil

Der Anteil von Echtzeit-Ethernet am gesamten industriellen Kommunikationsmarkt nimmt stetig zu und beträgt derzeit schon etwa 40 Prozent. Bei einigen Echtzeit-Ethernet-Systemen sehen jedoch die Hersteller von Antrieben, SPS und I/O-Modulen noch Hemmnisse. An erster Stelle steht der fehlende Zeitdeterminismus mit Zykluszeiten, die sich bestenfalls im niedrigen einstelligen Mikrosekunden-Bereich befinden. Außerdem ist das Protokoll manchmal noch nicht ausgereift und die Implementierung nicht kosteneffizient. EtherCAT hingegen ist seit 2004 unverändert. Geräte der ersten Stunde kommunizieren im gleichen Netzwerk mit den neuesten Produkten trotz aller Funktionserweiterungen, die seitdem hinzugekommen sind. Außerdem erreicht EtherCAT Bestwerte im Zeitdeterminismus mit Isochronität im niedrigen dreistelligen bis hinunter zum zweistelligen Nanosekunden-Bereich. Die Herausforderung besteht darin, EtherCAT kosteneffizient und einfach zu implementieren. Bisher fehlten oftmals entsprechend hochintegrierte und optimierte Mikrocontroller. Dies ändert sich nun mit den 32-bit-Mikrocontroller-Serien XMC4300 und XMC4800. Sie bieten neben einem Cortex-M4-Prozessor von ARM erstmals einen integrierten EtherCAT Slave Controller sowie Flash-Speicher und Analog/Mixed-Signal-IP auf einem Chip.

Gegenüber herkömmlichen Lösungen mit Mikrocontrollern, FPGAs oder ASICs gestaltet sich die EtherCAT-Implementierung mit dem XMC4300 bzw. XCM4800 einfacher und platz- bzw. kostensparender. Für die Inbetriebnahme des EtherCAT Slave Controller werden keine zusätzlichen Bauteile wie externe Speicher und Quarztaktgeber benötigt. Dank der hohen Integration mit umfangreichem Flash-Speicher und Analog/Mixed-Signal-IP sparen Systemlösungen mit XMC4800 und XMC4300 gegenüber anderen Mikrocontroller-Lösungen externe Bauelemente und damit Leiterplattenfläche bzw. Kosten (Bild 1). ASIC- oder FPGA-Lösungen sind hinsichtlich Integration und Performance limitiert, während diskrete EtherCAT Slave Controller eine externe CPU erfordern, mit entsprechenden Einschränkungen.

Bei XMC4300 und XMC4800 versorgt eine integrierte PLL die EtherCAT-Logik mit dem nötigen 25-MHz-Takt. Code wird vom ARM-Cortex-M4-Prozessor mit 144 MHz direkt aus dem integrierten RAM- bzw. Flash-Speicher ausgeführt.
Bei externem Speicher fällt noch etwas ins Gewicht: die erschwerte Produktpflege über den gesamten Lebenszyklus hinweg. Speicherhersteller optimieren ihre Technologie im Hinblick auf die PC- und Mobile-Computing-Industrie. Die Folge sind Bausteinabkündigungen oft schon nach wenigen Jahren. Das passt nicht in den Lebenszyklus von Industrieanlagen, in der Maschinenlaufzeiten von 15 Jahren und mehr die Regel sind. Dem entgegnen XMC4300 und XMC4800, wie übrigens alle Mikrocontroller der XMC4000-Familie, mit einer garantierten Langzeitverfügbarkeit bis mindestens 2031.

Als Alternative für die Implementierung von EtherCAT-Slave-Knoten werden auch Standalone EtherCAT Switches angeboten. Auch im Vergleich zu diesen Lösungen bietet eine Implementierung mit den Mikrocontrollern XMC4300 und XMC4800 Vorteile, denn bei den Stand¬alone Switches ist keine CPU integriert (Bild 2). Daher werden ein externer Mikrocontroller, externer Speicher und ein Taktgeber benötigt, um einen EtherCAT Slave zu realisieren.

Auch der Datendurchsatz spricht für eine Lösung auf Basis der XMC-Mikrocontroller. Bei diesen erfolgt der Datentransfer zwischen der EtherCAT-Logik und der CPU über den internen 32-bit-Bus mit maximal 144 MHz. Dagegen läuft der Datenaustausch bei diskreten EtherCAT Switches mit der externen CPU über serielle Schnittstellen und damit üblicherweise mit 8 oder 16 bit Busbreite. Außerdem können ein eventuell gemultiplexter Daten-/Adress-Transfer und Setup-/Hold-Zeiten zu weiteren Verzögerungen führen.