Industrielle Kommunikationssysteme Zertifizierte EtherCAT-Implementierung auf MCU

Industrielle Kommunikationssysteme basieren immer noch weitgehend auf Feldbussen wie Profibus, Modbus oder CAN. Allerdings erobern vor dem Hintergrund von Industrie 4.0 und IoT Industrial-Ethernet-Protokolle weiterhin Marktanteile und liegen mittlerweile bei fast 40 Prozent.

Die Digitalisierung hält Einzug in die Fertigung - Stichwort Industrie 4.0 - und fordert ihren Tribut in Form gewaltiger Datenmengen wie Mess- und Steuerdaten von Sensoren und Aktoren, Daten für die Eigen- und Ferndiagnose sowie Daten von Maschine zur Maschine. Spricht man mit Automatisierungstechnikern über Kommunikation auf der Maschinen- und Feldebene, führt an Protokollen wie EtherCAT kaum ein Weg vorbei. Denn klassische Feldbussysteme wie Profibus und CAN stoßen zunehmend an ihre technischen Grenzen - ihnen fehlt einfach die Bandbreite. Trotzdem verlief bisher die flächenbreite Durchdringung von Echtzeit-Ethernet-Systemen noch zögerlich. 

Die Gründe dafür sind vielfältig - da sind einerseits fehlender Zeitdeterminismus wie bei Ethernet/IP oder Standard Profinet RT und andererseits mangelnde Ausgereiftheit wie bei Profinet IRT.

Das von Beckhoff entwickelte EtherCAT zeichnet sich durch langfristige Stabilität und ausgezeichnete Performance aus, es kombiniert höchste Ansprüche an den isochronen Zeitdeterminismus mit hoher Bandbreite und Störfestigkeit.

Gefragt ist allerdings auch eine kosteneffiziente und einfache Implementierung. Hier erschließen Mikrocontroller wie die Serien XMC4300 und XMC4800 die Option für eine einfache und kostenoptimierte Implementierung ‑ ohne dedizierten EtherCAT-ASIC, externen Speicher und Oszillator. So ermöglichen XMC4300 und XMC4800 die Realisierung von EtherCAT zu sehr geringen Kosten bei hoher Produktqualität und Langzeitverfügbarkeit bis mindestens ins Jahr 2031. Darüber hinaus steht eine kostenlose Entwicklungsumgebung zur Verfügung, die auf EtherCAT-Anwendungen und die Bausteine zugeschnitten ist. 

Kommunikation im „Schnelldurchlauf“ 

EtherCAT ist ein Feldbussystem auf der Basis des Ethernet, das 2003 eingeführt und 2007 standardisiert wurde. Es ermöglicht 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 oder diskreter Switch sowie als 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. 

Kosteneffiziente Implementierung, 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. Zudem 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 Nanosekundenbereich. Die Herausforderung besteht darin, EtherCAT kosteneffizient und einfach zu implementieren. Bisher fehlten allerdings oftmals entsprechend hochintegrierte und optimierte Mikrocontroller.

Dies ändert sich mit den 32-bit-Mikrocontroller-Serien XMC4300 und XMC4800. Sie bieten neben einem Cortex-M4-Prozessor von ARM erstmals einen integriertem EtherCAT Slave Controller sowie Flash-Speicher und Analog/Mixed-Signal-IP auf einem Chip. 

Weniger Bauteile 

Gegenüber herkömmlichen Lösungen mit Mikrocontrollern, FPGAs oder ASICs gestaltet sich die EtherCAT-Implementierung mit dem XMC4300 oder XCM4800 einfacher und auch platz- und kostensparender. Für die Inbetriebnahme des EtherCAT Slave-Controllers werden keine zusätzlichen Bauteile wie externe Speicher und Quarztaktgeber benötigt. Dank der hohen Integration mit umfangreichem Flashspeicher und Analog/Mixed-Signal-IP sparen Systemlösungen mit XMC4300 und XMC4800 gegenüber anderen mikrocontrollerbasierten Lösungen externe Bauelemente und damit Leiterplattenfläche und 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. 

Beim XMC4300 und XMC4800 versorgt eine integrierte PLL die EtherCAT-IP mit dem 25-MHz-Takt. Code wird vom ARM Cortex-M4-Prozessor mit 144 MHz direkt aus dem integrierten RAM- beziehungsweise Flash- Speicher ausgeführt.

Bei externem Speicher fällt noch etwas besonders ins Gewicht: die erschwerte Produktpflege über den gesamten Lebenszyklus. Speicherhersteller optimieren ihre Technologie im Hinblick auf die PC- und Mobile-Computing-Industrie. Abkündigun-gen von Komponenten nach wenigen Jahren sind oft schon die Folge. Das passt nicht in den Lebenszyklus von Industrieanlagen, in dem Maschinenlaufzeiten von 15 Jahren und mehr die Regel sind. Dies wird mit den XMC4300 und XMC4800 vermieden, wie übrigens mit allen Mikrocontrollern der XMC4000-Familien mit einer garantierten Langzeitverfügbarkeit bis mindestens 2031. 

Vergleich mit Standalone-EtherCAT-Switches 

Als Alternative für die Implementierung von EthernCAT-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 Standalone-Switches ist keine CPU integriert (Bild 2). Daher werden ein externer Mikrocontroller sowie externer Speicher und ein Taktgeber benötigt, um einen EtherCAT-Slave zu realisieren. 

Auch der Datendurchsatz spricht für eine Systemlösung auf Basis der XMC-Mikrocontroller. Bei diesen erfolgt der Datentransfer zwischen der EtherCAT-Logik und 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 Bit oder 16 Bit Busbreite. Außerdem können ein eventuell gemultiplexter Daten-/Adress-Transfer und Setup-/Hold-Zeiten zu weiteren Verzögerungen führen. 

Integrierter Beckhoff-Controller 

Wichtig bei der Beurteilung einer EtherCAT-Lösung ist auch die zu Grunde liegende EtherCAT-IP. XMC4300 und 4800 nutzen den Beckhoff ET1100 mit allen integrierten System-Features. Dazu gehören acht FMMUs (Fieldbus Memory Management Units), acht SyncManager, 8 kB Daten-RAM und Distributed Clocks (64 Bit). Im Vergleich dazu basieren andere Lösungen beispielsweise auf dem ET1200, der nur eine Untermenge des ET1100 darstellt, mit drei FMMUs, vier SyncMangern und 4 kB Daten-RAM. Dies hat Auswirkungen auf die System-Ressourcen, wobei nicht alle der oben genannten EtherCAT-Protokolle (CoE, FoE, FSoe und EoE) parallel laufen können. 

Zusätzlich zum EtherCAT-Slave-Controller bieten XMC4300 und XMC4800 eine Vielzahl an Peripherie-Einheiten, wie die Blockdiagramme (Bild 3a und 3b) zeigen. Der XMC4800 verfügt über umfangreiche Systemressourcen, die neben der EtherCAT-Kommunikation auch die Implementierung der Ansteuerung für leistungsfähige Aktorik bzw. Sensorik ermöglichen. So lässt sich neben EtherCAT auch die Ansteuerung von zwei Motoren inklusive Positionserfassung (POSIF-Interface) implementieren.

Der XMC4300 macht keine Abstriche bezüglich EtherCAT, bedient jedoch einfachere Aktuatoren und Sensoren wie I/O-Module. Neben dem bereits erwähnten ARM-Cortex-M4-Prozessor, dem Flash-Speicher mit 256 kB und einem RAM-Speicher mit 128 kB konzentriert sich der XMC4300 vor allem auf Kommunikation, Aktorik und Sensorik. Er bietet zwei CAN-Knoten, wobei die Kommunikation weitestgehend ohne CPU-Interaktion erfolgt. Selbst ein Austausch zwischen unterschiedlichen CAN-Netzwerken mit unterschiedlichen Übertragungsraten geschieht über einen Gateway-Modus ohne den Eingriff des Rechenkerns.

Für eine Installation in gemischten Netzwerken mit CAN und EtherCAT liefert der XMC4300 eine elegante Lösung, in der ein Gateway von CAN auf EtherCAT über DMA-Transfers äußerst effizient realisiert werden kann.

Hinzu kommen die seriellen Schnittstellen UART, SPI, I2C und I2S, die durch die programmierbare Schnittstelle USIC realisiert werden. Zudem gibt es ein USB-Interface sowie ein SDIO/SD/MMC-Interface für den Anschluss an einen Massenspeicher. Eine TCP/IP-Ethernet-Schnittstelle bietet einen einfachen Weg zur (Fern)-Diagnose und Wartung. Der XMC4300 verfügt zudem über eine integrierte LED-Matrix-Ansteuerung mit 8 × 8 Segmenten für die Ansteuerung von LED-Arrays.

