Geregelte Verhältnisse


Determinismus bei hoher Prozessorauslastung

In der Vergangenheit verfügten Embedded-Systeme über eine einzige zentrale CPU, sodass sich Systementwickler hauptsächlich auf Verbesserungen bei der CPU-Taktfrequenz und den Wechsel hin zu Multicore-Verarbeitung konzentrierten, um den für die Erfüllung der Automatisierungsaufgabe nötigen Verarbeitungsdurchsatz zu erreichen. Moderne Embedded-Prozessoren bieten jedoch eine wesentlich längere Befehlsbereitstellungsphase und Sprungvorhersagemechanismen, um die Rechenleistung weiter zu steigern. Somit dürften moderne Prozessoren hunderte Taktzyklen benötigen, um eine Unterbrechungsanfrage (Interrupt Request) zu bearbeiten, die einen deutlichen Eingriff in den Determinismus darstellt. Dies mag für viele Anwendungen akzeptabel sein, jedoch nicht für Low-Level-Steuerschleifen für die Motorsteuerung mit extrem hoher Geschwindigkeit und Genauigkeit. Hinzu kommt, dass Streaming-orientierte Verarbeitungsaufgaben wie die Bildverarbeitung einen hohen Gesamtdurchsatz erfordern, der noch immer eine Schwachstelle in vielen Embedded-Systemen ist. Eine Möglichkeit, Determinismus bei einer sehr hohen Prozessorauslastung zu erzielen und Flexibilität beim Daten-Streaming zu erreichen, ist, Rechenalgorithmen sowie datenintensive Firmware-Algorithmen durch benutzerdefinierte Hardware zu ersetzen und programmierbare Logik zu nutzen. In den letzten Jahren setzte die Branche bei einer großen Anwendungspalette auf FPGAs. Zulieferer im Bereich Automatisierung nutzen diese, da sie schnell Produkte an neue Standards und Verarbeitungsanforderungen anpassen können, um mit den Marktanforderungen Schritt zu halten. Außerdem kann damit ein Produkt sogar nach der Markteinführung um neue Funktionen erweitert werden. Um das Beste aus beiden Welten zu verbinden, migrieren Systementwickler heute auf Verarbeitungsarchitekturen (Bild 2) it mehreren verschiedenen Datenverarbeitungselementen, damit ein optimales Verhältnis von Durchsatz, Latenz, Flexibilität, Kosten und anderen Faktoren hergestellt werden kann. Heterogene Verarbeitungsarchitekturen bieten alle diese Vorzüge und ermöglichen die Implementierung von leistungsstarken Embedded-Systemen für die Integration von Bildverarbeitungs- und Motorsteuerungsfunktionalität. Zur Veranschaulichung einiger Vorteile der heterogenen Verarbeitungsarchitektur dient eine Architektur, die aus einer CPU, einem FPGA und I/O besteht. Im Gegensatz zu klassischen Prozessoren werden die Anwendung oder der Algorithmus bei FPGAs direkt in Hardware umgesetzt (durch Verschalten der Gatter des FPGAs), anstatt eine Applikation in Software ablaufen zu lassen. Dank dieses Low-Level-Zugriffs auf die Hardware können Motorsteuerungsalgorithmen benutzerdefiniert angepasst und Bildverarbeitung auf paralleler Hardware implementiert werden, wodurch die Geschwindigkeit erhöht und Jitter sowie Latenz verringert werden.

CPU und FPGA direkt programmieren

Standardplattformen für Embedded-Systeme, die auf heterogenen Architekturen basieren, stehen heute bereits zur Verfügung und machen die Entwicklung anwenderdefinierter Hardware überflüssig. Mit der Labview RIO Architecture gibt es bereits eine Standardplattform mit einer großen Bandbreite von Formfaktoren und Leistungsstufen: von Single-Board RIO als reine Platine bis hin zu CompactRIO im industrietauglichen Gehäuse und PXI. Dank einer umfangreichen Palette von I/O-Modulen, die analoge und digitale Messungen sowie die Anbindung an industrielle Bussysteme ermöglichen, können Prototypen für Anwendungen mit visuellen Servosteuerungen erstellt und eingesetzt werden. Eine Schlüsselkomponente dieser Architektur ist die grafische Entwicklungsumgebung Labview. Mit dem konsistenten grafischen Programmieransatz lassen sich CPUs und FPGAs auf heterogener Hardware direkt programmieren. Darüber hinaus abstrahiert Labview System-Timing, I/O-Zugang und die Kommunikation zwischen Elementen mittels der zugrunde liegenden Architektur. Für Automatisierungsaufgaben wie Motorsteuerung und Bildverarbeitung stehen außerdem umfassende IP-Bibliotheken zur Verfügung. Mit dem SoftMotion Module können Anwender Motorsteuerungsprofile mithilfe einer High-Level-Motorsteuerungsschnittstelle programmieren und an handelsübliche Motorantriebe anbinden. Durch Auslagern des kritischen Motorsteuerungs-IP auf den FPGA und den Einsatz von speziellen Antriebs-, Antriebsschnittstellen- oder allgemeinen I/O-Modulen können Maschinenbauer ihren High-Level-Motorsteuerungscode beibehalten und das Lower-Level-IP (Bild 3) benutzerdefiniert anpassen oder eigene Algorithmen implementieren. Somit können Anwender bestehendes IP auf dem Echtzeitprozessor oder dem FPGA nutzen. Das Vision Development Module bietet zusammen mit zusätzlichem IP für die Bildverarbeitung auf FPGAs umfangreiche Bildverarbeitungsfunktionalität. Mit diesen Werkzeugen können Motorsteuerungs- und Bildverarbeitungsexperten schnell Anwendungen für die Maschinensteuerung entwerfen. Diese reichen von einfachen Anwendungen wie ‚Look & Move‘ bis hin zu modernen visuellen Servosteuerungen und lassen sich auf handelsüblicher Embedded-Hardware einsetzen.

Seiten: 1 2Auf einer Seite lesen

Das könnte Sie auch Interessieren