LVDS-SPI-Bridge, Asic oder FPGA und welches FPGA

Ich werde eine Kamera entwickeln, die den NanEye 2D-Bildsensor verwendet . Dies hat eine LVDS-Schnittstelle. Ich verwende eine MCU für die Datenverarbeitung, die keine LVDS-Schnittstelle hat, aber SPI und I2C. Daher dachte ich daran, ein FPGA für eine Brücke von LVDS-SPI zu verwenden. Ich möchte, dass die Kamera batteriebetrieben ist, daher ist der Stromverbrauch ein Schlüsselelement bei der Wahl des zu verwendenden FPGA.

Ich habe mich gefragt, ob einige vielleicht einige Eingaben zu dem zu verwendenden FPGA haben, ob es schließlich klüger wäre, ASIC zu verwenden. Ich erwäge die Verwendung des Microsemi Igloo Nano, des Lattice Mach03 und des Lattice iCE40.

Ich glaube nicht, dass es möglich sein wird, sie zu „überbrücken“. Die Kamera liefert eine beträchtliche Menge an Daten. Es erzeugt 10 Bit * 250 * 250 * 42 FPS (Minimum) = 26.460.000 Bit/s. Das sind ohne Steuernachrichten, dh nur die Daten.
Dies ist wie die Überbrückung eines Fußwegs zu einer Autobahn.
Das ist möglich, aber ziemlich nah an der Grenze. Sie müssen den LVDS-Stream decodieren (Bildgrenzen und Zeilengrenzen finden) und in den SPI-Stream codieren. Und Sie müssen Ihr SPI-Protokoll entwerfen. Solange Ihr FPGA den Speicher für ein oder zwei Bildzeilen und genügend Hochgeschwindigkeits-Pins für LVDS hat, sind Sie gut. Ich würde das BeMicro-Board für den Anfang empfehlen. Ehrlich gesagt, wenn Ihr Budget nicht zu knapp ist, ist es am einfachsten, den Mikrocontroller auch als Softcore in das FPGA zu brennen, und Sie müssen sich nicht mehr um SPI kümmern.

Antworten (1)

Anscheinend planen Sie eine Brücke von einer Hochgeschwindigkeitsschnittstelle (LVDS) zu einer Niedriggeschwindigkeitsschnittstelle (SPI), was ohne Kompromisse nicht funktionieren wird.
LVDS wird für Hochgeschwindigkeits-Datenschnittstellen verwendet, normalerweise um mehrere hundert Mbit/s (Megabit pro Sekunde) oder mehr zu übertragen.
SPI ist eine ziemlich langsame Schnittstelle, die normalerweise eine Datenrate von höchstens ein paar Mbit/s bietet.

Wenn eine reduzierte Framerate akzeptabel ist, können Sie ein FPGA verwenden, um einen einzelnen Frame zu puffern, der über die LVDS-Schnittstelle empfangen wurde. Die MCU kann dann den Frame über SPI mit einer viel langsameren Geschwindigkeit lesen. Nachdem der Frame von der MCU gesammelt wurde, puffert der FPGA den nächsten Frame und so weiter. Natürlich gehen viele Frames verloren, während die MCU den erfassten Frame aus dem Puffer liest. Beachten Sie, dass dies nur funktioniert, wenn die Frames Rohbilddaten enthalten, dh noch nicht codiert sind.