Als vor einigen Jahrzehnten die Entwickler von eingebetteten Systemen Kosten reduzieren wollten, wandten sie sich den damals in großen Stückzahlen produzierten PCs zu. Sie verwendeten Hardware und Software, die ursprünglich für PCs entwickelt wurden. Damit konnten sie Geld sparen und hatten andererseits Bauteile zur Verfügung, die ihre Zuverlässigkeit bei Millionen von Kunden bereits bewiesen hatten. Der Steckkartenbus des PCs bot eine attraktive, preisgünstigere Alternative verglichen mit proprietären eingebetteten Anwendungen.

Eck-Daten

Vor 20 Jahren trieb die damals vorherrschende PC-Architektur die Entwicklung in vielen Branchen voran. Heute hat der Mobilmarkt in den unterschiedlichsten Bereichen einen vergleichbaren Einfluss, etwa in der Industrie, in der Fahrzeugtechnik, in der Medizintechnik. Entwickler von Produkten, die von der Mobiltechnik beeinflusst werden, nutzen daher verstärkt Bridgingtechniken, um von den Skalenvorteilen des Mobilmarkts, den Kosten- und Leistungsvorteilen mobiler Prozessoren, Bildschirme und Bildprozessoren zu profitieren. Der Beitrag beschreibt, wie sich mit dem Crosslink-FPGA Videobrücken zwischen MIPI-spezifizierten und Geräten herkömmlicher Standards entwickeln lassen.

Heute ist die PC-Architektur nicht länger der Marktführer, sodass Entwickler von eingebetteten Systemen besonders hinsichtlich der produzierten Stückzahlen auf den Smartphone-Markt schauen. Entwicklungsingenieure vieler Branchen halten daher Ausschau danach, wie sie die hohe Leistung und die geringen Kosten der Hauptbauteile aktueller Smartphones für ihre mobilen Lösungen einsetzen können. Durchaus vergleichbar mit der PC-Architektur von vor 20 Jahren bietet der Smartphone-Markt heute gängige Hardwarearchitekturen und Anwendungen, deren Leistungsfähigkeit sich in dem von starkem Wettbewerb geprägten Consumermarkt bewährt haben.

Ein Kernbestand an Standards

Wesentlich bestimmend für die Entwicklung aktueller mobiler Geräte sind die Schnittstellen- und Busspezifikationen der MIPI-Allianz (Mobile Industry Processor Interface). Die MIPI-Allianz wurde im Jahr 2003 gegründet, um eine umfassende Palette von Spezifikationen für Mobilgeräte zu entwickeln. Den Herstellern sollten die notwendigen Hard- und Softwarestandards an die Hand gegeben werden, damit sie möglichst schnell und kostengünstig innovative Mobilgeräte auf den Markt bringen können. Mit dem umfassenden Kernbestand an Standards der MIPI-Allianz können die Hersteller Bauteile von verschiedenen Lieferanten einkaufen und die Leistung ihrer Entwicklungen auf einfache Weise optimieren.

Ein wesentliches Hindernis bei der Integration mobiler Konnektivität ist, dass Kameras und Bildschirme in vielen eingebetteten Systemen von der Zahl oder Art ihrer Schnittstellen her nicht zu den heutigen Anwendungsprozessoren (AP) passen. Viele Mobiltelefondesigns arbeiten mit DSI (MIPI Display Serial Interface) für die Bildschirme und mit CSI-2 (MIPI Camera Serial Interface) für die Bildsensoren. Beide Schnittstellen basieren auf dem physischen Bus D-PHY. Dieser hat einen symmetrischen Takt und eine bis vier symmetrische Datenleitungen. D-PHY ist eine mittenzentrierte, mit der Quelle synchrone Schnittstelle, die auf beiden Flanken getaktet ist. Eine der Stärken von D-PHY ist, dass die Schnittstelle im laufenden Betrieb von symmetrischem auf asymmetrischen Betrieb wechseln kann.

Brücke zwischen den Standards

