Crosslink Kommunizieren, mit wem und wie man will

Bild 3: Crosslink-Architektur
Bild 3: Crosslink-Architektur

Videos und Bilder sind heutzutage überall – immer mehr Bildsensoren und Kameras kommen in Industriesystemen und Fahrzeugen zum Einsatz. So vielfältig die Aufgaben der Sensoren und Kameras sind, so unterschiedlich sind auch die Komponenten, mit denen sie kommunizieren müssen.

Eine funktionierende Kommunikation setzt voraus, dass man eine gemeinsame Sprache spricht und dass nicht zu viele gleichzeitig sprechen. Genau hier setzt Lattice mit seinen Crosslink-Bausteinen für die Datenübertragung der Kamera an; sie können beide Aufgaben lösen: Übersetzung in das gewünschte Video-Format und Bündelung beziehungsweise Verteilung von Video-Daten.

Die Übersetzung von Video-Formaten: Ein typisches Szenario für Entwickler sieht folgendermaßen aus: Finde einen Bildsensor mit den passenden technischen Parametern, der lange genug verfügbar ist, nicht zu viel Fläche auf dem Board verbraucht, den passenden Abstand der Kontakte aufweist, möglichst geringe Kosten verursacht und die Daten in dem Format sendet, die der Prozessor, der das Bild verarbeiten soll, versteht. Die Kombination aus all diesen Anforderungen ist in vielen Fällen schwierig oder manchmal sogar unmöglich. Mit Crosslink von Lattice Semiconductor lassen sich aber alle Schwierigkeiten überwinden: Sendet der beinahe passende Sensor z.B. die Daten im subLVDS-Format und der Host-Prozessor hat nur einen MIPI-Eingang, wird Crosslink einfach dazwischen gesetzt. Wobei Crosslink natürlich auch zwischen Prozessor und Display eingesetzt werden kann.

Bündelung oder Verteilung von Video-Signalen: Die Anzahl der verwendeten Sensoren und Displays steigt bei den aktuellen Anwendungen schneller als die Leistungsfähigkeit der Prozessoren. Also müssen immer häufiger Video-Signale kombiniert werden, d.h. in irgendeiner Form auf einen gemeinsamen Ausgang geschaltet werden (Beispiele sind Drohnen und 360°-Surround-View). Dasselbe gilt auch auf der Ausgangsseite: Nicht alle passenden Prozessoren können die in der Anwendung benötigte Anzahl an Displays treiben. Darüber hinaus ist natürlich auch die Kombination der beiden bisher genannten Anwendungsfälle denkbar. Was braucht ein Entwickler also, um die genannten Anforderungen erfüllen zu können?

  • Einen Baustein, der die passenden Video Daten empfangen und senden kann,
  • etwas Logik, um Video-Signale zu kombinieren oder zu verteilen,
  • Logik und etwas Speicher, um Anpassungen an Takte und Standards zu implementieren,
  • Ein- und Ausgänge für die Kontrolle und Einstellungen und
  • unterschiedliche Gehäusebauformen.

Die Crosslink-Bausteine sind eine neue Art von ASSP, Lattice nennt sie pASSP (Programmable Application-Specific Product). Auf ihnen sind viele Funktionen für die Implementierung der Video-Ein- und Ausgänge bereits fertig implementiert und müssen nur passend zur Anwendung eingestellt werden. Dazu kommen einige flexibel zu verwendende Ein- und Ausgänge und vor allem ein FPGA-Kern, der zur Implementierung der beschriebenen Aufgaben dient. Die Bausteine können zwischen folgenden Schnittstellen als Brücke fungieren: MIPI DSI, MIPI CSI-2, subLVDS, LVDS, SLVS, RGB/CMOS. Die Datenrate ist bei den zwei festverdrahteten D-PHYs mit bis zu 1,5 Gbit/s pro Leitung spezifiziert (insgesamt also 6 Gbit/s pro Port). Bei den programmierbaren differenziellen Ein- und Ausgängen geht die Datenrate bis auf 1,2 Gbit/s pro Leitung hoch. Die Bausteine stehen in verschiedenen Gehäusen zur Verfügung. Alle Bausteine stehen für den kommerziellen und industriellen Temperaturbereich zur Verfügung; im 80-poligen Gehäuse kann Crosslink zusätzlich auch in Automotive-Anwendungen eingesetzt werden.

IP-Cores und Referenzdesigns

Um Anwendern den Start mit Crosslink zu vereinfachen, stehen diverse IP-Cores und Referenzdesigns zur Verfügung. Mit diesen vorgefertigten Funktionen können in sehr kurzer Zeit die Schnittstellen an die Anforderungen des Systems angepasst und auf einer Entwicklungsplattform getestet werden. Die Liste dieser Funktionen wird ständig erweitert und erlaubt es Entwicklern, schnell zu einer Lösung zu kommen.
Um den Einstieg zu vereinfachen, steht von Lattice auch eine Entwicklungsplattform für Video-Verarbeitung zur Verfügung. Das sogenannte VIP-Board besteht aus drei Komponenten:

  • Crosslink Input Bridge Board (hier wird Crosslink verwendet, um die Daten von den Bildsensoren zu kombinieren und/oder zu übersetzen). Auf dem Board sitzen unter anderem ein LIF-MD6000 pASSP, zwei Sony-IMX-214-Kameras und ein 2:1-CSI-2-MUX.
  • Video Processing Board (Lattice-FPGA zur Bildverarbeitung)
  • Display Interface Board – Ausgabe zum Bildschirm (z.B. HDMI)

Zusammenfassung

In vielen Systemen zeigt sich, dass die Embedded-Software häufig gar nicht so soft ist – ganz im Gegenteil. Der ausgewählte Prozessor und die dazugehörige Firmware sollen möglichst nicht verändert werden müssen. Um in der kurzlebigen Zeit mit Abkündigungen von Displays oder auch dem Wunsch nach Kostenreduktion (durch neue, preiswertere Displays) agieren zu können, bietet Crosslink hier die nötige Flexibilität: Soll der Applikationsprozessor trotz neuem Display unverändert weiterverwendet werden, muss lediglich geprüft werden, ob eine neue Konfiguration des Crosslink-Bausteins notwendig ist. Damit können die Entwickler auch schnell auf einen Lieferengpass reagieren und eine Bestückungsvariante als Second Source realisieren. Es ist aber auch möglich, die Produkte zu diversifizieren. Die Crosslink-Bausteine von Lattice erlauben als neue ASSP-Klasse flexible Lösungen für Schnittstellenprobleme in der Bildverarbeitung.