Contadores – DE Parte 20

Contadores – DE Parte 20

No tutorial anterior, diferentes tipos de registros foram discutidos. Os registradores e contadores são dois tipos de circuitos sequenciais que são construídos exclusivamente a partir sandálias de dedo. Os contadores são aqueles registradores que passam por sequências pré-determinadas de estados na aplicação de pulsos de entrada. Os pulsos de entrada podem vir de um relógio mestre ou de alguma fonte externa. Eles podem ser aplicados ao contador em intervalos regulares ou aleatoriamente. Existem dois tipos de contadores – contador assíncrono (também conhecido como contador ripple) e contador síncrono.

A sequência de estados em um contador pode ser números binários ou qualquer outra sequência de estados. Os contadores que seguem a sequência numérica binária são chamados contadores binários. Os contadores binários são novamente categorizados como Contador ascendente, Contador decrescente e Contador ascendente/descendente. Os contadores Ripple e Síncronos podem ser usados ​​como contadores binários. Existem muitos outros tipos de contadores que seguem sequências diferentes de estados além dos números binários, como contador BCD, contador de anel, contador Johnson, etc.

Contador assíncrono/ondulação

No contador assíncrono ou Ripple, o pulso de entrada é aplicado a um flip-flop ou a alguns flip-flops do contador e sua saída aciona os outros flip-flops, um após o outro. Portanto, todos os flip-flops de um contador de ondulação não compartilham um pulso de clock comum; em vez disso, o pulso de clock é aplicado a apenas um ou alguns flip-flops.

Este é o contador mais simples em termos de operação lógica e, portanto, o mais fácil de projetar. Neste contador, todos os flip-flops não compartilham um sinal de clock comum. O pulso de clock é aplicado ao primeiro flip-flop. isto é, o estágio de bit menos significativo do contador e o flip-flop sucessivo são acionados pela saída do anterior e, portanto, o contador tem um tempo de estabilização cumulativo. Conseqüentemente, sua velocidade de operação é limitada.

O primeiro estágio do contador comuta assim primeiro na aplicação de um pulso de clock ao primeiro flip-flop e o estágio sucessivo muda seus estados, por sua vez, causando um 'efeito de ondulação' dos pulsos de contagem. À medida que os gatilhos se movem pelos flip-flops como uma ondulação, esse tipo de contador é chamado de contador de ondulação. O contador de ondulação pode ser um contador binário (caso siga a sequência numérica binária) ou pode ser construído para seguir outra sequência de estados, como o contador de ondulação BCD segue a sequência de numeração BCD.

Contador Síncrono

Nos contadores síncronos, um pulso de clock comum é aplicado às entradas de todos os flip-flops. Todos os flip-flops são acionados pelo pulso de clock comum simultaneamente. Nesse caso, a mudança no estado de um flip-flop é determinada pela entrada de dados nele, em vez da aplicação do pulso de clock. O pulso de clock geralmente é gerado a partir de um clock mestre de forma periódica. Os contadores síncronos também podem ser construídos para seguir a sequência numérica binária, como no contador síncrono binário, ou outra sequência de estados, como o sistema de numeração BCD, no caso do contador síncrono BCD.

Tipos de contadores binários

Os contadores binários seguem sequência de números binários. Dependendo da maneira como a contagem progride, os contadores binários ondulados e síncronos são classificados da seguinte forma –

1) Contador ascendente – O contador crescente avança a contagem em ordem crescente de números binários. A contagem geralmente começa em 0 e progride até um número binário fixo. Um contador crescente de n bits pode contar até 2n números binários. Por exemplo, um contador binário de 8 bits pode contar de 0 a 255.

2) Contador descendente – O contador decrescente avança a contagem em ordem decrescente de números binários. A contagem começa a partir de um número binário fixo e progride para baixo até 0. Um contador regressivo de n bits pode fazer uma contagem regressiva de 2n números binários. Por exemplo, um contador decrescente binário de 8 bits pode fazer uma contagem regressiva de 255 a 0.

3) Contador ascendente/descendente – O contador ascendente/descendente é construído combinando contadores ascendentes e descendentes. No contador ascendente/descendente, uma entrada de controle de modo (M) é fornecida para selecionar o modo ascendente ou descendente. A entrada de controle de modo envolve um circuito combinacional que é usado entre cada par de flip-flops para selecionar o modo de contagem crescente ou decrescente. Um contador ascendente/descendente de n bits pode contar para cima ou para baixo 2n números binários. Por exemplo, um contador binário ascendente/descendente de 8 bits pode contar números binários crescentes ou decrescentes no intervalo de 0 a 255.

