CLHS IP Core ermöglicht 25-Gbit/s-Produkten die schnelle Markteinführung

Blog

HeimHeim / Blog / CLHS IP Core ermöglicht 25-Gbit/s-Produkten die schnelle Markteinführung

Mar 10, 2023

CLHS IP Core ermöglicht 25-Gbit/s-Produkten die schnelle Markteinführung

Crashtest-Anwendungen können von der 25-G-Glasfaserschnittstelle von profitieren

Crashtest-Anwendungen können von der 25-G-Glasfaserschnittstelle von Camera Link HS (CLHS) profitieren. Das Bild wird von einer Excelitas PCO-Kamera aufgenommen. | Bild mit freundlicher Genehmigung der Excelitas PCO GmbH

Der 25-Gbit/s-IP-Core des CLHS parallele Schnittstellen für Video, bidirektionalen Trigger, Kamerabefehle, bidirektionales GPIO und die CLHS-Revisionsmeldung zu verwenden. Der Kern erfüllt alle in der CLHS-Spezifikation aufgeführten Prioritätscodierungsanforderungen und vereinfacht die Entwicklung von CLHS-Produkten. Das zugehörige PCS-Modul führt eine 64/66b-Kodierung mit Vorwärtsfehlerkorrektur durch, um fehlerfreie Übertragungen zu gewährleisten und die Verwendung des Kerns mit FPGA-Transceivern zu ermöglichen, die einfache 64-zu-1-Serialisierer/Deserialisierer bieten. Es ist keine andere IP erforderlich.

Mit der CLHS-Spezifikation 1.2 wurde kürzlich die Geschwindigkeit von 25 Gbit/s zusammen mit den QSFP28-, SFP28- und MPO-Anschlüssen eingeführt. Die gute Nachricht ist, dass optische 25-Gbit/s-Engines abwärtskompatibel zu optischen 10-Gbit/s-Engines sind, bei denen die CLHS-Erkennung erfolgt. CLHS nutzt einen ausfallsicheren Verhandlungsprozess für die Umstellung auf 25 Gbit/s. Mehrere Entwickler haben bereits 25-Gbit/s-Systeme mit bewährter 10-Gbit/s-Hardware entwickelt, um das 25-Gbit/s-Produkt zu debuggen. Das Komitee verfügt über einen Machbarkeitsnachweis, um mit demselben IP-Kern 50 Gbit/s zu erreichen und so einen einfachen Übergang zu zukünftigen Geschwindigkeiten zu gewährleisten.

In diesem Dokument werden die Schritte zum Erstellen einer CLHS-25-Gbit/s-Lösung in einem FPGA für eine Kamera beschrieben, die einen monochromen Bildsensor mit 2048H x 1024V-Pixeln und einem 12-Bit-Ausgang mit 950 Bildern pro Sekunde enthält. Es ist erwünscht, diese Daten mit 2,99 GByte/s zur Verarbeitung an den Host zu senden; 2,99 GByte/s liegen innerhalb der 3 GByte/s-Kapazität einer einzelnen CLHS-Lane bei 25 G. Es wird eine SFP28-Lösung gewählt.

Der offene VHDL-Kern, der von A3 für 1.000 US-Dollar erworben wurde (Camera Link HS Standard: The High-Speed ​​Interface for the Future of Imaging and Machine Vision (automate.org)), umfasst die CLHS-Kamera- und Framegrabber-Module sowie das CLHS PCS, was eine Komplettierung darstellt System wie unten gezeigt.

Bildquelle: Teledyne DALSA

Der Kern ist nicht herstellerspezifisch und wurde auf FPGAs von AMD (Xilinx), Intel (Altera) und MicroChip (PolarFire) implementiert. Der Entwickler muss die Transceiver-Funktion, die Taktverteilung und die Logik konfigurieren, die Nachrichten an den/von dem Kern weiterleitet/abruft. Die folgende Abbildung zeigt die virtuellen Nachrichtenkanäle des IP-Cores für Pulse (Trigger), GPIO, Videodaten, Befehl und Revision. Die Transceiver-Konfiguration und die Taktverteilung werden von den Benutzern des Kerns konfiguriert. Alle Paketaufbau-, Kodierungs- und Prioritätsregeln werden vom CLHS-Kern verwaltet. Während der Erkennung liest der Framegrabber die obligatorischen Register in der Kamera und entscheidet, die Übertragung auf den 25-Gbit/s-Betrieb zu initiieren, was eine Neukonfiguration der Transceiver und ein Zurücksetzen aller zugehörigen PLLs erfordert.

Bildquelle: Teledyne DALSA

