Lezione C7

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