Anzeige

Deutliche CPU-Entlastung

FPGA basierte Smart-Kameras als IPC-Ersatz

Bildverarbeitungsvorgänge in Vision-Applikationen beanspruchen oft immense Ressourcen der CPU. Eine Steigerung der Performance ist deshalb bei beengten Platzverhältnissen oft eine große Herausforderung. FPGAs können diesem Problem mit deutlicher Effizienzsteigerungen begegnen. Welche Bildverarbeitungsvorgänge sind für FPGAs aber prädestiniert, wie genau unterscheidet sich die Performance zwischen CPU und FPGA im laufenden Betrieb und wie sollte eine Build-in-Lösung zur FPGA Bildvorverarbeitung aufgebaut sein?
Auch wenn sich konventionelle Machine-Vision-Lösungen bislang auf hoch performante CPUs verlassen haben, um die erforderliche Geschwindigkeit und Qualität der Bildverarbeitungsapplikationen zu erreichen, tendieren die leistungsfähigen Prozessoren dazu, sowohl teurer zu sein als auch größere und komplexere Systeme zu erfordern. Für IPC-basierte Lösungen werden deshalb oft Stand-Alone Industrie-PCs verwendet und die externen Kameras über externe oder eingebettete Framegrabber angebunden. Eine Alternative hierzu sind Smart-Kameras. Hier sind alle Vision-Komponenten in einer einzigen Small Form Factor Unit integriert. Ein Nachteil ist jedoch, dass konventionelle Smart-Kameras oft einen Low-Power Single-Core Atom Prozessor nutzen, um die erzeugte Wärme zu reduzieren und den Bedarf nach einer aktiven Lüftung zu beseitigen. Grafikaufwendigere Applikationen, die große Datenmengen verarbeiten, bauen aber auf einer starken CPU-Leistung auf. Inhärente Konflikte können jedoch die Folge sein. Diese tauchen immer dann auf, wenn die Anforderung nach hoher Leistung zugleich auf die Anforderung nach geringer Größe und/oder geringen Kosten stößt, denn eine intensive Datenverarbeitung erfordert auch immer eine teurere CPU, die zudem auch noch mehr Wärme erzeugt und somit auch ein größeres und auch leistungsfähigeres System zur Wärmeabführung benötigt. Deshalb war es schon immer eine der größten Herausforderungen, Systeme zu entwickeln, die die konträren Anforderungen einer kleineren Größe bei großer Leistung optimal ausbalancieren. Durch den Einsatz von FPGAs kann man diese Herausforderungen bewältigen.

Vorteile von FPGA

FPGAs sind umprogrammierbare Schaltungen, die eine parallele Computing-Architektur verwenden, die aus mehreren konfigurierbaren Logikblöcken (CLBs), festen Funktionslogikblöcken und einem integrierten RAM bestehen. Bei FPGAs werden die Rechenaufgaben mithilfe einer Konfigurationsdatei entwickelt, die vorgibt, wie die Komponenten miteinander verbunden sind. Über vorgefertigte Logikblöcke und programmierbare Routing-Ressourcen können die FPGAs konfiguriert werden. So lassen sich benutzerdefinierte Hardware-Funktionen implementieren; zeitaufwendige und komplizierte PCB Herstellungsprozesse für kundenspezifische ASIC-Design sind nicht erforderlich. Da FPGAs sich vollständig rekonfigurieren lassen, können sie jedes Mal, wenn ihre Datei neu kompiliert wird, um eine neue Schaltungskonfiguration vorzuschreiben, eine andere funktionelle Identität übernehmen. FPGAs verbinden zudem das Beste aus zwei Welten: Sie liefern eine Hardware-basierte Geschwindigkeit und Zuverlässigkeit und behalten dennoch zugleich auch eine hohe flexibel programmierbare Anwendungsflexibilität bei. Dadurch kombinieren sie das Beste von ASICs und Prozessor-basierten Systemen und sind deshalb in vielen Industriebereichen sehr beliebt. Bei der Halbleiterverarbeitung werden FPGAs oft für das Produkt-Prototyping eingesetzt, um Ideen und Funktionen zu testen und zu überprüfen – und das ohne die Kosten und Schwierigkeiten eines kompletten Chipherstellungsprozesses. Der vollständig parallele Aufbau von FPGAs erlaubt es, jede unabhängige Verarbeitungsaufgabe einem speziellen Bereich des Chips zuzuordnen. Das geschieht mittels Verarbeitungsoperationen in einem Bereich, der von anderen Logikblöcken isoliert wird, so dass die Leistung dieses Bereiches nicht beeinflusst wird, wenn weitere Verarbeitungsaufgaben hinzugefügt werden. Folglich können FPGAs mehrere Aufgaben gleichzeitig verwalten und das bei maximalen Verarbeitungsgeschwindigkeiten, was FPGAs für die Implementierung einer datenintensiven Verarbeitung von parallelen Algorithmen prädestiniert. Weitere Vorteile von FPGA sind…

  • • Gesteigerte Leistung: Die Parallelität von Hardware ermöglicht es FPGAs, die CPUs hinsichtlich der Verarbeitung bestimmter Algorithmen (besonders diejenigen mit paralleler Beschaffenheit) mit mehr als tausendfacher Geschwindigkeit zu übertreffen. Im Gegensatz zu FPGAs berechnen CPUs der Reihe nach, teilen Algorithmen in sequentielle Operationen auf und begrenzen die Ausführung auf jeweils einen Vorgang.
  • • Schnellere Time-to-Market: Die Umprogrammierbarkeit von FPGAs erlaubt es, Ideen und Funktionen auf der Hardware zu testen und zu überprüfen – und dies ohne die Zeit, Kosten und Schwierigkeiten, die bei einem kompletten Chipherstellungsprozess zustande kämen. Änderungen können innerhalb von Stunden anstatt Wochen umgesetzt (oder auch verworfen) und getestet werden.
  • • Kostensenkung: Im Vergleich zu den einmaligen Engineering Kosten für benutzerdefinierte ASICs sind FPGAs sehr kosteneffizient und das nicht nur für das Produkt-Prototyping, sondern auch für System-Upgrades und Erweiterungen. Inkrementelle Änderungen an FPGA-Designs zur Erweiterung und/oder Verbesserung der Funktionalität können einfach und günstig umgesetzt werden, ohne das Hardwaredesign ändern zu müssen. Da FPGAs außerdem auch im laufenden Betrieb beim Kunden im Feld aufrüstbar sind, bieten sie in der Regel auch eine längere Lebensdauer mit verringerten langfristigen Systemwartungs- bzw. Systemaustauschkosten.

