Processing Plattform-Konzepte in Embedded Vision
Im Laufe der letzten Jahre ist die Entwicklung von leistungsstarken Processing Boards so weit vorangeschritten, dass sie mittlerweile in der Lage sind, PC-basierte Systeme zu großen Teilen zu ersetzen. Auch industrietaugliche Vision Komponenten werden immer kleiner. Kameras die früher groß und teuer waren, können heute preisgünstig und in besonders kompakter Baugröße hergestellt werden.

Die Kombination aus kleinen Processing Boards und miniaturisierten Kameramodulen wird als Embedded Vision bezeichnet. Embedded Vision bietet vielen Anwendungsbereichen Vorteile – vom Einsatz in medizinischen Diagnosegeräten bis hin zu industrieller Automation.
Anders als in der klassischen PC-Welt, ist die Prozessorlandschaft im Embedded Vision Bereich heterogen. Der folgende Artikel zeigt die unterschiedlichen Architekturen der Processing-Plattformen auf und liefert einen Überblick über heutige Konzepte.

System-on-Chip (SoC)
Der System-on-Chip (SoC) ist der Kern einer Embedded Architektur. Hier findet die eigentliche Bildverarbeitung statt. Oft wird der Begriff SoC mit Prozessor gleichgesetzt. Tatsächlich enthält ein SoC jedoch sehr viel mehr: Neben der ein- oder mehrkernigen CPU (Central Processing Unit) befinden sich auf dem gleichen Chip typischerweise auch noch die GPU (graphics processing unit, sozusagen die Grafikkarte des Chips), Schnittstellencontroller (z.B. für USB, Ethernet, I²C, usw.), interne Bussysteme, Multimedia-Hardware (z.B. Video En- und Decoding), internes Powermanagement usw. Kurz: Ein SoC vereinigt viele Kernbestandteile eines PCs auf einem einzigen Chip.
Prominente Vertreter häufig verwendeter SoCs sind z.B. NVIDIAs Tegra K1, Qualcomms Snapdragon 820, oder NXPs I.MX Serie.
Die Entwicklung von SoCs wurde maßgeblich durch die extrem schnelle Ausbreitung von Smartphones und Tablets angetrieben. Große Hersteller wie Apple oder Samsung können es sich leisten, eigene SoCs herzustellen. Die Entwicklung eines eigenen SoCs ist jedoch eine viele millionenschwere (wenn nicht milliardenschwere) Investition, die für viele Unternehmen nicht in Frage kommt.
SoCs sind die Kerne von Embedded Recheneinheiten. Sie enthalten u.a. CPU, GPU, Bussysteme und Schnittstellencontroller.

System-on-Module (SoM)
Kleine bis mittelgroße, technologiegetriebene Unternehmen befinden sich in einer Art Zwickmühle. Auf der einen Seite ist die SoC-Technologie mit starken Prozessoren auf minimalem Raum ungeheuer attraktiv, um neue Produktgenerationen kleiner und schneller entwickeln zu können. Auf der anderen Seite halten die sehr hohen Entwicklungskosten eines eigenen SoCs davon ab, diese Entwicklung selbst in Gang zu setzen. Solche Unternehmen würden am liebsten bereits bestehende SoCs großer Hersteller verwenden.
Dieses Dilemma haben eine Reihe von Unternehmen (Toradex, Inforce, SECO,...) durch die Entwicklung so genannter System-on-Modules (SoMs, auch manchmal CoM (Computer-on-Module) genannt) zu Nutze gemacht. Ein SoM enthält einen SoC, ergänzt wichtige Komponenten wie Speicher (RAM), Powermanagement, sowie weitere Bussysteme zur Ansteuerung der Komponenten – und macht den SoC so praktisch nutzbar. Bildlich gesprochen: Während der SoC eine Fabrik ohne Anbindung an die Außenwelt ist, ergänzt der SoM ein Lagerhaus, Stromversorgung, sowie eine Verkehrsanbindung. Er macht außerdem möglich, mit dem Leiter der Fabrik zu kommunizieren.
Ein SoM hat einen oder mehrere – oftmals standardisierte – Steckverbinder, über die dann der SoM (und damit die auf dem SoM enthaltenen Komponenten – z.B. der SoC) mit der Außenwelt kommuniziert. Nun kann man direkt an diese Steckverbinder allerdings keine externen Geräte (z.B. Netzwerk, Stromversorgung, Kameras) anschließen. Dazu benötigt man ein sogenanntes Carrier Board (dt. Trägerplatine).
Trotzdem – wann immer von einem SoM die Rede ist, ist der SoC bereits in dieser Komponente enthalten.

