Post on 11-Jun-2020
ETLC2 - B4 23/05/2006
2006 DDC 1
Page 1
23/05/2006 - 1 ETLC2 - B4 - 2006 DDC
Politecnico di TorinoFacoltà dell’Informazione
Modulo
Elettronica delle telecomunicazioni II
B Protocolli
B4 – Esempi di protocolli seriali» Trasmissione seriale» Modulazioni e codifiche» Recupero del clock» Sincronismo» esempi
23/05/2006 - 2 ETLC2 - B4 - 2006 DDC
Lezione B4
• Modulazioni e codifiche • Codifiche con embedded clock• Separazione dati/clock• Esempi di protocolli seriali
– SPI– I2C– USB– Altri
• Riferimenti nel testo– Collegamenti seriali 5.5
23/05/2006 - 3 ETLC2 - B4 - 2006 DDC
Procolli seriali sincroni
• Usano codifiche o modulazioni che permettono di estrarre o sincronizzare il clock dal segnale ricevuto
– Transizioni in posizione fissa a ogni TBIT (portante)– Intervallo massimo tra le transizioni
• Protocolli a carattere:– Sincronismo di carattere inserito con sequenze speciali – Il ricevitore deve riconosce queste sequenze per individuare
la posizione dei caratteri
• Protocolli a bit– Inizio del messaggio identificato con sequenze speciali– Il ricevitore deve riconosce queste sequenze per individuare
l’inzio dei messaggi
23/05/2006 - 4 ETLC2 - B4 - 2006 DDC
Protocollo sincrono
• Come mantenere il sincronismo di bit ?
• L’informazione temporale è associata alle transizioni– Codifiche con frequenza minima di transizioni– BxBy, o BxTy
» Inserimento di bit aggiuntivi– Modulazioni con embedded clock– Modulazioni con portante sincrona
• Come acquisire il sincronismo di bit ?– Preambolo noto
• Operazioni di Clock Data Recovery (CDR)
23/05/2006 - 5 ETLC2 - B4 - 2006 DDC
Scelta di codifica/modulazione
• Banda occupata– Legata al numero di transizioni– Poche transizioni per periodo (max 2)
• Minimo overhead di protocollo– Pochi bit aggiunti
• No componente continua– Canale senza DC– Trasformatori, accoppiamenti C
• (Complessità co-decodifica)
23/05/2006 - 6 ETLC2 - B4 - 2006 DDC
Codifiche RZ
• RZ: Return to Zero (unipolare)– Ogni simbolo inizia e finisce con 0 V (o altro livello fisso)– RZ-M: 1 rappresentato con impulso H (Mark) (RZ-S: 0 = H)
• Nessuna transizione per sequenze costanti (0 per M)
• Banda: max 2 transizioni/bit, quindi Fmax = BitRate
ETLC2 - B4 23/05/2006
2006 DDC 2
Page 2
23/05/2006 - 7 ETLC2 - B4 - 2006 DDC
Codifiche RZ ternarie
• RZ bipolare (ternario):– 1 rappresentato con impulso +V, – 0 rappresentato con impulso –V
• Presenza di transizioni anche per sequenze costanticodifica autosincronizzante (embedded clock)
• Banda: 2 transizioni/bit, quindi Fmax = BitRate
_ _ _ _RZ _ __| |_ _| |__| |_ _ _ __| |__
|_| |_| |_| |_| |_|
23/05/2006 - 8 ETLC2 - B4 - 2006 DDC
Codifiche NRZ
• NRZ: Not Return to Zero– Non è richiesto che ogni simbolo finisca con un livello fisso– NRZ-L: 1 rappresentato con stato H– NRZ-M: 1 rappresentato con transizione (NRZ-S: 0=trans)
• Nessuna transizione per sequenze costanti
• Banda: max 1 transizione/bit, Fmax = BitRate/2
23/05/2006 - 9 ETLC2 - B4 - 2006 DDC
• NRZI: Not Return to Zero Inverting– Non è richiesto che ogni simbolo finisca con un livello fisso– 1: rappresentato con transizione– 0: rappresentato con stesso lo stato precedente
• Nessuan transizione per sequenze costanti a 0
• Banda: max 1 transizione/bit, Fmax = BitRate/2
Codifica NRZI
_________ __________________NRZI _______| |____| |___
23/05/2006 - 10 ETLC2 - B4 - 2006 DDC
Sommario codifiche RZ e NRZ
• Codifiche senza embedded clock
23/05/2006 - 11 ETLC2 - B4 - 2006 DDC
Codifica MLT-3
• Multilevel Transmission Encoding – 3 levels
• Codice ternario: richiede migliore SNR
• 0: nessuna variazione• 1: variazione
– Se il livello precedente era + o – va a 0– Se il livello precedente era 0 variazione opposta al segno
precedente
_________ MLT-3 ____| |____ ____
|__________________|
23/05/2006 - 12 ETLC2 - B4 - 2006 DDC
Codifica MLT-3
• Esempio MLT-3DATI 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0
Variaz - / \ / - \ - - - - / - - - - - \ - / \ / -
Segnale 0 0 + 0 - - 0 0 0 0 0 + + + + + + 0 0 - 0 + +
• Banda (serie di 1): Fmax = BitRate/4
• Usato per Ethernet 100Base-TX
Da http://de.wikipedia.org/wiki/MLT-3-Code
ETLC2 - B4 23/05/2006
2006 DDC 3
Page 3
23/05/2006 - 13 ETLC2 - B4 - 2006 DDC
Combinazione 4B-5B e MLT-3
Da: http://www.soi.wide.ad.jp/class/20030021/slides/02/14.html
23/05/2006 - 14 ETLC2 - B4 - 2006 DDC
Codifiche Manchester
• Modulazione di fase (salti di fase di π)• 0: transizione H -> L• 1: transizione L -> H
– Una transizione per ogni bit (almeno) autosincronizzante– Banda: max 2 transizioni/bit, Fmax = BitRate
• Varianti– MFM– M2FM: Manchester :2
23/05/2006 - 15 ETLC2 - B4 - 2006 DDC
Sommario codifiche manchester
• Codifiche con embedded clock
23/05/2006 - 16 ETLC2 - B4 - 2006 DDC
Codifiche MFM e M2FM
• MFM– Legata alla sequenza
• M2FM– Manchester :2 – Stessa informazione– Banda ridotta: 1 transizione /bit– Decodifica più complessa
23/05/2006 - 17 ETLC2 - B4 - 2006 DDC
Spettro delle varie codifiche
• Occupazione spettrale legata al numero di transizioni
23/05/2006 - 18 ETLC2 - B4 - 2006 DDC
Modulazioni sincrone
• Rapporto intero tra periodo della portante e Tbit
• La demodulazione sincrona con PLL permette di recuperare il clock e mantenere il sincronismo di bit
• Esempi:
– PAM
– PSK
– FSK
ETLC2 - B4 23/05/2006
2006 DDC 4
Page 4
23/05/2006 - 19 ETLC2 - B4 - 2006 DDC
Codifiche xByB
• Blocco di X bit sostituito con un blocco di Y bit (Y > X)– Il nuovo blocco garantisce
» Presenza di transizioni» Livello DC = 0 (o quasi)» Codici riservati per comandi/controlli
– Può essere codificato NRZ (miglior uso della banda)
– Maggiore occupazione in banda (% = incremento bit)
• Uso corrente– 4B5B– 8B10B– 64B66B
23/05/2006 - 20 ETLC2 - B4 - 2006 DDC
Esempio 4B5B
• Dai codici 4 bit (16) a 5 bit (32)
• Ridondanza usata per:
– Inserire transizioni– Rimuovere DC– Caratteri di controllo
11000: start 110001: start 200100: halt… 011110111
011100110010110101010100100101010011101000010010010001111100000
111011111111001110110111101110101100101111011101101010100111001100101000
23/05/2006 - 21 ETLC2 - B4 - 2006 DDC
Sommario codifiche per CDR
• manchester, MFM, M2FM• Codici BxBy e BxTy• Protocolli con Bit stuff• Modulazioni PSK• Modulazioni coerenti
• Esercitazione:– Separazione dati/clock, esempio PSK– Sincronizzazione e separazione con PLL
23/05/2006 - 22 ETLC2 - B4 - 2006 DDC
Lezione B3
• Sincronismo di bit, di carattere e di pacchetto• Collegamenti asincroni e sincroni• Modulazioni e codifiche • Codifiche con embedded clock• Separazione dati/clock• Esempi di protocolli seriali
– SPI– I2C– USB– Ethernet (T100)– PCI express
23/05/2006 - 23 ETLC2 - B4 - 2006 DDC
Procollo SPI
• Serial Peripheral Interface
• Comunicazioni processore – periferici (DSP-A/D, …)– Già prevista su molti dispositivi– Disponibile come IP
• Sincronizzazione di ciclo:– Clock unico a 10 MHz (o F scelta da utente)– Polarità definita dall’utente
• Unica catena o Chip Select multipli
• Formato messaggi– Definito da utente
23/05/2006 - 24 ETLC2 - B4 - 2006 DDC
Procollo SPI
• Ogni dispositivo è uno Shift Register
• Quattro segnali– Clock– Chip Select– Data In– Data Out
• Il Master genera clock e CS
• Lo Slave viene selezionato da CS
ETLC2 - B4 23/05/2006
2006 DDC 5
Page 5
23/05/2006 - 25 ETLC2 - B4 - 2006 DDC
Procollo SPI
• Trasferimento di un byte
23/05/2006 - 26 ETLC2 - B4 - 2006 DDC
Procollo SPI
• Configurazione con CS multipli
23/05/2006 - 27 ETLC2 - B4 - 2006 DDC
Procollo SPI
• Dispositivi collegabili in cascata con unico CS
23/05/2006 - 28 ETLC2 - B4 - 2006 DDC
Procollo I2C
• Struttura multipunto (bus)
• Linee pilotate con Open Collector (OD)– L prevale su H, – Nessuna collisione
23/05/2006 - 29 ETLC2 - B4 - 2006 DDC
Clock distribuito I2C
• Linea in wired-AND• Ogni dispositivo può prolungare lo stato L
23/05/2006 - 30 ETLC2 - B4 - 2006 DDC
Formato caratteri I2C
• Transizioni dato solo con CLK in stato L
• Simboli di Start e Stop:– Start: DATA H->L con CLK alto – Stop: DATA L->H con CLK alto
ETLC2 - B4 23/05/2006
2006 DDC 6
Page 6
23/05/2006 - 31 ETLC2 - B4 - 2006 DDC
Allocazione canale I2C
• Fase di arbitrazione iniziale– Ogni modulo invia su DATA il proprio codice di priorità– Meccanismo per rivelare differenze locali/canale bit per bit
» In caso di differenza, il modulo si ritira– A causa del wired-AND, “vince” chi è più vicino a 000..0
23/05/2006 - 32 ETLC2 - B4 - 2006 DDC
Allocazione canale I2C: esempio
• Codice 1: 101ZZ; Codice 2: 10010– Il modulo 1 rileva la differenza e si ritira al CLK 3
23/05/2006 - 33 ETLC2 - B4 - 2006 DDC
Procollo Ethernet
• 1973: prima versione Xerox (3 Mb/s)• 1981: 10 Mb/s su coassiale (RG8)• 1990: versione UTP• 1995: 100Base-T• 1998: 1000Base-X (ottica)• 2000: 1 Gb/s su UTP• 2004: 10GBase-T
• Nome: <velocità><base/broadband><supporto>
23/05/2006 - 34 ETLC2 - B4 - 2006 DDC
Ethernet 10/100
23/05/2006 - 35 ETLC2 - B4 - 2006 DDC
Segnali MLT - 3
23/05/2006 - 36 ETLC2 - B4 - 2006 DDC
Soglie ricevitore
ETLC2 - B4 23/05/2006
2006 DDC 7
Page 7
23/05/2006 - 37 ETLC2 - B4 - 2006 DDC
Errori di guadagno e offset
23/05/2006 - 38 ETLC2 - B4 - 2006 DDC
Effetto dell’equalizzatore
23/05/2006 - 39 ETLC2 - B4 - 2006 DDC
PCI- express – livello fisico
• Collegamenti punto-punto, 2,5 Gb/s ( 10 Gb/s)• Full duplex (canali RX/TX separati)• Coppie differenziali LV, accoppiamento AC (lane)
– Ridotta EMI/EMC, basso consumo
• Ambiente trasmissivo ben controllato
• Codifica 8b/10b• Preenfasi per ridurre ISI• Modulare: possibile collegare più lane in parallelo
– Diversi connettori compatibili
• Interrupt e altri comandi diretti con messaggi
23/05/2006 - 40 ETLC2 - B4 - 2006 DDC
PCI- express – connettori
• Possibile up-plugging(board N in connettore N+m)
23/05/2006 - 41 ETLC2 - B4 - 2006 DDC
Specifiche driver PCI express
23/05/2006 - 42 ETLC2 - B4 - 2006 DDC
De-enfasi driver PCI express
ETLC2 - B4 23/05/2006
2006 DDC 8
Page 8
23/05/2006 - 43 ETLC2 - B4 - 2006 DDC
Specifiche driver PCI express
23/05/2006 - 44 ETLC2 - B4 - 2006 DDC
Specifiche ricevitore PCI express
23/05/2006 - 45 ETLC2 - B4 - 2006 DDC
Specifiche ricevitore PCI express
23/05/2006 - 46 ETLC2 - B4 - 2006 DDC
Specifiche ricevitore PCI express
23/05/2006 - 47 ETLC2 - B4 - 2006 DDC
Diagrammi a occhio PCI express
23/05/2006 - 48 ETLC2 - B4 - 2006 DDC
Interfaccia scheda PCI express
ETLC2 - B4 23/05/2006
2006 DDC 9
Page 9
23/05/2006 - 49 ETLC2 - B4 - 2006 DDC
Livello elettrico PCI express
• Linee differenziali terminate• Accoppiamento AC• Verifica continuamente la presenza del ricevitore
23/05/2006 - 50 ETLC2 - B4 - 2006 DDC
Procollo USB
• Universal Serial Bus
• Topologia a stella (insieme di P-P)
• Segnali differenziali– Immunità ai disturbi di modo comune– Buone carateristiche EMC
• Tre velocità– 1.1: 1,5 e 12 Mb/s– 2.0: 480 Mb/s
23/05/2006 - 51 ETLC2 - B4 - 2006 DDC
USB: il cavo
• Quattro conduttori, raccolti in due doppini:– Doppino attorcigliato per la trasmissione dati (D+ e D-);– Coppia per l’alimentazione
+Vcc e GND, Corrente max 500 mA
23/05/2006 - 52 ETLC2 - B4 - 2006 DDC
USB - caratteristiche elettriche
• Lunghezza max 5 m
• Impedenza caratteristica Z0=90 Ω ± 15%;
• Attenuazione (max)– a 64KHz 0,08dB/metro; a 400MHz 5,8dB/per metro.
• Ritardo di Propagazione (max)– 26ns per full speed; 18ns per low speed
23/05/2006 - 53 ETLC2 - B4 - 2006 DDC
USB – caratteristiche elettriche
• Segnale differenziale• Livelli uscita:
– stato L: Tra 0 V e 0.3 V;– stato H: Tra 2,8 V e 3,6 V.
• fronti di salita e di discesa da 4 ns a 20ns
• Alta Zi per isolare le periferiche spente
• Simboli speciali non diff: SE0, EOP, Reset, ..– Violazioni della codifica differenziale
• Stato di riposo IDLE
23/05/2006 - 54 ETLC2 - B4 - 2006 DDC
Driver low-speed (1,5 Mb/s)
• lunghezza massima di 3 m.• Fronti di salita/discesa da 75 a 300 ns.
ETLC2 - B4 23/05/2006
2006 DDC 10
Page 10
23/05/2006 - 55 ETLC2 - B4 - 2006 DDC
Ricevitore USB
• Ricevitore con ingresso differenziale
• Sensibilità di almeno 200 mV
• Livelli driver da 0,8V a 2,5V
• Modo comune RX tra -0,5 V e 3,8 V.
• Receiver single-ended (con isteresi) per ciascuna linea, per identificare simboli particolari
23/05/2006 - 56 ETLC2 - B4 - 2006 DDC
Terminazione del segnale I
• Il segnale usb è terminato da hub e periferiche.• Le periferiche ad alta velocità sono terminate con una
resistenza di pull-up sulla linea D+• Le periferiche a bassa velocità sono terminate con
una resistenza di pull-up sulla linea D-
23/05/2006 - 57 ETLC2 - B4 - 2006 DDC
Start of Packet
• IDLE– Entrambe le linee L
• SOP (Start of Packet)
• HSSOP: analogo di SOP per HS.
23/05/2006 - 58 ETLC2 - B4 - 2006 DDC
End of packet
• EOP (End of Packet)– entrambe i differenziali hanno una tensione inferiore a 0,8
V(SE0) per due bit-time seguiti dallo stato di IDLE.
• HSEOP: EOP per HS– Generato quando si passa da J/K per HS allo stato Idle.
23/05/2006 - 59 ETLC2 - B4 - 2006 DDC
Segnale di Reset
• Segnale prolungato SE0
• Alla fine del Reset la periferica è collegata, ma non ancora indirizzata e configurata, alla catena USB.
• Generato dall’Host o dall’Hub per 10 ms.
• La porta che genera il Reset viene posta nello stato di disconnessione alla fine del segnale di Reset.
23/05/2006 - 60 ETLC2 - B4 - 2006 DDC
Connessione e Disconnessione
• Connessione:segnale Idle con durata superiore a 2,5 µs;
• Disconnessione:SE0 superiore a 2,5 µs
ETLC2 - B4 23/05/2006
2006 DDC 11
Page 11
23/05/2006 - 61 ETLC2 - B4 - 2006 DDC
Livelli del Protocollo
• LIB (Livello Interfaccia al Bus): – componenti hardware che serializzano il pacchetto. – interfacce differenti tra host e periferica.
• LPL (Livello di Periferica Logica): – sull’host è costituito dal software USB – sulla periferica è la logica per trattare i flussi di controllo
• LF (Livello Funzionale): – software utilizzatore dell’host e dalla funzione vera e propria
della periferica.
.
23/05/2006 - 62 ETLC2 - B4 - 2006 DDC
Tipi di pacchetti
• 3 tipi di pacchetti• Token;• Data;• Handshake
• Ogni pacchetto è diviso in campi di 8 bit (o multipli di 8) ciascuno.
• I bit vengono inviati sul bus dal bit meno significativo (LSB) al più significativo (MSB):
23/05/2006 - 63 ETLC2 - B4 - 2006 DDC
Struttura dei pacchetti
• Campo SYNC– sequenza di 8 bit in low speed, 32bit in high-speed– sincronizza il clock del trasmettitore e del ricevitore.
• SOP (Start of packet) : – ultimi due bit del SYNC – marca l’inizio effettivo del pacchetto.
• PID: campo di 8 bit identificativo del tipo di pacchetto– 4 bit, complementati e ripetuti dopo la serie originaria
23/05/2006 - 64 ETLC2 - B4 - 2006 DDC
Pacchetti TOKEN
• Emessi dall’host• Rappresentano i comandi per la rete USB.
SYNC | PID | ADDR | ENDP | CRC | EOP
• Il PID specifica tipo e sottotipo di pacchetto
• Esempi PID– Start Of Frame– In– Out
23/05/2006 - 65 ETLC2 - B4 - 2006 DDC
Pacchetti DATA
• Pacchetti DATA
SYNC | PID | DATA | CRC | EOP
• Campo DATA:– Low speed: 8 byte, Full speed 1023 byte– high speed 1024 byte
• Pacchetti ACKNOWLEDGE
SYNC | PID | EOP– ACK, NACK, STALL
23/05/2006 - 66 ETLC2 - B4 - 2006 DDC
Tipi di Trasferimento dell’USB
• Quattro tipi di trasferimento di informazione:– Control– Interrupt– Bulk– Isocrono
• Ogni trasferimento sull’USB è sempre controllato dal PC host e ha luogo tra il software client dell’host e l’endpoint di un dispositivo.
ETLC2 - B4 23/05/2006
2006 DDC 12
Page 12
23/05/2006 - 67 ETLC2 - B4 - 2006 DDC
Trasferimento di Controllo
• Usato dal software dell’host per configurare un dispositivo quando viene connesso, per comunicare le informazioni e chiedere lo stato
• Trasferimenti in entrambe le direzioni
• Dati mantenuti da chi trasmette– se necessario si ripete la trasmissione finché non c’è alcun
errore
• Pacchetti di 8, 16, 32 o 64 byte– 8 bit per dispositivi a bassa velocità
23/05/2006 - 68 ETLC2 - B4 - 2006 DDC
Trasferimenti di tipo Interrupt
• Usato per inviare dati in quantità modesta, intermittenti o non periodici (mouse, tastiera, …).
• Vincolo sul ritardo massimo per riconoscere la richiesta di un servizio da parte del periferico.
• Trasferimento sempre dal dispositivo all’host
• Avviati solo quando il controller dell’host da ok a un interrupt point e questo ha qualcosa da trasmettere
• La trasmissione si ripete sinchè non si è certi che sia andata a buon fine (Come per il control transfer)
23/05/2006 - 69 ETLC2 - B4 - 2006 DDC
Trasferimenti Isocroni
• Caratterizzati da un flusso continuo di informazioni
• In presenza di richiesta, il controller dell’hostdetermina se c’è banda disponibile
– Se OK il dispositivo è accettato sul bus – Se non OK rimane nello stato di configurazione oppure
richiede meno banda.
• 90% della larghezza di banda allocabile a trasferimenti di tipo periodico (isocroni e interrupt)
• Massima efficienza:– 20 diverse transazioni utilizzano l’85% della banda– 1,28Mbps complessivi
23/05/2006 - 70 ETLC2 - B4 - 2006 DDC
Trasferimenti di tipo Bulk
• Trasferimenti di grandi quantità di dati – Modo non continuo– Non ammettono la perdita di dati – Possono tollerare un ritardo variabile
• usato solo da dispositivi ad alta velocità
• I dati possono fluire in entrambe le direzioni, IN/ OUT
• In presenza di errori il bulk transfer viene ripetuto sinché non va a buon fine
• Accesso stabilito su base “as available” (quando è possibile)
23/05/2006 - 71 ETLC2 - B4 - 2006 DDC
Sommario USB
• Topologia di connessione a stella gerarchica. • Ciascuna connessione è un punto-punto tra host e periferico• Segnali e alimentazioni su un cavo a 4 fili: due trasportano
segnale differenziale, gl altri due alimentazione• Sono previste due cadenze: 12 e 1,5 Mb/s, più 480 Mb/s per
USB2• Sincronismo di bit ottenuto con codifica NRZI con bit stuffing• prima di ogni pacchetto un campo SYNC permette il sincronismo
e il recupero del clock• Tutte le transazioni comprendono tre pacchetti• Il controller invia un pacchetto TOKEN con tipo, direzione,
indirizzo dello slave.• La sorgente invia i dati (o indica che non ci sono dati disponibili):
pacchetto DATA.• La destinazione conferma con un pacchetto di ACK.
23/05/2006 - 72 ETLC2 - B4 - 2006 DDC
Altri procolli seriali
• SATA
• SPDIF
• Firewire