Facoltà dell Informazione Lezione D6 Modulo Elettronica per l informatica D Protocolli D6 - Protocolli seriali» Trasmissione seriale» Modulazioni e codifiche» Recupero del clock» Sincronismo (rev 2/9/25 9.) Catena di comunicazione seriale Sincronismo di bit, di carattere, di pacchetto Collegamenti asincroni e sincroni Modulazioni e codifiche Codifiche con embedded clock Separazione dati/clock Riferimenti nel testo Collegamenti seriali 5.5 //25 - ELINF - D6-25 DDC //25-2 ELINF - D6-25 DDC Richiami su livelli OSI Trasmissione seriale o parallela Livello : fisico (elettrico) Trasmissione di sequenze di bit» Codifica dei bit» Caratteristiche del canale Livello 2: data link Trasmissione di pacchetti di dati» Identificare inizio/fine dei pacchetti» Gestire controllo di flusso (e ritrasmissioni)» Gestire accesso al mezzo trasmissivo Livello 3: network Instradamento attraverso nodi intermedi» Scegliere percorsi I dati possono essere trasferiti in forma seriale o parallela: N bit bit Informazione sequenziale (bit presenti in tempi successivi su unico filo) Informazione parallela (bit presenti nello stesso tempo su fili diversi) //25-3 ELINF - D6-25 DDC //25-4 ELINF - D6-25 DDC Collegamento parallelo Collegamento seriale (autosinc.) Trasferimento di N bit con un singolo ciclo Dati e sincronismo (clock) su conduttori separati Problema dello skew Trasferimento di N bit in N cicli: LATENZA Dati e sincronismo su unico conduttore Non viene introdotto skew //25-5 ELINF - D6-25 DDC //25-6 ELINF - D6-25 DDC Page 25 DDC
Collegamenti seriali Collegamenti seriali e paralleli Unico filo di connessione (o pochi fili) Semplificazione del cablaggio Minori costi, minori consumi Utilizzati per lunghe distanze, alte velocita Ogni ciclo trasferisce un solo bit Introduce latenza Problemi di protocollo: Sincronizzazione a livello ciclo» Sincronismo di bit Gestione a livello transazione» Controllo di flusso //25-7 ELINF - D6-25 DDC //25-8 ELINF - D6-25 DDC Bit e simboli Sistema base di collegamento seriale E possibile associare più bit a un simbolo BPS: bit/s Baud Rate: symb/sec Esempio : QPSK 4 valori di fase 2 bit/simbolo Esempio 2: QAM 4 valori di fase 4 valori di ampiezza 4 bit/simbolo LOAD PISO DATO TX A DRIVER DATS LIVELLO ELETTRICO Z, t pd Clock TX e RX sincronizzati (stessa frequenza, relazione di fase nota e costante) V B V C B RECEIVER DATO RX SIPO READY //25-9 ELINF - D6-25 DDC //25 - ELINF - D6-25 DDC Trasmissione seriale Trasmissione di (85h) Bit Rate = / T BIT DATS DATO T BIT DATOTX 85h LOAD BIT DATS LSB DATO READY DATORX 85h //25 - ELINF - D6-25 DDC //25-2 ELINF - D6-25 DDC Page 2 25 DDC 2
Livelli di sincronismo Come ottenere il sincronismo di bit Sincronismo di Bit: Garantisce il corretto campionamento del singolo bit (caricamento corretto nel registro ) Legato alla fase di (rispetto alle transizioni dati) Sincronismo di Carattere: Garantisce il corretto riconoscimento di MSB e LSB (posizione dei bit nel registro ) Legato alla attivazione di READY Sincronismo di Messaggio: attribuzione del significato ai caratteri (header, lunghezza) Stesso clock lato TX e RX Generato da TX: Source Synchronous Generato da RX: asinc., latenza per il tempo di trasmissione Clock indipendenti, nessuna sincronizzazione non garantisce il sincronismo di bit Clock sincronizzati; lato RX sincronizzato periodicamente (protocollo asincrono) Estrazione del clock RX dal segnale ricevuto (CDR) Periodicità massima delle transizioni Richiede codifiche o modulazioni //25-3 ELINF - D6-25 DDC //25-4 ELINF - D6-25 DDC Stesso clock lato TX Stesso clock lato RX Due collegamenti Velocità fissa, limitata da t K (protocollo sincrono) Due collegamenti Velocità variabile, limitata da t TX (come asincrono) CLOCK CLOCK //25-5 ELINF - D6-25 DDC //25-6 ELINF - D6-25 DDC Clock cooperativo Clock isofrequenziali indipendenti Due collegamenti Limite di velocità legato al tempo di trasmissione (I 2 C) Un collegamento Errori per sfasamento dei clock CLK //25-7 ELINF - D6-25 DDC //25-8 ELINF - D6-25 DDC Page 3 25 DDC 3
Sincronizzazione del clock lato RX Estrazione del clock dai dati Un collegamento Richiede codifica dei dati (start bit, BxBy, ) Sincronismo di bit periodico Un collegamento Richiede una modulazione (start bit, BxBy, ) Sincronismo di bit continuo + CLOCK //25-9 ELINF - D6-25 DDC //25-2 ELINF - D6-25 DDC Comunicazione tra moduli Sincrono Stesso clock per tutti i moduli Mesocrono Clock con la stessa frequenza, ma fase non nota (unico oscillatore, skew) Occorre correggere la fase del clock Plesiocrono Clock con frequenze simili (oscillatori separati, la fase varia) Occorre ricostruire il clock, o rivelare salti di fase di π Asincrono No clock, handshake Collegamenti sincroni e asincroni Trasmissione seriale asincrona Bit organizzati in trame (caratteri) discontinue Sincronismo di bit riacquisito ad ogni carattere Trasmissione seriale sincrona Bit organizzati in trame (frame), o in flusso continuo Sincronismo di bit continuo (codifica o modulazione) Informazioni aggiuntive per sincronizzazione di trama //25-2 ELINF - D6-25 DDC //25-22 ELINF - D6-25 DDC Protocollo seriale asincrono Trasmissione seriale asincrona La linea a riposo é in uno stato definito e costante (H) Un carattere puó essere trasmesso in qualunque momento L inizio del carattere è segnalato con uno stato L (Start Bit) Il clock viene generato al, e sincronizzato con lo Start Bit Il sincronismo di bit viene mantenuto per un tempo limitato Per garantire il riconoscimento dello Start Bit Almeno uno Stop Bit tra caratteri consecutivi START bit linea a riposo CARATTERE //25-23 ELINF - D6-25 DDC //25-24 ELINF - D6-25 DDC Page 4 25 DDC 4
Trasmissione seriale asincrona Sequenza di caratteri linea a riposo CARATTERE DATO carattere carattere carattere T BIT START bit STOP bit ( o 2) dato dato dato linea a riposo START bit STOP bit //25-25 ELINF - D6-25 DDC //25-26 ELINF - D6-25 DDC UART UART UART (Universal Asynchronous Receiver/Transmitter) Lato TX Conversione con registro P-S Inserisce Start e Stop bit» Inserisce eventuali EDC Lato RX Ricava il sincronismo di bit (dallo Start Bit) Conversione con registro S-P Verifica il formato dei caratteri (presenza dello Stop Bit)» Verifica eventuali EDC Clock principale F = 6 x bit rate Lo Start Bit sincronizza il divisore Risoluzione di sincronizzazione limitata //25-27 ELINF - D6-25 DDC //25-28 ELINF - D6-25 DDC Sincronizzazione nell UART Sincronismo di bit Verifica lo stato della linea Se passa da H a L, e rimane L per T BIT /2, e uno start bit sincronizza il clock di bit inizia il conteggio dei bit del carattere Al termine del carattere Verifica la presenza di Stop bit Alza Ready Per differenze e deriva degli oscillatori viene mantenuto per un tempo limitato Maschera per corretta ricezione (diagramma a occhio) Errore in tempo Sincronizzazione discreta Sfasamento degli oscillatori Margine in ampiezza Deve avere ampiezza esterna a V IH -V IL //25-29 ELINF - D6-25 DDC //25-3 ELINF - D6-25 DDC Page 5 25 DDC 5
Numero massimo di bit/carattere Verifica bit/carattere Definire una finestra di corretto campionamento Tempo: ¼ t bit (o derivare da specifiche di ampiezza e SR) Ampiezza: ½ Vmax (o derivare da V IH e V IL ) Da Vmax e dalla banda del canale Limite a dv/dt (SR) Escursione tra simboli adiacenti Limite max di bit rate Garantire apertura dell occhio Dato l errore tra gli oscillatori TX e RX Numero max di bit per carattere (tra due start bit) Specifiche driver V OH, V OL 4 V, V dv/dt,5 V/ms Canale Rumore additivo Vpp Specifiche receiver V IH, V IL 3 V, 2 V Oscillatori di clock Differenza 2 % Determinare in numero max bit/carattere //25-3 ELINF - D6-25 DDC //25-32 ELINF - D6-25 DDC RS 232 RS 232 originario Standard di interconnessione a livello fisico Nato per connessione calcolatore-modem Definisce» segnali e piedini del connettore (25 pin)» Comandi al modem» Livelli elettrici NON DEFINISCE il formato del carattere linea telefonica Usato anche per calcolatore-periferica Versione semplificata (9 pin) Protocolli di livello più alto definiti come V24, V92,. CALCOLATORE RS 232-C TERMINALE //25-33 ELINF - D6-25 DDC //25-34 ELINF - D6-25 DDC Terminologia RS232 Segnali principali : Data Terminal Equipment (calcolatore, stampante, terminale,..) : Data Communication Equipment (modem) Connettore: DB 25; polarita e verso dei segnali: : maschio; pin 4, 2,..: out : femmina; pin 4, 2,..: in Livelli elettrici: stato + 6.. + 2 V > + 3 V - 6.. - 2 V < - 3 V nome direzione (m) (f) pin (DB25) Terra (protezione) - - Massa (segnale) - 7 GND Dato trasmesso >>>> 2 TXD Dato ricevuto <<<< 3 RXD Request To send >>>> 4 RTS Clear To Send <<<< 5 CTS Data Set Ready <<<< 6 DSR Data Carrier Detect <<<< 8 DCD Data Terminal Ready >>>> 2 DTR Ring Indicator <<<< 22 RI... //25-35 ELINF - D6-25 DDC //25-36 ELINF - D6-25 DDC Page 6 25 DDC 6
Procedure di collegamento Uso improprio dello RS 232 Sequenza da testo linea telefonica CALCOLATORE?? RS 232-C TERMINALE Richiede un NULL //25-37 ELINF - D6-25 DDC //25-38 ELINF - D6-25 DDC Esempio di null-modem TXD RXD RTS CTS DSR DTR... GND pin (DB25) TXD 2 RXD 3 RTS 4 CTS 5 DSR 6 DTR 2... GND 7 Il null modem esegue gli scambi di piedini (uscita TXD su ingresso RXD,...) e la richiusura di alcune linee di controllo (RST-CTS,..) //25-39 ELINF - D6-25 DDC Page 7 25 DDC 7