Framegrabber für leistungsfähige Bildverarbeitungs-Systemlösungen

  • Abb. 1: Das Hardware-Design des p3i_SEC Grabbers mit 16 Kanälen basiert auf FPGAs.Abb. 1: Das Hardware-Design des p3i_SEC Grabbers mit 16 Kanälen basiert auf FPGAs.
  • Abb. 1: Das Hardware-Design des p3i_SEC Grabbers mit 16 Kanälen basiert auf FPGAs.
  • Abb. 2: Vereinfachtes Blockschaltbild des p3i_SEC Framegrabbers: Alle 16 parallelen Eingänge enthalten einen separaten AD-Wandler. Bilder können so in Echtzeit erfasst und im PCHauptspeicher abgelegt werden. Mehrere DMAKanäle werden hier mit einem FPGA gesteuert.
  • Abb. 3: Auch der PC_Eye/Async Framegrabber nutzt FPGAs für die gleichzeitige Erfassung von vier monochromen Analog-Kameras und bietet hohe I/O-Performance mit dem schnellen PCI Express Bus.

Das heute verfügbare Spektrum bei Bildverarbeitungslösungen reicht vom kostengünstigen PC mit einfachem Framegrabber oder USB-Kamera bis hin zum kompletten High-End-System mit einem Bilddurchsatz von mehreren hundert Megapixel pro Sekunde. Neue Produkte sind dabei durch folgende Trends gekennzeichnet: FPGAs (Field Programmable Gate Arrays) ersetzen zunehmend ASICs, Linux hält auch bei Bildverarbeitungsaufgaben verstärkt Einzug und schnellere Bussysteme wie PCI Express ermöglichen einen höheren Datendurchsatz.

Framegrabber sind die Kernelemente vieler Bildverarbeitungsanwendungen, um die Bilddaten in einer rechnerkonformen Struktur zur Verfügung zu stellen. Diese Bilddaten werden von unterschiedlichsten Kameratypen geliefert. Die Ausgabeeinheit der Kamera bestimmt somit den Eingabekanal des Framegrabbers. Entsprechend den vielfältigen Kameratypen - hier gibt es Farb-, s/w-, Flächen und Zeilenkameras, genormte oder herstellerspezifische Kameraausgänge - ist auch ein entsprechendes Sortiment an unterschiedlichsten Framegrabbern erforderlich. Dem flexiblen Einsatz trägt das Design mit FPGAs Rechnung. Mit einem Basis-Design können hier mehrere Framegrabber abgedeckt werden und ein wieder programmierbares FPGA ermöglicht einfache Upgrades im Feld. Außerdem eröffnet der FPGA-Ansatz die schnelle und einfache Bereitstellung kundenspezifischer Lösungen. Neben den bekannten Windows- und Echtzeit- Betriebssystemen (VxWorks/OS-9) ist heute auch Treiberunterstützung für Linux gewünscht.

Warum FPGAs?

Gegenüber den bisher eingesetzten ASICLösungen bieten FPGAs einen ganz wesentlichen Vorteil – sie können wieder programmiert werden. Damit eröffnen sich sehr flexible Design-Lösungen, die auch bei mittleren Stückzahlen sehr ökonomisch sind. In den letzten Jahren haben FPGAs außerdem eine rasante Entwicklung erfahren und bieten nunmehr ausreichend große Logik- Ressourcen und hohe Geschwindigkeiten, die sie auch für Anwendungen in der Bildverarbeitung interessant machen. Darüber hinaus verfügen moderne FPGAs auch bereits über vordefinierte Schaltungen wie RAM, Bus-Interfaces oder DSP-Funktionen, die das Design vereinfachen.

Ein wesentlicher Vorteil des FPGA-Einsatzes in der Bildverarbeitung bzw. auf Framegrabbern ist auch die hohe Geschwindigkeit. Die Verarbeitung erfolgt direkt in Hardware und ist somit nicht durch komplexe Software oder Betriebssystemfunktionen beeinflusst. In der Regel wird Hardware dafür genutzt, komplette Bilder mit jedem Pixel zu bearbeiten (ikonische Verarbeitungsstufe), es werden also einfache Algorithmen mit hoher Geschwindigkeit implementiert; die Software übernimmt dann die Entscheidungen, die aber nur auf ausgewählte Bildteile angewandt werden müssen. Einige Funktionen, die sich gut in FPGAs implementieren lassen: Der Anschluss von Standard-RAM-Modulen (SO-DIMM-Riegel) als FIFOs mit einigen zig MB Kapazität. Interne DDR-RAM-Controller erlauben wiederum den Einsatz von Standard-RAMs als Bildreferenzspeicher für schnelle Online- Berechnungen mit mehreren Referenzbildern.

Die in den FPGAs enthaltenen DMA-Controller werden von im Hauptspeicher liegenden Skripten gesteuert, die sich der Controller wiederum selbst per DMA holt. Diese Technik, die vollständig vom Treiber aufgesetzt wird, erlaubt es, große Bilder ohne jeden Software-Eingriff selbst dann im Hauptspeicher abzulegen, wenn die virtuelle Speicherverwaltung aktiv ist. Sonst gibt es diese Technik nur bei SCSI-Adaptern und Netzwerk-Controllern.

Framegrabber mit speziellen Sicherheits-Features