Neben den Kommunikationsschnittstellen ist auch die Integration der Analog- und Mixed-Signal-IP hervorzuheben. So verfügt der XMC4300 über zwei 12-bit-AD-Wandler auf der sensorischen Seite. Für die Aktorik integriert er eine Timer-Einheit zur Ansteuerung einer Vollbrücke, zwei Timer-Einheiten für Halbbrücken sowie zwei 12-bit-DA-Wandler. Damit können Motoren angesteuert werden, während parallel dazu die EtherCAT-Kommunikation läuft.

Der XMC4300 ist ideal für die Implementierung von I/O-Modulen. Wenn beispielsweise mehr Bandbreite für den Backbone erforderlich ist, als der CAN-Bus oder ein serielles Protokoll zur Verfügung stellen können, dann ist der XMC4300 die richtige Wahl (Bild 4). Den XMC4300 in einem LQFP100-Gehäuse gibt es in zwei Versionen, für die Temperaturbereiche -40 bis +85 °C und -40 bis +125 °C.

Ist mehr Performanz oder Konnektivität erforderlich, steht innerhalb der kompatiblen XMC4000-Familie die XMC4800-Serie mit bis zu 2 MB Flash und 352 kB RAM sowie erweiterter Peripherie und verschiedenen Gehäusen zur Verfügung. Wesentliche Unterschiede zur XMC4300-Serie sind neben der höheren Speicherkapazität sechs CAN-Knoten, ein externes Speicher-Schnittstelle (EBU), vier 12-bit-AD-Wandler, insgesamt sechs Timer (drei beim XMC4300), ein integriertes POSIF-Interface sowie vier Delta-Sigma-Demodulatoren. Derivate des XMC4800 sind in LQFP100-, LQFP144- und LQFP-196-Gehäusen lieferbar.

XMC4300 und XMC4800 sind pin- und codekompatibel. Insgesamt umfassen die XMC4300- und XMC4800-Serien 20 Produkte mit unterschiedlicher Peripherie, Gehäusen, Speicherkapazitäten und Temperaturbereichen. Damit steht ein umfassendes Portfolio für applikationsabhängige EtherCAT-Implementierungen zur Verfügung. 

EtherCAT-Entwicklung ganz entspannt mit Chips in Industriequalität 

Für die Inbetriebnahme eines EtherCAT-Knotens mit XMC4300/4800-Mikrocontrollern stehen ab sofort Entwicklungsboards und Software-Entwicklungswerkzeug bereit. 

Das XMC4300 Relax EtherCAT-Kit ist mit einem XMC4300-Mikrocontroller bestückt. Es stehen zusätzlich ein On-board-Debugger, ein EtherCAT-Knoten über einen Standard-RJ45-Steckverbinder (plus Pin-Header für optionale PHY-to-PHY-Verbindung), ein CAN-Knoten mit neunpoligem D-SUB-Stecker und eine USB-Schnittstelle zur Verfügung. Für XMC4800 gibt es das Entwicklungsboard XMC4800 Relax EtherCAT Kit (Bild 5).

Für die Software-Entwicklung bietet Infineon die Entwicklungsumgebung DAVE mit Bibliotheken für Low-Level-Treiber und Apps kostenlos an. DAVE verwendet dabei den SSC (Slave Stack Code) für EtherCAT von Beckhoff. Neben dieser kostenfreien Entwicklungsumgebung werden auch kommerzielle EtherCAT-Slave-Stacks von etablierten 3rd-Party-Herstellern angeboten

Beide Kits haben umfangreiche Conformance-Tests der EtherCAT Technology Group erfolgreich bestanden. EtherCAT-Lösungen auf XMC-Basis haben bewiesen, dass sie mit allen führenden Industriesteuerungen (EtherCAT-Mastern) problemlos zusammen arbeiten.

Der klassische Einsatzschwerpunkt von EtherCAT liegt in der Fabrikautomation und überall dort, wo harte Echtzeitanforderungen an einen Feldbus gestellt werden. Dazu gehören auch Konstruktionsmaschinen sowie Agrar- und Flurförderfahrzeuge.

Bisherige EtherCAT-Bausteine konnten jedoch oftmals die nötigen Qualitäts- und Zuverlässigkeitsanforderungen nicht erfüllen. Ähnlich wie im klassischen Automobilbau benötigt man Bausteine im erweiterten Temperaturbereich von bis zu 125 °C und einer AEC-Q100-Qualifikation als Beleg für die Zuverlässigkeit. Sowohl der XMC4300 als auch der XMC4800 erfüllen diese Anforderungen. (fr)