6/p

ElapC6
28/10/2014
Ingegneria dell’Informazione
Lezione C6: Collegamenti Seriali
• Motivazioni dei collegamenti seriali
ELETTRONICA APPLICATA
E MISURE
• Skew e sincronizzazione
• Diafonia, Crosstalk, Interferenza Intersimbolica
Dante DEL CORSO
• Diagramma ad occhio
C6 – COLLEGAMENTI SERIALI
»
»
»
»
• Protocolli seriali asincroni
Limiti dei bus paralleli
Diagramma ad occhio
Protocollo base asincrono
Esempi di protocolli sincroni
• Protocolli seriali sincroni
• Riferimenti
– D. Del Corso: Elettronica per Telecomunicazioni: cap. 5.5
AA 2014-15
28/10/2014 - 1
ElapC6 - 2014 - DDC
28/10/2014 - 2
Collegamenti paralleli e seriali
• Connessione parallela
ElapC6 - 2014 - DDC
Da bus parallelo a bus seriale
• Limiti dei collegamenti paralleli
– Velocità limitata da propagazione (tTX) e skew tK
1
0
1
1
0
1
0
0
N bit
» Trasferimenti Source Synch  no tTX , rimane lo skew tK
Parallela
 i bit sono “trasportati” da
più conduttori in un
unico intervallo temporale
– Strutture multipunto richiedono terminazioni  potenza!
– Per incrementare il throughput  elevato parallelismo
» Connettori più grandi
» Maggiori problemi di compatibilità elettromagnetica (EMI e EMC)
» Incremento del consumo
• Soluzione: migrazione verso collegamenti seriali
• Connessione seriale
10110100
1 bit
– ATA  SATA (Serial ATA)
– SCSI  SAS (Serial Attached SCASI)
– PCI  PCI Express
Seriale
 i bit sono trasportati da un unico
conduttore in tempi diversi
28/10/2014 - 3
ElapC6 - 2014 - DDC
28/10/2014 - 4
Collegamento seriale
ElapC6 - 2014 - DDC
Coll. seriale autosincronizzante
Data
Data + Clock
Clock
•
•
•
•
Trasferimento di N bit  N cicli: elevata LATENZA
N driver, 1 ciclo  1 driver, N cicli: consumo invariato
Pochi segnali  ridotte EMI/EMC
Disallineamento temporale (Skew) Dati/Clock
28/10/2014 - 5
© 2014 DDC
ElapC6 - 2014 - DDC
• Dati e CK sono trasportati dallo stesso conduttore:
 nessun disallineamento dovuto allo skew
• Tecnica di Clock/Data embedding (fusione)
 Richiede protocolli specifici
28/10/2014 - 6
ElapC6 - 2014 - DDC
1
ElapC6
28/10/2014
Caratteristiche collegamenti seriali
• Vantaggi dei collegamenti seriali:
–
–
–
–
Pochi conduttori (fino a singolo, con opportuni protocolli)
Semplificazione del routing o cablaggio,
Riduzione del consumo (unico driver)
Migliore per lunghe distanze e/o alta velocità
• Problemi dei collegamenti seriali:
Bit e Simboli
• Il segnale trasmesso è una sequenza di SIMBOLI
Un singolo simbolo può rappresentare uno o più bit
– Bit rate (BPS, b/s): bit/s
– Baud Rate: simboli/s
– Efficienza: bit/baud
– 1 bit/simbolo
– Bit rate = Baud rate
» Clock separati  risincronizzazione periodica (byte, messaggio)
» Clock “embedded”  autosincronizzazione (a tutti i livelli)
• RZ: 0L; 1impulso
– 1 bit/simbolo
– Bit rate = Baud rate
– A livello transazione: meccanismo di controllo di flusso
ElapC6 - 2014 - DDC
• I segnali possono essere rappresentati tramite
componenti I/Q (fase/quadratura)
Simbolo (01)
 Costellazione dei segnali
