Elettronica applicata e misure/Collegamenti seriali

Da WikiAppunti.
Jump to navigation Jump to search
Nota disambigua.svg Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è C6. Collegamenti seriali.
Gtk-go-back-ltr.svg  C5. Protocolli di busGtk-home.svg  Elettronica applicata e misure (C. Bus e interconnessioni)C8. Collegamenti seriali sincroni  Gtk-go-forward-ltr.svg

6-7 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.

10 Interferenze
  • connessioni parallele: diafonia = interferenze tra conduttori vicini;
  • connessioni seriali: interferenza intersimbolica (ISI) = interferenze nel tempo tra un bit e l'altro.
12
14 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 | modifica sorgente]

Clock unico generato dal trasmettitore[modifica | modifica sorgente]

16

18 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 | modifica sorgente]

32-33 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 | modifica sorgente]

17

20 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 | modifica sorgente]

27 Modem sincrono

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

22-25-45 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:

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

Sincronizzazione a livello di carattere[modifica | modifica sorgente]

30 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 | modifica sorgente]

38-39 Sequenza di caratteri in una trasmissione seriale asincrona

37 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.

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

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

UART.png

40 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.
UART with double-register serializers.png

I serializzatori a due registri aumentano la flessibilità:

  • 43 lato trasmettitore: mentre il registro PISO sta trasmettendo, un registro SISO può memorizzare il byte successivo da trasmettere;
  • 44 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 | modifica sorgente]

  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.
Nota disambigua.svg Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è C6. Collegamenti seriali.
Gtk-go-back-ltr.svg  C5. Protocolli di busGtk-home.svg  Elettronica applicata e misure (C. Bus e interconnessioni)C8. Collegamenti seriali sincroni  Gtk-go-forward-ltr.svg