Sincronismo nella
comunicazione
Le informazioni nei dispositivi digitali sono codificate con gruppi di bit (detti
word). Occorre pertanto definire nel protocollo le regole con cui le word devono essere associate al canale.
-
Nel collegamento Parallelo il canale è suddiviso fisicamente in tante parti quanti sono i bit della word (8, 16, 32, 64): è la forma di trasferimento più
veloce (a parità di frequenza), poiché ogni informazione è inviata completamente in un'unità di tempo
(bit-time), anche se i disturbi che si
creano tra conduttori ravvicinati limitano la velocità massima
utilizzabile.
-
Nel collegamento Seriale tutti i bit sono inviati su un'unica linea: in questo caso l'economia dei componenti della catena va a scapito della
velocità; in questo caso, però, è possibile aumentare la frequenza di
trasmissione.
-
Nella trasmissione in modulazione di
portante, è possibile realizzare una modulazione mista multilivello: in questo caso ogni bit della word viene associato ad un livello differente delle frequenze, dell'ampiezza o della fase, ed inviato sul canale contemporaneamente agli altri: il ricevitore estrae le componenti dell'onda e ricostruisce il messaggio.
Attualmente le comunicazioni tra µP e componenti sulla
scheda madre avvengono tramite Bus paralleli, quelli con le periferiche su linee
seriali (USB, SATA, PS2, Com); le reti LAN e WAN usano la modulazione di
Portante.
In ogni caso la principale esigenza è di fare in modo che il ricevitore acquisisca il segnale sempre all'interno del bit-time: per garantire questo sincronismo il protocollo deve coordinare la sequenza delle informazioni.
Nel caso della trasmissione parallela in genere si utilizza un ulteriore filo che trasmette al ricevitore il segnale d'autorizzazione alla lettura
(Strobe) e uno di ritorno che conferma al trasmettitore l'avvenuta acquisizione del dato
(Acknowledgement): lo scambio così organizzato prende il nome di
Handshaking.
Nel caso della trasmissione seriale, viceversa, la sincronizzazione viene realizzata sullo stesso canale di comunicazione, anteponendo e posponendo ai dati particolari sequenze di segnali.
Standard Parallelo
L'interfaccia parallela è utilizzata nei Computer per il collegamento con stampanti a media.
Il protocollo descrive il tipo dei vari segnali, il campo dei valori utilizzati e la durata minima dei segnali stessi. Lo scambio dei dati tra l'unità centrale e la periferica è regolato da un meccanismo di handshaking:
-
l'unità centrale, verificata la disponibilità della periferica, trasmette sugli 8 fili del bus dati il carattere;
-
quando i dati sono stabili sulla linea (attesa "tempo di assestamento"), viene attivato il segnale di Strobe (attivo basso);
-
la periferica acquisisce il carattere e quindi attiva il segnale di Acknowledgement (attivo basso) per segnalare la ricezione dei dati e la disponibilità a riceverne altri.

Ulteriori segnali di controllo contribuiscono a rendere più affidabile il trasferimento sul canale parallelo. Le linee dei dati, definendo opportunamente il significato dei segnali di controllo, possono essere usate anche per un colloquio bidirezionale.
La necessità di utilizzare un elevato numero di fili moltiplica il costo del canale e non permette di raggiungere grandi distanze per l'accumulo d'interferenze tra i conduttori. In pratica la trasmissione parallela è utilizzata solo per i collegamenti interni del computer o con periferiche nell'ambito di qualche metro.
Trasmissione seriale Sincrona
Il principio generale della trasmissione seriale Sincrona prevede che i dati (supponiamo a 8 bit) vengano inviati uno di seguito all'altro in blocchi di un certo numero (ad esempio 256 o 512 caratteri); all'inizio di ciascun blocco viene inviato un carattere speciale che permette al ricevitore di sincronizzare il proprio clock e iniziare le procedure di acquisizione; in coda al blocco sono inseriti uno o due byte ridondanti per il controllo della correttezza del messaggio (CRC).
La sincronizzazione deve essere garantita per tutta la lunghezza del blocco, salvo prevedere ulteriori caratteri di sincronismo in posizioni fissate all'interno del messaggio.
Trasmissione seriale Asincrona
Nella trasmissione seriale Asincrona i dati vengono inviati un carattere alla volta con cadenza non prestabilita, secondo il seguente schema detto Protocollo Start-Stop:
-
tra un carattere e l'altro la linea viene tenuta costantemente al livello 1
(stato di Wait);
-
per attivare il sincronismo, il trasmettitore invia un bit 0
(bit di Start);
-
subito dopo viene trasmesso il carattere;
-
se concordato, viene aggiunto il bit di parità;
-
in coda viene aggiunto un bit 1 (bit di
Stop) che ha lo scopo di ripristinare la linea allo stato di wait.
Il ricevitore campiona la linea almeno 16 volte per bit-time, verificando il valore costante 1; quando viene letto uno zero, il ricevitore attende mezzo bit, verifica nuovamente che la linea sia a zero, e quindi legge i bit del dato con la frequenza prestabilita.
La sincronizzazione deve essere garantita almeno per la lunghezza del carattere più i bit accessori; in pratica i due orologi possono anche differire leggermente, purché
anche l'ultima lettura avvenga sempre all'interno del bit-time.
La trasmissione seriale Asincrona è utilizzata dallo standard
RS232.