0
0
0
0
0
1
1
0
1
_________/\_/\____/\_/\_
ElapC6 - 2014 - DDC
• L’informazione può essere alterata da segnali “vicini”
• Collegamento parallelo  diafonia (crosstalk)
– Trasferimento di segnale
da un conduttore agli altri
– Stesso tempo, differente
posizione (altro conduttore)
I
x
• Collegamenti seriali  ISI
(Inter Symbolic Interference)
• Esempio 2: QAM
1
Interferenza intersimbolica (ISI)
Q
– 4 valori di fase
– 2 bit/simbolo
– Efficienza = 2
0
28/10/2014 - 8
Costellazione di segnali
• Esempio 1: QPSK
1 1 0 1 1
_____
_____
_________/
\__/
• NRZ: 0L; 1H
– Ciclo  spostamento di un simbolo (1 o più bit);
ritardo nel trasferimento di pacchetti di più bit  latenza
– Sincronizzazione a livello ciclo
28/10/2014 - 7
simbolo
t
– Trasferimento di segnale da
un intervallo temporale all’altro
– Stesso conduttore (unico!),
differente tempo
– 4 fasi, 4 ampiezza
– 4 bit/simbolo
– Efficienza = 4
Simbolo (1101)
28/10/2014 - 9
ElapC6 - 2014 - DDC
28/10/2014 - 10
ElapC6 - 2014 - DDC
Collegamento seriale base
Cadenza di trasmissione seriale
Registro SIPO:
SeriaL In Parallel Out
LOAD
DATO TX
Cadenza di Bit (Bit Rate) = 1/ TBIT
CKRX
DATS
TBIT
DATA
ELECTRIC LEVEL
B
A
PISO
VB
CKTX
trasmettitore
DRIVER
Z, tpd
SIPO
CKTX
VC
DATS
RECEIVER
Registro PISO:
Parallel In Serial Out
DATO RX
READY
CKRX
ricevitore
TSU
Clock TX and RX devono essere sincronizzati
(stessa frequenza, relazione di fase nota)
28/10/2014 - 11
© 2014 DDC
TH
Campionamento al RX
ElapC6 - 2014 - DDC
28/10/2014 - 12
ElapC6 - 2014 - DDC
2
ElapC6
28/10/2014
Esempio: trasm. di “01000101” (45H)
DATATX
Latenza = TBIT x num. di bit
45h
LOAD
• Sincronismo di Bit:
– Garantisce il corretto campionamento del singolo bit (corretto
caricamento nel registro del ricevitore)
– Legato alle relazioni di fase tra transizioni Dati e di CKRX
BIT
• Sincronismo di Carattere
CKTX
DATS
Livelli di sincronismo
1
0
1
LSB
0
0
0
1
– Garantisce il corretto riconoscimento di MSB e LSB
(posizione dei bit nel registro ricevitore)
– Legato all’attivazione del segnale READY
0
DATA
CKRX
• Sincronismo di Messaggio:
READY
DATARX
– Assegna un significato ai caratteri
(intestazione, lunghezza, priorità, dati, …)
45h
LATENZA
28/10/2014 - 13
ElapC6 - 2014 - DDC
28/10/2014 - 14
ElapC6 - 2014 - DDC
Come sincronizzare a livello bit
Singolo clock – generato da TX
• Due fili, velocità fissa, limitata da tK (WR sincrono)
• Vantaggi: massima velocità (Source Synchronous)
• Stesso Clock per TX e RX, generato da
– TX: Source Synchronous (come WRITE, vincolo tK)
– RX: Asincrono (come READ, vincoli tK e tTX )
LOAD
• Generatori di Clock indipendenti
TXDATA
CKRX
– Nessuna sincronizzazione
DATA
» Non garantisce tsu e th;  non funziona
– Sincronizzazione periodica del Clock RX
» Protocollo asincrono (seriale)
CKTX
• Estrazione del Clock RX dal segnale ricevuto (CDR)
CLOCK
RXDATA READY
– Sincronizzazione saltuaria (dalle transizioni)
» Richiede un limite all’intervallo tra le transizioni
trasmettitore
– Sincronizzazione continua  modulazioni embedded clock
28/10/2014 - 15
ElapC6 - 2014 - DDC
28/10/2014 - 16
Singolo clock – generato da RX
• Due fili, velocità limitata da tK (RD asincrono)
• Vantaggi: RX controlla la velocità (handshake !)
LOAD
Velocità di trasferimento
– L’interconnessione modifica le relazioni temporali
• Cadenza limitata da questi vincoli di sincronizzazione
CKRX
– Clock generato al trasmettitore (TX)
» Clock e dati si spostano nella stessa direzione
» Le variazioni di temporizzazione derivano solo dallo skew
» Tckmin = Tsu + Tk
(Th compreso in Tco)
DATA
trasmettitore
28/10/2014 - 17
© 2014 DDC
ElapC6 - 2014 - DDC
• Necessario garantire tSU e tH per il registro receiver
TXDATA
CKTX
ricevitore
CLOCK
– Clock generato al ricevitore (RX)
RXDATA READY
» Due Ttx: per clock da RX a TX, per dati da TX a RX
» Le variazioni di temporizzazione dipendono da Ttx e Tk
» Tckmin = 2 Ttx + 2 Tk + Tsu
(Th compreso in Tco)
ricevitore
ElapC6 - 2014 - DDC
28/10/2014 - 18
ElapC6 - 2014 - DDC
3
ElapC6
28/10/2014
Clock Cooperativo (I2C
• Permette sincronizzazione tra più unità
• Handshake: STB/ACK codificati sullo stesso segnale
LOAD
Clock indipendenti isofrequenziali
• Richiede un singolo conduttore (Data)
• Errori causati dallo sfasamento dei clock
LOAD
TXDATA
TXDATA
CKRX
CKRX
DATA
DATA
CLK
CKTX
CKTX
CKRX
RXDATA READY
RXDATA READY
trasmettitore
trasmettitore
ricevitore
28/10/2014 - 19
ElapC6 - 2014 - DDC
28/10/2014 - 20
ElapC6 - 2014 - DDC
Limiti dei clock indipendenti
• Ideale: generatori di clock sincronizzati, no rumore
• Caso reale (Fck “nominalmente uguali” lato TX e RX)
– La frequenza dei generatori di clock varia
– Il segnale viene modificato da ISI, rumore, …)
 spostamento dell’istante di campionamento