Contador ascendente binário ondulação

Um contador Binary Ripple Up progride através dos estados contando números binários em ordem crescente. Fazer esse contador é muito simples e pode ser projetado simplesmente aplicando pulso de clock a um flip-flop e conectando a saída em cascata para o próximo flip-flop. Os flip-flops subsequentes no contador são colocados em cascata de forma semelhante. Um contador de ondulação de 2 bits construído usando flip-flops toggle (T) é mostrado abaixo –

Diagrama de porta lógica do contador ascendente binário Ripple

Figura 1: Diagrama de porta lógica do contador ascendente binário Ripple

O flip-flop JK também pode ser usado no lugar dos flip-flops T na construção deste contador, conectando as entradas J e K permanentemente à lógica 1. No contador de ondulação ascendente de 2 bits mostrado acima, o clock externo é aplicado à entrada de clock do flip-flop. -flop A e a saída QA são aplicadas à entrada de clock do próximo flip-flop, ou seja, Flip Flop – B. Este contador ondulado de 2 bits conta de 00 a 11. Sua operação pode ser resumida pela seguinte tabela de funções –

Tabela verdade do contador ascendente binário Ripple

Fig. 2: Tabela verdade do contador ascendente binário Ripple

Da tabela de funções, pode-se ver que inicialmente tanto o sandálias de dedo estão no estado de reinicialização. Então, inicialmente, QBPA = 00. Agora a primeira transição negativa do clock é aplicada à entrada do clock de chinelo de dedo A. Assim que a primeira transição negativa do clock for aplicada, chinelo de dedo A é alternado e QA torna-se igual a 1. QA é conectado à entrada de clock do chinelo de dedo – B. Como QA mudou de 0 para 1, ele é tratado como a transição positiva do clock por chinelo de dedo B. Não há mudança no QB porque chinelo de dedo B é uma borda negativa acionada chinelo de dedo. Assim, após a aplicação do primeiro pulso de clock, QBQA = 01.

Em seguida, a segunda transição negativa do clock é aplicada à entrada do clock do flip-flop A. Na chegada da segunda transição negativa do clock, o flip-flop A alterna novamente e QA é redefinido para 0. A mudança em QA atua como uma transição negativa do clock. para o flip-flop B. Portanto, ele também alterna e QB é definido como 1. Portanto, após a aplicação do segundo pulso de clock, QBQA = 10. Em seguida, a terceira borda negativa do clock é aplicada à entrada de clock do flip-flop A. No chegada da terceira transição negativa do clock, o flip-flop A alterna novamente e QA é definido como 1 de 0. Como esta é uma mudança positiva, o flip-flop B não responde a ela e permanece inativo. Portanto, QB não muda e continua igual a 1. Portanto, após a aplicação do terceiro pulso de clock, QBQA = 11. Na chegada da quarta transição negativa do clock, o flip-flop A alterna novamente e QA é definido como 1 a partir de 0. Esta mudança negativa em QA atua como pulso de clock para o flip-flop B. Conseqüentemente, ela alterna QB de 1 para 0. Portanto, após o quarto pulso de clock, QBQA = 00.

Contador ascendente/descendente binário ondulação

No contador de ondulação para cima/para baixo, todos os flip-flops operam no modo de alternância. Portanto, flip-flops T ou flip-flops JK são usados ​​para sua construção. O flip-flop LSB recebe o clock diretamente. Mas o clock para todos os outros flip-flops é obtido a partir da saída do flip-flop anterior. O contador possui entrada de controle de modo (M). Dependendo do estado atual da entrada de controle de modo, o modo de contagem crescente ou decrescente é selecionado. O contador opera nos dois modos a seguir –

1) Modo de contagem crescente (no caso de M=0) − A saída Q do flip-flop anterior deve ser conectada ao relógio do próximo estágio para que a contagem crescente seja alcançada. Para a seleção deste modo, a entrada de seleção de modo M deve estar no nível lógico 0 (ou seja, M=0).

2) Modo de contagem regressiva (no caso M=1) − Se a entrada de controle de modo estiver definida como 1, então a saída da barra Q do flip-flop anterior será conectada ao próximo FF. Isso operará o contador no modo de contagem regressiva.