Bild 1: Mit der Videobridge lassen sich proprietäre Schnittstellen, OpenDSI oder LVDS auf MIPI-DSI wandeln.

Bild 1: Mit der Videobridge lassen sich proprietäre Schnittstellen, OpenDSI oder LVDS auf MIPI-DSI wandeln. Lattice

Besonders im Industriemarkt setzen Entwickler von eingebetteten Systemen typischerweise Bildschirme mit LVDS-, RGB- oder SPI-Schnittstelle ein. Die meisten eingebetteten Prozessoren verfügen aber nicht über eine DSI-Schnitt­stelle. Wenn ein Ent­wick­ler in dieser Branche MIPI-Prozessoren und -Anwendungen einsetzen, aber den herkömmlichen LVDS-Bildschirm beibehalten will, dann benötigt er eine Brücke zwischen dem LVDS-Bildschirm und einem MIPI-kompatiblen Anwendungsprozessor. Eine Möglichkeit, diese Anforderung zu erfüllen, ist die Konstruktion einer Videobridge, die von OpenDSI, LVDS oder einer proprietären Schnittstelle auf MIPI-DSI wandelt (Bild 1).

Bild 2: Videobrücke zwischen einer herkömmlichen CMOS-Kamera und dem CSI-2-Eingang eines MIPI-APs.

Bild 2: Videobrücke zwischen einer herkömmlichen CMOS-Kamera und dem CSI-2-Eingang eines MIPI-APs. Lattice

In gleicher Weise kann ein Entwicklungsingenieur im Industriebereich einen Mobilprozessor und Anwendungen der neuesten Generation einsetzen, aber die alte CMOS-Kamera behalten. Bild 2 zeigt, wie sich eine Brücke zwischen einer herkömmlichen CMOS-Kamera mit parallelem Ausgang und dem CSI-2-Eingang eines MIPI-APs bauen lässt.

Weil auch in Fahrzeugen immer mehr Kameras zum Einsatz kommen, beispielsweise für Fahrassistenzsysteme und Infotainment, wird auch der Bedarf an Schnittstellenwandlern immer größer. Heute werden Bildsensoren nicht nur als Rückfahrkamera eingesetzt, sondern sie ersetzen auch die Seitenspiegel, liefern einen 360-Grad-Rundumblick, unterstützen den Fahrstreifen­wechsel und minimieren tote Winkel. In aktuellen Automobilen kann ein Designer die Signale mehrerer Bildsensoren zu einem Bild zusammenfügen und es dann über eine einzige CSI-2-Schnittstelle an den AP weiterreichen.

Videoströme zusammenfügen

Bild 3: Mit einer Videobridge lassen sich auch Datenströme mehrerer Bildsensoren zu einem Datenstrom vereinen.

Bild 3: Mit einer Videobridge lassen sich auch Datenströme mehrerer Bildsensoren zu einem Datenstrom vereinen. Lattice

Eine weitere Anwendung einer Videobridge ist das Zusammenfügen mehrerer Videoströme zu einem. Bild 3 zeigt, wie der Entwickler einer Drohne oder eines VR-Produkts mittels aktueller Videobridges die Datenströme mehrerer Bildsensoren zu einem Datenstrom vereinigen und so der Schnittstellen­anforderung des APs gerecht werden kann. Diese Brücke lässt sich in Anwendungen einsetzen, in denen der verwendete AP nicht genügend Schnittstellen für die Bildsensoren besitzt oder wo zwischen den Bildsensoren und den Bilddaten eine Latenz durch die Verarbeitung auftritt. In diesem Fall muss der Prozessor mehrere CSI-2-Ausgänge mit minimaler Latenz zur genau gleichen Zeit erfassen. Die zusam­mengeführten Videoströme müssen einen gemeinsamen Takt aufweisen und benötigen in manchen Fällen zusätzlich unterschiedliche Einschaltroutinen.