Auch bei Framegrabbern, die speziell für Sicherheits- und Überwachungsanwendungen konzipiert sind, kommen die Vorteile von FPGAs und Linux zum Tragen. Die entsprechenden Anwendungen sind dadurch gekennzeichnet, dass viele Standard-Video-Kameras eingesetzt werden, die schnell umgeschaltet werden müssen. Nur die schnelle Umschaltung garantiert eine möglichst lückenlose Darstellung aller durch die Kameras überwachten Bereiche. Der 16-kanalige p3i_SEC Framegrabber erfasst z.B. die Daten von analogen Farbkameras über 16 parallele Eingänge, die alle einen separaten AD-Wandler jeweils mit Farbseparation beinhalten. Bilder können so in Echtzeit erfasst und im PC-Hauptspeicher abgelegt werden. Über eine 4-kanalige DMA lassen sich bis zu vier Bilder parallel verarbeiteten. Mehrere DMAKanäle werden hier mit einem FPGA gesteuert. Die Funktionalität des FPGAs beinhaltet: Eingangsmultiplexer, Skalierung, optionale JPEGKompression und den PCI-Transfer. Die leistungsfähige FPGA-Implementierung ermöglicht die gleichzeitige Erfassung mehrerer Kameras (2 x Farbe und 1 x s/w, optional 2 x JPEG), wobei die erreichbare Bandbreite allein durch den PCI –Bus beschränkt ist.

Durch den Einsatz der programmierbaren Logikbausteine für die Erfassungsund DMA-Steuerung sind flexible Spezifikationen möglich. So lassen sich von speziellen Bildformaten bis hin zur JPEG-Kompression in Echtzeit verschiedene Lösungen erstellen, die beim Start des Grabbers nachgeladen werden können. Die schnelle Kameraumschaltung wird durch Einsatz von 16 AD-Wandlern ermöglicht. So ist es auch möglich, Kameras im NTSC- und PAL-Format gemischt zu betreiben, und Wandler-Einstellungen wie Bildgröße, Helligkeit und Kontrast individuell einzustellen. Der im Quellcode erhältliche Linux-Treiber bildet die Flexibilität der Hardware ab.

PCI Express – schnelle Busse sind im Kommen

Der etablierte PCI-Bus mit einer maximalen Datentransferrate von 133 MB/s kommt mittlerweile bei den hohen Anfor-derungen an die schnellen I/O-Interfaces der Framegrabber-Boards der neuesten Generation langsam an seine Grenzen. Daher rundet Eltec mit der Einführung einer kompletten Familie auf Basis des PCI Express-Busses sein Portfolio im oberen Leistungsbereich ab. Dabei kommen die Vorteile der neuen Bus-Architektur voll zum Tragen: So ist die minimale Geschwindigkeit von PCI Express mit 250 MB pro Sekunde etwa doppelt so hoch wie bei PCI. Außerdem lässt sich PCI Express kosteneffektiver implementieren, bei reduzierten Kosten für die Steckverbinder. Beim seriellen Bus werden im Gegensatz zum parallelen PCI-Bus weniger Pins benötigt – und auch das Board-Design gestaltet sich einfacher als bei einem äquivalenten parallelen Bus.

In industriellen Bildverarbeitungs- Anwendungen, wo die Digitalisierung sofort nach dem externen Trigger-Signal beginnt, ist oft der Einsatz von Restart/Reset-Kameras erforderlich. Das Design des PC_Eye/Async Boards verfügt über ein flexibles Video-Eingangs-Modul, das die gleichzeitige Digitalisierung von bis zu vier Kamerasignalen (Quadro Mode) erlaubt. Im Quadro-Mode werden die Bilder als vier separate Monochrom- Bilder in einem 8-bit-per-Pixel-Format abgespeichert.

Das flexible Design des Boards basiert auf zwei programmierbaren FPGAs, wobei ein Chip das PCI Express-Interface enthält. Der zweite FPGA-Chip enthält die komplette Framegrabber-Schaltung mit FIFOs, Sequenzer und Sync-Generatoren. Diese leistungsfähigen Funktionsblöcke ermöglichen sowohl den Plug&Play-Betrieb als auch einfache Modifizierungen durch ein entsprechendes Firmware-Update. Auf Basis einer modernen Treiber-Struktur ist die Anpassung von neuen Kameras einfach,so dass immer die neuesten Versionen eingesetzt werden können.

Das Board ermöglicht die gleichzeitige Erfassung von vier nicht-synchronisierten monochromen Eingangssignalen mit 40 MHz und 8 Bit über vier unabhängige AD-Wandler. Die gleichzeitige Erfassung bzw. Speicherung in den Haupt- und Grafikspeicher wird durch Echtzeit-DMA unterstützt. Der leistungsfähige Framegrabber ermöglicht den Restart/Reset von Kameras über vier separate Restart-Eingänge, um eine prozessgenaue Bildsynchronisation zu erreichen. Vier 12-polige Eingangs-Steckverbinder sorgen für einen einfachen und sicheren Anschluss der monochromen Kameras. Der Framegrabber unterstützt das PCI Express (x1 - 1 Lane)-Interface mit mehr als der doppelten Datenrate enes 32-bit- PCI-Interfaces. Software-Unterstützung für das neue Board steht unter Windows2000/XP und Linux zur Verfügung. Für die Echtzeitbetriebssysteme VxWorks und OS-9 werden auch reduzierte Versionen angeboten, wo die Parameter nur in den Konfigurations-Files gesetzt und keine Display-Routinen unterstützt werden.

Dr. Reinhard Borst, Leiter Entwicklung Eltec Elektronik AG Tel. 06131/918-0 rborst@eltec.de www.eltec.de

Jetzt registrieren!

Die neusten Informationen direkt per Newsletter.

To prevent automated spam submissions leave this field empty.