Der Kern bietet benutzerfreundliche parallele Schnittstellen. Beispielsweise wird die Impulsnachricht gesendet, indem der gewünschte Impulsmodus und die zugehörigen Bytes in der parallelen Schnittstelle eingestellt werden. Anschließend wird ein Impuls mit einer Taktbreite an den Sendeanforderungseingangspin angelegt. Die Pulse-Nachricht wird dann über die Verbindung übertragen, wo der CLHS-Empfänger den Nachrichtentyp dekodiert und dem System des Benutzers die parallele Datenverfügbarkeit mit einem einen Takt breiten PulseMsgValidStrobe-Impuls signalisiert. GPIO- und Revisionsnachrichten verwenden identische Methoden. Die Video- und Befehlspakete können bis zu 8 KB bzw. 1 KB groß sein. Der Benutzer schreibt die 64-Bit- bzw. 32-Bit-Daten mit einem Schreibfreigabeimpuls in den CLHS-Puffer und sendet nach Abschluss des Schreibens der Paketdaten und Festlegen des parallelen Header-Byte-Inhalts eine einen Takt umfassende Sendeanforderung für die Nachricht Port, der den IP-Core veranlasst, die Nachricht an den Link zu senden. Beim Empfänger wird das eingehende Paket dekodiert und korrekt im Video- oder Befehlsempfangspuffer gespeichert und gibt einen einen Takt breiten Impuls aus, z. B. VidMsgValidStrobe, um zu signalisieren, dass der Puffer zum Lesen bereit ist.

Betrachten wir die Videonachricht als Beispiel für die Festlegung der Header-Informationen. CLHS ist ein Remote-Paket im DMA-Stil, das RowID und ColumID verwendet, um die Pixelposition des ersten Pixels im Paket zu definieren. Der betrachtete Sensor ist 2.000 Pixel breit und die 12-Bit-Daten werden verkettet, was 3 KB für eine einzelne Datenzeile ergibt. Dies passt problemlos in das Maximum von 8 KB. Wenn die Datenrate des Sensors schneller wäre, könnte man eine zweite Spur hinzufügen und gerade Zeilendaten auf Spur 0 und ungerade Zeilendaten auf Spur 1 senden oder Pixel 0 an 1023 auf Spur 0 und Pixel 1024 an 2047 auf Spur senden 1. Die Wahl liegt beim Benutzer und wie er die CLHS-Datenpuffer füllt. In diesem Beispiel wird nur eine Spur benötigt und das erste Pixel jeder Zeile ist Spalte 0. Konventionsgemäß ist die erste Zeile eines Frames Zeile 0 und wird für jede von der Kamera ausgegebene Zeile inkrementiert. Wenn es sich bei dem Sensor um eine Oben-/Unten-Anzeige handelt, ist Zeile 0 die erste Zeile des Bildes und Zeile 1023 die zweite Zeile von der Kamera. Dabei wird die Zeilen-ID auf 0 und dann auf 1023 als Eingabe für den CLHS-Kern gesetzt. CLHS ist ein Daten-Push-Modell, sodass Kameras keine Bilddaten puffern müssen. Der Entwickler beschließt, ältere Framegrabber mit 10G-Fähigkeit zu unterstützen und in 2 Glasfaserverbindungen zu entwerfen, wodurch eine Bandbreite von 2,8 GByte/s erreicht wird und die Kamera so konfiguriert werden kann, dass sie eine einzelne 25-G-Lane für die volle Bildrate verwendet. Die Konfigurationen, die der Entwickler in der Kamera unterstützen möchte, sind unten aufgeführt und in den obligatorischen CLHS-Registern dokumentiert, damit der Framegrabber das Setup automatisch aushandeln kann.

Die auf den Video-IP-Kern der CLHS-Kamera angewendeten Werte sind in der folgenden Tabelle aufgeführt. Das kleine v-Präfix in den Portnamen weist darauf hin, dass es sich bei der für diese Schnittstelle verwendeten Uhr um eine vom Kunden bereitgestellte Videouhr handelt und alle Signale synchron zu dieser Uhr sind. Der Framegrabber-Kern verfügt über entsprechende Signale, außer dort, wo die Umkehrfunktion benötigt wird, wie z. B. vRdEn-Eingang und vVidDataAvailable, vVidMsgValidStrb und vVidDataValid.

CLHS verwendet einen bewährten Kern, der einfach zu verwenden ist, mit 10G und 25G arbeitet und eine Roadmap für 50G hat. Produkte können mit bewährten Partnerprodukten bei 10G entwickelt werden und nach der Fehlerbehebung auf 25G umsteigen. Kunden, die die Geschwindigkeit von 25G nicht benötigen, können optische 10G-Engines verwenden, die kostengünstiger und leistungsstärker sind und eine Verbindung zu 10G herstellen Framegrabber, die voraussichtlich kostengünstiger sind als leistungsstärkere 25G-Produkte.

Weiterlesen ≫