Por exemplo, considere um contador de ondulação ascendente/descendente binário de 3 bits. Por ser um contador de ondulação de 3 bits, sua construção requer 3 flip-flops. Existe uma entrada de controle de modo que é essencial para controlar a seleção do modo de contagem crescente ou decrescente. Para um contador de ondulação, a saída Q do flip-flop anterior é conectada à entrada de clock do próximo. Enquanto, para um contador descendente de ondulação, a saída da barra Q do flip-flop anterior é conectada à entrada de clock do próximo. O contador ascendente / descendente de ondulação de 3 bits tem o seguinte diagrama de circuito –

Diagrama de porta lógica do contador ascendente e descendente binário Ripple

Figura 3: Diagrama de porta lógica do contador ascendente e descendente binário Ripple

A seleção da saída da barra Q e Q do flip-flop anterior será controlada pela entrada de controle de modo M de modo que, se M = 0, o modo de contagem crescente seja selecionado. Portanto, Q está conectado a CLK. Se M = 1, o modo de contagem regressiva é selecionado. Portanto, a barra Q está conectada ao CLK. Um contador de ondulação para cima/para baixo de 3 bits pode ser representado pelo seguinte diagrama de blocos –

Diagrama de blocos do contador ascendente e descendente binário Ripple

Figura 4: Diagrama de blocos do contador ascendente e descendente binário Ripple

A operação deste contador pode ser representada pela seguinte tabela de funções –

Tabela verdade do contador ascendente binário Ripple

Fig. 5: Tabela Verdade do Contador Up Down Binário Ripple

Na tabela de funções, pode-se observar que quando a entrada de controle de modo (M) é 0, o modo de contagem crescente é selecionado. Se M = 0 e M bar = 1, então as portas AND 1 e 3 estão habilitadas, enquanto as portas AND 2 e 4 estão desabilitadas. Portanto QA é conectado à entrada de clock do Flip Flop B e QB é conectado à entrada de clock do Flip Flop C. Essas conexões são as mesmas do contador ascendente normal. Portanto, com M = 0 o circuito funciona como um contador crescente. Quando a entrada de controle de modo é 1, o modo de contagem regressiva é selecionado. Se M = 1, então as portas AND 2 e 4 estão habilitadas, enquanto as portas AND 1 e 3 estão desabilitadas. Portanto QA barra é conectada à entrada de clock do Flip Flop B e QB A barra é conectada à entrada de clock do Flip Flop C. Essas conexões formam um contador decrescente. Assim, com M = 1 o circuito funciona como um contador decrescente.

Contador BCD de ondulação

O contador BCD, também conhecido como contador decimal, conta números BCD de 0 a 9. Como os números BCD são números de 4 bits, são necessários quatro flip-flops para projetar um contador BCD. O contador segue uma sequência de 10 estados e conta de 0 (0000) a 9 (1001) retornando a 0 (0000). Vários contadores BCD podem ser conectados em série para representar um número decimal maior. Neste caso, um contador BCD para cada peso posicional deve ser conectado no circuito.

Um contador BCD pode ser construído usando flip-flops JK. Para projetar um contador BCD, são necessários quatro flip-flops. Esses flip-flops podem ser representados por seus pesos binários como Q1, Q2, Q4 e Q8. As entradas J e K dos flip-flops estão conectadas permanentemente à lógica 1 ou às saídas de outros flip-flops. A saída do flip-flop Q1 está conectada à entrada de clock de ambos os flip-flops Q2 e Q8. A saída do flip-flop Q2 está conectada à entrada de clock do flip-flop Q4. O contador BCD construído a partir de flip-flops JK possui o seguinte diagrama de porta lógica –

Diagrama de porta lógica do contador Ripple BCD

Figura 6: Diagrama de porta lógica do contador Ripple BCD

O contador progride contando de Q8Q4Q2Q1 = 0000 para Q8Q4Q2Q1 = 1001. A operação do contador pode ser resumida pela seguinte tabela de funções –

Tabela verdade do contador Ripple BCD

Fig. 7: Tabela verdade do contador Ripple BCD

Contador ascendente síncrono

O contador ascendente binário também pode ser projetado como contador síncrono. O contador ascendente binário síncrono possui um sinal de clock comum e a sequência de estados depende da entrada de dados nos flip-flops. Por exemplo, para projetar um contador síncrono de 2 bits, são necessários dois flip-flops. Deixe o flip-flop que armazena LSB ser A e o flip-flop que armazena MSB ser B. As entradas JA e KA do flip-flop A estão vinculadas à lógica 1. Portanto, o flip-flop A funciona como um flip-flop alternado. As entradas JB e KB estão conectadas ao QA. O contador ascendente binário síncrono de 2 bits tem o seguinte diagrama lógico –

