Elettronica applicata/Cicli di trasferimento base

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search
CopertinaElettronica applicata/Copertina
  1. Circuiti digitali
    1. Circuiti logiciElettronica applicata/Circuiti logici
    2. Circuiti sequenziali IElettronica applicata/Circuiti sequenziali I
    3. Circuiti sequenziali IIElettronica applicata/Circuiti sequenziali II
    4. Logiche programmabiliElettronica applicata/Logiche programmabili
    5. Comparatori di sogliaElettronica applicata/Comparatori di soglia
    6. Generatori di onda quadraElettronica applicata/Generatori di onda quadra
  2. Bus e interconnessioni
    1. InterconnessioniElettronica applicata/Interconnessioni
    2. Modelli a linea di trasmissioneElettronica applicata/Modelli a linea di trasmissione
    3. Pilotaggio di lineeElettronica applicata/Pilotaggio di linee
    4. Cicli di trasferimento baseElettronica applicata/Cicli di trasferimento base
    5. Protocolli di busElettronica applicata/Protocolli di bus
    6. Collegamenti serialiElettronica applicata/Collegamenti seriali
    7. Collegamenti seriali sincroniElettronica applicata/Collegamenti seriali sincroni
    8. Integrità di segnaleElettronica applicata/Integrità di segnale
  3. Sistemi di acquisizione dati
    1. Sistemi di conversione A/D e D/AElettronica applicata/Sistemi di conversione A/D e D/A
    2. Convertitori D/AElettronica applicata/Convertitori D/A
    3. Conversione A/DElettronica applicata/Conversione A/D
    4. Convertitori pipeline e differenzialiElettronica applicata/Convertitori pipeline e differenziali
    5. Condizionamento del segnaleElettronica applicata/Condizionamento del segnale
    6. FiltriElettronica applicata/Filtri
  4. Alimentatori e regolatori
    1. Sistemi di alimentazioneElettronica applicata/Sistemi di alimentazione
    2. Regolatori a commutazioneElettronica applicata/Regolatori a commutazione

I protocolli di ciclo servono per garantire il corretto trasferimento dei pacchetti di bit tra una sorgente e una destinazione tenendo conto dei vincoli di temporizzazione e dello skew.

La sincronizzazione delle unità può avvenire in due modi:[1]

  • macchina a stati asincrona: i cambiamenti di stato possono avvenire in ogni momento;
  • macchina a stati sincrona: i cambiamenti di stato possono avvenire solo sui fronti di clock, e la temporizzazione si basa su multipli interi del periodo di clock.

Ciclo di scrittura[modifica]

Come destinazione (slave) viene usato un flip-flop di tipo D: l'ingresso D memorizza il pacchetto di bit proveniente dalla sorgente (master) alla transizione LH di un certo segnale di clock.

Ciclo di scrittura sincrono[modifica]

Circuito scrittura sincrona.png
Diagramma temporale scrittura sincrona.png

Le operazioni avvengono in una sequenza di ritardi predefiniti:

  1. la sorgente invia l'informazione;
  2. la sorgente attende un tempo minimo per garantire il tempo di setup richiesto dal flip-flop di destinazione;
  3. la sorgente invia il comando di strobe, usato come clock per il flip-flop;
  4. la sorgente attende un tempo minimo per garantire il tempo di hold richiesto dal flip-flop;
  5. la sorgente rimuove i segnali di informazione e di strobe.
Svantaggi
  • la sorgente deve conoscere i tempi di setup e di hold e lo skew della destinazione, perché tutta la temporizzazione è controllata dalla sorgente stessa;
  • nelle trasmissioni broadcast (scrittura verso più destinazioni), la sorgente deve limitarsi a trasmettere alla velocità consentita dalla destinazione più lenta, avente cioè tempi di setup e di massimi, perché la temporizzazione è fissa.

Ciclo di scrittura asincrono[modifica]

Circuito scrittura asincrona.png
Diagramma temporale scrittura asincrona.png

