Sartomiki.net

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Appunti Elettronica per l'informatica Protocolli punto-punto

Protocolli punto-punto

E-mail Stampa PDF
Valutazione attuale: / 1
ScarsoOttimo 

Generalità
Nei protocolli di questo tipo si ha una sorgente, che vuole inviare o ricevere delle informazioni, e un'unica destinazione. Per operazione di scrittura si intende quando il master, cioè colui che inizia la comunicazione, deve inviare dei dati allo SLAVE. Per lettura si intende invece il caso opposto, il caso cioè che il MASTER chieda delle informazioni allo SLAVE. Siccome la destinazione non sa quando le informazioni inviate dal master saranno valide si avrà bisogno di almeno due linee per consentire la comunicazione: INFO e VALID. Le informazioni per arrivare dalla sorgente alla destinazione necessiteranno di un certo tempo di propagazione (Tp) e a causa della conformazione della rete arriveranno sfasate nel tempo con un'incertezza massima detta tempo di skew (Tsk). In più la destinazione avrà bisogno di un certo tempo di set up, per garantire la comprensione dei dati (TDsu). Si può concludere che è necessario che la sorgente, affinchè i dati vengano compresi dalla destinazione debbano essere inviati per un certo tempo di set up (TSsu) pari a TDsu+Tsk. Si può generalizzare grazie a questo primo esempio di protocollo che esistono due tipi di segnali: quelli di informazione e quelli di controllo. I protocolli definiscono quando inviare i dati e quando inviare i segnali di validazione.
Riassumendo i tempi importanti nella comunicazione sono:
-tempo di Skew (Tsk), incertezza sui tempi di arrivo del primo bit e dell'ultimo. (dipende dall'interconnessione)
-tempo di set up destinazione (TDsu), tempo che intercorre dopo la fine del segnale di validazione e l'arrivo del bit di informazione, per permettere che non venga eroso dallo skew.
-tempo di set up sorgente (TSsu), tempo che intercorre prima del segnale di validazione rispetto all'inizio della trasmissione del bit, per permettere che esso si stabilizzi. (TSsu>TDsu+Tsk)

Protocolli di scrittura sincrono
Nel caso di protocollo sincrono le informazioni e i segnali di validazione vanno in un'unica direzione. Le informazioni vengono inviate dal master allo slave e dopo un tempo superiore alla somma del tempo di set up dello slave e dal tempo di skew viene inviato il segnale di validazione per un tempo pari al tempo di set up della destinazione. La destinazione provvederà a immagazzinare il dato ricevuto e sarà nuovamente pronta alla ricezione nel momento in cui verrà messo off il segnale di VALID. Questo tipo di protocollo è molto prestante nel caso in cui la destinazione impieghi sempre lo stesso tempo a immagazzinare le informazioni ricevute, anche se questo è vero solo in parte, in quanto ad esempio le memorie RAM, hanno velocità di scrittura variabile a seconda se è in corso o no un'operazione di refresh. In questo tipo di trasmissione il master deve conoscere esattamente i tempi di comprensione dello slave e in caso di tempi variabili considerare sempre il caso peggiore. Un altro problema del protocollo asincrono è che non si ha verifica della effettiva ricezione dei dati e non si può capire se lo slave sia "vivo".
Riassumendo le operazioni base del protocollo sincrono di scrittura sono:
-inizio trasmissione dati. (DATA ON, da parte del MASTER)
-attivazione del segnale di validazione. (VALID ON, da parte del MASTER dopo un tempo superiore alla somma del TDsu+Tsk)
-fine del segnale di validazione. (VALID OFF, da parte del MASTER)
-fine trasmissione dati. (DATA OFF, da parte del MASTER)
Si precisa che il segnale ON, non significa per forza che il segnale sia "1", cioè a tensione maggiore di "0", si intende un segnale di 1 logico, che in alcuni casi può coincidere con una tensione nulla.

Protocollo di scrittura asincrono
Nel caso di protocollo asincrono le informazioni di validazione vanno in entrambe le direzioni, esiste quindi un segnale di acknowledge (ACK) proveniente dalla destinazione alla sorgente, oltre ai due soliti segnali (VALID e DATA), provenienti dal MASTER. Nel caso di comunicazione asincrona la sorgente e la destinazione si controllano a vicenda: infatti il MASTER ha sempre informazioni riguardanti lo SLAVE e il protocollo si adatta quindi alla velocità dei due. Se il protocollo è applicato su linee molto lunghe (in cui quindi il tempo di propagazione non è trascurabile) e nel caso in cui il MASTER sia più lento dello SLAVE, il protocollo risulta essere molto lento e molto poco prestante. E' questo il motivo per cui non è usato nelle comunicazioni all'interno di un PC.
Riassumendo le operazioni base del protocollo asincrono di scrittura sono:
-inizio trasmissione dati (DATA ON, da parte del MASTER)
-attivazione del segnale di validazione (VALID ON, da parte del MASTER)
-attivazione del segnale di ack (ACK ON, da parte dello SLAVE), nel momento in cui il dato è stato compreso
-disattivazione del segnale di validazione (VALID OFF, da parte del MASTER), dopo aver compreso il segnale di ACK)
-fine trasmissione (DATA OFF, da parte del MASTER), siccome ormai lo SLAVE ha inviato l'ACK
-fine dell'ack (ACK OFF, da parte dello SLAVE), nel momento in cui comprende che il segnale di VALID è tornato OFF. Quando il MASTER comprenderà che l'ACK è tornato OFF potrà ripartire il ciclo.

