Chip-Bauform ein R-IN32M3-Controllers.

Chip-Bauform ein R-IN32M3-Controllers.Renesas

Netzwerke in der industriellen Automatisierung erfordern heute mehr und mehr Echtzeitverhalten (Real-Time) mit extrem kurzen Zykluszeiten in unterschiedlichen Netzwerkprotokollen. Diese Anforderungen gelten sowohl für die Systemkommunikation als auch für die Applikationsebene. Letztere nimmt die Daten aus der Kommunikationsebene entgegen, verarbeitet diese und stellt entsprechende Ergebnisse dem Automatisierungssystem zur Verfügung. Wichtige Kriterien dabei sind eine kurze Verzögerungszeit, ein geringer Jitter und insbesondere ein zeitsynchrones Verhalten in allen Netzwerkknoten des Systems.

Eckdaten

Netzwerk-Controller der R-IN32M3-Serie unterstützen verschiedene industrielle Ethernet-Protokolle in Hardware. Außerdem besitzen sie einen RTOS-Beschleuniger, der das Echtzeit-Betriebssystem auf dem eingebetteten Cortex-M3 unterstützt. In Kombination mit der CPU eines Netzwerkknotens erreichen sie eine fünf bis zehn Mal schnellere Reaktionszeit als ein Software-RTOS. Eine Softwarebibliothek vereinfacht das Programmieren des Controllers.

Die Realisierung eines entsprechenden Netzwerk-Protokoll-Controllers in Hardware erfüllt diese Echtzeitanforderungen quasi automatisch für die Netzwerkkommunikation. Aber wie kann der Baustein das Echtzeitverhalten auch auf der Applikationsseite unterstützen?

Funktionsblöcke eines R-IN32M3-Controllers.

Funktionsblöcke eines R-IN32M3-Controllers.Renesas

Für Echtzeit-Ethernet-Protokolle wie Ethercat, Profinet, Ethernet/IP, CC-Link IE und weitere erfüllen Multi-Protocol-Controller der R-IN32M3-Familie von Renesas diese Echtzeitanforderung auch innerhalb der Applikationen unterschiedlicher Netzwerkknoten. Neben einem Ethercat- oder CC-Link-IE-Field-Controller und einem kompletten ARM Cortex-M3-CPU-System sind weitere Hardwarebeschleuniger in dem Chip integriert. Damit können auf einem R-IN32M3-Controller gleichzeitig die Steuerung der Netzwerkkommunikation als auch komplexe Applikationen mit extrem kurzen Verzögerungszeiten und geringem Jitter bei gleichzeitig minimalem Stromverbrauch laufen.

Einsatzmöglichkeiten für den Netzwerkcontroller (grüne Punke).

Einsatzmöglichkeiten für den Netzwerkcontroller (grüne Punke).Renesas

Echtzeit-Anforderungen in Systemen

Elementar wichtig für Echtzeitsysteme ist eine geringe Verzögerungszeit (Delay) vor und zwischen den Tasks. Die Reaktionszeit sollte möglichst kurz sein und die Verarbeitung der Daten garantiert innerhalb einer spezifizierten Zeitspanne erfolgen und damit die Echtzeitanforderungen erfüllen. Je schneller Prozesse ablaufen und gesteuert werden müssen, umso kürzer muss die Verzögerung sein. Sie sollte außerdem konstant sein, also idealerweise keinen oder nur einen minimalen Jitter aufweisen. Mit einem geringen Jitter ist ein Netzwerkcontroller in der Lage, die an verschiedenen Stellen des Gesamtsystems vorhandenen Delays messtechnisch exakt zu erfassen und in den zeitlichen Ablauf mit einzubeziehen. Das ist die Basis für ein deterministisches System mit geringen Mess- und Regeltoleranzen und damit wichtig für beispielsweise extrem schnelle und berechenbare Abläufe innerhalb einer Maschine.

Ein weiterer wichtiger Aspekt ist die Gleichzeitigkeit von Ereignissen und Aktionen innerhalb eines verteilten Systems, dessen Komponenten durch die verschiedenen Netzwerkabschnitte mit unterschiedlichen Übertragungseigenschaften verbunden sind. Echtzeit-Ethernet-Protokolle für die Automatisierungstechnik garantieren nicht nur hohe Datenraten und kurze Übertragungszeiten, sie berücksichtigen auch die unterschiedlich großen Delays innerhalb des Netzwerkes und synchronisieren jeden Netzwerkknoten exakt auf eine einheitliche Zeitbasis. Für diese Synchronisierung ist ein zusätzliches Protokoll zuständig, beispielsweise das Precision Time Protocol (PTP, IEEE 1588), das die R-IN32M3-Controller ebenfalls unterstützen. Das PTP synchronisiert viele räumlich verteilte Echtzeituhren.

Unterschiede im Datenstrom bei hardware- und softwarebasierten RTOS.

Unterschiede im Datenstrom bei hardware- und softwarebasierten RTOS.Renesas

Mit den integrierten Protokollen Ethercat und CC-Link IE Field erfüllt die R-IN32M3-Familie bereits die Echtzeitanforderungen im Netzwerk: die Knoten in einem verteilten System kommunizieren extrem schnell und mit minimalen Zeitabweichungen. Für weitere unterstützte Protokolle, etwa Profinet und Ethernet/IP, nutzt der Chip zwar nur die integrierte Ethernet-Hardware nach IEEE-802.3-Standard, jedoch beschleunigen spezielle HW-Erweiterungen auch bei diesen Protokollen zeitkritische Funktionen bei der Bearbeitung von Ethernet-Frames. Dieser Ansatz minimiert softwareseitige Delays und verringert den Jitter.

Echtzeit in der Applikation

