FPGAs als Vision-Prozessoren Framegrabber per Datenflußmodell minutenschnell modifizieren

Autor / Redakteur: Klaus-Henning Noffz* / Gerd Kucera

Das grafische Werkzeug VisualApplets bietet freien Programmierzugriff auf die Bildverarbeitungshardware. Über eine einfache Grafikoberfläche lassen sich FPGA-Prozessoren ohne spezielle Hardware-Kenntnisse reprogrammieren.

Firmen zum Thema

( Archiv: Vogel Business Media )

Das grafische Werkzeug VisualApplets erfüllt den Wunsch vieler Applikationsingenieure, freien Programmierzugriff auf die Bildverarbeitungshardware zu haben. Damit können sie bei veränderten Aufgaben und Anforderungen ihren Framegrabber schnell modifizieren und dabei das Design-Knowhow schützen. Um FPGA-Prozessoren ohne spezielle Hardware-Kenntnisse zu reprogrammieren, bedient sich VisualApplets einer einfachen Grafikoberfläche.Steigende Bildauflösung, höhere Bildfrequenzen aktueller Bildsensoren und der Einsatz höherwertiger und komplexerer Algorithmen haben den Bedarf an Rechenleistung in der industriellen Bildbearbeitung drastisch erhöht. Moderne Rechner haben, trotz neuer Prozessorentechnik, Probleme, diesen Anforderungen gerecht zu werden. Die Tendenz, rechenintensive Vorverarbeitungsschritte von der Host-CPU auf einen Framegrabber auszulagern, zeigt die wachsende Palette neuer Produkte mit entsprechenden Vision-Prozessoren.

Kern solcher Produkte ist ein Hardwarebeschleuniger. In den meisten Fällen werden FPGA-(Field Programmable Gate Arrays)Prozessoren verwendet, die durch ihre Reprogrammierbarkeit und hochparallele Verarbeitung für die industrielle Bildverarbeitung prädestiniert sind. Die fehlende breite Akzeptanz dieser Technik ist vor allem auf die komplizierte Programmier- und Bedienbarkeit zurückzuführen, die einen Experten mit Hardware-Programmiererfahrung voraussetzt.

Bildergalerie

Eine interne Entwicklung ist nun für alle nutzbar

VisualApplets ist aus einer internen Entwicklung der Mannheimer SiliconSoftware hervorgegangen, die angestoßen wurde, um kundenspezifische Modifikationen auf Vision-Prozessoren schneller umsetzen zu können. Die Wünsche von Kunden, selbst Zugriff auf die Hardware zu erhalten, um so schneller auf Änderungen reagieren zu können und Entwicklungs-Knowhow besser zu schützen, waren Anlass, VisualApplets zu einem marktfähigen Produkt weiterzuentwickeln.

VisualApplets ist ein grafisches Werkzeug, mit dem FPGA-Prozessoren ohne spezielle Hardwarekenntnisse selbst programmierbar sind. Hierbei richtet sich die Software insbesondere an Applikationsingenieure. Der Fokus der Bedienung liegt auf der algorithmischen Umsetzung des Projektes. Über ein grafisches Datenflussmodell wird die Bildverarbeitungsaufgabe formuliert und intern in ein hardwarebezogenes Pipeline-Modell übersetzt. Hardwarespezifische Einstellungen und Konfigurationen sind nicht notwendig. Der Applikationsingenieur findet sich in der Sprache des Softwareentwicklers wieder.

Leistungsengpässe sind an jeder Stelle des Designs erkennbar

Eine Simulationsmöglichkeit wurde integriert, um ein Design an jeder Stelle überprüfen und visuell debuggen zu können. Hierzu gibt es für jede Hardwarefunktion ein entsprechendes Softwaresimulationsmodul, das die jeweilige Funktion auf Bitgenauigkeit abbildet.

Kontrollanzeigen helfen, die verfügbaren Ressourcen des Prozessors im Auge zu behalten. Eine Bandbreitenberechnung zeigt die Übertragungswerte für jeden Verbindungsknoten an und warnt vor Leistungsengpässen. Optimierungen des Designs werden über einen grafischen Regler automatisch für das Synthesewerkzeug vorgenommen.

Nach Abschluss der Synthetisierung liegt nach etwa fünf bis zehn Minuten ein lauffähiges Design in Form eines Hardware-Applets vor. Dieses lässt sich sofort laden und ausführen. Es wird zu VisualApplets ein Viewer- und Konfigurationsprogramm mitgeliefert, das sämtliche Parameter, die softwareseitig verändert werden können, auflistet. Mit der Erstellung des Hardware-Applets wird auch ein individuelles Beispiel generiert, das die Integration des Codes in die eigene Softwareumgebung erheblich vereinfacht.

Eine patentierte Methode mit über 10 Jahren Expertenwissen

Hardwareentwicklungen gelten als kompliziert und zeitaufwändig. Vor allem Seiteneffekte und das Zeitverhalten in parallel ablaufenden Verarbeitungen lassen sich nur durch aufwändige Verifikationen beseitigen. Programmierwerkzeuge zur Hardwareentwicklung sind kryptisch, inflexibel und erinnern eher an textbasierte Assembler-Compiler aus DOS-Zeiten.

Silicon Software begann schon vor zehn Jahren (!) mit der Entwicklung eigener Programmierungswerkzeuge. Eine Hardwarebeschreibungssprache auf Basis von C++ entstand, die sich für die Anforderungen in der industriellen Bildverarbeitung besser einsetzen lässt und eine höhere Flexibilität gestattet. Ergänzt wurde die Sprache mit neuen Methoden, Hardwareprogrammierungen zu modularisieren und eine Kontrolle über das Zeitverhalten zu erhalten. Diese Methoden sind zum Patent angemeldet.

VisualApplets wurde von Beginn an auf eine Hardwareunabhängigkeit konzipiert, die es ermöglicht, die Software auch auf weiteren Hardwareplattformen integrieren und laufen lassen zu können.

Es geht auch ohne Hardware-Programmierer

FPGAs sind als Vision-Prozessoren gut geeignet, um parallele Datenströme, so wie sie in der industriellen Bildverarbeitung ständig vorliegen, schnell zu berechnen. Eine üblicherweise komplizierte FPGA-Programmierung, die auch weitreichende Hardware-Kenntnis verlangt, vermeidet das Tool VisualApplets. Es ermöglicht die Nutzung dieser Technik selbst für kleinere Unternehmen, die keine eigenen Ressourcen zur Hardwareentwicklung besitzen.

Durch den Einsatz hardwarebasierter Bildverarbeitung eröffnet sich nicht nur ein Potenzial neuer Anwendungen, sondern auch die Möglichkeit rechenintensive Anwendungen nachträglich und skaliert entlasten zu können. In einem Initialprojekt wurde eine komplexe Anwendung, die eine verteilte Berechung auf zehn modernen PCs verlangte, erfolgreich auf eine einzige programmierbare Framegrabber-Karte ausgelagert. Ein großer Vorteil von VisualApplets ist die Integration in einen einfacheren Projekt-Workflow.

Eine Anwendung mit Hard- und Softwareanforderungen kann ein Applikationsingenieur bis zum Vorliegen des visuellen Ergebnisses konzipieren und entwickeln.

Silicon Software, Tel. +49(0)621 7895070

*Dr. Klaus-Henning Noffz ist Mitgeschäftsführer der SiliconSoftware GmbH, Mannheim.

(ID:195559)