Questa è una vecchia versione del documento!
5B - Contatori
1 Generalità
Un contatore è un circuito sequenziale in grado di contare degli impulsi in binario.
Il modulo di un contatore è il numero di combinazioni possibili in uscita; ad esempio un contatore modulo 4 conta da 00 a 11 - da zero a tre - producendo quattro combinazioni binarie.
I contatori esistono anche in forma integrata ma si possono realizzare usando i flip-flop; in questo caso si distingue tra:
- contatori asincroni, dove il clock è applicato solo al primo flip-flop
- contatori sincroni, dove lo stesso segnale di clock è applicato a tutti i flip-flop, con prestazioni migliori
2 Contatori asincroni
La figura 2 mostra un contatore asincrono in avanti modulo 8. E' realizzato con tre flip-flop JK collegati in modo da flip-flop toggle con l'ingresso T sempre alto. Il segnale `bar(RESET)` permette di azzerare il contatore applicando un livello basso di tensione agli ingressi asincroni clear (`bar(CL)` attivo basso) dei tre TFF. Osservando il diagramma temporale si comprende il funzionamento del contatore:
- il clock è applicato solo al primo FF che commuta ad ogni impulso (fronte di discesa)
- l'uscita Q0 del primo contatore è usata come clock del secondo FF e così via per i FF successivi
- il secondo contatore commuta con frequenza dimezzata rispetto al primo; ogni contatore successivo fa lo stesso e si comporta da divisore di frequenza per due
- osservando le tre uscite - con Q0 come bit meno significativo - si vede come la sequenza di combinazioni prodotta corrisponde al conteggio in binario da 000 a 111
Nel caso in figura, con tre FF, si ottiene un contatore modulo 8; generalizzando con n FF si può realizzare un contatore di modulo `2^n -1`. Osserviamo inoltre che:
- tutte le uscite hanno un duty-cycle del 50%
- è possibile ottenere un contatore anche con FF attivi sul fronte di salita collegando il clock alle uscite complementate (`bar Q`) dei FF precedenti
Contatori di modulo qualunque
La figura 2 mostra come ottenere un contatore binario modulo 10. Il circuito deriva un contatore modulo 16, realizzato con quattro JKFF, che viene resettato quando il conteggio arriva a 10 con una porta NAND. Osservando il diagramma temporale si vede infatti che quando si raggiunge la combinazione 1010 l'uscita della porta NAND diventa bassa impostando a 0 tutti i FF tramite gli ingressi asincroni CL attivi bassi.
Generalizzando, per realizzare un contatore asincrono di modulo qualsiasi, si deve:
- realizzare un contatore binario di modulo maggiore
- individuare la combinazione delle uscite corrispondente al modulo desiderato
- collegare a una porta NAND le uscite che in quella combinazione valgono 1
- pilotare gli ingressi CL attivi bassi con l'uscita della NAND1)
Come esempio di contatore integrato il testo propone il 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).
Navigazione
Torna all'indice.