Prévia do material em texto
ELETRÔNICA DIGITAL I Contadores Curso Superior em Tecnologia em Automação Industrial IFSP – Campus Cubatão Professor: Marcos Marinovic Doro 1 Contadores São circuitos digitais que variam os seus estados, sob o comando de um clock, de acordo com uma sequência predeterminada. São utilizados principalmente para: contagens diversas, divisão de frequência, medição de frequência e tempo, geração de formas de onda e conversão de analógico para digital. 2 Tipos de Contadores Assíncronos Seus flip-flops funcionam de maneira assíncrona (sem sincronismo), não tendo entradas clock em comum. Utilizados principalmente para contagens em geral de forma sequencial Síncronos Os flip-flops são controlados simultaneamente pelo mesmo pulso de clock. Empregados normalmente para realizar uma transição de estados não sequencial (máquina de estados). 3 1 Contadores assíncronos Utiliza flip-flops JK com entradas J = 1 e K = 1 ou flip-flops T com entrada igual a 1 A entrada clock se faz apenas no primeiro flip-flop, sendo as outras derivadas das saídas dos blocos anteriores Considerando Q0 como o bit menos significativo (LSB) e Q3 como o mais significativo (MSB), temos nas saídas o sistema binário em sequência (0000 a 1111). 4 PRE CLR CLK Q T PRE CLR CLK Q T PRE CLR CLK Q T PRE CLR CLK Q T Q3 Q0 Q1 Q2 CLK START Contadores assíncronos 5 START CLK Q0 Q1 Q2 Q3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 5 Divisor de frequência 6 CLK Q0 Q1 Q2 Q3 Q0 é a metade da frequência do clock. Q1 é a quatro vezes menor a frequência do clock. Q2 é a oito vezes menor a frequência do clock. Q3 é a dezesseis vezes menor a frequência do clock Módulo do contador Módulo É o número de estados diferentes através dos quais o contador passa antes de retornar a um estado inicial 7 Módulo = 2N N é o número de flip-flops Tendo dois flip-flops podemos contar de 0 a 3; Tendo três flip-flops podemos contar de 0 a 7; Tendo quatro flip-flops podemos contar de 0 a 15; etc... Contador assíncrono - Módulo 4 8 START CLK Q0 Q1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 8 Contador assíncrono - Módulo 8 9 START CLK Q0 Q1 Q2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 9 Diagrama de transição de estados Diagrama de transição de estados Representa a sequência de estados gerada por um contador 10 00 01 11 10 Contador de módulo 4 Contador de módulo 8 100 000 010 110 001 011 101 111 Contador assíncrono decrescente 11 START CLK 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 Contador assíncrono sequencial de 0 a n Contagem de 0 até n Para contar um valor 0 até n, deve-se utilizar a entradas CLEAR dos Flip-Flops Verificar quais as saídas do contador que gerem o valor n + 1 Ligar estas saídas nas entradas de uma porta NE Ligar a saída da porta NE nas entradas CLEAR dos flip-flops. Exemplo: Contador assíncrono decádico (0 até 9) Quando tivermos em Q3Q2Q1Q0 = 1010, o contador é reiniciado, a contagem será de 0000 a 1001 ( 0 a 9 → 10 estados ). 12 Contador assíncrono decádico (0 até 9) 13 CLK Q0 Q1 Q2 Q3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 Reinicia Contador assíncrono – Módulo 14 (0 a 13) 14 Contador assíncrono – Módulo 24 (0 a 23) 15 Limitações dos contadores assíncronos Atraso de propagação Efeito cumulativo à medida que os sinais forem sendo propagados entre um flip-flop e outro. 16 Limitações dos contadores assíncronos Atraso de propagação A medida que o contador tiver a frequência de clock mais elevada, os atrasos passam a ser mais significativos a ponto de pular alguns estados 17 Condição 100 não ocorre 0 0 0 1 0 0 0 1 0 1 1 0 1 0 1 Limitações dos contadores assíncronos 18 Exercícios Implemente um contador assíncrono de 4 bits crescente. Implemente um contador assíncrono de módulo 8. Implemente um contador assíncrono, com reset automático, de módulo 22. Implemente um contador assíncrono decrescente de 4 bits. Qual a contagem máxima de um contador que possui 5 flip-flops? Represente o diagrama de transição de estados de um contador decrescente de módulo 13. 19 Contadores Síncronos 20 Q3 Q2 Q1 Q0 CLK CLK Q J K CLK Q J K CLK Q J K CLK Q J K Circuito Combinacional Contadores Síncronos Tabelas de transição do flip-flop JK 21 Qa Qf J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0 0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 (2) (2) Valor do estado da contagem (normalmente indicado em binário) (1) (1) Estado inicial (3) (3) Transição do estado Contadores Síncronos Diagrama de transição de estados Indica a sequência de contagem 22 Estado 2 Estado 3 Estado 1 Estado 4 Contador Síncrono Projeto Determinação do diagrama de estados do contador a partir das especificações de projeto Montagem da tabela de estados futuros Montagem da tabela de entrada dos flip-flops Implementação das funções lógicas de entrada dos flip-flops Implementação do circuito lógico 23 Contador Síncrono – Exemplo 1 24 1) Diagrama de estados do contador Contador Síncrono – Exemplo 1 25 2) Montagem da tabela de estados futuros Estados atuais QA QB QC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Estados futuros QA QB QC 0 1 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 0 JC KC 0 X X 1 1 X X 1 1 X X 0 1 X X 1 JB KB 1 X 0 X X 1 X 0 1 X 1 X X 1 X 1 Contador Síncrono – Exemplo 1 26 3) Montagem da tabela de entrada dos flip-flops Estados atuais QA QB QC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Estados futuros QA QB QC 0 1 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 0 JA KA 0 X 1 X 0 X 1 X X 1 X 0 X 0 X 1 Entradas dosflip-flopsJK JA KA JB KB JC KC Qa Qf J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0 Contador Síncrono – Exemplo 1 27 4) Implementação das funções lógicas de entrada dos flip-flops Saídas JA KA 0 X 1 X 0 X 1 X X 1 X 0 X 0 X 1 Entradas QA QB QC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 JA = QC Flip-Flop A Contador Síncrono – Exemplo 1 28 4) Implementação das funções lógicas de entrada dos flip-flops Saídas JB KB 1 X 0 X X 1 X 0 1 X 1 X X 1 X 1 Entradas QA QB QC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Flip-Flop B Contador Síncrono – Exemplo 1 29 4) Implementação das funções lógicas de entrada dos flip-flops Saídas JC KC 0 X X 1 1 X X 1 1 X X 0 1 X X 1 Entradas QA QB QC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 JC = QA + QB Flip-Flop C Contador Síncrono – Exemplo 1 30 JA = QC JC = QA + QB CLK QA QB QC CLK Q J K CLK Q J K CLK Q J K 5) Implementação do circuito lógico Contador Síncrono – Exemplo 2 31 1) Diagrama de estados do contador Contador Síncrono– Exemplo 2 32 2) Montagem da tabela de estados futuros Estados atuais QA QB QC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Estados futuros QA QB QC 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 JC KC 1 X X 1 1 X X 1 0 X X 1 0 X X 1 JB KB 0 X 1 X X 0 X 1 0 X 0 X X 1 X 1 Contador Síncrono – Exemplo 2 33 3) Montagem da tabela de entrada dos flip-flops Estados atuais QA QB QC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Estados futuros QA QB QC 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 JA KA 0 X 0 X 0 X 1 X X 1 X 1 X 1 X 1 Entradas dosflip-flopsJK JA KA JB KB JC KC Qa Qf J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0 Contador Síncrono – Exemplo 2 34 4) Implementação das funções lógicas de entrada dos flip-flops Saídas JA KA 0 X 0 X 0 X 1 X X 1 X 1 X 1 X 1 Entradas QA QB QC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 JA = QB.QC Flip-Flop A Contador Síncrono – Exemplo 2 35 4) Implementação das funções lógicas de entrada dos flip-flops Saídas JB KB 0 X 1 X X 0 X 1 0 X 0 X X 1 X 1 Entradas QA QB QC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 KB = QA + QC Flip-Flop B Contador Síncrono – Exemplo 2 36 4) Implementação das funções lógicas de entrada dos flip-flops Saídas JC KC 1 X X 1 1 X X 1 0 X X 1 0 X X 1 Entradas QA QB QC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Flip-Flop C Contador Síncrono – Exemplo 2 37 1 QA QB QC CLK CLK Q J K CLK Q J K CLK Q J K JA = QB.QC KA = 1 KB = QA + QC KC = 1 5) Implementação do circuito lógico Exercícios Explique as vantagens e desvantagens do contador assíncrono em relação ao contador síncrono. Como é denominado o contador em que todos os flip-flops operam simultaneamente com o clock? Projete um contador síncrono de 3 bits para efetuar um contagem decrescente de 7 a 0. Projete um contador síncrono para gerar o diagrama de estados dado a seguir. 38 Contadores em Anel São os mais simples dos contadores síncronos. Estes consistem de certo número de flip-flop do tipo D ligados de tal forma que a saída de cada flip-flop é aplicada na entrada do flip-flop seguinte e a saída do último flip-flop é realimentada para a entrada do primeiro flip-flop. 39 Contadores em Anel Os contadores em anéis são muito rápidos (não existem portas lógicas no caminho entre os flip-flops), É ineficiente em termos do número total de estados de contagem disponíveis (só usa N estados, dos 2N estados disponíveis). Os contadores em anel são muito utilizados para fornecer sinais de clock defasados e de um modo geral para sintetizar sequências cíclicas de temporização. O contador em anel pode ser uma escolha mais apropriada do que um contador binário (síncrono ou assíncrono) em certas sequências de operação. Por exemplo: sistemas digitais cíclico de alta velocidade (varredura das linhas e colunas de um teclado). 40 Contadores em Anel Funcionamento: Esquema simplificado 41 1 0 0 0 Inicialização 4º pulso de clock 1 0 0 0 1º pulso de clock 1 0 0 0 2º pulso de clock 1 0 0 0 3º pulso de clock Contadores em Anel 42 1 0 0 0 Diagrama de estados Diagrama de tempo Contadores em Anel Sequências de contagem Os contadores em anel apresentam um padrão circulante constante. Por essa razão é chamado contador em anel. Na maioria dos casos, somente um único 1 está no registrador e circula por ele enquanto os pulsos de clock são aplicados. No entanto, existem outras sequências alternativas de contagem. 43 Contadores em Anel Módulo do Contador Módulo máximo = Número de Flip-Flops O módulo do contador é o número de estados diferentes através dos quais o contador passa antes de retornar a um estado inicial. É ineficiente em termos do número total de estados de contagem disponíveis (só usa N estados, dos 2N estados disponíveis). Por exemplo, um contador de anel de módulo 8 necessita de 8 flip-flops, enquanto um contador binário de módulo 8 requer apenas 3 flip-flops. 44 Contadores em Anel Inicialização Feito através de um circuito lógico no qual um pulso de inicialização (SET) em conjunto com os níveis lógicos irá ativar as entradas PRESET e CLEAR Após o pulso de inicialização cessar, as entradas PRESET e CLEAR são desativadas fazendo com que os flip-flops respondam ao sinal de clock. 45 Contadores em Anel Inicialização 46 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 Contador em anel torcido (Contador Johnson) É construído exatamente com um contador em anel normal, exceto pelo fato de que a saída invertida do último flip-flop é que está conectada à entrada do primeiro 47 Contadores em Anel Torcido Funcionamento: Esquema simplificado 48 1 0 0 0 Inicialização 1 0 0 1 5º pulso de clock 0 1 1º pulso de clock 1 0 1 2º pulso de clock 1 0 1 1 3º pulso de clock 1 1 1 1 0 1 1 4º pulso de clock 1 0 0 6º pulso de clock 0 0 0 0 7º pulso de clock 0 8º pulso de clock 48 Contador em anel torcido Código Johnson - Muda um bit por estado, similar ao Gray 49 1 0 0 0 1000 1100 1110 1111 0011 0001 0000 0111 Diagrama de estados Diagrama de tempo Contadores em Anel Torcido Módulo do Contador Módulo máximo = 2 x Número de Flip-Flops O módulo de contador em anel torcido normalmente será 2 vezes o número de flip-flops. Por exemplo, se conectarmos 5 flip-flop’s, teremos um contador de anel torcido de módulo 10. 50 Contadores em Anel Torcido Inicialização 51 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 Exercícios Quantos flip-flops são necessários para construir um contador em anel que execute o diagrama de estados abaixo: 52 São necessário 4 flip-flops Exercícios Projete um contador em anel para construir o diagrama de estados abaixo. 53 Exercícios Faça o diagrama de estados para um contador em anel de módulo 4. Considere que o estado inicial é 1011. 54 1011 1101 1110 0111 Exercícios Faça o diagrama de estados para um contador em anel torcido de módulo 8. Considere o estado inicial do contador como 0000. 55 0000 1000 1100 1110 0111 0011 0001 1111 Exercícios Qual é o diagrama de estados do contador abaixo. 56 1100 0110 0011 1001 Exercícios Qual é o diagrama de estados do contador abaixo. 57 1100 1110 1111 0111 0001 0000 1000 0011 57