Na eletrônica digital, o contador é um circuito lógico seqüencial que consiste em uma série de flip-flops. Conta o número de ocorrências de entrada em termos de transições de borda negativas ou positivas. Eles são usados em aplicações como sincronização de eventos e medição de frequência, estimativa da posição angular e a duração de um evento. Os contadores são bastante semelhantes aos registradores, pois ambos compreendem um arranjo em cascata de mais de um flip-flop com ou sem dispositivos lógicos combinacionais. Os contadores são usados principalmente para contar aplicativos. A contagem representa o número de pulsos de clock recebidos. Com base na maneira como os flip-flops são acionados, os contadores podem ser classificados em duas categorias principais: contador síncrono e assíncrono. Em um contador síncrono, todos os flip-flops são acionados pelo mesmo sinal de relógio, enquanto que em um contador assíncrono, os flip-flops são acionados com diferentes sinais de relógio. Ao contrário de um contador assíncrono, o estado dos bits de saída muda simultaneamente em um contador síncrono, sem qualquer ondulação. Vamos dar uma olhada nas diferenças entre os dois.
Em um contador síncrono, também conhecido como contador paralelo, todos os flip-flops no contador mudam de estado ao mesmo tempo em sincronia com o sinal do relógio de entrada. Quando o contador é cronometrado de modo que cada flip-flop no contador seja acionado pelo mesmo sinal de relógio ao mesmo tempo, o contador é chamado de contador síncrono. Difere dos contadores assíncronos, pois a entrada do pulso de contagem está conectada às entradas do relógio de todos os flip-flops. Como todos os flip-flops possuem clock ao mesmo tempo, um contador síncrono com o mesmo número e tipo de flip-flops pode operar com frequências de clock muito mais altas que os contadores assíncronos. Como o sinal do relógio é aplicado simultaneamente às entradas do relógio de todos os flip-flops, não há intervalo de tempo entre as diferentes saídas.
Um contador assíncrono é freqüentemente chamado de contador de ondulação. Em um contador de ondas, a saída de um flip-flop impulsiona o outro. É um arranjo em cascata de flip-flops em que a saída de um flip-flop aciona a saída do relógio do flip-flop a seguir. Um contador de ondulações consiste em uma série de flip-flops complementares, nos quais a saída de cada flip-flop é conectada à entrada do relógio do próximo flip-flop de ordem superior. O sinal do relógio é aplicado diretamente apenas ao primeiro flip-flop e é subsequentemente transmitido, com um atraso de tempo de um flip-flop para outro. Por exemplo, a saída do primeiro flip-flop é a entrada do relógio do segundo flip-flop, e a saída do segundo flip-flop é a entrada do relógio do terceiro flip-flop, e assim por diante. Devido ao atraso de propagação, os contadores de ondulação geralmente são mais lentos do que seus equivalentes síncronos em operação.
- Em um contador síncrono, a mesma fonte é usada pela entrada do relógio em todos os flip-flops, criando o mesmo sinal ao mesmo tempo, o que significa que o contador é cronometrado de tal maneira que cada flip-flop no contador é acionado por o mesmo sinal de relógio ao mesmo tempo. Pelo contrário, em um contador assíncrono (também chamado de contador de ondulações), apenas o primeiro flip-flop é cronometrado por um relógio externo que, por sua vez, aciona a saída do relógio do flip-flop a seguir. Em um contador de ondas, a saída de um flip-flop impulsiona a outra.
- Todos os flip-flops são cronometrados ao mesmo tempo, portanto, um contador síncrono com o mesmo número e tipo de flip-flops pode operar com frequências de clock muito mais altas do que seu equivalente assíncrono. Difere dos contadores assíncronos, pois a entrada do pulso de contagem está conectada às entradas do relógio de todos os flip-flops. Em um contador assíncrono, nenhum relógio comum é usado, o que significa que a entrada do relógio dos flip-flops não é acionada pelo mesmo sinal de relógio. Pelo contrário, em um contador síncrono, todo flip-flop é acionado pelo pulso comum do relógio.
- Como o sinal do relógio em um contador síncrono é aplicado às entradas do relógio de todos os flip-flops ao mesmo tempo, não há intervalo de tempo entre as diferentes saídas. Portanto, não há atraso de propagação inerente nos contadores síncronos. Em um contador assíncrono, o sinal do relógio é aplicado diretamente apenas ao primeiro flip-flop e é transmitido subsequentemente, o que resulta em um atraso de tempo subsequente de um flip-flop para outro, o que eventualmente é responsável por sua operação em baixa velocidade em comparação com a sincronização contador.
Em um contador síncrono, todos os flip-flops são acionados pelo mesmo sinal de clock e as saídas do contador mudam de estado ao mesmo tempo, portanto, não há atraso de propagação inerente entre as diferentes saídas. Em um contador assíncrono, ao contrário dos contadores síncronos, a entrada do relógio dos flip-flops não é acionada pelo mesmo sinal de relógio; de fato, a saída de um flip-flop impulsiona outro. Isso resulta em um intervalo de tempo subsequente entre as saídas de um flip-flop para outro. Pelo contrário, não há atraso de tempo inerente entre as saídas em um contador síncrono.