ricevitore
Diagramma ad occhio (Eye diagram)
Margine di
rumore stato H
NMH
DATA (TX)
DATA (RX)
• Dopo la sincronizzazione il corretto campionamento
dipende da spostamenti di fase e rumore
– Risincronizzazione periodica (ogni S bit)
– Risincronizzazione su ogni bit: embedded clock
APERTURA per
campionamento OK
NML
tSU
Margini
temporali
CKRX
tCK
 Diagramma ad occhio
ElapC6 - 2014 - DDC
∆tCK
Spostamento
max del Clock
28/10/2014 - 22
ElapC6 - 2014 - DDC
Parametri del diagramma ad occhio
• Zona (t, A) di corretto campionamento: (Eye opening)
– V: da VIL a VIH; t: almeno per tSU + tH
• Asse tempi: errori ∆tCK per sfasamenti di CK
Modem sincrono
• Unico canale (singolo conduttore)
• TX: unisce dati e clock (clock embedding)
• RX: separa dati da clock  sincronizzazione continua
– Tolleranze e derive in frequenza (medio termine)
– Spostamenti in ciascun periodo di clock  skew e jitter
ricevitore
MODEM
• Asse ampiezze: rumore, distorsione, ISI
– VOH, VOL, VIH, VIL (driver e receiver)
– Pendenza dei fronti (banda del canale)
– Rumore e interferenza intersimbolica (ISI)
© 2014 DDC
DATA + CLOCK
CKTX
CKRX
MODEM
• Intervallo di risincronizzazione  legato a tCK/∆tCK
28/10/2014 - 23
VIL
Margine di
rumore stato L
CKTX
• Per individuare i margini di tempo e ampiezza:
28/10/2014 - 21
tH
VIH
ElapC6 - 2014 - DDC
trasmettitore
28/10/2014 - 24
ElapC6 - 2014 - DDC
4
ElapC6
28/10/2014
Cadenza di trasferimento
• Singolo conduttore  nessuno skew
Prestazioni dei collegamenti seriali
• Velocità (bit rate)
– Possibile operare con bit rate molto alti ( 10 Gb/s)
– Occorre fondere/separare dati e sincronismo
– Il sincronismo aggiunge informazione  maggiore banda
(simboli dedicati o modulazioni)
– L’overhead di sincronismo dipende dalla precisione degli
oscillatori
– Limitata dall’errore temporale (jitter) di campionamento
– Migliorabile riducendo gli “errori” di temporizzazione
• Lunghezza del collegamento
– Limitata da attenuazione, distorsione, rumore
– Migliorabile aumentando l’escursione di tensione
• Entrambi migliorabili con segnali differenziali
• Dai bit ai simboli
– Alta immunità al rumore con bassa escursione di tensione
– Codifica: operazione su un flusso di informazione digitale
» Aggiunge sincronismo e/o controllo errori
• Due “famiglie” di ottimizzazione
– Modulazione: operazione su segnali analogici
– Collegamenti di lunghezza ridotta, alta velocità
– Collegamenti di una certa lunghezza, bassa velocità
» Adatta il segnale alle caratteristiche del canale (banda, rumore)
28/10/2014 - 25
ElapC6 - 2014 - DDC
28/10/2014 - 26
ElapC6 - 2014 - DDC
Collegamenti asincroni e sincroni
• Collegamento seriale asincrono
Lezione C6: Collegamenti Seriali
• Motivazioni dei collegamenti seriali
– Bit organizzati in caratteri
– Trasmissione discontinua
– Sincronizzazione del CK a inizio carattere
• Skew e sincronizzazione
• Diafonia, Crosstalk, Interferenza Intersimbolica
• Diagramma ad occhio
• Protocolli seriali asincroni
• Collegamento seriale sincrono
– Bit organizzati in pacchetti (packet/frame, varie dimensioni)
– Transmissione continua
– Sincronizzazione del clock su ogni bit (codifica/modulazione)
28/10/2014 - 27
ElapC6 - 2014 - DDC
• Protocolli seriali sincroni
28/10/2014 - 28
ElapC6 - 2014 - DDC
Collegamenti seriali asincroni
Carattere seriale asincrono
• La linea a riposo ha uno stato definito (alto)
Linea a riposo
– La trasmissione di un carattere può iniziare in qualsiasi
momento
– L’inizio del carattere è segnalato da un simbolo di START
CARATTERE
DATA
• Clock lato RX generato al ricevitore, sincronizzato dal
fronte di discesa dello Start bit
1
– Oscillatori con errori e derive
– Sincronizzazione mantenuta per un tempo limitato
– Necessaria risincronizzazione periodica
0
0
TBIT
STOP bit (1 o 2)
Trasmissione di 45H (LSB first)
– Almeno uno Stop (bit H) in coda a ciascun carattere
© 2014 DDC
0 0 1
START bit
• Per garantire che venga rilevato il simbolo Start (bit L)
28/10/2014 - 29
1 0
ElapC6 - 2014 - DDC
28/10/2014 - 30
ElapC6 - 2014 - DDC
5
ElapC6
28/10/2014
Sequenza di caratteri
UART
• UART: Universal Asynchronous Receiver/Transmitter
carattere
carattere
• Lato TX
carattere
– Conversione P  S con registro PISO
– Inserimento dei simboli Start e Stop
– Eventuale EDC (parità)
data
data
10011010
10100010
Linea riposo
START bit
data
• Lato RX
00101110
–
–
–
–
STOP bit
28/10/2014 - 31
ElapC6 - 2014 - DDC
28/10/2014 - 32
Sincronizzazione nella UART
• Con transizione H  L, e rimane per TBIT/2,
ElapC6 - 2014 - DDC
Connessioni a standard RS 232
• Standard per il livello fisico
– Riconoscimento di uno Start Bit
– Sincronizzazione dell’istante di campionamento (clock dai bit)
– Inizia conteggio bit/carattere
– Nato per collegamento di terminali o computer verso Modem
– Definisce
» Segnali su un connettore (25 pin)
» Segnali di comando per Modem
» Livelli elettrici
• All fine del carattere
– Verifica di parità (se richiesta)
– Verifica dello Stop bit
– Attivazione del flag “dato RX pronto” (Ready)
– Non definisce un formato di carattere
• Usato spesso per collegare periferiche
• Attesa nuova transizione H  L (inizio altro carattere)
• Limiti:
– Num bit/car limitato da ΔfCK tra TX e RX
28/10/2014 - 33
Sincronismo di Bit e di Carattere (dallo Start Bit)
Conversione S  P con registro SIPO
Verifica del formato di ogni carattere (Stop Bit)
Eventuale verifica EDC (parità)
ElapC6 - 2014 - DDC
– Elevata immunità al rumore, bassa velocità
– Versioni semplificate (esempio: 9 pin)
• Strati superiori definiti da V24, V92, ….
28/10/2014 - 34
Lezione C6: Collegamenti Seriali
ElapC6 - 2014 - DDC
Protocolli sincroni
• Motivazioni dei collegamenti seriali
• Protocolli asincroni  sincronizzazione periodica
• Skew e sincronizzazione
• Protocolli sincroni  sincronizzazione continua
– Come mantenere il sincronismo di bit?
 includere riferimenti temporali  transizioni