Die hohe Datenrate bei minimalem Delay und geringem Jitter ist jedoch nur eine Seite eines Echtzeit-Systems. Echtzeitverhalten muss in jedem einzelnen Netzwerkknoten eines verteilten Systems auf allen Ebenen, also auch in der Applikationsebene, entsprechend unterstützt werden. Wie stellen sich nun diese Anforderungen in der Applikationsebene dar?

Ein CPU-System steuert in Applikationen üblicherweise Sensoren und Aktoren mit entsprechenden Programmen und speziellen Algorithmen über parallele oder serielle Schnittstellen. In einem R-IN32M3-Controller enthalten ist bereits ein vollständiger ARM Cortex-M3-Prozessor mit ausreichend Speicher für Programme und Daten, DMA, Interrupt und zahlreichen Softwareschnittstellen. Mit diesem Subsystem lässt sich zum einen die Softwareseite des Netzwerkprotokolls abbilden, zum anderen können auf derselben CPU zeitgleich komplexe Applikationen laufen.

Überträgt man die oben beschriebenen Echtzeitanforderungen auf eine allgemeingültige Softwarestruktur mit unterschiedlichen Prozessen und Tasks, müssen die Programme zunächst einmal mit hoher Geschwindigkeit ablaufen. Viel wichtiger und entscheidend für die Isochronität ist jedoch, dass die Umschaltzeiten zwischen den einzelnen Tasks durch kurze Delays und geringen Jitter im Vorfeld kalkulierbar sind (deterministisches System), was eine Optimierung der Systemdurchlaufzeit ermöglicht.

Task-Scheduling bei hardwarebasierten RTOS.

Task-Scheduling bei hardwarebasierten RTOS.Renesas

HW-Beschleuniger für RTOS

Um diese Anforderungen softwareseitig mit einer CPU zu erfüllen, gibt es prinzipiell mehrere Ansätze. Erhöht man beispielsweise die Performance der CPU, dann steigt auch die Verlustleistung, was sich in kleinen passiv belüfteten Gehäusen zum Teil sehr kritisch auswirkt. Renesas hingegen verfolgt einen neuen Ansatz und kombiniert einen hardwarebasierten RTOS-Beschleuniger (HW-RTOS) als eigenständigen Funktionsblock mit dem Cortex-M3-Prozessor. Der HW-RTOS unterstützt den Cortex-M3 beim Task-Scheduling und weiteren typischen Real-Time-Funktionen und beschleunigt damit die Abläufe zum Teil signifikant.

Task-Scheduling bei softwarebasierten RTOS.

Task-Scheduling bei softwarebasierten RTOS.Renesas

Zu den Funktionen des HW-RTOS zählen neben dem reinen Task-Scheduling mit entsprechenden Priorisierungsmöglichkeiten auch die Task-Synchronisation über Event-Flags, Semaphore und Mailboxen sowie ein allgemeines Task- und Zeitmanagement. Darüber hinaus kann die Hardware bestimmte Funktionen auch direkt ohne Einbeziehung der Cortex-M3-CPU über Interrupts aktivieren. Insgesamt erreicht diese Implementation eine fünf- bis zehnmal schnellere Umschaltzeit verglichen zu reinen Softwarelösungen. Zusätzliche Vorteile der Renesas-Hardwarelösung sind deutlich geringere Verlustleistung bei gleichzeitig erhöhter Stabilität.

Funktionsweise des HW-Beschleunigers

Allgemein ist der HW-RTOS eine unabhängige Funktionseinheit, die wie andere Controller und interne Speicher an den internen CPU-Bus angekoppelt ist und von der CPU genutzt wird. Aufgrund dieser einfachen Ankopplung waren keinerlei Anpassungen an die Cortex-M3-CPU nötig. Lediglich ein Interrupt-Signal des HW-RTOS ist am Interrupt-Controller angebunden und ermöglicht damit ein direktes und unmittelbares Agieren mit der CPU.

Anbindung des integrierten Cortex-M3 an das HW-RTOS und die weitere Peripherie im R-IN32M3-Controller.

Anbindung des integrierten Cortex-M3 an das HW-RTOS und die weitere Peripherie im R-IN32M3-Controller.Renesas

Im HW-RTOS erzeugte Events, wie etwa ein Timer-Event zum Starten einer Task oder die Status-Änderung eines Semaphors, aktivieren über diesen priorisierten Interrupt direkt die entsprechenden Aktionen auf der CPU-Seite. Über den HW-RTOS-Treiber und dessen Statusregister ermittelt die CPU die Details des anliegenden Events und kann die nötigen Schritte unmittelbar ausführen, wie beispielsweise das Sichern der aktuellen Taskdaten sowie das Umschalten zur neuen Task. Die relativ langwierige Ermittlung der Interrupt-Quelle über einen Interrupt-Scheduler entfällt, da im HW-RTOS das Scheduling in Hardware bereits berechnet wurde und nur noch über entsprechende Register ausgelesen werden muss. Die so freigesetzten CPU-Reserven stehen der Applikation zur Verfügung oder reduzieren die Leistungsaufnahme des Systems.

Transparenz durch Software-Library

Die im Softwarepaket enthaltene µItron-Library ermöglicht eine vollständig transparente Nutzung des HW-RTOS. Der Softwareentwickler bemerkt bei Verwendung der Library den Einsatz des HW-RTOS praktisch nicht und muss sich bei der Programmierung seiner Applikation auch nicht um die Details kümmern. Damit sorgen die R-IN32M3-Bausteine von der Kommunikationsschicht bis hinein in die Applikation für eine hohe Echtzeit-Performance, obwohl der Netzwerkcontroller lediglich einen Cortex-M3-Kern integriert hat.