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: 0L; 1impulso – 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: 0L; 1H – 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
© Copyright 2024 Paperzz