Baixe o app para aproveitar ainda mais
Prévia do material em texto
Contadores Assíncronos Tiago Alves de Oliveira Introdução • Aprendemos anteriormente como os flip-flops podem ser conectados para funcionar como contadores e registradores. Veremos• em detalhe os conceitos subjacentes e as características típicas de diferentes tipos de contadores e registradores. Nossa• discussão englobará desde como portas lógicas são usadas para controlar os flip-flops, para criar uma funcionalidade de contador ou registrador específica, até o uso de linguagens de descrição de hardware, para conseguir realizar o mesmo. Vamos• enfatizar diagramas de tempo para ilustrar a operação de circuitos de contadores e registradores. Diagramas• de tempo fornecem uma ferramenta poderosa para demonstrar graficamente as relações entre os sinais em um sistema digital Introdução • Simuladores de circuitos digitais apresentam seus resultados de análise como diagramas de tempo. Isso• nos permite determinar se a funcionalidade e o tempo estão corretos para uma aplicação. Quest• ões de tempo também estão se tornando cada dia mais críticas, com sistemas digitais de alta velocidade. Muitos• sistemas podem ser capazes de operar a velocidades mais baixas, mas falham em frequências mais altas. Ser• capaz de interpretar informações de diagramas de tempo é vital para um engenheiro ou um técnico. Contadores Assíncronos A Figura abaixo mostra o circuito de um contador • binário de quatro bits Contadores Assíncronos Seguem os seguintes pontos referentes • à operação desse contador: 1. Os pulsos de clock são aplicados apenas na entrada CLK do flip-flop A. Assim, o flip-flop A comutará (mudará para o estado oposto) cada vez que ocorrer uma borda de descida (nível ALTO para BAIXO) no pulso de clock. Observe que J = K = 1 para todos os FFs. 2. A saída normal do flip-flop A funciona como clock de entrada para o flip-flop B, sendo que o flip-flop B comuta a cada vez que a saída A muda de 1 para 0. Da mesma maneira, o flip-flop C comuta quando B muda de 1 para 0, e o flip-flop D comuta quando C muda de 1 para 0. 3. As saídas dos FFs D, C, B e A representam um número binário de quatro bits, sendo D o MSB. Vamos considerar que todos os FFs tenham sido resetados para o estado 0 (as entradas de CLEAR não aparecem). 4. Após a borda de descida do décimo quinto pulso de clock, os FFs do contador estão na condição 1111. Na décima sexta borda de descida do clock, o flip-flop A muda de 1 para 0, fazendo o flip-flop B mudar de 1 para 0, e assim por diante, até que o contador chegue ao estado 0000. Em outras palavras, o contador realizou um ciclo completo de contagem (de 0000 a 1111) e foi reciclado de volta para 0000, a partir de onde começará um novo ciclo de contagem, conforme os pulsos subsequentes de clock forem aplicados. Contadores Assíncronos Contadores Assíncronos Nesse• contador, a saída de cada FF aciona a entrada CLK do FF seguinte. Esse• tipo de contador é denominado contador assíncrono, porque os FFs não mudam de estado exatamente com o mesmo sincronismo com que os pulsos de clock são aplicados; apenas o flip-flop A responde aos pulsos de clock. • O FF B tem de esperar o FF A mudar de estado antes que ele possa comutar; o FF C tem de esperar pelo FF B, e assim por diante. Assim• , existirá atraso entre as respostas dos FFs sucessivos. Esse• atraso é normalmente de 5 a 20 ns por FF. E,• em alguns casos, como veremos, pode ser problemático. Esse• tipo de contador também é frequentemente denominado contador ondulante (ripple counter), devido à maneira de os FFs responderem um após o outro como um tipo de efeito de ondulação. Usaremos• os termos contador assíncrono e contador ondulante indistintamente. Fluxo do sinal É• uma convenção, nos esquemas de circuitos, desenhá-los (sempre que possível) com o fluxo de sinal indo da esquerda para a direita, com as entradas do lado esquerdo e as saídas do lado direito. Nessa• etapa, quebraremos essa convenção com frequência, especialmente em diagramas que mostram contadores. Por• exemplo, na Figura anterior, a entrada CLK de cada FF está do lado direito, as saídas estão do lado esquerdo e a entrada do sinal de clock vem da direita. Usamos• essa configuração porque facilita a compreensão e o acompanhamento do funcionamento do contador, pois a ordem dos FFs é a mesma dos bits no número binário que representa a contagem. Em• outras palavras, o FF A (que é o LSB) é o FF mais à direita, e o FF D (que é o MSB) é o FF mais à esquerda. Se• aplicássemos a convenção de fluxo de sinal da esquerda para a direita, colocaríamos o FF A do lado esquerdo e o FF D do lado direito, que apresenta disposição oposta à do número binário que o contador representa. Em• alguns dos diagramas de contadores que aparecerão futuramente, empregaremos a convenção de fluxo de sinal da esquerda para a direita. Exemplo • O contador mostrado na Figura anterior começa no estado 0000, e então os pulsos de clock são aplicados. Algum tempo depois, são removidos e os FFs dos contadores apresentam o estado 0011. Quantos pulsos de clock ocorreram? Resposta A resposta parece ser • 3, visto que 0011 é o equivalente binário de 3. Entretanto, com as informações dadas, não há como dizer se o contador foi reciclado ou não. Isso significa que podem ter ocorrido 19 pulsos de clock; os primeiros 16 teriam trazido o contador de volta para 0000, e os últimos três o teriam levado para 0011. Podem ter ocorrido 35 pulsos (dois ciclos completos de contagem mais três pulsos) ou 51 pulsos, e assim por diante. Módulo O contador mostrado na Figura anterior tem • 16 estados distintos (de 0000 a 1111). Assim• , é um contador ondulante de módulo 16. Lembre• -se de que o módulo é sempre igual ao número de estados que o contador percorre em cada ciclo completo de contagem antes de reciclar ao estado inicial. O • módulo pode ser ampliado simplesmente acrescentando mais FFs ao contador. Ou seja: 𝑀𝑜𝑑𝑢𝑙𝑜 = 2𝑁 em que N • é o número de FFs conectados na configuração mostrada na Figura anterior. Exemplo Um• contador é necessário para contar o número de itens que passam por uma esteira de transporte. Uma fotocélula combinada a uma fonte de luz é usada para gerar um único pulso cada vez que um item passa pelo feixe de luz. O contador tem de ser capaz de contar mil itens. Quantos FFs são necessários? Resposta Basta• determinar qual valor de N é necessário, de modo que: 2N ≥ 1000. Como• 29 = 512, 9 FFs não são suficientes. • 210 = 1024, logo, 10 FFs produzem um contador que conta até 11111111112 = 102310. Portanto,• devemos usar 10 FFs. Poder• íamos usar mais de 10 FFs, mas seria desperdício, visto que qualquer FF além dos dez não seria necessário. Divisão da Contagem e Frequência Veja a Figura abaixo. • Cada• FF tem suas entradas J e K em nível 1, para que ele mude de estado (comute) sempre que o sinal em sua entrada de CLK for do nível ALTO para o BAIXO. Os• pulsos de clock são aplicados apenas na entradaCLK do FF Q0. A saída de Q0 está conectada na entrada CLK do FF Q1, e a saída de Q1 está conectada na entrada CLK do FF Q2 Divisão da Contagem e Frequência Formas de onda para a configuração anterior:• Divisão da Contagem e Frequência Os• pontos importantes a serem observados são os seguintes: • O FF Q0 comuta na borda de descida de cada pulso na entrada de clock. Assim, a forma de onda da saída Q0 tem uma frequência que é exatamente a metade da frequência dos pulsos de clock. • O FF Q1 comuta de estado cada vez que a saída Q0 vai do nível ALTO para o BAIXO. A forma de onda de Q1 tem uma frequência exatamente igual à metade da frequência da saídaQ0 e, portanto, um quarto da frequência do sinal de clock. • O FF Q2 comuta de estado cada vez que a saída Q1 vai do nível ALTO para o BAIXO. Assim, a forma de onda Q2 tem a metade da frequência de Q1 e, portanto, um oitavo da frequência de clock. • A saída de cada FF é uma forma de onda quadrada (tem ciclo de trabalho de 50 por cento). Divisão da Contagem e Frequência Como vimos, cada FF divide a • frequência do sinal de sua entrada por 2. Assim, se acrescentarmos um quarto FF a essa cadeia, ele teria • frequência igual a 1/16 da frequência de clock, e assim por diante. Usando um • número apropriado de FFs, esse circuito pode dividir uma frequência por qualquer poten̂cia de 2. Especificamente, usando N • flip-flops produziríamos uma frequência de saída do último FF que seria igual a 1/2N da frequen̂cia de entrada. Essa • aplicação com flip-flops é conhecida como divisor de frequência. Divisão da Contagem e Frequência Muitas • aplicações requerem um divisor de frequência. Por exemplo, seu • relógio de pulso é certamente um relógio ‘quartzo’. • O termo relógio quartzo significa que um cristal de quartzo é usado para gerar um oscilador com frequência bastante estável. A • frequência natural de resso- nância do cristal de quartzo do relógio é em torno de 1 MHz ou mais. Para obter no display a • atualização do mostrador de segundos, que ocorre uma vez a cada segundo, a frequência do oscilador é dividida por um valor que produzirá uma frequência de saída bastante estável com uma precisão de 1 Hz. Diagrama de transição de estados Outra maneira de mostrar como os estados dos • FFs mudam a cada pulso de clock aplicado é pelo uso de um diagrama de transição de estados, conforme está ilustrado abaixo: Diagrama de transição de estados As• setas que conectam um círculo ao outro mostram como ocorre a mudança de um estado para o outro, conforme os pulsos de clock são aplicados. Observando• um estado de um círculo em particular, vemos qual é o estado anterior e o posterior. Por• exemplo, observando o estado 000, vemos que ele é alcançado quando o contador está no estado 111, e o pulso de clock é aplicado. Da• mesma maneira, vemos que o estado 000 sempre é seguido pelo estado 001. Usaremos• diagramas de transição de estados para ajudar a descrever, analisar e projetar contadores e outros circuitos sequenciais. Exemplo I Considere• que o contador de módulo 8 mostrado na Figura anterior esteja no estado 101. Qual será o estado (a contagem) após a aplicação de 13 pulsos? Resposta Localize• o estado 101 no diagrama de transição de estados. Siga por oito mudanças de estado. Voc• ê deve ter retornado ao estado 101. Agora, continue por mais cinco mudanças de estado (total de 13). Voc• ê deve estar agora no estado 010. Observe• que, como esse é um contador de módulo 8, ele necessita de oito transições de estado para fazer uma excursão completa no diagrama e retornar ao estado inicial. Exemplo II Considere• um circuito de um contador que possui seis FFs conectados, segundo o diagrama da Figura abaixo (isto é, Q5, Q4, Q3, Q2, Q1, Q0). Determine o a) módulo do contador. Determine a b) frequência na saída do último FF (Q5) quando a frequência do clock de entrada for de 1 MHz. Qual c) é a faixa de estados de contagem desse contador? Considere como estado (contagem) inicial o valor d) 000000. Qual será o estado do contador após 129 pulsos? Respostas a) Módulo = 26 = 64. b) A frequência no último FF é igual à frequência do clock de entrada dividida pelo módulo do contador. Ou seja, 𝑓(𝑒𝑚 𝑄5) = 1 𝑀𝐻𝑧 64 = 15,625 𝑘𝐻𝑧 Esse contador c) contará de 0000002 a 1111112 (0 a 6310) em um total de 64 estados. Observe que o número de estados é o mesmo que o valor do módulo. Visto que esse contador d) é de módulo 64, ele retorna para o estado inicial a cada 64 pulsos de clock. Portanto, após 128 pulsos, o contador retorna para 000000. O 129º pulso leva o contador para a contagem 000001. Exercícios Um sinal de 1. clock de 20 kHz é aplicado em um FF J-K com J = K = 1. Qual é a frequência da forma de onda de saída do FF? Quantos 2. FFs são necessários para construir um contador que conte de 0 a 25510? Qual 3. é o módulo desse contador? Qual 4. será a frequência de saída do oitavo FF quando a frequência de clock for de 512 kHz? Se esse contador 5. comeca̧r em 00000000, qual será seu estado após 520 pulsos? Respostas 10 1. kHz. Oito. 2. 2563. . 4. 2 kHz . 000010005. 2 = 810 Divisão da Frequência Então• nós aprendemos que em um contador básico cada FF proporciona uma forma de onda de saída que é exatamente a metade da frequência da forma de onda na entrada CLK. Para• ilustrar, considere que o sinal de clock mostrado na Figura abaixo seja 16 kHz. Divisão da Frequência A Figura abaixo mostra a forma de onda de • saída dos FFs. • A forma de onda na saída A é uma onda quadrada de 8 kHz, na saída B ela é de 4 kHz, na saída C é de 2 kHz e na saída D é de 1 kHz. Observe• que a saída do FF D tem frequência igual à frequência original do clock dividida por 16. Divisão da Frequência Em geral:• Em qualquer contador, o sinal na saída do último FF (ou seja, o MSB) tem frequência igual à do clock de entrada dividida pelo módulo do contador. Por• exemplo, em um contador de módulo 16, a saída a partir do último FF tem uma frequência de 1/16 da frequência do clock de entrada. Assim,• ele pode ser chamado de contador divisor por 16. Da• mesma maneira, um contador de módulo 8 tem frequência de saída de 1/8 da de entrada; ele é um contador divisor por 8. Ciclo de trabalho Como• podemos ver na Figura anterior, em cada borda de descida de CLOCK, a saída do FF A vai comutar. Com• um sinal de clock de frequência constante aplicado, significa que a forma de onda A será BAIXA, por um montante de tempo igual ao período de CLOCK, e então será ALTA, pelo mesmo período de tempo. • O montante de tempo que o sinal é ALTO é referido como largura de pulso, tw. • O flip-flop A produz uma forma de onda de saída periódica, já que ela terá apenas um único pulso ocorrendo em cada ciclo da forma de onda repetindo. • O período da forma de onda A é a soma do tempo BAIXO com o ALTO, daquele sinal. Ciclo de trabalho Da• mesma maneira, o sinal A é usado para fazer o clock do flip-flop B, de maneira que a saída B será BAIXA ou ALTA por um período de tempo igual ao da saída A. Os• flip-flops C e D terão a mesma ação. • A largura do pulso, para cada sinal de saída em nosso contador binário, é exatamente metade do período daquela forma de onda. • Lembre-se de que o ciclo de trabalho de uma forma de onda periódica é definido como a razão entre a largura do pulso e o período, T, da forma de onda, e é expresso como percentagem. Ciclo de trabalho = 𝑡𝑤 𝑇 × 100% Ciclo de trabalho Portanto,• podemos ver que um contador binário, cujo MOD = 2N, sempre produzirá sinais de saída que têm um ciclo de trabalho de 50 por cento. Como• veremos nas seções posteriores, se o número MOD para um contador for menor que 2N, então o ciclo de trabalho para alguns dos sinais de saída FF não será 50 por cento. Na• realidade, podem ocorrer algumas saídas de FF que não têm ciclo de trabalho definido, pois as formas de onda não têm padrão periódico simples. Para• um contador com uma sequência de contagem truncada (isto é, MOD < 2N), será necessário analisar sua operação para determinar sequências de contagem, frequências de sinal de saída e ciclos de trabalho de forma de onda. ExercíciosVerdadeiro1. ou falso: em contadores assíncronos, todos os FFs mudam de estado ao mesmo tempo. Considere2. que o contador, mostrado na Figura abaixo, esteja com a contagem 0101. Qual será a contagem, após 27 pulsos de clock? Qual3. seria o módulo do contador, se três FFs fossem acrescentados? Respostas Falso. 1. 00002. . 1283. . Atraso de Propagação em Contadores Assíncronos Contadores• ondulantes são o tipo mais simples de contadores binários, visto que requerem poucos componentes para produzir a operação de contagem desejada. Entretanto,• têm uma grande desvantagem, causada pelo princípio básico de operação: cada FF é disparado pela transição de saída do precedente. Em• virtude do tempo de atraso de propagação (tpd), inerente a cada FF, o segundo não responderá por um intervalo de tempo tpd, após o primeiro FF receber uma transição ativa do clock; o terceiro FF não responderá por um intervalo de tempo igual a 2 x tpd, após a transição do clock, e assim por diante. Em• outras palavras, os atrasos de propagação dos FFs se acumulam, de modo que o enésimo FF não muda de estado até que um intervalo de tempo igual a N x tpd, após a transição do clock, tenha ocorrido. Atraso de Propagação em Contadores Assíncronos • Isso é ilustrado na Figura abaixo, em que as formas de onda para o contador ondulante de três bits são mostradas. Atraso de Propagação em Contadores Assíncronos • A figura anterior mostra uma situação na qual um pulso de entrada ocorre a cada 1.000 ns (o período do clock é T = 1.000 ns) e considera-se que cada FF tem atraso de propagação de 50 ns (tpd = 50 ns). Observe• que a saída do flip-flop A comuta 50 ns, após a borda de descida do clock de cada pulso de entrada. De• modo similar, a saída B comuta 50 ns depois que a saída A vai de 1 para 0, e a saída C comuta 50 ns depois que a saída B vai de 1 para 0. C omo• resultado, quando a quarta entrada de borda de descida ocorre, a saída C vai para nível ALTO após um atraso de 150 ns. Nessa• situação, o contador opera adequadamente para que os FFs vão para seus estados corretos, representando a contagem binária. • Entretanto, a situação piora se os pulsos de entrada forem aplicados em frequência muito maior. Atraso de Propagação em Contadores Assíncronos Observe agora a figura abaixo:• Atraso de Propagação ̧ão em Contadores Assíncronos • A formas de onda da figura anterior mostram o que acontece se os pulsos de entrada ocorrerem a cada 100 ns. Mais• uma vez, a saída de cada FF responde 50 ns após a transição de 1 para 0 na entrada CLK (observe a mudança na escala relativa de tempo). • A situação particular de interesse é a que ocorre após a borda de descida do quarto pulso de entrada, em que a saída C não vai para nível ALTO até que tenham decorrido 150 ns, que é o mesmo tempo que a saída A gasta para mudar para nível ALTO em resposta ao quinto pulso de entrada. Em• outras palavras, a condição C = 1, B = A = 0 (contagem 100) nunca ocorrerá, porque a frequência de entrada é muito alta. Isso• poderia causar um sério problema caso essa condição fosse supostamente usada para controlar outra operação em um sistema digital. Atraso de Propagação em Contadores Assíncronos Problemas como esse • poderão ser evitados se o período entre os pulsos de entrada for bem maior que o atraso de propagação total do contador. Ou seja, para uma • operação adequada é preciso que: 𝑇𝑐𝑙𝑜𝑐𝑘 ≥ 𝑁 × 𝑡𝑝𝑑 em que N = • número de FFs. Em termos de frequência de entrada, a frequência máxima que pode ser usada é dada por: 𝑓𝑚𝑎𝑥 = 1 𝑁 × 𝑡𝑝𝑑 Atraso de Propagação em Contadores Assíncronos Por• exemplo, suponha que um contador ondulante de quatro bits seja construído usando o flip-flop J-K 74LS112. No caso, esse CI tem seu tPLH = 16 ns e tPHL = 24 ns como atrasos de propagação de CLK para a saída Q. Para calcular fmax, consideraremos o ‘pior caso’, ou seja, usaremos tpd = tPHL = 24 ns, de modo que: 𝑓𝑚𝑎𝑥 = 1 4 × 24 = 10,4 𝑀𝐻𝑧 À• medida que o número de FFs aumenta, o atraso de propagação total aumenta e fmax diminui. Por exemplo, um contador ondulante que usa seis FFs 74LS112 terá: 𝑓𝑚𝑎𝑥 = 1 6 × 24 = 6,9 𝑀𝐻𝑧 Atraso de Propagação em Contadores Assíncronos Assim,• os contadores assíncronos não são úteis para frequências muito altas, especialmente para um grande número de bits. Outro• problema provocado pelo atraso de propagação em contadores assíncronos ocorre quando as saídas do contador são decodificadas. Se• você olhar bem a Figura abaixo, verá que, para um período curto de tempo (50 ns, no exemplo) logo após o estado 011, o estado 010 ocorre antes de 100. Atraso de Propagação em Contadores Assíncronos Essa• não é, obviamente, a sequência correta da contagem binária e, embora o olho humano seja lento demais para ver esse estado temporário, nossos circuitos digitais são rápidos o bastante para detectá-la. Esses• padrões errôneos de contagem podem gerar o que chamamos de glitches nos sinais produzidos por sistemas digitais que usam contadores assíncronos. • A despeito de sua simplicidade, esses problemas limitam a utilidade dos contadores assíncronos em aplicações digitais. Exercícios Explique1. como a frequência limite máxima dos contadores ondulantes diminui à medida que aumenta o número de FFs do contador. Determinado2. flip-flop J-K tem um tpd = 12 ns. Qual é o contador de maior módulo que pode ser construído a partir desses FFs e ainda operar em uma frequência de até 10 MHz? Respostas Cada FF adiciona seu atraso de 1. propagação ao atraso total do contador em resposta ao pulso de clock. 2. Módulo 256.
Compartilhar