Codice 64b66b

Il codice 64b / 66b è un codice di linea che mappa una parola di dati a 64 bit in una parola di codice a 66 bit. Questo codice di linea viene utilizzato nel contesto di Gigabit Ethernet , come 10 Gigabit Ethernet, 40 Gigabit Ethernet e 100 Gigabit Ethernet. Il codice di riga 64b / 66b è strutturato in modo completamente diverso e ha proprietà spettrali e statistiche diverse rispetto ad es. B. il codice 8b10b .

Come qualsiasi codice di linea, viene utilizzato per adattare spettralmente una sequenza di dati utente ai requisiti fisici del mezzo di trasmissione come una linea. Il tipo di implementazione garantisce, in particolare, che la sequenza di codice generata sia priva di componenti dirette , il che consente la trasmissione tramite trasformatori di impulsi che non consentono il passaggio di alcuna componente diretta nel segnale. I trasformatori di impulsi vengono utilizzati per l'isolamento elettrico nell'area dell'interfaccia Ethernet fisica . Inoltre, la codifica 64b / 66b garantisce che il ricevitore possa recuperare l' orologio dalla parola in codice . Ciò è necessario affinché il ricevente possa riconoscere gli orari in cui viene trasmesso un determinato stato.

funzionalità

I 66 bit di una parola in codice sono introdotti da un preambolo di 2 bit. Le quattro possibili combinazioni del preambolo significano ciascuna:

Preambolo 01
I seguenti 64 bit sono dati utente.
Preambolo 10
Questo è immediatamente seguito da un campo tipo con una lunghezza di 8 bit con successivi 56 bit di informazioni di controllo e controllo o dati utente. Il significato dipende dal campo tipo. Il campo del tipo è lungo 8 bit, ma solo 16 valori e quindi sono consentite funzioni; questi hanno una distanza di Hamming di almeno 4 tra loro.
Preamboli 00 e 11
Non autorizzato. Genera (alla seconda occorrenza consecutiva) un errore alla ricezione.

L'uso di 01 o 10 come preambolo valido garantisce un fronte di segnale all'interno del preambolo. Di conseguenza, l'orologio del simbolo può essere determinato sul lato ricevente mediante un anello ad aggancio di fase .

I dati utente a 64 bit o 56 bit di dati di controllo e monitoraggio sono collegati tramite uno scrambler auto-sincronizzato , il che significa che i campi dati sono privi di componenti costanti solo su una media a lungo termine. Lo scrambler è implementato sotto forma di un registro a scorrimento con feedback lineare . L'approccio scrambler alla codifica 64b / 66b è una differenza importante rispetto al codice di linea basato su tabella 8b10b. I codici utilizzati nel campo tipo sono costituiti da quattro bit 0 e 1 ciascuno , in modo che non sia richiesto alcuno scrambler.

Il polinomio di scrambling è: x 58 + x 39 + 1.

Modifiche al codice 64b / 66b

Codice 128b / 130b

Il preambolo non è seguito da 64 bit, ma da 128 bit. Viene utilizzato con PCI Express versione 3 o successiva.

Il polinomio di rimescolamento è: x 23 + x 21 + x 16 + x 8 + x 5 + x 2 + 1.

Codice 128b / 132b

I preamboli non sono 01 e 10, ma 0011 e 1100. Come per il codice 128b / 130b, seguono 128 bit di dati; viene utilizzato con USB 3.1.

Codice 64b / 67b

I preamboli recitano:

Preambolo 001
I seguenti 64 bit sono dati utente.
Preambolo 101
I seguenti 64 bit sono dati utente. Sono invertiti.
Preambolo 010
I seguenti 64 bit sono informazioni di controllo.
Preambolo 110
I seguenti 64 bit sono informazioni di controllo. Sono invertiti.
Preamboli x 00 ex 11
Non autorizzato.

Impostando il primo bit in modo appropriato, l'encoder può contrastare attivamente la deriva CC e limitare la disparità a −33… +33. Nel caso di un codice 64b / 66b, la disparità non è limitata nemmeno nella media statistica, il che porta a derive della linea di base che portano a proprietà di trasmissione significativamente peggiori rispetto ad es. B. porta a quelli dei codici 8b / 10b.

Le proprietà statistiche e spettrali sono molto più favorevoli di quelle della codifica 64b / 66b. Questo codice viene utilizzato nel protocollo Interlaken sviluppato da Cisco Systems e Cortina Systems . utilizzato per la comunicazione tra Xilinx e Altera FPGA .

link internet

Prove individuali

  1. Interfacce I / O ad alta velocità: protocollo Interlaken FTF-NET-F0154. (PDF; inglese)