• Diafonia, Crosstalk, Interferenza Intersimbolica
• Diagramma ad occhio
• Estrazione del clock dai dati (CDR: CK-D. Recovery):
transizioni in posizione nota entro ciascun TBIT
• Protocolli seriali asincroni
– Embedded Clock (clock immerso), modulazioni sincrone, ...
• Protocolli seriali sincroni
• Sincronizzazione del clock dai dati:
garantire un massimo intervallo tra le transizioni
– Bit stuff: inserimento di bit aggiuntivi per garantire transizioni
– BxBy: da x bit a y (>x) bit, con transizioni garantite (BxTy)
28/10/2014 - 35
© 2014 DDC
ElapC6 - 2014 - DDC
28/10/2014 - 36
ElapC6 - 2014 - DDC
6
ElapC6
28/10/2014
Codifiche per collegamenti seriali
• NRZ: Not Return to Zero
Codifica NRZ
• NRZ: Not Return to Zero
– NRZ-L, NRZ-M, NRZ-S, …
– NRZ-L: 1 rappresentato da uno stato H, 0  L
– NRZ-M: 1  transizione ; NRZ-S: 0  transizione
– Ogni simbolo può terminare H o L
• RZ: Ritorno a Zero (unipolare)
– RZ-M, RZ-S
• Codici BxBy, BxTy, …
• Codifiche multilivello: MLT-3 (MultiLev Trans): +, 0, – Codice ternario, richiede migliore SNR
• Codifica Manchester e derivate
• Sequenze senza transizioni  recupero CK saltuario
• …..
• Banda: 1 transizione/bit  Fmax = BitRate/2
28/10/2014 - 37
ElapC6 - 2014 - DDC
28/10/2014 - 38
ElapC6 - 2014 - DDC
Codifica NRZ L
• NRZ L  dati binari, senza modifiche!
Codifica RZ
• RZ: Ritorno a Zero (unipolare)
– Senza ritorno a 0 (Not return to 0 – level: NRZ-L)
– 1: stato H
Segnale trasmesso ≡ sequenza di bit
– 0: stato L
– Tutti i simbolo iniziano e terminano con 0 (o altro stato fisso)
– RZ-M: 1 rappresentato da un impulso H (Mark) (RZ-S: 0  H)
• Nessuna transizione per sequenze fisse (0 per M)
Segnale
ricevuto
• Banda: 2 transizioni/bit  Fmax = BitRate
Ritardo tra segnale trasmesso
e segnale ricevuto
28/10/2014 - 39
ElapC6 - 2014 - DDC
28/10/2014 - 40
ElapC6 - 2014 - DDC
Garantire le transizioni!
• Il riferimento temporale è dato dalle transizioni
Codifica MLT-3
• Codifiche multilivello: MLT-3 (MultiLev Trans): +, 0, -
– NRZ e RZ: possibili lunghi intervalli senza transizioni
– Nessun riferimento temporale per sincronizzare il clock RX
– 0: Nessuna variazione; 1: variazione
» Se lo stato precedente è + o -, passa a 0
» Se lo stato precedente è 0, passa + or -, opposto al precedente
• Occorre evitare lunghe sequenze senza transizioni
– Codice ternario, richiede migliore SNR
– Codifiche con Embedded clock (clock immerso)
» Codici ternari (MLT), codici Manchester, …
– Bit stuffing (inserimento di bit)
MLT-3
» Inserimento di 0/1 nelle sequenze di 5 1/0 consecutivi
– Gruppi di 4 bit senza transizioni  5 bit con transizioni
» Codici BxBy (4/5, 8/10, 32/36, …)
• Le transizioni aggiunte aumentano la banda richiesta
28/10/2014 - 41
© 2014 DDC
ElapC6 - 2014 - DDC
_________
____|
|____
____
|__________________|
• Banda (sequenza di 1): Fmax = BitRate/4
• Non garantisce transizioni  richiede altre tecniche
• Usato per Ethernet 100Base-T
28/10/2014 - 42
ElapC6 - 2014 - DDC
7
ElapC6
28/10/2014
Codici Manchester
• Modulazione di fase (variazioni di ; Bi-Phase L)
Modulazioni
• Modulazioni convenzionali (analogiche)
– 0: transizione H  L
– 1: transizione L  H
– Nessun vincolo tra portante e cadenza dati (bit rate)
– Possibili rapporti non interi portante/bit rate
– Non permette il recupero dl clock
• Modulazioni sincrone (per lo più digitali)
– Rapporto intero portante/bit rate
– Fase della portante fissata per ciascun intervallo di bit
– Possibile estrazione clock dai dati
(Clock Data Recovery: CDR)
• Una transizione/bit (almeno)  autosincronizzante
• Banda: 2 transizioni/bit  Fmax = BitRate
» Richiede presenza continua di una portante (anche a livelli
bassi)
• Varianti:
– MFM, M2FM: Manchester :2
28/10/2014 - 43
ElapC6 - 2014 - DDC
28/10/2014 - 44
Esempio di modulazione ASK
• ASK (PAM): Amplitude Shift Keyed
– 1: portante
– 0: no portante (no CDR);
(oppure portante ridotta per CDR)
Q
Esempio di modulazione PSK
• PSK: Phase Shift Keyed
1
0
ElapC6 - 2014 - DDC
– Fase portante controllata da modulazione
– Portante sempre presente  possibile CDR!
I
Q
1
I
0
28/10/2014 - 45
ElapC6 - 2014 - DDC
28/10/2014 - 46
ElapC6 - 2014 - DDC
Lezione C6 – test conclusivo
• Quali sono i vantaggi di un collegamento seriale?
• Elencare i parametri che descrivo un collegamento seriale.
• Descrivere le differenze tra collegamenti seriali sincroni e
asincroni.
• Cosa è un diagramma a occhio?
• Da quali parametri dipende la massima velocità operativa di un
collegamento seriale?
• In quali condizioni trasmettitore e ricevitore possono usare
generatori di clock indipendenti?
• Come si può definire il massimo intervallo di risincronizzazione?
• Indicare un esempio di codifica con embedded clock.
28/10/2014 - 47
© 2014 DDC
ElapC6 - 2014 - DDC
8