Für all diese Videoanwendungen benötigen Videodesigner in eingebetteten Systemen leistungs­fähige kleine Bridginglösungen. Im Idealfall kann diese Lösung inkompatible Schnittstellen zwischen Kameras, Bildschirmen und APs wandeln, mehrere Videoströme zu einem zusammenfassen oder einen Videostrom in mehrere Videoströme mit unterschiedlichen Schnittstellen aufteilen. Eine Lösungsmöglichkeit ist ein Vielzweck-Mehrkanalswitch, der Signale an viele Stellen einer Leiter­platte hinführen kann. Leider weisen die meisten Multiplexer/Demultiplexer weder die notwendige Leistung noch hinreichende Flexibilität auf. Eine weitere Möglichkeit wäre der Einsatz einer Bridginglösung basierend auf einem ASSP (Application Specific Standard Product) oder ASIC. Die meisten Bridginganwendungen erreichen aber viel zu geringe Stückzahlen, sodass die hohen einmaligen Ent­wicklungskosten wie auch die für einen solchen Ansatz nötige Entwicklungszeit nicht gerechtfertigt wären.

Crosslink im Detail

Das FPGA Crosslink von Lattice bietet Ent­wick­lern Flexibilität und kurze Entwicklungszeiten. Es verfügt über 12 Gbit/s Bandbreite und kann Videoströme bis 4k UHD verarbeiten. Mit Crosslink lassen sich inkompatble Schnittstellen von APs, Bildsensoren und Bildschirmen aneinander anpassen und es unterstützt eine breite Palette aktueller und herkömmlicher Proto­kolle, ist preiswert und kompakt. Jede Crosslink-Bridge besteht aus zwei MIPI-D-PHY-Kernen. Diese sind von einem FPGA-Netz umgeben, das eine Vielzahl an Videofunktionen unterstützt (Multiplexing, Demultiplexing, Zusam­men­führen von Videostreams, Aufspalten von Videostreams, Wandeln des Datenformats, Arbitrierung). Jeder MIPI-D-PHY-Kern im Gerät verfügt über bis zu vier Datenleitungen und einen Takt, der sowohl Senden als auch Empfangen unterstützt. Zwei Bänke programmierbarer I/Os unterstützen Schnittstellen wie MIPI-D-PHY, MIPI-CSI-2 und MIPI-DSI, aber auch CMOS, RGB, SubLVDS, SLVS, LVDS und Open LDI.

Die zugehörige FPGA-Matrix verfügt über 5936 Umsetzungstabellen (LUT, Look-up Table) mit vier Ein­gängen, 180 kBit RAM im Block und 47 kBit verteiltes RAM. Die LUTs sind entlang dedizierter Register in programmierbaren Funktionseinheiten angeordnet, die als Grund­bausteine für die Logik sowie die  RAM- und ROM-Funktionen fungieren. Ein programmierbares Routingnetz verbindet die Funktionseinheiten. Reihen von eingebetteten Block-RAM (EBR) mit programmierbaren I/O-Bänken, eingebettete I²C und eingebettete MIPI-D-PHY sind zwischen die Reihen der Funktions­einheiten eingestreut. Die Designsoftware Diamond von Lattice dient zur Konfiguration der Funktionseinheiten und zum Routing.

Entwicklungsablauf

Der Arbeitsablauf zum Aufbau einer Crosslink-basierten Schnittstellen-Brücke ist recht unkompliziert. Zuerst erfolgt die Auswahl des einzusetzenden IPs oder dieses wird mittels Clarity Designer, einem IP-Konfigurationswerkzeug und Teil der FPGA-Design­software Diamond von Lattice, erstellt. Anschließend erfolgt eine Simulation mit dem Simulator Aldec, das Debugging der Hardware mittels des On-Chip-Debugging-Tools Reveal. Das Tool verfügt über hochentwickelte Triggerfähigkeiten, einen einfachen Arbeitsablauf für die Modifikation des ursprüng­lichen Designs und erweiterte Funktionen zur Logikanalyse.