Strumenti Utente

Strumenti Sito


sezione_5b

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
Prossima revisioneEntrambe le parti successive la revisione
sezione_5b [2018/03/06 17:35] – [Contatori di modulo qualunque] adminsezione_5b [2018/03/11 18:21] – [3 Contatori sincroni] admin
Linea 34: Linea 34:
 Come esempio di contatore integrato il testo propone il [[http://www.ti.com/lit/ds/sdls097/sdls097.pdf|74293]]. L'integrato contiene un contatore modulo due (divisore per due) e uno modulo otto che possono essere usati separatamente o collegati insieme per realizzare un contatore modulo 16. Due ingressi di reset, che pilotano una porta NAND interna, permettono di realizzare contatori di modulo inferiore (si veda il circuito nel datasheet). Come esempio di contatore integrato il testo propone il [[http://www.ti.com/lit/ds/sdls097/sdls097.pdf|74293]]. L'integrato contiene un contatore modulo due (divisore per due) e uno modulo otto che possono essere usati separatamente o collegati insieme per realizzare un contatore modulo 16. Due ingressi di reset, che pilotano una porta NAND interna, permettono di realizzare contatori di modulo inferiore (si veda il circuito nel datasheet).
  
 +==== Contatori a decremento ====
 +
 +Per realizzare un contatore all'indietro modulo 8 si può utilizzare il circuito di figura 8. In funzionamento è il seguente:
 +  * l'ingresso //preset// (`PR` attivo basso) permette di impostare il contatore al valore massimo, con tutti i FF a 1
 +  * ad ogni fronte di discesa del clock l'uscita Q<sub>0</sub> del primo FF commuta
 +  * ad ogni fronte di salita di Q<sub>0</sub> corrisponde un fronte di discesa dell'uscita complementata `bar(Q_0)`, lo stesso avviene per i FF successivi
 +  * l'uscita complementata `bar(Q_0)` viene usata per pilotare il clock del FF successivo
 +  * osservando il diagramma temporale delle uscite Q<sub>2</sub>, Q<sub>1</sub> e Q<sub>0</sub> si osserva che le combinazioni prodotte corrispondono al conteggio in binario da 111 a 000, cioè da 7 a 0 in decimale
 +
 +In sintesi anche nei contatori a decremento le combinazioni si ottengono dalle uscite non complementate ma il clock dei FF successivi al primo vengono vengono pilotati da quelle complementate. Generalizzando è possibile realizzare dei contatori avanti/indietro (up/down) cambiando il collegamento di CK da Q a `barQ` a seconda del verso desiderato.
 +
 +==== Limiti in frequenza dei contatori asincroni ====
 +
 +Il difetto principale dei contatori asincroni è il fatto che i vari FF non commutano contemporaneamente a causa del tempo di propagazione dei FF stessi((il caso peggiore si ha quando si passa da tutti 1 a tutti 0)). Questo fenomeno, in particolare se il modulo è elevato, limita la frequenza massima a cui può operare un contatore.
 +
 +==== Extra ====
 +
 +  * lezione multimediale 5B.1 e 5B.2: contatori asincroni in avanti e all'indietro
 +  * scheda di laboratorio 5B.1: analisi sperimentale di contatori elementari asincroni
 +
 +
 +
 +===== 3 Contatori sincroni =====
 +
 +I contatori sincroni sono realizzati con flip-flop comandati da un unico stesso segnale di clock. Hanno prestazioni migliori di quelli asincroni, in particolare:
 +  * possono lavorare a frequenze più elevate
 +  * non producono combinazioni errate dovute ai tempi di propagazione (come avviene per i contatori asincroni dove ogni FF viene attivato dall'uscita del precedente)
 +
 +Per comprendere il funzionamento di un contatore sincrono conviene partire dalla tavola della verità (in figura 10 quella di un generico contatore modulo 16). Si nota che:
 +  * il FF con `Q_0`, che contiene il LSB, commuta ad ogni fronte del clock
 +  * il FF successivo, con `Q_1`, commuta quando `Q_0` vale 1
 +  * quello successivo ancora, con `Q_2`, quando `Q_0` e `Q_1` valgono 1
 +  * ... e così via 
 +
 +Per ottenere questo comportamento con un circuito logico si possono utilizzare dei flip-flop T (dei JK con gli ingressi J e K collegati insieme) attivati da un unico segnale di clock e pilotati con l'ingresso T:
 +  * sempre alto per il FF con uscita `Q_0`
 +  * collegato a `Q_0` per il FF con uscita `Q_1`
 +  * pilotato da una AND con `Q_0` e `Q_1` in ingresso, per il FF con uscita `Q_2`
 +  * ... e così via
 +
 +Il circuito risultante è quello mostrato in figura 10. Per realizzare contatori sincroni di modulo diverso si procede in maniera simile, utilizzando FF T e porte AND((per realizzare contatori all'indietro si utilizzerà l'uscita `bar Q` al posto di `Q`; [[http://www.elemania.altervista.org/digitale/immagini/contatore13.png|qui]] un'immagine che mostra un contatore modulo 10)). 
 +
 +Le figure 12 e 13 mostrano come le prestazioni dei contatori sincroni sono superiori a quelle degli asincroni:
 +  * nella prima figura si vede come un contatore asincrono che funziona correttamente a 1 kHz produce risultati errati a 10 MHz a causa del tempo di propagazione dei FF (il segnale in alto è il clock, gli altri i quattro bit da `Q_0` a `Q_3`)
 +  * alla stessa frequenza di 10 MHz un contatore sincrono continua a funzionare correttamente
  
 ===== Navigazione ===== ===== Navigazione =====
sezione_5b.txt · Ultima modifica: 2021/04/20 15:57 da admin