System-on-Module (SoM) + Carrier Board
Wie bereits beschrieben, enthält der SoC lediglich Schnittstellencontroller. Was fehlt, ist der physikalische Konnektor (z.B. Ethernet-Stecker). Hier kommt das Carrier Board (dt. Trägerplatine) ins Spiel. Wie oben beschrieben haben SoMs an der Unterseite eine standardisierte Steckerleiste, mit denen sie sich mit einem Carrier Board verbinden lassen. Auf den Carrier Boards sind dann die physikalischen Konnektoren angebracht, mit denen sich Peripheriegeräte (wie z.B. Displays, Kontrolleinheiten, Kameras) anschließen lassen. Im Gegensatz zum SoC oder SoM lassen sich Carrier Boards verhältnismäßig einfach entwickeln. Die Idee des modularen Embedded Ansatzes ist es also, dass Entwickler sich SoMs von der Stange kaufen und sich das Carrier Board selbst entwickeln. Das ist günstiger als ein Full Custom Design (s.u.) und bewahrt einen hohen Grad an Flexibilität – denn welche Stecker auf dem Carrier Board untergebracht werden, kann auf diese Weise der Entwickler selbst entscheiden. Auf diese Art können USB, GigE, aber auch proprietäre Kamerakonnektoren wie der 28-pin-LVDS-Konnektor zum Anschluss einer oder mehrerer dart BCON Kameras integriert werden.
Achtung: Im Spezialfall enthalten auch SoMs bereits einzelne physikalische Konnektoren. Der Xilinx Zynq SoM des Basler PowerPacks for Embedded Vision hat bereits z. B: einen USB 2.0- sowie GigE-Konnektor. Das ist jedoch eher die Ausnahme.

Single Board Computer (SBC)
Neben dem modularem SoM + Carrier Board-Konzept, existiert das Konzept des Single Board Computers, kurz SBC. Ein Single Board Computer ist im Prinzip nichts anderes, als ein SoM + Carrier Board, dass auf einer einzigen Platine integriert ist (-> Single Board Computer). Prominentester Vertreter ist der Raspberry Pi. Dieser SBC hat eine Reihe von Anschlüssen (4x USB2, 1x MIPI CSI-2, …) bereits auf dem Board, sodass Peripheriegeräte ohne die Entwicklung von einem zusätzlichen Carrier Board angeschlossen werden können. Das hat den Vorteil, dass ein SBC sehr einfach in Betrieb genommen werden kann – jedoch auch den Nachteil, dass wenn im Falle vom Raspberry Pi einmal 5 USB 2.0-Anschlüsse benötigt werden, das inflexible SBC-Konzept an seine Grenzen geführt wird. Der SBC hat also den geringsten Entwicklungsaufwand, aber auch die geringste Flexibilität. Wollen Unternehmen applikationsspezifische Recheneinheiten in sehr großen Stückzahlen verkaufen, ist der SBC eher hinderlich, da er dann mit sehr großer Wahrscheinlichkeit Anschlüsse oder Bauteile mitbringt, die für die Applikation gar nicht gebraucht werden. Diese Erkenntnis führt uns zum letzten Embedded Architektur-Konzept, dem Full Custom Design.

Full Custom Design
Um die Vielfalt der Embedded Architekturen vollständig zu beschreiben, gehört die Klasse der Full Custom Designs (FCD) in diese Aufzählung. Ein FCD ist nichts anderes als ein Single Board Computer, der von einem Unternehmen entwickelt wurde, das diesen in einer Applikation einsetzt, ohne ein wirtschaftliches Interesse zu haben, den FCD einzeln zu verkaufen. Vielmehr soll lediglich das Gesamtsystem verkauft werden, in das das FCD integriert ist. Ein FCD ist also ein SoM + Carrier Board, das in sehr kundenspezifischer Ausprägung auf einem Board untergebracht ist.
Beispiel: Ein Medizintechnikunternehmen plant die Entwicklung eines handgehaltenen Gerätes zur bildlichen Erfassung und Nachverfolgung von auffälligen Leberflecken auf der Haut. Der SoM + Carrier Board-Ansatz wäre hier eine Möglichkeit, ist jedoch aufgrund der Tatsache, dass das Aufeinanderstecken des SoMs + Carrier Boards immer noch viel Platz beansprucht, nicht praktikabel.
Das Unternehmen plant außerdem den Verkauf mehrerer Tausend Produkte. In diesem Fall entschließt sich das Unternehmen dazu, dass es wirtschaftlich sinnvoll ist, einen eigenen SBC (SoM + Carrier Board auf einer einzelnen Platine) zu entwickeln. Dieser ist hoch applikationsspezifisch – jedoch auch extrem kostenoptimiert, weil er nur Komponenten enthält, die für die Anwendung von Nöten sind.
Fazit
Für Embedded Vision spielen Processing Boards eine wichtige Rolle. Diese Boards können unterschiedlich designt sein.
Je nach Stückzahlen, Know How, Art des übergeordneten Systems und Anforderungen an die Bildverarbeitung, gibt es eine Spannbreite verschiedener Konzepte. Die möglichen Konzepte reichen vom beinahe klassischen Vision System mit einem kleinen Single Board Computer über das modulare System mit SoM oder SoC auf kundenspezifischem Carrier Board bis hin zum voll individualisierten Full Custom Design.
Je weiter sich die gewählte Processing Plattform von Off-the-shelf-Komponenten entfernt ist, umso größer ist der Entwicklungs- und Integrations aufwand – umso kleiner ist jedoch der Stückpreis bei nennenswerten StückzahlenWelches Konzept eignet sich für Ihre Anwendung? Wir hoffen, dass Ihnen mit diesem Artikel die Entscheidung etwas erleichtert wird.