Elettronica applicata e misure Lezione C7 Gruppo lezioni C7 ! Collegamenti seriali asincroni ! ! 1, 2. Introduzione In tale gruppo di lezioni verranno argomentati:! • limiti dei bus paralleli;! • diagramma ad occhio;! • protocollo di base asincrono;! • esempi di protocolli sincroni.! ! Verranno quindi spiegate le motivazioni dei collegamenti seriali, analizzando il fenomeno dello skew e quanto questo influisce sulla sincronizzazione. Si parlerà della diafonia, del crosstalk e dell’interferenza intersimbolica. Verrà descritto cos’è e come leggere un diagramma ad occhio. Verranno presentati i protocolli seriali asincroni e le modulazioni per protocolli seriali sincroni.! ! Riferimenti bibliografici.! Dante Del Corso: “Elettronica per Telecomunicazioni”: cap. 5.5.! ! 3. Collegamenti paralleli e seriali La differenza tra un collegamento parallelo e un seriale è che i bit nel modello parallelo sono trasportati contemporaneamente a gruppi, quindi c’è un flusso di bit su più conduttori in un unico intervallo temporale. Nella connessione seriale invece i bit non sono raggruppati, quindi si ha una successione lineare di un bit alla volta su un unico conduttore.! COLLEGAMENTO SERIALE COLLEGAMENTO PARALLELO ! 4. Da bus parallelo a bus seriale Nei sistemi paralleli la velocità è limitata dal tempo di propagazione del segnale e dallo skew: tTX e tK. I trasferimenti di tipo SS (Soure Synchronous) non sono influenzati da tTX tuttavia rimangono affetti dal ritardo dello skew. Mentre le strutture di tipo multipli richiedono più terminazione e quindi è richiesta più energia. Si potrebbe incrementare il throughput, ma richiede un elevato parallelismo, e di conseguenza connettori più grandi, più problemi di compatibilità elettromagnetica (EMI e EMC) e si incrementano i consumi energetici.! ! Quindi la soluzione volge a un sistema basato su collegamenti di tipo seriale:! 1. da ATA si passa a SATA (Serial ATA);! 2. da SCSI si passa a SAS (Serial Attached SCASI);! 3. da PCI a PCI Express.! ! Bus seriale sono quelli più usati comunemente ai giorni nostri.! I limiti dei collegamenti paralleli sono: la potenza poiché più gli abbiamo il più moduli di controllo dobbiamo avere e quindi più potenza dobbiamo fornire all'intero sistema in seguito abbiamo problema di come sincronizzare le informazioni inviate a causa dello skew.! Per quanto riguarda i seriali non abbiamo di questi problemi.! A. A. 2013 / 2014 1 di 19 Elettronica applicata e misure ! Lezione C7 5. Collegamento seriale Nei collegamenti seriali il trasferimento di N bit deve avvenire in N cicli e quindi si ha una elevata latenza. Se si hanno N drivers e un ciclo oppure un driver e N cicli il consumo non cambia. Non è richiesto un numero elevato di segnali per il funzionamento delle operazioni di trasferimento quindi si hanno effetti di EMI/EMC ridotti). Tuttavia rimane il problema del disallineamento temporale dello skew sia per i dati che per il clock.! ! 6. Collegamento seriale autosincronizzante In tale sistema il segnale per i dati e quello di clock sono trasportati dallo stesso conduttore, in tal modo non si ha alcun disallineamento dovuto allo skew. Tale tecnica prende il nome di Clock/Data embedding (fusione) però richiede protocolli specifici (lo skew sparisce, viene eliminato).! ! Se si usa un bus parallelo in cui si abbia solamente due fili si potrebbe correre al problema di temporizzazione. Questo problema può essere sorpassato mettendo un solo filo per i dati e per ad esempio il clock (si vedano le due figure delle sezioni 5 e 6).! ! 7. Caratteristiche dei collegamenti seriali I vantaggi dei collegamenti seriali sono principalmente:! 1. si hanno pochi conduttori (fino addirittura ad uno soltanto, con opportuni protocolli);! 2. il routing e il cablaggio sono più semplici;! 3. i consumi sono più ridotti, dato che si ha un unico driver;! 4. è la soluzione migliore per quanto riguarda sistemi che coinvolgono le grandi distanze e/o alte velocità.! ! Tuttavia, anche i collegamenti di tipo seriale hanno i proprio svantaggi:! 1. scompare ovviamente il parallelismo, quindi il trasferimento di INF avviene uno alla volta; la latenza aumenta quando una WORD (x. es.) è composta da più INF;! 2. la sincronizzazione a livello di ciclo: se si hanno clock separati allora la risincronizzazione avviene in modo periodico (byte, messaggio, …) se è di tipo embedded allora si ha l’autosincronizzazione (a tutti i livelli);! 3. al livello transazione si deve implementare un meccanismo per il controllo del flusso di INF.! ! 8. Bit e simboli Il segnale viene trasmesso deve essere inteso come una sequenza ordinata di simboli. Ciascun simbolo può rappresentare uno o più bit a seconda del sistema in analisi. Si definiscono:! • il BIT RATE (BPS o b/s) che è la velocità intesa come bit al secondo;! • BAUD RATE che è la velocità dei simboli al secondo.! ! Per esempio, se in un sistema i simboli sono costituiti ciascuno da 5 bit e il bit rate è di 1 bit al secondo, il baud rate sarà di 1 simbolo ogni 5 secondi.! ! [In figura] Qui il bit/rate e il baud rate sono uguali per queste due modulazioni.! A. A. 2013 / 2014 2 di 19 Elettronica applicata e misure Lezione C7 Importante.! ! NRZ è Not Return to Zero.! ! RZ è Return to Zero.! ! Se si utilizza NRZ allora la codifica degli zero e uno è stata il modo "standard" in altre parole quando si ha un zero si ha una tensione pari a zero mentre quando si ha un uno logico si ha uno Stato alto. Entrambi gli Stati sia quello alto sia quello basso sono di durata pari alla durata di un bit.! Se invece si utilizza RZ lo zero logico lo si rappresenta con una tensione bassa, mentre se si utilizza un uno logico allora si utilizza un impulso che ha durata minore rispetto alla durata di un singolo bit.! L'intervallo del bit è l'intervallo che il modulo capisce che ci sta uno oppure 0.! ! ! In altre parole basta guardare il grafico di lato le due sbarre verticali indicano il periodo o meglio dire l'intervallo del bit.! ! ! 9. Costellazioni di segnali I segnali possono essere rappresentati tramite componenti di I/Q (fase / quadratura), ovvero secondo uno schema chiamato costellazione di segnali.! ! Ci sono due esempi: QPSK e QAM.! ! QPSK.! Si hanno 4 valori di fare e un simbolo è rappresentato da 2 bit.! ! QAM.! Si hanno 4 fasi, 4 ampiezze e ciascun simbolo è rappresentato da 4 bit.! ! Lo zero viene rappresentato come una sinusoide "normale", mentre 1 viene rappresentato come la stessa sinusoide ma con un salto di fase ossia sfasata di una fase.! Quindi se si vuole spedire un messaggio composto da uno 0 e uno 1 logico allora la risultante sarà il grafico in fondo: si parte con una sinusoide normale in seguito quando si vuole trasmettere l'uno questa sinusoide perde una fase e quindi si ritrova di controfase rispetto alla precedente.! ! ! In questa figura rappresentata la modulazione a salto di fase.! Nella figura a destra si cerca di delucidare il problema della quadratura e della fase. Sia nei corsi delle comunicazioni e nei corsi informatici non se ne ha notizia.! Partendo da destra e andando verso sinistra in basso sia una specie di algoritmo. La I rappresenta un seno mentre la Q rappresenta un coseno, i quali vengono sommati tra di loro oppure moltiplicati tra di loro con opportuni coefficienti, la risultante è ciò che siede nella figura a sinistra.! Il piano cartesiano rappresentato sopra a quella specie di algoritmo non vuole altro che rappresentare il punto del seno e del coseno. Sta di fatto che se si considera il punto rosso allora si deve andar considerare la sinusoide (I) che sta al di sotto del piano cartesiano rappresentato da con il medesimo colore.! Quindi sul cartesiano il punto in verde rappresenta il coseno mentre quella in nero rappresenta la I che è null'altro che un seno mentre in rosso è rappresentato il seno invertito ossia in controfase.! Queste tecniche sono utilizzate nei telefonini e nelle TV digitali.! A. A. 2013 / 2014 3 di 19 Elettronica applicata e misure Lezione C7 10. Interferenza intersimbolica L’informazione può essere alterata da segnali vicini: si parla di interferenza diafonica nei collegamenti di tipo parallelo e di interferenza intersimbolica in quelli seriali.! ! Nei collegamenti paralleli la diafonia è un disturbo che avviene è quando due segnali simili o anche diversi (basti pensare ai bus paralleli con segnali differenziali) vengono lanciati allo stesso istante su due conduttori vicini ma con differente posizione (per l'appunto in diversi conduttori). Tale problematica è conosciuta anche sotto il nome di crosstalk.! ! Crosstalk.! La causa è il campo elettromagnetico tempo-variabile che si genera attorno a un cavo in cui passa corrente non costante (segnale) generando uno scambio di energia da una linea all'altra, all'interno dello stesso conduttore, creando un disturbo indesiderato (la diafonia appunto). Questo campo magnetico variabile può indurre, in un cavo vicino, una differenza di potenziale e quindi una corrente indotta spuria.! ! Quindi non ci deve stupire se ad esempio si manda una sequenza 010 su un bus parallelo a tre linee e il ricevitore riceve 011; può essere a causa della diafonia. Questo problema è molto risentito per i bus paralleli e quindi se si deve prestare attenzione in fase di progettazione.! ! Nei collegamenti seriali invece si ha l’interferenza intersimbolica, che avviene quando un segnale viene trasferito da un intervallo di tempo all’altro, stesso conduttore e differente tempo.! ! Ciò vuol dire che c'è un unico conduttore che manda il segnale ad esempio 001 010 011 e così via ora se all'istante t sul conduttore c'è 011 XXX dove XXX è un segnale che c'era prima e a noi non c'è ne frega niente. Ora all'istante t1 abbiamo 010 011 e XXX è arrivato a destinazione, ora facciamo finta che per qualche strano motivo c'è una interferenza ed un uno si trasforma un 0 allora abbiamo 010 001 ma non finisce li. Questa trasformazione in qualche modo si "distende" anche a quella che lo circonda: 010 100 e questo è male quindi il ricevitore riceve una cosa molto brutta.! ! Ora sui segnali digitali è un po’ difficile che accada ma se usiamo segnali di tipo modulati come visto prima allora la cosa è grave perché una modulazione che porta 3 simboli va ha interferire con le altre.! ! Nei collegamenti paralleli la diafonia è un disturbo che avviene è quando due segnali “simili” vengono lanciati allo stesso istante su due conduttori vicini ma con differente posizione. Tale problematica è conosciuta anche sotto il nome di crosstalk.! ! Nei collegamenti seriali invece si ha l’interferenza intersimbolica, che avviene quando un segnale viene trasferito da un intervallo di tempo all’altro, stesso conduttore e differente tempo.! ! ! ! ! ! A. A. 2013 / 2014 4 di 19 Elettronica applicata e misure Lezione C7 11. Collegamento seriale base Se si ha dal lato del trasmettitore ad esempio un registro e si desidera trasmettere alcune informazioni del registro ad un modulo (ricevitore) e si possiede un solo cavo si deve in qualche modo si serializza il cavo. Quindi dalla parte del trasmettitore avremmo un registro che riesce a sterilizzare quello che bisogna inviare. Mentre dalla la ricevitore avremo un registro (shift register) e sarà in grado di prendere un imput seriale e di paralizzarlo.! 12. Cadenza di trasmissione seriale ! ! ! ! ! ! ! E si invia un segnale all'atto del trasmettitore (colore rosso) si ha che il dato viene caricato (colore nero) a ogni colpo di clock rispetto all'atto del trasmettitore (colore rosso).! Invece dall'atto del ricevente (colore blu) il colpo di clock è dato da uno sfasamento in modo tale che colui che deve ricevere non riceva un dato sbagliato in altre parole se si avesse lo stesso clock non sfasato il modulo che riceve il segnale prenderebbe il segnale quando il modulo trasmettitore posiziona il segnale sulla linea.! Quindi i due clock devono essere sfasati in modo tale che i tempi di hold e di setup sono garantiti.! 13. Esempio: la trasmissione della sequenza “01000101” (85H) ! Si può sterilizzare il dato mandando il dato da MSB a LSB o viceversa tanto è uguale, l'unica cosa che il ricevitore e il trasmettitore abbiamo la stessa convenzione e non che uno abbia la convenzione da MSB a LSB e l'altro da LSB a MSB.! ! Tempo di lattenza è il tempo che intercorre da quando il trasmettitore manda il primo dato a quando il ricevitore riesca a ricostruire tutto il dato (bit o parola o parole )! ! ! ! A. A. 2013 / 2014 ! 5 di 19 Elettronica applicata e misure Lezione C7 14. Livelli di sincronismo Si hanno tre livelli di sincronismo: bit, carattere e messaggio. In tale corso esamineremo i primi due.! ! Livello di sincronismo bit: in tale livello si deve garantire il corretto campionamento del singolo bit, ovvero si deve garantire che il registro del ricevitore registri correttamente il bit che riceve. Tale sincronismo è legato alle relazioni di fase tra transizioni DATI e CKRX.! ! Nel livello del sincronismo di carattere, si deve garantire il corretto riconoscimento di MSB (most significative bit) e LSB (least significative bit). Tale sincronismo è di un livello più alto ed è legato all’attivazione del segnale READY.! ! Il sincronismo del livello di messaggi assegna un significato ai caratteri e quindi entrano in gioco concenti come intestazioni, lunghezza, priorità, dati, … .! ! Nel disegno si vede il sincronismo di bit, ossia quando si deve andare a sincronizzare il segnale con il clock. Si deve dire al ricevitore di sincronizzare il segnale quando è a metta della porta (lo possiamo vedere cosi il segnale).! Se si da al ricevitore il segnale di clock ove vi è la freccia rossa, li in quel punto non va bene poiché c'è il cambiamento del bit e quindi i tempi di setup e di hold non sono garantiti.! Questo è il sincronismo di bit.! Mentre il sincronismo di carattere o di parola è simile a quello dei bit, in soldoni si va a contattare i numeri di bit che il ricevitore deve prendere prima di completare la parola.! ! ! 15. Come sincronizzare a livello di bit Si ci si concentra ora sulla sincronizzazione livello di bit. Si ha lo stesso click per TX e per RX. Tale clock viene generato da:! • TX per i sistemi SS come WRITE e vincolo tK;! • RX per i sistemi asincroni come READ, vincoli tK e tTX.! ! ! Nei generatori di clock di tipo indipendente non c’è alcuna sincronizzazione quindi non si può garantire tSU e tH. Quindi il sistema non può funzionare. Una sincronizzazione del clock è necessaria.! ! Se si ha due sistemi un sistema che invia informazioni e il sistema che riceve informazioni, questi due sistemi devono essere sincronizzati da uno stesso clock.! Esistono due soluzioni:! 1. la prima soluzione è di avere due generatori di clock posizionati uno in un sistema e l'altro nell'altro sistema che abbiano la stessa frequenza. Sebbene abbiano la stessa frequenza, la stessa marca, la stessa fabbrica di costruzione avranno comunque un'incertezza e quindi questo sistema potrà funzionare fino a un certo punto dopo il quale ci sarà uno sfasamento tra i due segnali (clock). Per ovviare a questo si risintonizza in due clock in modo tale da evitare questo problema;! 2. la seconda soluzione è di avere un solo generatore di clock e di trasmettere il segnale di temporizzazione attraverso la linea dati. In altre parole quando si inviano dei dati ogni tanto si invia dei bit per risincronizzare i due moduli. Oppure di trasmettere su un cavo differente ma stando attenti che c'è il problema del ritardo.! A. A. 2013 / 2014 6 di 19 Elettronica applicata e misure Lezione C7 16. Singolo clock generato da TX Come in figura, si anno due conduttori, la velocità è fissa e limitata dallo skew tK (il WRITE è sincrono). Tale strategia permette la massima velocità (è SS). La sincronizzazione avvine al lato del trasmettitore quindi si ha un unico clock.! ! ! ! 17. Singolo clock generato da RX Con due conduttori, la velocità è limitata dallo skew (il READ è asincrono), in tal modo RX controlla la velocità (grazie al segnale di handshake). Il clock qui è generato al ricevitore.! ! 18. Velocità di trasferimento L’interconnessione modifica le relazioni temporali, quindi è necessario garantire i tempi di tSU e tH per il registro del receiver.! ! La cadenza è limitata da questi vincoli di sincronizzazione.! • Il clock viene generato al trasmettitore (TX) in tal caso il clock e i dati si spostano nella stessa direzione, le variazioni di temporizzazione derivano solo dallo skew. Il periodo minimo di clock tCKmin viene definito da tCKmin = tSU + tK.! • Quando il clock viene generato al ricevitore (RX) si hanno due tTX per clock che vanno da RX verso TX; per i dati il verso è quello opposto: da TX verso RX. Le variazioni di temporizzazione dipendo da tTX e da tK. Il periodo minimo di clock tCKmin viene definito da tCKmin = 2·tTX + 2·tSU + tK.! • ! ! 19. Clock cooperativo (I2C) Il clock di tipo cooperativo permette la sincronizzazione tra più unità. Il segnale di handshake è ottenuto dalla combinazione di STB e ACK che sono codificati sullo stesso segnale.! ! Se il sistema è molto piccolo si capisce da se che si possono aumentare il clock. Mentre se i sistemi sono distanti ho delle difficoltà operative se voglio aumentare il clock.! ! Quindi se desidero aumentare il clock i moduli devono stare vicini vicini per non avere il problema del disilineamento del clock.! ! ! ! ! ! ! ! ! ! ! ! A. A. 2013 / 2014 7 di 19 Elettronica applicata e misure Lezione C7 20. Clock indipendenti isofrequenziati La strategia a clock indipendenti isofrequenziati richiede un singolo conduttore (di dati DATA) e sono possibili errori dovuti allo sfasamento dei clock,! ! Per ovviare a questi problemi si deve mettere un cavo che connetta i due clock ma questo è costoso allora per risincronizzare il tutto, ogni tanto metto nel canale dati dei bit per riprendere il sincronismo. è vero che si perde del tempo a fare questo giochino ma è anche vero che se non ci si facesse questo non si potrebbe mandare i dati in modo sicuro.! ! 21. Limiti dei clock indipendenti L’idea sarebbe quello di avere dei clock sincronizzati così non si hanno effetti di rumore. Ma nel caso reale la frequenza di clock viene nominalmente indicata in modo eguale sia per il lato TX sia per quello RX, ma non bisogna dimenticaci che la frequenza dei generatori di clock varia: il segnale viene modificato da ISI, rumore e altro che causano uno spostamento dell’istante di campionamento.! ! Dopo la sincronizzazione, il corretto campionamento dipende dagli spostamenti di fase e dagli errori dovuti ai rumori. Si deve eseguire una risincronizzazione periodica (solitamente la si fa per ogni S bit), se invece avviene per ogni singolo bit si parla di embedded clock.! ! Come si può osservare meglio questa problematica di sincronizzazione? Si devono individuare i margini di tempo e di ampiezza attraverso un diagramma chiamato diagramma ad occhio.! ! Come creare un diagramma ad occhio:! per creare questo diagramma bisogna partire dal grafico in alto il quale rappresenta (con la linea blu il segnale logico fatto da 1 e 0) il segnale che bisogna inviare. Invece la linea rossa rappresenta il segnale reale in altre parole rappresenta quel segnale logico affetto da errori e quindi da rumore. Questo diagramma a sull'asse delle ascisse il tempo mentre sull'asse delle ordinate a l'ampiezza. Questo diagramma è stato suddiviso in tanti slot che rappresentano i singoli bit (0 e 1 logici).! ! Se si prendono tutti questi slot e gli si sovrappone otteniamo un grafico come quello sottostante. Si ottiene con la linea blu un quadrato che rappresenta sui bordi la variazione tra 0 e 1 oppure viceversa mentre i lati lunghi rappresentano lo stato logico fisso 0 o 1. La linea rossa invece rappresenta il segnale logico affetto da rumore.! Questo diagramma viene chiamato comunemente chiamato diagramma d'occhio poiché assomiglia ad un occhio che ha disegnato in mezzo alle due grafici.! ! L’area in verde può considerarsi l’iride.! ! A. A. 2013 / 2014 8 di 19 Elettronica applicata e misure Lezione C7 22. Diagramma ad occhio (eye diagram) ! Il segnale blu è quello ideale mentre quello rosso è quello reale.! Nell'apertura dell'occhio non devo avere che il segnale reale scenda o salga (dipende dal caso) sopra o sotto la tensione minima di riconoscimento e i tempi di setup e di hold devono essere tarati in modo che siano rispettati anche se il clock è spostato per il fatto che c'è anche quella incertezza.! ! Se si guarda il disegno di basso si potrà vedere delle frecce rosse che indicano un intervallo di tempo o un intervallo di ampiezza, questi parametri devono essere prefissati e non devono superare determinate soglie poiché tali parametri non fossero rispettati nella zona verde si avrebbe un problema per comprendere se il segnale è uno stato alto o uno stato basso. ! ! La zona delimitata dal rettangolo verde si chiama apertura dell’occhio e li non ci devono essere segnali poiché è li che vado a "campionare" il mio segnale.! Se l'occhio è chiuso allora non ho una apertura e quindi anche se campiono il segnale non potrò mai sapere cosa ho ossia non so se è un 1 o uno 0.! ! 23. Parametri del diagramma ad occhio I parametri del diagramma ad occhio sono quattro:! ! 1. ZONA (t, A) di corretto campionamento, chiamato anche eye opening. La tensione è da VIL a VIH e il tempo dev’essere almeno per tSU + tH.! 2. ASSE DEI TEMPI: errori (indicati con ΔtCK) dovuti allo sfasamento del clock. ! 3. ASSE DELLE AMPIEZZE: si possono osservare i rumori, la distorsion, l’ISI, …; sono descritto VOL, VIH, VIL (per driver e receiver). Si descrive la pendenza dei fronti (banda del canale). Ci sono il rumore e l’interferenza intersimbolica (ISI).! 4. INTERVALLO DI RISINCRONIZZAZIONE: legato a ( tCK ) / ( ΔtCK ).! ! Più l'occhio è grande meglio è più l'occhio è piccolo peggio è.! Poiché quando si va a campionare è un istante che viene calcolato dal circuito ma che ha sempre un errore e quindi una incertezza e se più l'occhio è piccolo e più sarà difficile rispettare tale condizione.! A. A. 2013 / 2014 9 di 19 Elettronica applicata e misure Lezione C7 24. Modem sincrono Si ha un unico canale (unico conduttore) dove TX unisce i dati e il clock (clock embedding) e RX li separa, quindi si parla di sincronizzazione continua.! ! Il modem è un apparecchio che serve a mandare sulla stessa linea il segnale di sincronizzazione ( clock) e un segnale di informazione. Inoltre questo apparecchio svolge il seguente lavoro preleva della linea telefonica in segnale analogico e lo converte in un segnale digitale, mentre per inviare il segnale della linea telefonica preleva il segnale digitale proveniente ad esempio del computer e lo converte in un segnale analogico.! ! Il modem quindi serve sia per inviare informazione ma anche per "ricuperare" il sincronismo ed ha dei meccanismi per eseguire queste operazioni.! ! 25. Cadenza di trasferimento Si analizza adesso la cadenza di trasferimento. Quando si parla di un singolo conduttore, non si ha nessun ritardo di skew e quindi diventa possibile operare con bit rate molto alti (dell’ordine dei 10 GB/s), tuttavia è richiesto un meccanismo che sia in grado di fondere e separare i segnali di dati e sincronizzazione. Il sincronismo aggiunge informazione, quindi occorre una banda maggiore (simboli dedicati o modulazioni). L’overhead di sincronismo ora dipende dalla precisione degli oscillatori.! ! Nota: più dati vengono usati per il sincronismo e più dati non si possono usare per le informazioni vere e proprie.! ! Dai bit ai simboli.! La codifica è un’operazione che avviene su un flusso di informazione digitale: permette di aggiungere sincronismo e/o controllo sugli errori.! La modulazione è invece un’operazione che opera su segnali di tipo analogico: la modulazione permette di adattare il segnale alle caratteristiche del canale (banda, rumore).! ! 26. Prestazioni dei collegamenti seriali Le prestazioni dei collegamenti seriali possono essere descritte in termini di:! 1. velocità (o bit rate): che è limitata dall’errore temporale (jitter) di campionamento, è comunque migliorabile riducendo gli “errori” di temporizzazione.! 2. lunghezza del conduttore: non può essere troppo lunga, perché se no si ha un’attenuazione del segnale, si introducono distorsioni e rumori. Si può migliorare l’efficienza aumentando l’escursione di tensione (ma maggior consumo energetico).! ! La velocità e il fattore lunghezza sono parametri che possono essere migliorati utilizzando la strategia dei segnali differenziali: in tal modo si può ottenere una elevata immunità al rumore con una bassa escursione di tensione.! ! Esistono due classi o famiglie di ottimizzazione:! 1. la prima incentrata sull’uso di collegamenti di lunghezza ridotta e ad alta velocità;! 2. la seconda si appoggia sull’uso di una certa lunghezza e a bassa velocità.! ! ! ! ! ! ! A. A. 2013 / 2014 10 di 19 Elettronica applicata e misure Lezione C7 Riassunto delle sezioni precedenti:! Se ho un collegamento parallelo allora la linea delle informazioni non è più una linea singola ma sono tante linee.! Se invece si utilizza un collegamento di tipo seriale allora si ha una sola linea di dato e una linea per il sincronismo (clock). Queste due linee possono viaggiare ambedue nella stessa direzione oppure una opposta all'altra. Il collegamento più veloce è comunque quando le c linee vanno nello stesso verso.! Il sincronismo può essere di tipo bit oppure di tipo parola.! 27. Collegamenti asincroni e sincroni ! ! Collegamento seriale asincrono.! In tale tipologia di collegamento i bit sono organizzati in caratteri. La trasmissione è di tipo discontinuo (come in figura). Questo è dovuto al fatto che i vari moduli agiscono per conto proprio adeguandosi l’uno alla velocità dell’altro. La sincronizzazione del clock avviene a inizio carattere.! ! ! ! Collegamento seriale sincrono.! In questo caso invece i bit non sono più organizzati in caratteri, ma in pacchetti (chiamti packet/ frame e possono essere di varia dimensione). La trasmissione è continua poiché la sincronizzazione del clock avviene su ogni bit (codifica/modulazione).! ! ! ! ! Al lato si trova il riassunto di un collegamento sincrono e di un collegamento asincrono. Quando si ha un collegamento sincrono si ha un bus per i dati e un altro per il segnale di strobe.! Invece quando si usa un segnale asincrono si hanno tre tipologie di segnali: il segnale per l'informazione, il segnale di strobe e il segnale di ACK.! Per il collegamento seriale asincrono si ha nei dati trasmessi i quali sono organizzati i caratteri. All'inizio di un carattere si ha uno o più bit che possono rappresentare l'inizio della parola o del carattere e alla fine di tale parola con carattere si ha un medesimo trucchetto per identificare la fine di tale informazione. Tra una parola e l'altra si ha del silenzio il quale era presentato in questo traffico come un livello alto sta nel fatto che all'inizio si ha un livello alto di seguito si ha un livello basso per identificare l'inizio del carattere e in seguito si a il carattere vero e proprio e ha attenuato attraverso dei rettangoli vicini tra loro. Tra la prima e la seconda parola si a del silenzio che viene rappresentato con un livello alto e poi di nuovo un livello basso per rappresentare l'inizio della seconda parola.! A. A. 2013 / 2014 11 di 19 Elettronica applicata e misure Lezione C7 Lo stesso trucchetto è utilizzato tra la seconda e la terza parola ma gli a differenza di prima le due parole sono attaccate ossia il mite di fine parola in qualche modo combacia con quello di inizio parola in altre parole non abbiamo bit di silenzio.! Nel collegamento seriale sincrono non si hanno questi trucchetti ma abbiamo una trasmissione sincrona e la sincronizzazione avviene per ogni singolo bit.! ! 28. Collegamenti seriali Si parla ora del penultimo argomento della lezione: i protocolli seriali, basandosi sull’esempio di un collegamento di tipo asincrono.! ! 29. Collegamenti seriali asincroni Nei collegamenti seriali asincroni la trasmissione di un carattere può iniziare in un qualsiasi momento e l’inizio del carattere è segnalato da un simbolo di START. Il clock è sul lato RX, cioè generato al ricevitore e viene sincronizzato dal fronte di discesa dello START bit.! • Oscillatori con errori e derive.! • Sincronizzazione mantenuta per un tempo limitato.! • Necessaria risincronizzazione periodica.! ! Per poter garantire che venga rilevato il simbolo di partenza START (bit L) si deve porre uno STOP bit (bit H) in coda a ciascun carattere.! ! 30. Carattere seriale asincrono ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 31. Sequenza di caratteri Qui come scelta (ma è una cosa non certa ma è parte del protocollo) ci sono 2 bit di stop e un bit di start.! ! ! ! ! ! A. A. 2013 / 2014 ! ! ! ! ! ! ! ! 12 di 19 Elettronica applicata e misure Lezione C7 in questa figura si vede in alto un componente che desidera trasmettere ad un altro componente. Desidera trasmettere più propriamente una sequenza di bit che si può nominare con parola. Questa sequenza è composta da otto bit.! Sotto si può vedere una linea che corrisponde ad un punto preso casualmente su la linea D.! Le cose non dette sono: il bit di inizio è sempre opposto al bit di riposo (in questo caso di sì ha un bit di riposo pari a uno quindi bit di inizio deve essere opposto quindi è pari a zero.).! La stessa cosa accade per la fine della parola in altre parole il bit di stop deve essere alto poiché la linea a riposo a un bit alto. ! ! Il bit si start è per recuperare il sincronismo ed esso è utilizzato anche per il funzionamento dell’input da tastiera.! ! Nota: lo start bit e lo end bit non aggiungono informazione utile ma servono per riconoscere l'inizio e la fine del pacchetto del dato.! ! 32. UART L’UART è l’acronimo inglese di: Universal Asynchronous Receiver/Transmitter. Si tratta di un modulo universale che è in grado di comportarsi sia da receiver sia da transmitter. ! ! Sul lato TX di tale modulo si ha:! • la conversione è del tipo da parallelo a seriale e avviene tramite un registro PISO (parallel in serial out);! • in questo lato (TX) avviene l’inserimento dei simboli START e STOP;! • si può verificare un’eventuale EDC (parità); [FXR: cosa intende dire?];! ! Mentre sul lato RX si ha:! • viene gestito il sincronismo dei bit e dei caratteri (dallo START bit);! • avviene la conversione da seriale a parallelo grazie all’uso di un registro SIPO;! • viene effettuata la verifica del corretto formato di ciascun carattere (grazie allo STOP bit);! • si può effettuare un’eventuale verifica dell’EDC (parità).! ! In breve quando si vuole spedire un messaggio si cerca di introdurre dei meccanismi per recuperare per individuare l'errore. Due meccanismi che si potranno utilizzare è quello di cercare l'errore oppure è quello di cercare l'orrore e tentare di correggerlo. Tuttavia esistono altri meccanismi come ad esempio la ridondanza del messaggio per proteggere in qualche modo il messaggio stesso.! ! EDC = error detection code.! ECC = error correction code.! ! Nota: Ai giorni nostri UART non è più utilizzato come nei giorni passati anche se questo componente magari non proprio lui è inserito in altri componenti.! ! ! A. A. 2013 / 2014 13 di 19 Elettronica applicata e misure Lezione C7 33. Sincronizzazione nella UART Come avviene la sincronizzazione nella UART? Innanzitutto si fa una verifica dello stato della linea di ingresso e si osservano le transizioni. Se la transizione è in discesa (caso H to L) e tale livello L viene mantenuto per un tempo pari a Tbit/2 (dove Tbit è il tempo materiale in cui è rappresentato un bit) allora viene riconosciuto il segnale di START (cioè, quello descritto è proprio lo START bit). Allora viene effettuata la sincronizzazione dell’istante di campionamento (clock dai bit) e si inizia il conteggio dei bit o dei caratteri.! ! Quando il carattere giunge alla sua terminazione si deve verificare la parità (quando richiesta) verificando lo STOP bit. In tal caso si può attivare il flag “RX READY” e si attende una nuova transizione H to L che indichi uno START bit introducendo un nuovo carattere.! ! 34. Connessioni a standard RS 232 (standard di connessione seriale) Lo standard definisce:! • il connettore sotto forma di cosa fisica;! • segnali elettrici livelli logici ecc.! ! Tensioni da 12V a -12V ecco perché non c'è in casa ma solo in fabbrica. In fabbrica ho dei disturbi elettromagnetici dovuti alla macchine che stanno li vicino. E per ovviare a questi disturbi devo avere delle tensioni elevate.! ! Nei computer portatili questo componente non è utilizzato, mentre può essere trovato nei desktop. Nelle fabbriche ci dovrebbe essere di sicure sebbene sia un componente un po' datato.! ! RS232 è uno standar di interconnessione seriale.! ! Lo standard per il livello fisico è nato per stabilire uno standard per il collegamento di terminali o computer verso il modem e tale standard definisce:! 1. i segnali su un connettore (da 25 pin);! 2. i segnali di comando per il modem;! 3. i livelli elettrici “chiamati in causa”.! Tuttavia, non viene definito alcuna tipologia di formato di carattere, questo è compito del progettista.! ! Tale standard è molto usato per collegare le periferiche perché perette una elevata immunità al rumore ma a basse velocità. Esistono versioni semplificate di questo modello che hanno 9 pin.! ! I livelli superiori sono definiti da V24, V92 e via dicendo.! ! 35, 36. Protocolli sincroni Questo è l’ultimo argomento della lezioni. Si è parlato prima dei protocolli asincroni, i quali sono caratterizzati dalla necessità di effettuare una sincronizzazione di tipo periodico. Adesso si introducono i protocolli sincroni, nei quali la sincronizzazione è di tipo continuo.! ! La problematica principale per i protocolli sincroni è quella di trovare il modo di mantenere il sincronismo dei bit: si devono introdurre dei riferimenti temporali e quindi si devono sfruttare al meglio le transizioni.! ! Il clock viene “estratto” dai dati stessi (si dice che è una tecnologica CDR, cioè CK-D Recovery dove CK = Clock e D = Data): le transizioni devono avvenire in una posizione nota in un breve intervallo temporale che viene definito come TBIT. Ripetendo: il TBIT è quell’intervallo temporale in cui deve avvenire l’estrazione del clcok (o CK-D Recovery). Si possono usare varie soluzioni come l’embedded clock e le modulazioni sincrone (ne esistono anche altre).! ! A. A. 2013 / 2014 14 di 19 Elettronica applicata e misure Lezione C7 La sincronizzazione del clock viene fatta quindi a partire dai dati stessi. È importante dover garantire un intervallo di tempo massimo tra le transizioni, si parla di:! 1. bit buffy: cioè l’inserimento di bit fittizi e aggiuntivi per garantire le transizioni;! 2. BxTy: cioè da x a y (>x) bit, con transizione garantite (BxTy).! ! 37. Codifica NRZ NRZ è un acronimo e signifcia: Not Return to Zero. È una tipologia di codifica che può essere espressa in due modi:! ! 1. NRZ-L dove l’1 è rappresentato da uno stato H e lo 0 da uno stato L;! 2. NRZ-M dove l’1 è rappresentato da una transizione e lo 0 dalla transizione duale.! ! Ciascun simbolo può terminare, cioè concludere, un H o un L.! ! Banda: 1 transizione/bit Fmac = BitRate/2, cioè le transizioni possono avvenire con una frequenza massima pari alla metà del bit rate del bus.! ! Nota: in figura compaiono “space” e “mark” e in telecomunicazioni servono per indicare i due simboli 1 e 0 ma gli informatici non usano questa notazione.! ! Nota: NRZ-S = not return zero space, mentre NRZ-L = not retrun zero low. Per NZR-M: quando c'è uno 1 si ha la transizione.! ! 38. Codifica NRX L Nell’NRZ-L i dati binari sono tali e quali, cioè è “una codifica che non codifica” e non si ha un ritorno allo 0 (Not Returno to Zero, appunto). Si ha che 1 vale H e 0 vale L.! 39. Codifica RZ Si tratta della codifica opposta alla precedente in cui si ha un ritorno allo zero (si dice è una codifica unipolare). Tutti i simboli iniziano e terminano con uno 0 (o altro stato fisso). Nella codifica RZ-M l’1 è rappresentato da un impulso H (che viene definito Mark).! ! Quindi per le sequenze fisse non si ha alcuna transizione (0 per M). In tal caso, questa codifica permette una banda con due transizioni per ogni bit e quindi la frequenza massima ottenibile è pari esattamente al bit rate stesso.! ! In figura. In questo segnale si può dire che la banda per fare questo “gioco” del salire e scendere in uno slot temporale, la banda deve essere molto più grande rispetto al classico digramma in cui ad un 1 ho un livello alto e ad uno zero ho un livello basso.! Si può vedere questo anche con il diagramma ad occhio o ancora meglio con il teorema di Shannon oppure con i tempi di setup di hold e di skew.! ! A. A. 2013 / 2014 15 di 19 Elettronica applicata e misure Lezione C7 Quindi se devo avere più banda allora devo spendere di più in quanto il materiale che devo usare deve essere più propenso ad essere usato con frequenze elevate. Ma un materiale di una certa qualità avrà un costo maggiore di un materiale peggiore. Allora si deve scegliere la codifica più appropriata a seconda dell'esigenza e di conseguenza anche il materiale.! ! 40. Garantire le transizioni Il riferimento temporale è dato dalle transizioni: NZR e ZR possono essere due possibili lunghi intervalli posti tra le transizioni e non hanno alcun riferimento di tipo temporale per poter sincronizzare il clock. Per cui è necessario evitare le lunghe sequenze senza transizioni; lo si può fare in tre modi:! 1. usando un embedded clock (codici ternari MLT), codici Manchester, …;! 2. tramite la tecnica del bit stuffing (cioè l’inserimento di bit fittizi), come inserimento di 0 e 1 nelle sequenze di 5 bit da 1 o 5 bit da 0 consecutivi.! I gruppi i 4 bit senza transizioni diventano 5 bit con transizioni (codici BxBy (4/5, 8/10, 32/36, …).! ! Nota: le transizioni aumentano la banda richiesta.! ! 41. Codifica MLT-3 La codifica MLT-3 è una codifica multilivello (chiamata MultiLevel Transitions) in cui si hanno come simboli +, 0 e -.! ! Se è 0 significa che non si ha alcuna transizione, se è 1 invece sì. Se lo stato precedente è + o - si passa allo 0. Se lo stato precedente è 0 e passa a + o - si ha l’effetto opposto al precedente [FXR: cosa vuol dire che è opposto al precedente?]! ! Tale codice è ternario e quindi è richiesta una elevata qualità di sincronizzazione.! ! La banda (sequenza di 1) è : f = BitRate / 4.! ! Tale codifica è quella usate per i cavi Ethernet 100Base-T (Base-T sta per base ternaria.! ! max 42. Codici Manchester I codici Manchester si basano sulla modulazione di fase (variazioni di π ; Bi-Phase L.! ! Quando è 0 significa che si ha una transizione H to L.! ! Quando è 1 significa che si ha una transizione L to H.! ! Grazie a questo tipo di codifica è possibile avere un clock perché si ha almeno una transizione per ogni bit. La banda è composta da due transizione per bit q mundi la frequenza massima è esattamente uguale al BitRate.! ! f = BitaRate! ! Esistono alcune varianti di questa codifica, come la MFM, M2FM (Manchester 2) e altre.! ! ! ! ! ! ! ! max A. A. 2013 / 2014 16 di 19 Elettronica applicata e misure Lezione C7 La codifica di Manchester è una codifica che permette di recuperare il clock ad ogni bit inviato.! In questa figura si può osservare in alto una codifica di tipo NRZ.! Al di sotto invece si nota una codifica di tipo Manchester in altre parole ogni 0 logico viene associato un gradino (un gradino che va da un livello basso a un livello alto). Invece per il livello uno logico viene associato un gradino opposto (che da un livello alto passa a un livello basso).! In questo stesso grafico la linea verticale con il pallino rosso sono dei salti come ovviamente la codifica vorrebbe avere.! In questo modo ad ogni bit si ha una transizione e quindi il dispositivo può recuperare il sincronismo perso.! In verde si vede al di sotto delle due figure si vede la codifica di tipo Manchester per i due Stati logici. Invece per la codifica normale logica la si può vedere di fianco a quella di Manchester.! Come ovviamente si noterà la codifica normale logica non può ottenere la sola un sincronismo.! ! La codifica M. è usata ogni qualvolta si ha delle variazioni sull’asse dei tempi in modo da recuperare il sincronismo. Per esempio un hard disk con il disco si userà questo tipo di sincronismo per recuperare il sincronismo.! ! Con la codifica Manchester si può estrarre dal segnale dato i segnali di clock e quindi si possono risincronizzare i due moduli (ricevitore e trasmettitore).! ! 43. Modulazioni Grazie alla codifica Manchester si può recuperare il clock e si può contemporaneamente leggere le informazioni. Quindi non si ha il problema del clock. Mentre con altre tecniche ho questo problema perché non posso ricavare il clock dai dati.! ! Nota: dovrebbe essere che la portante del segnale nella codifica M. è l'uno e lo zero. Mentre la modulazione e come sono messi affinché il messaggio è un messaggio valido.! Per esempio: 1 0 -> presi singolarmente sono portante. 10101000001111000001111 è la modulazione nella quale non perdo il sincronismo. E secondo me si può mettere questo ragionamento anche per i segnali analogici, da quello che ho visto è solo una estensione il digitale della analogico e bene o male valgono le stesse regole.! ! Ci sono due tipi di modulazione: la modulazione convenzionale (per segnali analogici) e quella sincrona (usata per segnali perlopiù digitali).! ! Nella modulazione convenzionale non c’è nessun vincolo tra portante e la cadenza dei dati e sono possibili dei rapporti non interi nella divisione ( portante ) / ( BitRate ). Con questa modulazione non è possibili effettuare un recupero del clock.! ! In quella sincrona invece il rapporto ( portante ) / ( BitaRate ) è sempre di tipo intero. La fase della portante viene fissata per ciascun intervallo di bit per cui è possibile effettuare una estrazione del clock dai dati (CDR) però è richiesta la continua presenza di una portante anche ai livelli bassi.! ! Nota: La portante è un segnale periodico che può essere ad esempio un seno, dal quale si generano i dati che vuoi trasmettere.! A. A. 2013 / 2014 17 di 19 Elettronica applicata e misure Lezione C7 Es portante: 10sin(200Mx) Quindi la portante è quella con quella frequenza di 200M.Ora se io la modulo in frequenza la faccio variare di un po’ quella frequenza e riesco a inviare dei segnali. In poche parole per inviare un segnale devo avere una portante e senza di essa non posso inviare. Esiste dietro della matematica un po' semplice e complessa.! ! 44. Esempio di modulazione ASK Si può vedere che il diagramma verde può essere rappresentato attraverso i diagramma delle costellazioni: sull'asse delle ascisse viene messo l'ampiezza del segnale in questo caso varia, mentre sull'asse delle ordinate (Q) viene messo la fase. Poiché il segnale non cambia di fase ma cambia di ampiezza allora i due punti giacevano ha lo stesso valore dell'asse delle ordinate ma ha un valore differente per l'asse delle ascisse. ! ! ASK sta per Amplitude Shift Keyed. Quando è 1 significa che è attivo l’effetto della portante, quando è 0 invece no (no CDR, oppure si ha un effetto di portante ridotto per CDR).! ! Amplitude Shift Key. Di questa figura si nota in alto un grafico che non è altro un segnale ASK. Tuttavia finché si manda uno logico allora sia il recupero del sincronismo. Quando invece si vuole inviare uno 0 logico non si riesce a recuperare il sincronismo per il fatto che non si ha nessun segnale. Ovvero il segnale che si ha è un segnale nullo o costante.! Al di sotto di tale segnale si ha un segnale che è modulato in ampiezza in altre parole quando si invia 1 logico si manipola la portante in modo tale da amplificare, mentre quando si invia uno zero logico si modula ancora la portante in modo da diminuire la sua ampiezza. In questo modo si ha sempre un sincronismo. Poiché sia nello stato alto sia nello stato basso la portante è comunque presente e quindi può portare il sincronismo.! ! ! 45. Esempio di modulazione PSK PSK sta per Phase Shift Keyed, ovvero la fase della portante viene controllata dalla modulazione (la portante deve essere sempre presente, altrimenti si ha una possibile CDR!). ! ! CDR = Clock data recover ossia è quella funzionalità che permette di recuperare il clock dai dati. Tale funzionalità è possibile grazie alla presenza della portante: se non ci fosse non si avrebbe la possibilità si recuperare il sincronismo.! ! La portante deve essere sempre presente così che da avere la possibilità di CDR.! A. A. 2013 / 2014 18 di 19 Elettronica applicata e misure Lezione C7 46. Test finale • • • • • • • • 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.! A. A. 2013 / 2014 19 di 19
© Copyright 2024 ExpyDoc