Startseite » Allgemein »

Alles im Takt

BV-Applikation mit fünf synchronen Kameras
Alles im Takt

Anzeige
Die Anforderungen an Bildverarbeitungssysteme nehmen über alle Industriezweige hinweg zu: die erforderlichen Pixelauflösungen steigen, während die Taktzeiten gleichzeitig verkürzt werden. Applikationen mit mehreren Kameras waren lange Zeit nur mit relativ großem Aufwand an Hardware umzusetzen, besonders wenn Nicht-Standard-Kameras zum Einsatz kamen. Inzwischen sind Mehrkamera-Systeme mit entsprechenden Komponenten und Software durchaus kostengünstig zu realisieren, wie die folgende Applikation zeigt.

Raoul Kimmelmann, Produktmanager, Rauscher GmbH, Olching

Bei der hier beschriebenen Anwendung kommen fünf Progressive-Scan-Kameras mit einer Auflösung von 752 x 582 Pixel zum Einsatz, die zeitgleich gegrabbt werden. Die Kameras werden im asynchronen Reset-Modus betrieben, ein externer Signalgeber löst die Aufnahme von allen Kameras mit einer maximalen Frequenz von 50 Bilder/sec aus. Die Shutter-Zeit muss vom PC oder Framegrabber aus im Bereich von 1/10000 s bis 200 ms stufenlos gesteuert werden. PC und Kameras sind dabei 10 m voneinander entfernt. Rauscher stellte für die Applikation neben den erforderlichen Hardware-Komponenten wie Kameras, Framegrabber, Kabel etc. ein Software-Engineering-Sample zur Verfügung, das die Funktionsweise und eine prinzipielle Grab-Architektur eines derartigen Multi-Kamera-Systems demonstriert. Da dieses Engineering-Sample im Quellcode weitergegeben wird, können kundenspezifische Applikationen darauf aufsetzen und somit äußerst schnell und effizient umgesetzt werden.
Komponentenauswahl
Bei den Kameras fiel die Wahl auf die XC-HR300 von Sony, da sie die oben aufgeführten Anforderungen bezüglich Auflösung, Geschwindigkeit und Betriebsmodi komplett erfüllt. Um aus Kostengründen mit möglichst geringem Hardware-Aufwand auszukommen, wurde der Meteor-II/Multichannel Framegrabber von Matrox ausgewählt. Er verfügt über drei parallele Videoeingänge, mit denen sich synchronisierte Monochrom-Kameras parallel aufnehmen lassen, so dass drei Kameras an einer Meteor-II/Multichannel und die übrigen beiden an einer Weiteren betrieben werden können.
Die Kameras stellen alle für die Videodaten, Synchronisation und Stromversorgung benötigten Ein- und Ausgänge auf einem 12-poligen Hirose-Stecker zur Verfügung. Das gleiche gilt für die Framegrabber, die mit einem 44-poligen High-Density-Stecker ausgerüstet sind. Der Verkabelungsaufwand sinkt so auf ein Minimum, da vom Framegrabber aus zu jeder Kamera nur ein Kabel führt, über das alle Signale einschließlich der Stromversorgung übertragen werden.
Umsetzung
Der Framegrabber als Schnittstelle zwischen Kamera und PC ist integraler Bestandteil jedes Bildverarbeitungs-Systems. Er erfasst die Daten und schreibt sie über den PCI-Bus in Echtzeit und ohne CPU-Belastung in den Host- und/oder Display-Speicher. Bei der Meteor-II/Multichannel, einem Variable-Scan-Framegrabber, wird das Video-Timing zusammen mit allen weiteren I/O-Signalen in einem DCF (Digitizer Configuration File) definiert. Ein FPGA steuert die Logik zum Erzeugen und Steuern der Timing- und Ein-/Ausgabe-Signale: Pixelclock, H- und VSync, Exposure1, Exposure2 und User-I/Os. Der Matrox VIA dient als PCI-Interface und übernimmt bereits während der Aufnahme zusätzlich das gesamte Datenmanagement, z.B. das Sortieren von mehreren Datenströmen bei Multitap-Kameras. Für diese lokale Verarbeitung stehen 4 MByte Onboard-RAM zur Verfügung, das auch als FIFO für den PCI-Transfer dient.
Da eine zeitgleiche Aufnahme von bis zu drei Kameras pro Framegrabber in dieser Applikation erforderlich ist, werden die Kameras vom Framegrabber aus synchronisiert und im asynchronen Reset-Modus betrieben. Die Meteor-II/Multichannel generiert auf ein externes Signal hin, das über den optoentkoppelten Trigger-Eingang angeschlossen ist, auf Leitung Exposure1 das Trigger-Signal für die Kamera. Die Kamera wird darauf hin zurückgesetzt (asynchroner Reset) und beginnt mit der Belichtung. Die Shutter-Zeit entspricht der über einen Softwarebefehl frei programmierbaren Pulslänge von Exposure1. Der Framegrabber gibt der Kamera über Exposure2 mit entsprechendem Delay nach dem Reset den korrekten VSync, auf den hin die Kamera die Videodaten ausgibt. Darüber hinaus werden über den HSync-Ausgang kontinuierlich die horizontalen Synchronisationssignale für die Kamera ausgegeben, damit die Bilddaten der Kameras zeilensynchron am Framegrabber anliegen. In diesem Betriebsmodus der Kameras lässt sich die Belichtungszeit über Exposure1 im Bereich von 1/25 000 s bis 250 ms frei programmieren. Die maximale Bildwiederholrate liegt bei 50 Bildern/s.
Paralleler Bildeinzugvon fünf Kameras
Da in dieser Anwendung ein Framegrabber drei bzw. zwei Kameras parallel steuert, wird das DCF auf drei parallele Kameras erweitert. Exposure1-, Exposure2- und Hsync-Ausgang sowie die Stromversorgung werden an die jeweiligen Eingänge der Kameras (Trigger, External VD, External HD) parallel angeschlossen. Der Videoausgang jeder Kamera wird an Videoeingang 1 bis 3 des Framegrabbers gelegt. Alle Steuerausgänge der Meteor-II/Multichannel sind TTL-Pegel und die Leitungstreiber auf dem Board sind leistungsfähig genug, um alle drei Kameras über 10 m Kabelweg zu treiben. Bei der Applikation werden fünf Kameras mit zwei Framegrabbern eingezogen, d.h. 3 Kameras sind an Framegrabber 1, 2 Kameras an Framegrabber 2 angeschlossen. Die Synchronisation der Kameras geschieht dabei über die Framegrabber, die Synchronisation der Grabber untereinander über das externe Trigger-Signal. Die Aufnahmezeitpunkte für alle an einem Board angeschlossenen Kameras sind identisch, da sie mit den gleichen Sync-Signalen synchronisiert werden. Beide Framegrabber erhalten zeitgleich einen externen Trigger und generieren daraufhin die Synchronisationssignale. Hardwarebedingte Laufzeitunterschiede der Exposure1- und Exposure2-Signale konnten nicht gemessen werden, d.h. die Aufnahmezeitpunkte der drei Kameras an Board 1 und den beiden Kameras an Board 2 sind gleich.
Software
Das Software-Engineering-Sample, das Rauscher zur Verfügung stellt, um die prinzipielle Funktionsweise eines solchen Aufnahmesystems zu demonstrieren, basiert auf MIL-Lite, der Basisbibliothek der Matrox Imaging Library. MIL-Lite beinhaltet umfangreiche Funktionen zur Ansteuerung der Framegrabber, Bildaufnahme, Bildspeicherung, Bildanzeige und Grafikdarstellung. Nach dem Grab-Kommando werden die Bilddaten von drei Kameras, die an Board 1 angeschlossen sind in einem RGB-Buffer abgelegt. Die MIL-Lite verwaltet in jedem Band des RGB-Buffers einen virtuellen Buffer, einen sogenannten Child-Buffer. Für die Bilddaten der zwei Kameras an Board 2 wird genauso verfahren, mit dem Unterschied, dass lediglich zwei Child-Buffer in dem RGB-Buffer definiert werden (ein Child im Rot-Kanal, ein Child im Grün-Kanal). Die gesamte Weiterverarbeitung der Kameradaten erfolgt nun innerhalb dieser insgesamt fünf Child-Buffer. Eine aufwändige Sortierung der Pixeldaten per Software entfällt somit vollständig, da diese bereits durch den Matrox VIA durchgeführt wurde. Das Engineering-Sample grabbt extern getriggert mit bis zu 50 Bilder/s parallel von allen Kameras und stellt optional die Videodaten in fünf voneinander getrennten Display-Fenstern dar. Der PCI-Bus ist in dieser Anwendung also konstant mit 109 MByte/s belastet, da die Videodaten in das Host- Memory transferiert werden. Hier sind die 4MB Onboard-RAM der Meteor-II/Multichannel äußerst wertvoll: Treten auf dem PCI-Bus Spitzenbelastungen auf, ist es denkbar, dass die Bilddaten nicht über den Bus in das PC-Memory transferiert werden können, da die zur Verfügung stehende Bandbreite nicht ausreicht. In diesem Fall werden die Daten auf dem Framegrabber zwischengespeichert bis der Transfer sichergestellt ist. Ist der PCI-Bus nicht durch andere Devices belastet, werden die Bilddaten natürlich ohne FIFO-Pufferung transferiert. Für diese konkrete Anwendung wurden fünf Kameras parallel eingesetzt. Eine Erweiterung auf sechs Kameras ist problemlos möglich, da auf der zweiten Meteor-II/Multi-channel ein Eingangskanal ungenutzt bleibt. Prinzipiell ist ein solches System immer weiter nach oben skalierbar, da theoretisch bis zu zwölf Framegrabber in einem PC eingesetzt werden können. Das Bottleneck dieser Applikation ist der PCI-Bus, der ein maximales theoretisches Transfervolumen von 133 MByte/s aufweist. Werden höhere Anforderungen an Bildrate und/oder Auflösung gestellt, ist man hier sehr schnell über diese Datenrate hinaus. Zudem muss bedacht werden, dass in einer modernen Inspektionsanlage sicherlich auch andere Geräte als Framegrabber die Bandbreite des PCI-Busses benötigen. Hier wird künftig der 64 Bit breite PCI/X Bus, der Datentransferraten von bis zu 1 GByte/s bietet, Abhilfe schaffen.
Anzeige
Newsletter

Jetzt unseren Newsletter abonnieren

Quality Engineering
Titelbild QUALITY ENGINEERING 3
Ausgabe
3.2021
LESEN
ABO
Webinare & Webcasts

Technisches Wissen aus erster Hand

Whitepaper

Whitepaper zum Thema QS

Anzeige
Anzeige

Industrie.de Infoservice
Vielen Dank für Ihre Bestellung!
Sie erhalten in Kürze eine Bestätigung per E-Mail.
Von Ihnen ausgesucht:
Weitere Informationen gewünscht?
Einfach neue Dokumente auswählen
und zuletzt Adresse eingeben.
Wie funktioniert der Industrie.de Infoservice?
Zur Hilfeseite »
Ihre Adresse:














Die Konradin Verlag Robert Kohlhammer GmbH erhebt, verarbeitet und nutzt die Daten, die der Nutzer bei der Registrierung zum Industrie.de Infoservice freiwillig zur Verfügung stellt, zum Zwecke der Erfüllung dieses Nutzungsverhältnisses. Der Nutzer erhält damit Zugang zu den Dokumenten des Industrie.de Infoservice.
AGB
datenschutz-online@konradin.de