Diagrama de porta lógica do contador ascendente binário síncrono

Figura 8: Diagrama de porta lógica do contador ascendente binário síncrono

Inicialmente, ambos os flip-flops estão no estado de reinicialização. Portanto, inicialmente, QBQA = 00. Quando a primeira transição negativa do clock é aplicada, o Flip Flop A é alternado e QA muda de 0 para 1. Mas no instante da aplicação da transição negativa do clock, QA = JB = KB = 0. Portanto, Flip O Flop B não muda seu estado. Portanto, QB permanece 0. Portanto, após aplicar o primeiro pulso de clock, QBQA = 01. Quando a segunda transição negativa do clock é aplicada, o Flip Flop A alterna novamente e QA muda de 1 para 0. Mas neste instante QA permaneceu 1. Então JB = KB= 1 e Flip Flop B é alternado. Conseqüentemente, QB muda de 0 para 1. Portanto, após aplicar o segundo pulso de clock, QBQA = 10.

Quando a terceira transição negativa do clock é aplicada, o Flip Flop A alterna de 0 para 1, mas não há mudança de estado para o Flip Flop B. Portanto, após a aplicação do terceiro pulso de clock, QBQA = 11. Quando a quarta transição negativa do clock é aplicada, QA muda de 1 a 0, pois QB também muda de 1 para 0. Portanto, após aplicar o quarto pulso de clock, QBQA = 00. O funcionamento do contador ascendente binário síncrono de 2 bits pode ser resumido pela seguinte tabela de funções –

Tabela verdade do contador ascendente binário síncrono

Fig. 9: Tabela verdade do contador ascendente binário síncrono

Contador ascendente/descendente síncrono

Um contador de contagem regressiva síncrono pode ser construído usando flip-flops T conectando saídas complementares em vez de saídas normais, como no caso do contador ascendente. Um contador ascendente/descendente pode ser construído colocando um circuito combinacional entre cada flip-flop para determinar o modo de contagem. O circuito combinacional pode ser projetado usando portas AND e fornecendo uma entrada de controle de modo adicional (M) semelhante ao feito no caso do Ripple Up/Down Counter.

Contador BCD síncrono

Novamente, um contador BCD pode ser construído como contador síncrono. Para construir um contador BCD síncrono, os estados atuais e passados ​​dos flip-flops precisam ser considerados. O contador BCD síncrono segue a tabela de funções abaixo –

Tabela verdade do contador BCD síncrono

Fig. 10: Tabela verdade do contador BCD síncrono

Na tabela de funções acima, o contador BCD síncrono possui o seguinte diagrama de porta lógica –

Diagrama de porta lógica do contador BCD síncrono

Figura 11: Diagrama de porta lógica do contador BCD síncrono

O contador BCD também é chamado de contador de décadas. O contador conta os números BCD de 0 (0000) a 9 (1001). Como os números BCD têm 4 bits, são necessários quatro flip-flops para projetar o contador BCD. O contador BCD síncrono tem todos os flip-flops compartilhando um pulso de clock comum.

Contador de toque

O contador de anel é usado para gerar sinais de temporização. Os sinais de temporização são necessários para controlar as operações em um sistema digital. O contador de anel é um registrador de deslocamento circular no qual apenas um flip-flop é definido por vez, enquanto todos os outros permanecem zerados. Nesse contador, um único bit é deslocado de um flip-flop para outro, produzindo uma sequência de sinais de temporização. Por exemplo, para produzir quatro sinais de temporização em um sistema digital, um contador de 2 bits combinado com um circuito decodificador pode ser usado como contador de anel. O contador de anel terá flip-flops armazenando bits na seguinte sequência – 1000, 0100, 0010, 0001 e 1000.

Contador Johnson

Um contador de anel de n bits desloca um único bit através dos flip-flops gerando um número n de estados de sequência. O número de estados em um contador de anel pode ser duplicado conectando flip-flops no contador de anel de maneira switch-tail. Isso pode ser feito conectando a saída de um flip-flop com o próximo. Isso é chamado de Contador Johnson. Possui o seguinte diagrama de porta lógica –

Diagrama de porta lógica do contador Johnson

Figura 12: Diagrama de porta lógica do contador Johnson

A operação do contador Johnson pode ser resumida pela seguinte tabela de funções –

Tabela Verdade do Contador Johnson

Fig. 13: Tabela Verdade do Contador Johnson

No próximo tutorial serão feitas discussões relacionadas à memória digital.

Retour au blog

Laissez un commentaire

Les commentaires doivent être approuvés avant publication.