Industrielle Fertigungsanlagen müssen meist aus ganz anderen Gründen so energiesparend wie möglich arbeiten, auch dann, wenn für die Fertigungsbetriebe genügend Energie zur Verfügung steht und keine der Anlagen und Geräte ihren Strom aus begrenzten Batteriekapazitäten beziehen. Es hat viel mit den relativ hohen Temperaturbedingungen zu tun, die in industriellen Fertigungsumgebungen herrschen. Hohe Umgebungstemperaturen begrenzen unmittelbar den zulässigen Stromverbrauch eines Geräts, bis dieses seine maximal zulässige Gerätetemperatur erreicht.
Zur vereinfachten Berechnung des zulässigen Stromverbrauchs gilt
PVMAX = (TMAX – TUMGEBUNG) / RTH
Dabei ist PVMAX die maximal zulässige Verlustleistung, TUMGEBUNG die Umgebungstemperatur, TMAX die maximale Gerätetemperatur und RTH der thermische Widerstand des Gerätes oder Produkts
Eine häufige Ursache zur Verschärfung dieses Temperaturproblems bei SoC-Bausteinen sind kleine Produktgehäuse mit ausschließlich passiver Kühlung. Der Stromverbrauch steht dabei in direktem Zusammenhang mit der Performance des Bausteins, und harte Temperaturbedingungen können daher oft die zulässigen Anwendungen beeinflussen oder bestimmte Funktionen einschränken, die ein Baustein normalerweise ausführen kann.
Technologien zur Energieeinsparung sind daher extrem wichtig für SoC-Bausteine im industriellen Einsatz, nicht nur in Bezug auf den Umweltschutz oder wirtschaftliche Aspekte, sondern weil eine Senkung des Stromverbrauchs bei kleinen Industriegehäusen und unter extremen Temperaturbedingungen oft sogar die entscheidende Voraussetzung für die benötigte Performance und eine hohe Rechenleistung ist.
Low-Power-CPU-Designs
In der Halbleitertechnologie gibt es viele bekannte und standardisierte Ansätze zur Senkung des Energieverbrauchs. System-on-Chip-Designs (SoC) arbeiten unter dynamischen Bedingungen in unterschiedlichen softwarebezogenen Szenarien und Betriebsarten, sodass auch Stromspar-Techniken in unterschiedlichen Kombinationen bei CPU- oder SoC-Designs zum Einsatz kommen.
Clock-Gating ermöglicht eine Abschaltung des Taktes bestimmter Hardwarefunktionen. Dies lässt sich statisch, wenn die Funktion aktuell nicht benutzt wird, oder dynamisch, wenn Funktionen nicht die ganze Zeit benutzt werden, bewerkstelligen. In letzterem Fall erfolgt während des Systembetriebs immer wieder das Ein- und Ausschalten bestimmter Funktionen, wobei eine Taktabschaltung die beim Umschalten der internen Zustände anfallende dynamische Verlustleistung reduziert. Demgegenüber steht die Stromversorgung dieser Funktion jedoch nach wie vor an, was zu einem kleinen, manchmal aber nicht vernachlässigbaren statischen Leckstrom führt.
Mit der Einrichtung von Power-Off-Bereichen im Bauteil-Layout lassen sich bestimmte Hardwarefunktionen vollständig von der Versorgungsspannung trennen. Im Gegensatz zum Clock-Gating reduziert dies auch die statische durch den Leckstrom bedingte Verlustleistung.
Verringerte Taktfrequenz
Mit einer verringerten Taktfrequenz lassen sich Hardwarefunktionen generell auch bei einer geringeren Versorgungsspannung ausführen und dadurch den Stromverbrauch eines Bauteils senken. Diese Technik kennt man auch unter den Begriffen VFS (Voltage-Frequency Scaling) oder DFVS (Dynamic Voltage-Frequency Scaling).
Die Nutzung der neuesten Silizium-Technologie mit kleineren Geometrien verringert den Flächenbedarf auf dem Chip und erfordert unter bestimmten Umständen auch eine niedrigere Versorgungsspannung. Zusammen mit kleineren Transistorflächen senkt diese Maßnahme die Verlustleistung der Bauteile erheblich.
Betrachtet man diese Konzepte im Detail, so lassen sich die Energiespareffekte durch Reduzierung der aktiven Taktzyklen, Verringerung der Leckströme und Senkung der Versorgungsspannung erreichen.
Jeder aktive Taktzyklus benötigt einen Stromfluss bei der Zustandsänderung eines Logiksignals, eines Logikgatters (Transistoren) oder eines Logik-Flipflops (Speicher). Dies trifft selbst dann zu, wenn sich der interne Zustand eines Funktionsblocks nicht verändert. Der Clock-Tree als entscheidender Baustein der meisten Logikfunktionen läuft nach wie vor und erzeugt dadurch eine bestimmte Verlustleistung.
Senkung von Leckströmen und Versorgungsspannung
Leckstrom ist ein hauptsächlich von der benutzten Silizium-Technologie abhängiger Parameter. Er fließt selbst dann durch die Schaltung eines Logikblocks, wenn der Zustand dieses Blocks unveränderlich und der Takt abgeschaltet ist. Leider wird der Leckstrom mit kleiner werdenden Geometrien immer kritischer.
Eine verringerte Versorgungsspannung USUPPLY senkt basierend auf der einfachen Gleichung PV = USUPPLY x ITOTAL direkt die Verlustleistung PV. Diese Beziehung funktioniert jedoch nur bis zu einem gewissen Grad, denn schnelle Schaltvorgänge mit hohen Taktfrequenzen benötigen allgemein eine höhere Versorgungsspannung.
Alle diese Strategien haben eines gemeinsam: Sie sind implementierungs- und layoutspezifisch. Es handelt sich in gewisser Weise um passive Strategien zur Verringerung der Leistungsaufnahme, das heißt: kein Stromverbrauch, wenn keine Aktivität erforderlich ist.
Verbesserung der Betriebseffizienz
Moderne SoCs (System on Chip) nutzen alle oder wenigstens einen Teil der oben erwähnten Stromsparstrategien. Meist bezeichnet man die Konzepte der ersten Gruppe mit unterschiedlichen Namen wie „Sleep-”, „Deep Sleep-” oder „Standby-”Modus. Sie alle beruhen jedoch auf den gleichen Prinzipien.
Im Kontext der Aussage „Kein Stromverbrauch, wenn keine Aktivität erforderlich ist“ lässt sich eine andere Strategie, die gleichzeitig Energieeinsparungen sowie eine Steigerung der Rechenleistung ermöglicht, gegensätzlich beschreiben mit „Arbeite effizienter mit geringerem Stromverbrauch und in kürzerer Zeit“. Wie lässt sich dieser deutlich bessere Ansatz erreichen?
Betrachtet man ein normales SoC-Design, so berechnet die CPU alle Funktionen der Anwendung anhand eines Programms. Dazu lädt und interpretiert die CPU eine Befehlssequenz mit zugehörigen Daten, verarbeitet die Daten und schreibt die Rechenergebnisse zurück in den Systemspeicher. Normalerweise ist die CPU für viele Anwendungen schnell genug, jedoch ist die zugrundeliegende Berechnungsstruktur nicht direkt und enthält zahlreiche zeitgleiche Nebenaktivitäten der CPU. Genau dies zeigt sich auch am relativ hohen Stromverbrauch eines softwarebasierten Verarbeitungskonzepts, dessen Gesamtverlustleistung wesentlich höher ist als bei einer speziell für eine bestimmte Aufgabe entwickelten Hardwarelösung. Der Hardwarebetrieb nutzt parallele Strukturen, arbeitet direkt und unmittelbar und benötigt anders als bei Softwarekonzepten keine Befehlsfolgen.
Eck-Daten
Die meisten SoCs nutzen bereits Energiespareffekte wie Taktzyklen-Reduzierung, Verringerung von Leckströmen und Senkung der Versorgungsspannung. Mit hardwarebasierten Beschleunigern für Echtzeitbetriebssysteme und Ethernet-Kommunikarion im SoC erreicht die R-IN-Architektur von Renesas eine deutliche Leisungsverbesserung und Energieeffizienz.
Da eine Hardwareverarbeitung deutlich schneller als Software ist, bezeichnet man solche Hardwarefunktionen oft als Beschleuniger, die für die Berechnung des gleichen Ergebnisses nur einen Bruchteil der Taktzyklen benötigen, die bei einem Programm erforderlich sind. Während der eingesparten Taktzyklen kann die CPU in einen Sleep-Modus gehen und Strom sparen oder diese Zyklen aktiv für andere Applikationsaufgaben nutzen. Beschleuniger können daher bei mehr oder weniger unveränderter Leistungsaufnahme die SoC-Leistung deutlich steigern. Vor diesem Hintergrund sollten neben den in CPU-Architekturen üblichen Low-Power-Implementierungen wann immer möglich zusätzliche Hardware-Beschleuniger zum Einsatz kommen. Diese senken den Stromverbrauch von Bausteinen noch weiter und steigern gleichzeitig deren Gesamtleistung.
Viele Bausteinfunktionen nutzen bereits seit langem Beschleuniger, die man meist als Controller für bestimmte Schnittstellen bezeichnet. UART, SPI, CSI und viele andere Schnittstellen sind in Hardware mit eigenständiger Logik implementiert und führen schnittstellenspezifische Funktionen wesentlich effizienter aus als dies per Software möglich wäre. Solche Controller weisen also oft die gleichen Charakteristika wie Beschleuniger auf.
Um das Beschleunigerprinzip für energieeffiziente Halbleiter auf ein neues, höheres Niveau zu bringen, hat Renesas eine neue und grundlegende SoC-Architektur für industrielle Ethernet-Bausteine hoher Leistung und mit geringem Energiebedarf entwickelt. Diese R-IN-Engine-Architektur (Renesas Industrial Ethernet) enthält neben den gängigen Low-Power-Strategien zusätzlich eine Reihe spezialisierter Beschleuniger für die RTOS-Task-Verarbeitung sowie für industrielle Ethernet-Kommunikationsnetze.
Hardware-RTOS
Der HW-RTOS-Beschleuniger unterstützt hauptsächlich die Ausführung von Software mit einem automatisierten und prioritätsgesteuerten Task-Scheduling. Darüber hinaus ermöglicht diese Spezial-Hardware eine Task-Synchronisierung über Event-Flags, Semaphores und Mailboxes sowie über ein allgemeines Task- und Zeitmanagement. Außerdem lassen sich bestimmte RTOS-Funktionen direkt und ohne Beteiligung der R-IN-CPU über eine Reihe von Interrupt-Signalen ausführen.
Die eng mit der CPU verknüpfte HW-RTOS-Logik kann dabei sowohl die Software-Stacks als auch die eigentliche Anwendungssoftware extrem beschleunigen. Alle Rechenschritte laufen in der HW-RTOS-Hardware ohne die CPU deterministisch und in deutlich höherer Geschwindigkeit ab. Dabei entfallen die bei Softwarelösungen üblichen großen Delays und Jitter.
Aus Sicht der Software basiert der Einsatz des HW-RTOS-Beschleunigers auf einer uItron-Bibliothek. Dank einer dokumentierten API und zusätzlicher Beispiel-Software vereinfacht die R-IN32M3-Umgebung den Einstieg in neue Projekte. Der HW-RTOS ist für den Anwender vollständig transparent und benötigt keine detaillierten Kenntnisse der internen Steuerungsstruktur.
Prüfsumme
Parallel zum Empfangen oder Senden eines Frame-Bytes berechnet der Check-Sum-Beschleuniger automatisch die 4-Byte-Prüfsumme, die sich am Ende eines Ethernet-Frames befindet. Diese Berechnung führt ausschließlich der Beschleuniger ohne jegliche Beteiligung der R-IN-CPU durch. In Empfangsrichtung lässt sich die Richtigkeit des Frames mit einem einfachen Vergleich des berechneten FCS-Wertes (Frame Check Sequence) mit dem FCS-Feld im empfangenen Frame überprüfen. Demgegenüber erfordert eine typische Softwarelösung zur Berechnung des 32-Bit-FCS-Wertes in etwa 30 % der generell für die Ethernet-Kommunikation benötigten Gesamtleistung. Der Check-Sum-Beschleuniger ermöglicht daher ein riesiges Einsparpotenzial an CPU-Performance und Verlustleistung in Systemen mit einem großen Ethernet-Datenverkehr.
Header En-Dec
Der Frame-Datenpuffer für den Sende- oder Empfangsbetrieb ist normalerweise in Bytes organisiert. Ein Lesezugriff auf eine bestimmte Information im Frame-Header erfordert die Erfassung aller erforderlichen Bytes im Frame-Puffer und deren Anordnung in der richtigen Reihenfolge. Für die Senderichtung muss die Anordnung in umgekehrter Richtung in ein komprimiertes Frame-Format erfolgen. Diese Vorverarbeitung der Daten erfordert etwa 15 % der gesamten CPU-Leistung für einen rein Software-basierten TCP/IP-Stack.
Der Header-En-Dec-Beschleuniger übernimmt die Aufgabe, die Daten automatisch zwischen dem komprimierten Frame-Format und dem besser für die CPU geeigneten, angepassten 32-Bit-Format neu anzuordnen. Dank dieses Beschleunigers erhält die CPU einen direkten und damit schnellen Lese- und Schreibzugriff auf alle Header-Daten des Frames.
Puffer-Management
Dieser Beschleuniger steuert automatisch in Hardware die Pufferzuweisungs- und Freigabefunktionen für die Ethernet Frame-Verarbeitung.
Alle diese Beschleuniger unterstützen das beschriebene Low-Power-Konzept. Andererseits verbessern sie auch das gesamte System-Timing dank ihrer hohen, deterministischen und Jitter-armen Verarbeitungsgeschwindigkeit. Für Hochgeschwindigkeits-Echtzeitnetzwerke sind dieses extrem wichtige Eigenschaften für eine bessere Qualität in einer isochronen Netzwerk-Umgebung. Weitere Produkte auf Basis der R-IN Engine sind bereits in Entwicklung und werden bald verfügbar sein.
Die R-IN32M3-Familie im Überblick
Renesas hat die R-IN32M3-Bausteinfamilie für industrielle Ethernet-Anwendungen in der Industrieautomatisierung entwickelt. Dank des HW-RTOS und anderer Beschleuniger für die Verarbeitung von Ethernet-Frames nutzt R-IN32M3 als erste Bausteinfamilie diese außergewöhnliche Technologie zur Beschleunigung von Embedded-Real-Time-Software mit Ethernet-gestützter Kommunikation:
- Auf einem 100-MHz-ARM-Cortex-M3 basierende Single-Chip-Lösung mit zahlreichen Schnittstellen für Kommunikations- und Anwendungsaufgaben
- Unterstützung für eine breite Palette von industriellen Kommunikationsprotokollen wie Ether-CAT, Ether-Net/IP, Profinet, CC-Link IE und anderen.
- Echtzeit-Fähigkeit auf allen Ebenen dank spezieller Beschleuniger für RTOS, Ethernet-Frames und Kommunikation
- Einfacher und transparenter Einsatz des HW-RTOS-Beschleunigers dank UItron-Bibliothek
- Dokumentation und eine breite Palette an Software-Paketen einschließlich verschiedener Beispielprogramme, Evaluations-Stacks, Schnittstellentreiber und Middleware im Netz zum direkten Download berfügbar
- Low-Power-Design mit verbesserter CPU-Leistung
(pet)