chevron_left
chevron_right

Informationen kommen mit 40 GBit/s

Ein mobiles Gerät mit mehr Leistung als ein aktuelles Smartphone? Die neuen FPGAs mit integrierten Cortex-A9-Dualcore-Prozessoren machen dies möglich. Die beiden Studenten der Hochschule für Technik FHNW, Yannick Bürgi und David Mettler, entwickelten in ihrer Bachelor-Thesis den Prototypen eines Handheld-3D-Scanners.

 

Die Firma Heliotis, ein Spin-off der ETH (CSEM) Zürich, ist spezialisiert auf die Analyse von Oberflächen. Sie bauen Messgeräte, die nach dem Prinzip des Michelson-Interferometers funktionieren. Das Kernelement bei diesen Geräten ist der selber entwickelte Sensor. Für ein fertiges Produkt braucht es jedoch die ganze Datenverarbeitungskette.

Die Produktpalette von Heliotis umfasst bisher nur stationäre Systeme. Diese verfügen über eine Dreiachsensteuerung und erlauben das Scannen von grossen Oberflächen.

Entwicklung eines Komprimierungsalgorithmus

Gerne möchte Heliotis in den Markt der mobilen Geräte einsteigen. Zwei Studenten der Hochschule für Technik der FHNW haben in ihrer Bachelor-Thesis dieses Thema gründlich untersucht und einen Prototypen für einen mobilen 3D-Scanner entwickelt. Die Ausgangslage präsentierte sich wie folgt: Der Sensor wird momentan von Heliotis in Zusammenarbeit mit dem Institut für Mikroelektronik (IME) der FHNW überarbeitet. Ziel ist ein neuer Chip mit einer Auflösung von rund 500 × 500 Pixel.

Dieser Sensor liefert Oberflächeninformationen mit einer Datenrate von 40 GBit/s. Um von den Rohdaten die Nutzinformation zu extrahieren, entwickelten die Fachleute ebenfalls in Zusammenarbeit mit dem IME einen Komprimierungsalgorithmus. Dieser wurde auf einem FPGA implementiert und komprimiert die Daten in Echtzeit. Für die weitere Datenverarbeitung ging man bisher via Ethernet oder USB auf einen Host-Rechner. Neu möchte man für weniger rechenintensive Systeme die Weiterverarbeitung der Daten und das grafische User-Interface intern lösen. Dies war zugleich die Aufgabenstellung für die Studenten.

Leistung und Komfort

Mit den neuen FPGAs von Altera oder Xilinx gibt es hierfür interessante Bausteine, die FPGA und ARM-Prozessor in einem Chip kombinieren. So kann man parallele Signalverarbeitung auf dem FPGA und die langsamere Datenverarbeitung sowie das User-Interface auf dem ARM-Prozessor implementieren. Bei der Bachelor-Thesis entwickelten die beiden Studenten einen Prototypen, basierend auf dem SoCKIT-Development-Board von Terasic. Die-ses verfügt über einen Altera-Cyclone-V-FPGA mit integriertem Cortex-A9-Dualcore-Prozessor. Hilfreich ist, dass es für diese neue Plattform bereits eine breite Community gibt. So liess sich unter rocketboard.org ein Hardprozessor-system und eine Linux-Distribution herunterladen, um nicht bei null beginnen zu müssen. Die Studenten konnten so den Fokus schnell auf die applikationsspezifischen Aspekte legen.

Als Applikation des Handheld-3D-Scanners sollte ein Rugotest implementiert werden. Da ein mobiles Gerät keine Achsensteuerung hat, beschränkt man sich vorerst auf ein Bild. Je nach Optik kann ein FOV (Field Of View) von 12 × 12 mm aufgenommen werden. Daraus resultiert eine laterale Auflösung von 40 × 40 µm. Für grössere Flächen müssten mehrere Bilder zusammengesetzt (Stiching) werden, dies ist jedoch sehr rechenintensiv und soll vorerst noch von leistungsfähigeren Rechnern übernommen werden. Die Bedienung des Geräts soll ähnlich wie bei Smartphones via Touch-display erfolgen.

Berechnungen erfolgen mit OpenCV

Die Rohdaten werden auf dem FPGA komprimiert. Als Resultat wird ein Bild als zweidimensionales Array mit Höheninformationen zum Prozessor geschickt. Dieses wird zuerst nivelliert, um die Schräglage des Sensors bei der Messung zu korrigieren. Danach werden für eine definierte Strecke die Mittenrauheit, die Glättungstiefe und die maximale Profilhöhe berechnet. Für diese Berechnungen wurde OpenCV verwendet. Diese Open-Source- Bibliothek bietet viele Funktionen für die Bildverarbeitung. Für die Bedienung kommt ein Touchdisplay mit einer Auflösung von 800 ×  480 Pixel zum Einsatz, das über den AXI-Bus an den ARM angebunden ist. Danach konnte das User-Interface ebenfalls mit Funktionen von OpenCV geschrieben werden.

Heliotis Interesse lag auch darin, zu untersuchen, wie die Leistungsfähigkeit des mobilen Geräts gegenüber den stationären Systemen ist. Deshalb hat das Team drei Aspekte genauer untersucht. Als Erstes interessierte der Bedarf an nichtflüchtigem Speicher. Mit mindestens 2 GByte lässt sich ein komfortables Linux mit den wichtigsten Packages betreiben, empfohlen werden aber 4 GByte oder mehr. Als zweiten Punkt wurde die Performance mit zwei Laptops verglichen. Bei allen Systemen kam nur ein Prozessorkern zum Einsatz. Ein MacBook Pro rechnet je nach Algorithmus 5- bis 12-mal schneller als das SoCKIT, dies bei einem Prozessortakt, welcher 2,5-mal schneller ist. Als Drittes wurde noch die Datenübertragung per Sockets untersucht. Mit TCP wurden 565 MBit/s erreicht, mit UDP sogar 610 MBit/s.

Fazit

Ein Handheld-3D-Scanner ist ein Hightech-Gerät. Der spezifische Sensor scannt die Oberfläche, das FPGA komprimiert die Rohdaten und auf dem ARM-Prozessor läuft die Applikation unter Linux mit entsprechendem User-Interface. Die neuen FPGAs mit integrierten ARM-Prozessoren eignen sich für ein solches System in idealer Weise.

Infoservice


Fachhochschule Nordwestschweiz, Hochschule für Technik, Institut für Mikroelektronik Steinackerstrasse 5, 5210 Windisch

Tel. 056 202 80 22, Fax 056 202 73 17

michael.pichler@fhnw.ch, www.fhnw.ch/im