Elettronica applicata/Collegamenti seriali: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
uso gallery
ortografia
 
Riga 10: Riga 10:
;Sincronizzazione
;Sincronizzazione
In una trasmissione seriale i clock del trasmettitore e del ricevitore devono essere sincronizzati:
In una trasmissione seriale i clock del trasmettitore e del ricevitore devono essere sincronizzati:
* sincronizzazione a livello di bit: devono essere risconosciuti i bit distinti tra loro;
* sincronizzazione a livello di bit: devono essere riconosciuti i bit distinti tra loro;
* sincronizzazione a livello di carattere: devono essere riconosciuti l'inizio e la fine dei byte;
* sincronizzazione a livello di carattere: devono essere riconosciuti l'inizio e la fine dei byte;
* sincronizzazione a livello di messaggi: riguarda il riconoscimento ad alto livello.
* sincronizzazione a livello di messaggi: riguarda il riconoscimento ad alto livello.

Versione attuale delle 16:48, 23 lug 2021

Indice del libro

Un bus parallelo è complesso: i segnali di temporizzazione viaggiano allo stesso tempo in parallelo alle informazioni, quindi è necessario tenere in conto lo skew per garantire i minimi tempi di setup e di hold. Un collegamento seriale si basa sul trasferimento sequenziale: i segnali di temporizzazione e le informazioni viaggiano sullo stesso filo in tempi diversi, quindi l'ordine con cui i dati vengono inviati viene sempre mantenuto al ricevitore, e inoltre un minor numero di conduttori riduce il consumo e il costo. Un ciclo di trasferimento parallelo era sufficiente per far arrivare i bit tutti insieme al ricevitore, mentre il trasferimento sequenziale introduce una latenza perché i bit vengono inviati uno dopo l'altro.

Interferenze
  • connessioni parallele: diafonia = interferenze tra conduttori vicini;
  • connessioni seriali: interferenza intersimbolica (ISI) = interferenze nel tempo tra un bit e l'altro.
Sincronizzazione

In una trasmissione seriale i clock del trasmettitore e del ricevitore devono essere sincronizzati:

  • sincronizzazione a livello di bit: devono essere riconosciuti i bit distinti tra loro;
  • sincronizzazione a livello di carattere: devono essere riconosciuti l'inizio e la fine dei byte;
  • sincronizzazione a livello di messaggi: riguarda il riconoscimento ad alto livello.

Sincronizzazione a livello di bit[modifica]

Clock unico generato dal trasmettitore[modifica]

Il clock è unico e si trova al lato trasmettitore → bisogna tenere conto solo delle variazioni del tempo di trasmissione (skew) tra i dati e il clock, perché il clock e i dati viaggiano nella stessa direzione.

Protocollo SPI[modifica]

Il protocollo SPI viene usato soprattutto per la comunicazione tra processore e periferici: il master tramite il chip select (CS) seleziona lo slave, invia ad esso dei dati di comando e lo slave restituisce al master dei dati in una sorta di anello:

Clock unico generato dal ricevitore[modifica]

Il clock è unico e si trova al lato ricevitore → bisogna tenere in conto delle variazioni di due tempi di trasmissione (due skew): uno per il clock dal ricevitore al trasmettitore, l'altro per i dati dal trasmettitore al ricevitore. Il ricevitore può regolare la velocità dei dati.

Clock indipendenti[modifica]

Modem sincrono

Nella realtà è impossibile realizzare due clock perfettamente isofrequenziali → serve inviare insieme ai dati delle informazioni di sincronizzazione.

I dati di informazione durante la trasmissione sono soggetti a variazioni nel tempo (sfasamenti dovuti allo skew) e in ampiezza (rumori, distorsioni, ISI, variazioni della pendenza dei fronti) → la transizione LH del clock al lato ricevitore (anch'esso soggetto a skew e a jitter) deve avvenire entro l'apertura del diagramma a occhio, affinché siano garantiti il corretto riconoscimento degli stati logici e i tempi di set-up e di hold:

Il diagramma a occhio è ottenuto dalla sovrapposizione di tutti i possibili andamenti del segnale al lato ricevitore

Sincronizzazione a livello di carattere[modifica]

La sincronizzazione a livello di carattere serve per riconoscere dove inizia e dove finisce ogni byte:[1]

  • collegamenti seriali asincroni: la trasmissione è discontinua, cioè tra un byte e l'altro ci possono essere dei momenti in cui la linea è a riposo;
  • collegamenti seriali sincroni: la trasmissione è continua, e tra un byte e l'altro può essere prevista una sequenza di bit riservata alla sincronizzazione.

Trasmissione seriale asincrona[modifica]

Sequenza di caratteri in una trasmissione seriale asincrona

Quando la linea è a riposo assume uno stato prestabilito che si mantiene costante; ogni byte deve essere preceduto da un bit di start che assume lo stato opposto a quello della linea a riposo, e deve essere seguito da qualche bit di stop che assume lo stato a riposo.

Il numero di bit per carattere non deve essere eccessivo per garantire l'apertura nel diagramma ad occhio.

RS 232 è lo standard per le interconnessioni a livello fisico che usano la trasmissione seriale asincrona, ed è progettato per interconnettere i computer ai modem.

L'UART è un dispositivo in grado di trasmettere dei byte in modo asincrono tramite un collegamento seriale:

  • lato trasmettitore: un registro PISO converte i byte in sequenze di bit, e vengono inseriti i bit di start e di stop;
  • lato ricevitore: un registro SIPO converte le sequenze di bit in byte, e un modulo deve riconoscere i bit di start e di stop e al momento giusto generare il clock per il registro SIPO.

I serializzatori a due registri aumentano la flessibilità:

  • lato trasmettitore: mentre il registro PISO sta trasmettendo, un registro SISO può memorizzare il byte successivo da trasmettere;
  • lato ricevitore: mentre il registro SIPO sta ricevendo, un registro PIPO può memorizzare il byte precedente in attesa di essere letto da un dispositivo esterno.

Note[modifica]

  1. Qui per semplicità si parla di byte, che sono composti da 8 bit, ma in realtà può essere scelto un qualsiasi numero di bit.