Field Programmable Gate Arrays (FPGA) sind aus vielen Produkten der Bildverarbeitung, insbesondere aus Kameras, kaum noch wegzudenken. In der Regel übernehmen sie nur die Funktion des Interfacing, zum Beispiel zur Ansteuerung des CCD-Bildsensors. Nach und nach statten die Kamerahersteller nun ihre Geräte mit zusätzlichen Funktionen wie Rauschfilterung, Bayer-Farbumrechnung, Weißabgleich oder auch Gammakorrektur aus. Dabei handelt es sich um Funktionen, die meist ebenfalls in einem FPGA als feste, für den Anwender bestenfalls in den Parametern veränderbare Funktionsblöcke integriert sind. Der japanische Hersteller Sensor Technologies, kurz Sentech, geht einen Schritt weiter und bietet als erster Hersteller weltweit eine Serie von GigE-Kameras mit einem zweiten, für den Anwender völlig frei zugänglichen FPGA-Baustein an, der mit beliebigen, kunden- und anwendungsspezifischen Funktionen belegt werden kann.
Serienmäßige Ausstattung: Benutzerspezifischer FPGA
Ein FPGA ist ein integrierter Schaltkreis der Digitaltechnik, in den logische Schaltungen programmiert werden können. Der Begriff Programmierung ist in diesem Zusammenhang anders zu verstehen als bei der Erstellung von Software für einen Prozessor: In einem FPGA werden Schaltungsstrukturen mittels einer Hardwarebeschreibungssprache erstellt. Der daraus entstandene Code ähnelt nur auf den ersten Blick dem Code aus einer Programmiersprache für Prozessoren. In der Kamerafamilie von Sentech kommt ein XILINX Spartan-3 FPGA vom Typ XC3SD1800A zum Einsatz, dem für die Konfiguration ein ROM mit 8 Mbit Speicherkapazität zur Seite steht. Der FPGA ist im Auslieferungszustand ungenutzt und steht dem Anwender im vollen Umfang zur Verfügung. Darüber hinaus gibt es einen 32 MByte DDR2 Speicher, der beispielsweise für das Zwischenspeichern von Bilddaten genutzt werden kann.
Aus- und Einkoppeln von Bilddaten
Die analogen Signale vom CCD-Sensor werden im A/D-Wandler digitalisiert und zum "Sentech-FPGA" übertragen. Bleibt das benutzerspezifische FPGA ungenutzt, so durchlaufen die Daten der Reihe nach die Stufen für den Weißabgleich, für die Gammaverarbeitung und, bei Farbkameras, für die Einheit der Farbumrechnung. Von dort aus gelangt das so aufbereitete Bildsignal zur Gigabit Ethernet Schnittstelle nach draußen. Der FPGA-Programmierer hat nun die Möglichkeit, die Bilddaten an verschiedenen Stellen für sein eigenes, weiteres Processing auszukoppeln. Er kann dabei direkt auf die Rohdaten nach dem A/D-Wandler oder nach einer der beiden Stufen, dem Weißabgleich oder der Gammaverarbeitung, zugreifen. So steht es ihm frei zu entscheiden, ob er die bereits implementierten Funktionen nutzen oder ob er sie gemäß seiner Anforderungen selbst programmieren möchte. Das Wiedereinkoppeln der im User-FPGA verarbeiteten Bilddaten kann an einer dieser drei Stellen in das Sentech-FPGA erfolgen. Das Debuggen des eigenen FPGA-Programmcodes geschieht über eine JTAG-Schnittstelle. Zweck des Verfahrens ist es, das FPGA auf korrekte Funktion zu testen, während es sich bereits in der Arbeitsumgebung befindet.
Fundiertes Fachwissen erforderlich
Die Funktionen, die in das benutzerspezifische FPGA implementiert werden können, sind vielfältig. Neben reinen Einzelbildmanipulationen, wie zum Beispiel Rauschunterdrückung, Farbraumkonvertierung oder Farb- und Bildmanipulationen, können auch Bildvergleiche und -analysen stattfinden. Die Ergebnisse dieser Analysen, also im einfachsten Falle eine gut/schlecht-Entscheidung, werden über insgesamt fünf optisch gekoppelte Ausgangsleitungen ausgegeben. Drei ebenfalls optisch gekoppelte Eingänge stehen unter anderem für externe Triggersignale zur Verfügung. Da ein FPGA im Gegensatz zu einem Mikroprozessor reine Hardwarelogik darstellt, erfolgt das Processing quasi in Echtzeit. Die Kameras der PowerPlus-Serie sind daher nicht mit Smart Kameras zu verwechseln, in denen ein Prozessor für die Bildverarbeitungsaufgaben eingesetzt wird. Das Programmieren eines FPGA ist allerdings nicht trivial: Es muss ein fundiertes Fachwissen vorliegen, um zu brauchbaren Ergebnissen zu kommen. Videor empfiehlt gerne externe Dienstleister, die nach Vorgabe individuelle Featuresets programmieren und damit wettbewerbsrelevante Alleinstellungsmerkmale schaffen.
Sentech: PowerPlus- und Standard-Serie
Die PowerPlus-Serie besteht aus zehn verschiedenen Kameramodellen: Jeweils in Farbe oder in Monochrom bieten sie fünf verschiedene Auflösungen, von VGA bis hin zu 5 Megapixeln. Weitere zehn Modelle mit den gleichen Unterscheidungen gibt es von der Standard-Serie, bei denen das benutzerspezifische FPGA entfällt. Sämtliche Kameras verwenden ausschließlich hochwertige CCD-Sensoren. Beide Serien zeichnen sich durch ihre äußerst robuste Verarbeitung und vor allem durch ihr großflächiges und dennoch kompaktes Metallgehäuse aus, das hervorragende Wärmeleiteigenschaften besitzt. Entsprechend benötigen die Kameras im normalen Industrieumfeld keine Fremdkühlung.