Le operazioni avvengono in una sequenza basata sull'interazione tra sorgente e destinazione, detta handshake (strobe/ACK):

  1. la sorgente invia l'informazione;
  2. la sorgente attende un tempo minimo per garantire che il comando di strobe arrivi alla destinazione sempre dopo il segnale di informazione;
  3. la sorgente invia il comando di strobe, che va in ingresso alla logica di controllo P della destinazione;
  4. trascorso un tempo di trasmissione,[2] la logica di controllo attende il tempo di setup richiesto dal flip-flop;
  5. la logica di controllo invia il segnale di clock al flip-flop, che memorizza l'informazione;
  6. la logica di controllo attende il tempo di hold richiesto dal flip-flop;
  7. la logica di controllo invia un ACK alla sorgente per informarla che può rimuovere i segnali di informazione e di strobe;
  8. trascorso un tempo di trasmissione,[2] la sorgente rimuove i segnali di informazione e di strobe;
  9. trascorso un tempo di trasmissione,[2] la logica di controllo rimuove il segnale di ACK;
  10. trascorso un tempo di trasmissione,[2] il segnale di ACK giunge disattivato al lato sorgente.

Lo skew è l'unico ritardo che la sorgente deve conoscere: i tempi di setup e di hold sono garantiti dalla logica di controllo P della destinazione.

Ciclo di scrittura semisincrono[modifica]

Circuito scrittura semisincrona.png

Le operazioni avvengono in una sequenza di ritardi predefiniti, a meno che la destinazione non attivi una richiesta di wait per bloccare temporaneamente il ciclo in modo da avere più tempo per completare le sue operazioni.

Ciclo di lettura[modifica]

In un ciclo di lettura il master è la destinazione (flip-flop), che inizializza il ciclo e aggiunge ai ritardi il tempo necessario per la richiesta allo slave di ricevere i dati.

Ciclo di lettura sincrono[modifica]

Circuito lettura sincrona.png
Diagramma temporale lettura sincrona.png
  1. la destinazione invia un segnale di richiesta alla sorgente;
  2. dopo un tempo di trasmissione,[2] è necessario un tempo di accesso prima che l'informazione richiesta sia pronta (es. memorie);
  3. la sorgente invia l'informazione;
  4. intanto la destinazione, dopo un'attesa pari a due tempi di trasmissione massimi [3] più il tempo di accesso , attende il tempo di setup richiesto dal flip-flop;
  5. il flip-flop memorizza l'informazione al fronte di salita del clock;
  6. la destinazione attende il tempo di hold richiesto dal flip-flop;
  7. la destinazione rimuove il segnale di richiesta;
  8. dopo un tempo di trasmissione,[2] la sorgente rimuove il segnale di informazione;
  9. dopo un tempo di trasmissione,[2] la rimozione del segnale di informazione giunge alla destinazione.

Ciclo di lettura asincrono[modifica]

Diagramma temporale lettura asincrona.png

Nel ciclo di lettura asincrono si aggiunge un segnale di ACK che la destinazione deve inviare alla sorgente per comunicare che il segnale di informazione è pronto:

  1. la destinazione invia un segnale di richiesta alla sorgente;
  2. dopo un tempo di trasmissione,[2] è necessario un tempo di accesso prima che l'informazione richiesta sia pronta (es. memorie);
  3. la sorgente invia l'informazione;
  4. dopo un tempo pari allo skew,[4] la sorgente invia il segnale di ACK alla destinazione;
  5. dopo un tempo di trasmissione,[2] il flip-flop memorizza l'informazione al fronte di salita del segnale di ACK;[5]
  6. dopo un tempo pari ai tempi di setup e di hold richiesti dal flip-flop, la destinazione rimuove il segnale di richiesta;
  7. dopo un tempo di trasmissione,[2] la sorgente rimuove i segnali di informazione e di ACK;
  8. dopo un tempo di trasmissione,[2] la rimozione dei segnali di informazione e di ACK giunge alla destinazione.

Note[modifica]

  1. La trattazione che segue prenderà in esame esclusivamente la macchina a stati asincrona.
  2. 2,00 2,01 2,02 2,03 2,04 2,05 2,06 2,07 2,08 2,09 2,10 Siccome l'operazione è asincrona, non è detto che trascorra il tempo di trasmissione massimo.
  3. Siccome l'operazione è sincrona, il master ipotizza sempre tempi di trasmissione massimi, indipendentemente dai tempi di trasmissione che trascorrono effettivamente allo slave.
  4. Il ritardo dello skew serve a garantire che il segnale di ACK arrivi quando l'informazione è arrivata in modo stabile alla destinazione anche se il segnale di ACK impiega il tempo di trasmissione minimo e l'informazione impiega il tempo di trasmissione massimo.
  5. Si tralasciano i dettagli sulla logica di controllo al lato destinazione.