# Elettronica applicata/Collegamenti seriali

Elettronica applicata
Copertina Tutti i moduli · Sviluppo
    CopertinaElettronica applicata/Copertina
* Circuiti digitali
** Circuiti logiciElettronica applicata/Circuiti logici
** Circuiti sequenziali IElettronica applicata/Circuiti sequenziali I
** Circuiti sequenziali IIElettronica applicata/Circuiti sequenziali II
** Logiche programmabiliElettronica applicata/Logiche programmabili
** Comparatori di sogliaElettronica applicata/Comparatori di soglia
** Generatori di onda quadraElettronica applicata/Generatori di onda quadra
* Bus e interconnessioni
** InterconnessioniElettronica applicata/Interconnessioni
** Modelli a linea di trasmissioneElettronica applicata/Modelli a linea di trasmissione
** Pilotaggio di lineeElettronica applicata/Pilotaggio di linee
** Cicli di trasferimento baseElettronica applicata/Cicli di trasferimento base
** Protocolli di busElettronica applicata/Protocolli di bus
** Collegamenti serialiElettronica applicata/Collegamenti seriali
** Collegamenti seriali sincroniElettronica applicata/Collegamenti seriali sincroni
** Integrità di segnaleElettronica applicata/Integrità di segnale
* Sistemi di acquisizione dati
** Sistemi di conversione A/D e D/AElettronica applicata/Sistemi di conversione A/D e D/A
** Convertitori D/AElettronica applicata/Convertitori D/A
** Conversione A/DElettronica applicata/Conversione A/D
** Convertitori pipeline e differenzialiElettronica applicata/Convertitori pipeline e differenziali
** Condizionamento del segnaleElettronica applicata/Condizionamento del segnale
** FiltriElettronica applicata/Filtri
* Alimentatori e regolatori
** Sistemi di alimentazioneElettronica applicata/Sistemi di alimentazione
** Regolatori a commutazioneElettronica applicata/Regolatori a commutazione
Modifica il sommario
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
### Clock unico generato dal trasmettitore

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

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:
* Configurazione con CS multipli
* Dispositivi collegabili in cascata con un unico CS

### Clock unico generato dal ricevitore

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

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:

## Sincronizzazione a livello di carattere

La sincronizzazione a livello di carattere serve per riconoscere dove inizia e dove finisce ogni byte:
* 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

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

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