Protocollo di scrittura semisincrono
Questo tipo di protocollo, come suggerisce il nome, è molto simile al protocollo sincrono ma è presente, oltre ai due segnali DATA e VALID, gestiti dal MASTER, anche un segnale di WAIT, gestito dallo SLAVE. Questo protocollo si basa su cicli basati sul segnale di WAIT. Dopo che il MASTER ha iniziato la comunicazione dei dati e inviato il segnale di VALID, lo SLAVE può chiedere dei cicli aggiuntivi, nel caso in cui esso non sia in grado di ricevere tutti i dati nel tempo prefissato in cui è previsto che VALID sia a ON. E' molto usato nel pc, in quanto muniti di segnali di temporizzazione (CLOCK), utilizzati anche per altri scopi. Questo tipo di protocollo ha una complessità notevolmente inferiore rispetto a quello asincrono e in situazione normali richiede un tempo inferiore. Si ha comunque il problema che non si ha comunque conferma della ricezione dei dati da parte dello SLAVE e non si ha spreco di tempo in caso in cui sia necessaria una estensione limitata del tempo di molto minore al tempo di WAIT. In più la richiesta di WAIT, deve essere inviata dallo SLAVE, prima che il tempo di clock scada, è quindi necessario che esso sappia in anticipo quanto tempo impiegherà per immagazzinare i dati.
Riassumendo le operazioni base del protocollo semisincrono di scrittura sono:
-inizio trasmissione dati (DATA ON, da parte del MASTER)
-attivazione del segnale di validazione (VALID ON, da parte del MASTER)
-eventuale attivazione del segnale di wait (WAIT ON, da parte dello SLAVE), nel caso in cui lo SLAVE non faccia in tempo a ricevere tutti i dati nel tempo prefissato.
-eventuale disattivazione del segnale di wait (WAIT OFF, da parte dello SLAVE)
-disattivazione validazione (VALID OFF, da parte del MASTER), dopo un numero di cicli di WAIT, quando il segnale di WAIT è OFF al termine di un tempo prefissato.
-fine trasmissione dati. (DATA OFF, da parte del MASTER)

Protocollo di lettura asincrono
Questo tipo di protocollo ha il compito di permettere al MASTER di chiedere la ricezione di un dato, permettere allo SLAVE di inviarlo e al MASTER di capirlo correttamente. Per ottenere questo risultato è necessario un segnale gestito dal master di richiesta (REQUEST) e di due segnali gestiti dallo SLAVE, uno di dati (DATA) e uno di validazione (VALID).
Riassumendo le azioni del protocollo asincrono di lettura sono:
-richiesta dati (REQUEST ON, da parte del MASTER)
-inizio trasmissione dati (INFO ON, da parte dello SLAVE)
-inizio validazione(VALID ON, da parte dello SLAVE), dopo un tempo pari o superiore a TDsu+Tsk
-fine richiesta (REQUEST OFF, da parte del MASTER), dopo che i dati sono stati compresi
-disattivazione validazione (VALID OFF, da parte dello SLAVE), quando comprende che il REQUEST è tornato a OFF
-fine trasmissione dati (DATA OFF, da parte dello SLAVE)

