Il contatore è un dispositivo digitale e l'uscita del contatore include uno stato predefinito basato sulle applicazioni dell'impulso di clock. L'output di counter può essere utilizzato per contare il numero di impulsi. Generalmente, i contatori sono costituiti da una disposizione flip-flop che può essere un contatore sincrono o un contatore asincrono. Nel contatore sincrono, viene assegnato un solo clock i / p a tutti i flip-flop, mentre nel contatore asincrono, il o / p del flip flop è il segnale dell'orologio da quello vicino. Le applicazioni di il microcontrollore è necessario il conteggio di eventi esterni come la generazione esatta del ritardo temporale interno e la frequenza dei treni di impulsi. Questi eventi sono spesso usati nei sistemi digitali e nei computer. Entrambi questi eventi possono essere eseguiti da tecniche software, ma i cicli software per il conteggio non daranno il risultato esatto, le funzioni leggermente più importanti non vengono eseguite. Questi problemi possono essere risolti da timer e contatori nei microcontrollori che vengono utilizzati come interrupt.
Contatori
Tipi di contatori
I contatori possono essere classificati in diversi tipi a seconda del modo in cui sono cronometrati. Sono
- Contatori asincroni
- Contatori sincroni
- Contatori a decadi asincroni
- Contatori sincroni a decadi
- Contatori up-down asincroni
- Contatori sincroni su-giù
Per una migliore comprensione di questo tipo di contatori, qui stiamo discutendo alcuni dei contatori.
Contatori asincroni
Di seguito è mostrato il diagramma di un contatore asincrono a 2 bit. L'orologio esterno è collegato solo all'orologio i / p dell'FF0 (primo flip-flop). Quindi, questo FF cambia lo stato sul fronte decrescente di ogni impulso di clock, ma FF1 cambia solo quando attivato dal fronte decrescente del Q o / p di FF0. A causa del ritardo di propagazione integrale attraverso un FF, il cambiamento dell'impulso di clock i / p e un cambiamento del Q o / p di FF0 non possono mai verificarsi esattamente nello stesso momento. Quindi, gli FF non possono essere attivati contemporaneamente, generando un'operazione asincrona.
Contatori asincroni
Si noti che per facilità, le modifiche di Q0, Q1 e CLK nel diagramma sopra sono mostrate come simultanee, anche se questo è un contatore asincrono. In realtà, c'è un piccolo ritardo b / n le modifiche Q0, Q1 e CLK.
Generalmente, tutti i CLEAR i / ps sono collegati insieme, quindi prima che inizi il conteggio, un singolo impulso può cancellare tutti gli FF. L'impulso di clock immesso in FF0 viene increspato attraverso i nuovi contatori dopo i ritardi di propagazione, come un'ondulazione sull'acqua, da cui il termine Ripple Counter.
Lo schema circuitale del contatore di ondulazioni a due bit comprende quattro diversi stati, ciascuno costituito da un valore di conteggio. Allo stesso modo, un contatore con n FF può avere stati 2N. Il numero di stati in un contatore viene chiamato come numero di mod. Quindi un contatore a due bit è un contatore mod-4.
Contatori a decadi asincroni
Nel contatore precedente hanno 2n stati. Ma sono anche possibili contatori con stati inferiori a 2n. Questi sono progettati per avere il no. di stati nella loro serie. Queste sono chiamate sequenze abbreviate che si ottengono spingendo il contatore a riciclare prima di passare attraverso tutti i suoi stati. Un modulo comune per i contatori con sequenza abbreviata è 10. Un contatore con 10 stati nella sua serie è chiamato contatore a decadi. Il circuito del contatore a decadi implementato è dato di seguito.
Schema del circuito del contatore a decadi asincrono
Quando il contatore conta fino a dieci, tutti gli FF verranno cancellati. Si noti che solo Q1 e Q3 vengono utilizzati entrambi per decodificare il conteggio di 10, ovvero la decodifica parziale. Allo stesso tempo, uno degli altri stati da 0 a 9 ha sia Q1 che Q3 saranno alti. Di seguito viene fornita la serie della tabella del contatore delle decadi.
Sequenza del contatore dei decenni
Contatori up-down asincroni
In applicazioni particolari, un contatore deve essere in grado di contare sia in avanti che indietro. Il circuito sottostante è un contatore avanti e indietro a tre bit, che conta UP o DOWN in base allo stato del segnale di controllo. Quando UP i / p è a 1 e DOWN i / p è a 0, la porta NAND tra FF0 e FF1 porterà l'o / p (Q) non invertito del flip flop (FF0) nel clock i / p di flip flop (FF1). Allo stesso modo, l'o / p non invertito del Flip Flop1 verrà portato attraverso l'altra porta NAND nel clock i / p del flip-flop2. Quindi il contatore conterà.
Schema del circuito del contatore su-giù asincrono
Una volta che il controllo i / p (UP) è a 0 e DOWN è a 1, l'o / ps invertito del flip-flop0 (FF0) e del flip-flop1 (FF) sono collegati separatamente all'orologio i / ps di FF1 e FF2 . Se gli FF vengono inizialmente modificati in 0, il contatore passerà attraverso le serie seguenti quando vengono applicati gli impulsi i / p. Si noti che un contatore in avanti / indietro asincrono è più lento di un contatore in salita / in discesa a causa di un ritardo di propagazione aggiuntivo introdotto dalle porte NAND.
Sequenza del contatore avanti / indietro asincrono
Contatori sincroni
In questo tipo di contatori , i CLK i / ps di tutti gli FF sono collegati insieme e vengono attivati dagli impulsi i / p. Quindi, tutti gli FF cambiano stato istantaneamente. Lo schema del circuito seguente è un contatore sincrono a tre bit. Gli ingressi J e K del flip-flop0 sono collegati ad HIGH. Il flip-flop 1 ha il suo J & K i / ps connesso all'o / p del flip-flop0 (FF0), e gli ingressi J & K del flip-flop2 (FF2) sono collegati all'o / p di una porta AND che è alimentato dall'o / ps di flip-flop0 e flip-flop1. Quando entrambe le uscite di FF0 e FF1 sono ALTE. Il fronte positivo del quarto impulso CLK farà sì che FF2 modifichi il suo stato a causa della porta AND.
Schema del circuito del contatore sincrono
Di seguito viene fornita la serie della tabella dei contatori a tre bit. Il vantaggio principale di questi contatori è che non vi è alcun ritardo temporale crescente poiché tutti gli FF sono attivati in parallelo. Pertanto, la frequenza operativa massima di questo contatore sincrono sarà notevolmente superiore a quella del contatore di ondulazioni equivalente.
Impulsi CLK dei contatori sincroni
Contatori sincroni a decadi
Il contatore sincrono conta da 0 a 9 in modo simile al contatore asincrono e quindi ricicla nuovamente lo zero. Questo processo viene eseguito riportando gli stati 1010 allo stato 0000. Questa è definita come sequenza troncata, che può essere progettata dal circuito sottostante.
Schema del circuito del contatore a decadi sincrono
Dalla serie sulla tabella di sinistra, possiamo osservarlo
- Q0 pareggia su ogni singolo impulso CLK
- Q1 cambia all'impulso di clock successivo ogni volta che Q0 = 1 e Q3 = 0.
- Q2 cambia all'impulso di clock successivo ogni volta che Q0 = Q1 = 1.
- Q3 cambia al successivo impulso CLK ogni volta che Q0 = 1, Q1 = 1 & Q2 = 1 (conta 7), o quando Q0 = 1 & Q3 = 1 (conta 9).
Sequenza del contatore di decadi sincrono
Le caratteristiche di cui sopra sono impiegate con il Porta AND o porta OR . Il diagramma logico di questo è mostrato nel diagramma sopra.
Contatori sincroni su-giù
Di seguito sono riportati un contatore Up-Down sincrono a tre bit, una forma tabulare e una serie. Questo tipo di contatore ha un i / p di controllo su-giù simile al contatore su-giù asincrono, che viene utilizzato per controllare la direzione del contatore attraverso una certa serie.
Schema del circuito dei contatori sincroni su-giù
La serie della tabella mostra
- Q0 pareggia su ogni impulso CLK per entrambe le serie su e giù
- Quando Q0 = 1 per la serie up, lo stato di Q1 cambia al successivo impulso CLK.
- Quando Q0 = 0 per la serie down, lo stato di Q1 cambia al successivo impulso CLK.
- Quando Q0 = Q1 = 1 per la serie su, lo stato di Q2 cambia al successivo impulso CLK.
- Quando Q0 = Q1 = 0 per la serie down, lo stato di Q2 cambia al successivo impulso CLK.
Sequenza dei contatori sincroni a decadi
Le caratteristiche di cui sopra sono impiegate con la porta AND, la porta OR e la porta NOT. Il diagramma logico di questo è mostrato nel diagramma sopra.
Applicazioni dei contatori
Le applicazioni dei contatori riguardano principalmente gli orologi digitali e il multiplexing. Il miglior esempio del contatore è parallelo alla logica di conversione dei dati seriali discussa di seguito.
Un insieme di bit, che viene eseguito contemporaneamente su linee parallele, è chiamato dati paralleli. Un insieme di bit, eseguito su una singola riga in una serie temporale, è chiamato dati seriali. La conversione dei dati da parallelo a seriale viene normalmente eseguita utilizzando un contatore per fornire una serie binaria dei dati, selezionare i / ps di un MUX, come spiegato nel circuito seguente.
Conversione dati parallela a seriale
Nel circuito sopra, il contatore modulo 8 è costituito da Q o / ps, che sono collegati ai dati, selezionare i / ps di un MUX a 8 bit . Il primo gruppo di dati paralleli a 8 bit viene applicato agli ingressi del MUX. Quando il contatore passa attraverso una serie binaria da 0 a 7, ogni bit inizia con D0, viene selezionato in serie e passato attraverso il MUX alla linea o / p. Dopo gli impulsi di 8-CLK, il byte di dati è stato modificato in un formato seriale e inviato attraverso la linea di trasmissione. Quindi, il contatore si rielabora nuovamente a 0 e modifica di nuovo un altro byte parallelo in serie nel processo simile.
Quindi, si tratta di contatori e tipi di contatore, che includono contatori asincroni, contatori sincroni, contatori a decadi asincroni, contatori a decadi sincroni, contatori su-giù asincroni e contatori su-giù sincroni. Inoltre, eventuali dubbi in merito a questo argomento o timer e contatori nel microcontrollore 8051 si prega di commentare nella sezione commenti qui sotto.