CLHS IP Core consente ai prodotti a 25 Gbps di raggiungere rapidamente il mercato

Blog

CasaCasa / Blog / CLHS IP Core consente ai prodotti a 25 Gbps di raggiungere rapidamente il mercato

Mar 10, 2023

CLHS IP Core consente ai prodotti a 25 Gbps di raggiungere rapidamente il mercato

Crash test applications can benefit from the 25 G optical fiber interface of

Le applicazioni di crash test possono trarre vantaggio dall'interfaccia in fibra ottica da 25 G di Camera Link HS (CLHS). L'immagine viene catturata da una fotocamera PCO Excelitas. | Immagine gentilmente concessa da Excelitas PCO GmbH

Il core IP da 25 Gbps del protocollo CLHS X è lo stesso core IP che si trova in tutti i prodotti CLHS da 10 Gbps sul mercato ed è disponibile da A3 sin dal rilascio originale delle specifiche CLHS nel 2012. Questo core collaudato presenta semplicità utilizzare interfacce parallele per video, trigger bidirezionale, comandi della fotocamera, GPIO bidirezionale e messaggio di revisione CLHS. Eseguendo tutti i requisiti di codifica prioritari elencati nelle specifiche CLHS, il core semplifica lo sviluppo dei prodotti CLHS. Il modulo PCS associato esegue la codifica 64/66b con correzione degli errori in avanti garantendo trasmissioni prive di errori e consentendo l'utilizzo del core con ricetrasmettitori FPGA che offrono semplici serializzatori/deserializzatori 64 a 1. Non è necessario nessun altro IP.

La specifica CLHS 1.2 ha recentemente introdotto la velocità di 25 Gbps insieme ai connettori QSFP28, SFP28 e MPO. La buona notizia è che i motori ottici da 25 Gbps sono retrocompatibili con i motori ottici da 10 Gbps in cui avviene la scoperta CLHS. CLHS utilizza un processo di negoziazione fail-safe per passare a 25 Gbps. Diversi sviluppatori hanno già sviluppato sistemi a 25 Gbps utilizzando hardware comprovato a 10 Gbps per eseguire il debug del prodotto a 25 Gbps. Il comitato ha una prova di concetto per raggiungere 50 Gbps utilizzando lo stesso core IP, garantendo una facile transizione alle velocità future.

Questo documento descrive i passaggi per creare una soluzione CLHS a 25 Gbps in un FPGA per una fotocamera contenente un sensore di immagine monocromatico con pixel 2048H x 1024V con uscita a 12 bit a 950 fotogrammi al secondo. Si desidera inviare questi dati da 2,99 GByte/sec all'host per l'elaborazione; 2,99 GByte/sec rientra nella capacità di 3 GByte/s di una singola corsia CLHS a 25 G. Viene scelta una soluzione SFP28.

Il core VHDL aperto acquistato dall'A3 per $ 1000 (Camera Link HS Standard: The High-Speed ​​Interface for the Future of Imaging and Machine Vision (automate.org)) include la fotocamera CLHS e i moduli frame grabber e il CLHS PCS che costituisce un sistema completo sistema come mostrato di seguito.

Fonte immagine: Teledyne DALSA

Il core non è specifico per nessun fornitore ed è stato implementato su FPGA AMD (Xilinx), Intel (Altera) e MicroChip (PolarFire). Lo sviluppatore deve configurare la funzione del ricetrasmettitore, la distribuzione dell'orologio e la logica che alimenta/riceve messaggi al/dal core. La figura seguente mostra i canali di messaggio virtuale del core IP di Pulse (trigger), GPIO, Dati video, Comando e Revisione. La configurazione del ricetrasmettitore e la distribuzione del clock sono configurate dagli utenti del core. Tutte le regole di creazione, codifica e priorità dei pacchetti sono gestite dal core CLHS. Durante il rilevamento, il frame grabber legge i registri obbligatori nella telecamera e decide di avviare il trasferimento all'operazione a 25 Gbps, che richiede la riconfigurazione dei ricetrasmettitori e il ripristino di eventuali PLL associati.

Fonte immagine: Teledyne DALSA

Il core presenta interfacce parallele facili da usare. Ad esempio, il messaggio a impulsi viene inviato impostando la modalità di impulso desiderata e i byte associati nell'interfaccia parallela, quindi viene applicato un impulso di un clock al pin di ingresso della richiesta di invio. Il messaggio Pulse viene quindi trasmesso sul collegamento, dove il ricevitore CLHS decodifica il tipo di messaggio e segnala la disponibilità dei dati paralleli al sistema dell'utente con un impulso PulseMsgValidStrobe della durata di un clock. I messaggi GPIO e Revisione utilizzano metodologie identiche. I pacchetti video e di comando possono avere dimensioni rispettivamente fino a 8k e 1k byte. L'utente scrive rispettivamente i dati a 64 bit o 32 bit nel buffer CLHS con un impulso di abilitazione alla scrittura e una volta terminata la scrittura dei dati del pacchetto e l'impostazione del contenuto del byte dell'intestazione parallela, invia una richiesta di invio con ampiezza di un clock sul messaggio porta che fa sì che il core IP invii il messaggio sul collegamento. Al ricevitore il pacchetto in entrata viene decodificato e memorizzato correttamente nel buffer di ricezione video o comando e asserisce un impulso di un clock, come VidMsgValidStrobe, per segnalare che il buffer è pronto per essere letto.