Protocollo di lettura/scrittura readpulse-writepulse
Normalmente le linee di INFO possono essere utilizzate sia per inviare sia per ricevere dei dati da MASTER a SLAVE. Si pensi ad esempio alla comunicazione che avviene in un computer quando viene collegato ad un hard disk. Su esso e mediante gli stessi cavi si ha la necessità di scrivere e leggere sullo stesso disco, ad indirizzi diversi. Per gestire questo tipo di comunicazione avremmo teoricamente bisogno di quattro segnali per entrambi i tipi di ciclo, ma è possibile codificare gli stessi su meno linee di controllo. Il protocollo readpulse-writepulse utilizza, oltre alla/alle linea/e di dati (INFO), gestite a seconda delle esigenze sia dal MASTER che dallo SLAVE, tre segnali di controllo due gestiti dal MASTER (READPULSE, WRITEPULSE)  e uno dallo SLAVE (ACK). Come suggeriscono i nomi dei segnali è il MASTER a comandare le operazioni, in quanto è lui che impone il tipo di operazione da eseguire.
Il problema di questo protocollo è che lo SLAVE capisce l'operazione imposta dal MASTER solo quando i dati sono già presenti sulla linea.
Riassumendo le azioni del protocollo rdpulse-wrpulse in lettura sono:
-richiesta dati (READPULSE ON, da parte del MASTER)
-inizio trasmissione dati (INFO ON, da parte dello SLAVE)
-attivazione del segnale di ack (ACK ON, da parte dello SLAVE), che viene usato come segnale di validazione. Esso viene attivato dopo un tempo pari o superiore a TDsu+Tsk
-fine richiesta dati (READPULSE OFF, da parte del MASTER), nel momento in cui i dati vengono compresi dal MASTER.
-disattivazione del segnale di ack (ACK OFF, da parte dello SLAVE), nel momento in cui lo SLAVE si accorge che il MASTER ha compreso i dati.
-fine trasmissione dati (DATA OFF, da parte dello SLAVE)
Le azioni del protocollo rdpulse-wrpulse in scrittura sono invece:
-inizio trasmissione dati (INFO ON, da parte del MASTER)
-inizio validazione (WRITEPULSE ON, da parte del MASTER), dopo un tempo pari o superiore a TDsu+Tsk
-attivazione del segnale di ack (ACK ON, da parte dello SLAVE), nel momento in cui lo SLAVE ha compreso i dati.
-fine validazione (WRITEPULSE OFF, da parte del MASTER), nel momento in cui il MASTER si accorge che lo SLAVE ha compreso i dati.
-fine trasmissione dati (DATA OFF, da parte del MASTER)
-disattivazione del segnale di ack (ACK OFF, da parte dello SLAVE), nel momento in cui lo SLAVE si accorge che è finita la validazione.

Protocollo di lettura/scrittura Advanced Read/Write
Questo tipo di protocollo riesce a colmare le lacune del protocollo precedente, utilizzando sempre uno o più canali di dati (INFO), gestiti a seconda delle esigenze dal MASTER e dallo SLAVE, e tre linee di controllo di cui due gestiti dal MASTER (READ/WRITE e STROBE) e uno dallo SLAVE (ACK). In questo tipo di protocollo il segnale READ/WRITE, definisce quale sarà il tipo di comunicazione fin dall'inizio e varrà 1 nel caso di operazione di lettura e 0 in caso di scrittura. In questo modo si riesce "avvertire" prima lo SLAVE di quale tipo di operazione si avrà bisogno, in modo che esso avrà più tempo per preparare i suoi BUFFER di ricezione.
Riassumendo le azioni del protocollo Advanced Read/Write in lettura sono:
-avvertimento che si tratta di operazione di lettura (READ/WRITE ON, da parte del MASTER)
-richiesta dei dati (STROBE ON, da parte del MASTER)
-inizio trasmissione dati (INFO ON, da parte dello SLAVE)
-invio validazione (ACK ON, da parte dello SLAVE), dopo un tempo pari o superiore a TDsu+Tsk
-fine richiesta dati (STROBE OFF, da parte del MASTER), nel momento in cui il MASTER ha compreso i dati.
-fine validazione (ACK OFF, da parte dello SALVE), nel momento in cui lo SLAVE si accorge che il MASTER ha compreso i dati.
-fine trasmissione dati (INFO OFF, da parte dello SLAVE)
le azioni del protocollo Advanced Read/Write in scrittura sono invece:
-avvertimento che si tratta di operazione di scrittura (READ/WRITE OFF, da parte del MASTER)
-inizio trasmissione dati (INFO ON, da parte del MASTER)
-invio validazione (STROBE ON, da parte del MASTER)
-attivazone del segnale di ack (ACK ON, da parte dello SLAVE), nel momento in cui lo SLAVE ha compreso i dati.
-fine validazione (STROBE OFF, da parte del MASTER), nel momento in cui il MASTER si accorge che lo SLAVE ha compreso i dati.
-fine trasmissione dati (INFO OFF, da parte del MASTER)
-disattivazione del segnale di ack (ACK OFF, da parte dello SLAVE), nel momento in cui lo SLAVE si accorge che è finita la validazione.


blog comments powered by Disqus
 

http://sartomiki.net/modules/mod_fuofb/assets/it/find-us-on-facebook-1.png

Follow me

Amici

Chi è online

 18 visitatori online

Siti amici

Web4Web.IT - Low Cost Hosting

Notizie flash

Da oggi avete la possibilità di commentare tutti gli articoli presenti sul sito!! Scrivete le vostre opinioni!

PUBBLICITA'