Einen FPGA-Chip als Co-Prozessor zu nutzen, um ausgewählte Bildverarbeitungsalgorithmen (z.B. Tabellenlesen) zu implementieren, kann zur Entlastung der CPU beitragen und so Ressourcen freistellen, mit denen man andere Operationen durchführen kann. Bilddaten können zudem zwischen FPGA und CPU gestreamt werden, um gemeinsam Aufgaben abzuarbeiten und so die Gesamtleistung des Vision Systems beträchtlich zu steigern.

Leistungsvergleich CPU – FPGA

Wie Tabelle 2 zeigt, dauert eine CPU-basierte Operation 4,5ms und verwendet vier Prozent der Verarbeitungsressourcen für ein häufig verwendetes Dienstprogramm zur Bildverarbeitung, um einen LUT Algorithmus auf ein 2MP Bild anzuwenden. Ein FPGA hingegen führt diese Aufgabe in 0,025ms aus, ohne jegliche CPU-Ressourcen zu verbrauchen, d.h. eine 100.000-fache Erhöhung der Geschwindigkeit. Wenn zudem Funktionen zur Shading-Korrektur durchgeführt werden, braucht die CPU mit Bildverarbeitungssoftware 1,3ms und zwei Prozent der CPU Ressourcen, um die Verarbeitungsaufgabe abzuschließen, während der FPGA nur 25ns braucht und keine CPU-Leistung in Anspruch nimmt. Trotz der offensichtlichen Vorteile hinsichtlich Kosten, Flexibilität und Leistung sind FPGAs in Vision Systemen bisher nicht so weit verbreitet. Ein Hauptgrund sind Schwierigkeiten bei der Programmierung. Wenige Programmierer sind mit den sehr hardwarenahen Sprachen, wie VHDL oder Verilog, vertraut, die für FPGAs verwendet werden und dadurch entsteht ein Hindernis für eine breite Entwicklung und Nutzung. Mit dem Aufkommen neuer Interface-Produkte und Design-Tools gewinnen FPGAs jedoch neue Marktimpulse.

Anzeige

Empfehlungen der Redaktion

Das könnte Sie auch interessieren

Die Basler AG übernimmt mit sofortiger Wirkung 100% der Anteile der Silicon Software GmbH. Die beiden Geschäftsführer Dr. Klaus-Henning Noffz (l.) und Dr. Ralf Lay (r.) werden zukünftig für die Silicon Software GmbH und die Basler AG tätig sein.

www.baslerweb.com

Anzeige

(Bild: Carl Zeiss AG)

Vom 14. bis 15. November findet in Oberkochen die Zeiss Xray Insights 2018 statt. Dabei geht es um die neuesten Entwicklungen aus den Bereichen CT und Röntgentechnologie zur Qualitätssicherung und Prozesskontrolle.

www.zeiss.de

Anzeige

Der Hersteller von 3D-Mess- und Bildverarbeitungslösungen Faro hat die Übernahme von Opto-Tech s.r.l. und seiner Tochtergesellschaft Open Technologies bekannt gegeben.

www.faro.com

Anzeige

Excelitas Technologies hat den Erwerb von Research Electro Optics aus Boulder, USA, abgeschlossen. Das Unternehmen ist auf die Serienfertigung von hochpräzisen Optikkomponenten und -baugruppen, optischer Dünnfilmbeschichtungen und HeNe-Hochleistungslasern spezialisiert.

www.excelitas.com

(Bild: InfraTec GmbH)

Infratec beteiligt sich mit sieben weiteren europäischen Partnern im Rahmen des EU-Forschungsprojektes Spirit an der Weiterentwicklung von Inspektionsrobotertechnologien der nächsten Generation. In dem auf drei Jahre angesetzten Projekt im Rahmen des EU-Programmes Horizont 2020 soll eine Systemlösung entstehen, die mit unterschiedlichster Prüftechnik ausgestattet werden kann. Infratec stellt dazu sein Technik-Know-how rund um die Thermografieprüfung zur Verfügung.

www.infratec.de

Bild: Vision Engineering Ltd.

Vision Engineering feiert diesen Monat sein 60-jähriges Firmenjubiläum. Der Hersteller von Systemen für die Fertigungskontrolle und berührungslose Messsysteme wurde 1958 von Rob Freeman in Großbritannien gegründet, der aufgrund seiner Erfahrungen als Werkzeugmacher im Jaguar-Rennstall das erste Endoskop für die Inspektion von Motorinnenteilen des Unternehmens entwickelte. Vision Engineering beschäftigt heute mehr als 220 Mitarbeiter.

www.visioneng.us

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige