Prévia do material em texto
Contadores UP/DOWN e com carga paralela Tiago Alves de Oliveira Introdução Na• última aula vimos que usar a saída de um FF de ordem mais baixa para controlar a comutação de cada FF cria um contador crescente síncrono. Contadores Decrescentes Um• contador decrescente síncrono pode ser criado de maneira semelhante, só que com as saídas invertidas de cada FF para controlar as entradas J e K de ordem mais alta. Contadores Decrescentes Comparando• o contador decrescente síncrono de módulo 16 da Figura anterior com o contador crescente, vemos que precisamos apenas substituir a saída invertida de cada FF correspondente em lugar das saídas A, B e C. Para• uma sequência de contagem decrescente, o FF LSB (A) ainda precisa comutar a cada borda de descida do sinal de entrada do clock. • O flip-flop B precisa mudar de estado na próxima borda de descida quando 𝐴 = 0 (𝐴 = 1). • O flip-flop C muda de estado quando 𝐴 = 𝐵 = 0 (𝐴 · 𝐵 = 1), e o flip-flop D, quando 𝐴 = 𝐵 = 𝐶 = 0 (𝐴 · 𝐵 · 𝐶 = 1). Essa• configuração de circuito produzirá a sequência de contagem: 15, 14, 13, 12, ..., 3, 2, 1, 0, 15, 14, e assim por diante, como mostra o diagrama de tempo. Contador UP/DOWN •A Figura abaixo mostra como fazer um contador crescente/decrescente (up/down counter). Contador UP/DOWN • A entrada de controle 𝑈𝑝/𝐷𝑜𝑤𝑛 controla se as entradas J e K dos FFs seguintes serão acionadas pelas saídas normais ou pelas saídas invertidas dos FFs. Quando• 𝑈𝑝/𝐷𝑜𝑤𝑛 for mantida em nível ALTO, as portas AND nº 1 e nº 2 estarão habilitadas, enquanto as portas AND nº 3 e nº 4 estarão desabilitadas (observe a presença do inversor). Isso• permite que as saídas A e B passem pelas portas no 1 e no 2 para as entradas J e K dos FFs B e C. Quando• 𝑈𝑝/𝐷𝑜𝑤𝑛 for mantida em nível BAIXO, as portas AND nº 1 e nº 2 estarão desabilitadas, enquanto as portas AND nº 3 e nº 4 estarão habilitadas. • Isso permite que as saídas A e B passem pelas portas nº 3 e nº 4 para as entradas J e K dos FFs B e C. Contador UP/DOWN As• formas de onda mostradas na Figura abaixo ilustram a operação do contador. Contador UP/DOWN Observe• que, para os primeiros cinco pulsos de clock, 𝑈𝑝/𝐷𝑜𝑤𝑛 = 1 e o contador conta de forma crescente; para os últimos cinco, 𝑈𝑝/𝐷𝑜𝑤𝑛 = 0 e o contador conta de forma decrescente. Contador UP/DOWN O diagrama de • transição de estados para este contador é dado na Figura abaixo: Contador UP/DOWN As• setas representam transições de estado que ocorrem na borda de descida do sinal de clock. Observe• que há duas setas deixando cada círculo de estado. Isto• é referido como uma transição condicional. •O próximo estado para este contador é, obviamente, dependente do nível lógico aplicado à entrada de controle, 𝑈𝑝/𝐷𝑜𝑤𝑛. Cada• uma das setas tem de ser rotulada com o nível lógico de controle de entrada que produz a transição indicada. Contador UP/DOWN •O nome do sinal de controle é fornecido com uma legenda próxima do diagrama de transição de estados. •A nomenclatura usada para o sinal de controle (𝑈𝑝/𝐷𝑜𝑤𝑛) foi escolhida para tornar claro como essa entrada afeta o contador. •A operação de contagem crescente é ativada em nível ALTO; a operação de contagem decrescente, em nível BAIXO. Exemplo Que• problemas poderiam ser causados se o sinal Up/Down na Figura abaixo mudasse de nível na borda de descida do clock? Solução Os• FFs operariam de modo imprevisível, visto que alguns teriam suas entradas J e K mudando aproximadamente no mesmo instante em que a borda de descida estivesse ocorrendo em suas entradas CLK. Entretanto,• os efeitos da mudança do sinal de controle têm de se propagar pelas duas portas antes de alcançar as entradas J e K, portanto é mais provável que os FFs respondam de forma previsível aos níveis que estavam em J e K antes da borda de descida em CLK. Exercícios Qual1. é a diferença entre as sequências de contagem de um contador crescente e de um decrescente? Que2. mudanças de circuito seriam necessárias para converter um contador síncrono binário crescente em um contador binário decrescente? Respostas 1. Em um contador crescente, a contagem é incrementada de 1 a cada pulso de clock; em um contador decrescente, é decrementada de 1 a cada pulso. Muda2. conexões para saídas invertidas respectivas em vez de Qs. Contadores com Carga Paralela Muitos• contadores síncronos (paralelos) disponíveis na forma de CIs são projetados para serem contadores com carga paralela (presettable); em outras palavras, podem ser inicializados com qualquer contagem inicial desejada assíncrona (independente do sinal de clock) ou sincronamente (na transição ativa do sinal de clock). Essa• operação de inicialização também é denominada carga paralela do contador. Contadores com Carga Paralela •A Figura abaixo mostra o circuito lógico para um contador crescente de três bits com carga paralela. Contadores com Carga Paralela As• entradas J, K e CLK estão ligadas para a operação como um contador crescente paralelo. As• entradas assíncronas PRESET e CLEAR estão ligadas para que se realize a carga assíncrona do contador. •O contador é carregado com qualquer contagem desejada, a qualquer instante, da seguinte maneira: Contadores com Carga Paralela Aplique1. a contagem desejada nas entradas paralelas de dados, P2, P1 e P0. Aplique2. um pulso de nível BAIXO na entrada de carga paralela (PARALLEL LOAD), 𝑃𝐿. Contadores com Carga Paralela Esse• procedimento realiza uma transferência assíncrona dos níveis em P2, P1 e P0 para os flip- flops Q2, Q1 e Q0,respectivamente. Essa• transferência forca̧da ocorre independentemente das entradas J, K e CLK. •O efeito da entrada CLK será desabilitado enquanto 𝑃𝐿 estiver em seu estado ativo (nível BAIXO), visto que cada FF terá uma de suas entradas assíncronas ativada enquanto 𝑃𝐿 = 0. Contadores com Carga Paralela Uma• vez que 𝑃𝐿 retorne para o nível ALTO, os FFs podem responder às entradas CLK e podem prosseguir a operação de contagem crescente iniciando a partir do valor carregado no contador. Por• exemplo, digamos que P2 = 1, P1 = 0 e P0 = 1. Enquanto PL estiver em nível ALTO, as entradas paralelas de dados não terão efeito. Se• pulsos de clock forem aplicados, o contador realizará a operação normal de contagem crescente. Contadores com Carga Paralela Agora,• digamos que 𝑃𝐿 seja pulsado em nível BAIXO quando o contador estiver na contagem 010 (isto é, Q2 = 0, Q1 = 1 e Q0 = 0). Esse• nível BAIXO em 𝑃𝐿 produzirá níveis BAIXOS na entrada CLR de Q1 e nas entradas PRE de Q2 e Q0, de modo que o contador irá para a contagem 101 independentemente do que estiver ocorrendo na entrada CLK. •A contagem permanecerá em 101 até que PL seja desativado (retorne para nível ALTO); nesse instante, o contador prosseguirá na contagem crescente dos pulsos de clock a partir da contagem 101. Contadores com Carga Paralela Essa carga • assíncrona é usada por muitos CIs de contadores, tais como o: 74• ALS190, 74ALS191, 74ALS192 e 74ALS193 da família TTL e os equivalentes CMOS, • 74HC190, 74HC191, 74HC192 e 74HC193. Carga síncrona Muitos• CIs de contadores paralelos usam carga síncrona, em que o contador é carregado na transição ativa do mesmo sinal de clock usado para a contagem. •O nível lógico aplicado na entrada determina se a transição ativa do clock carregará o contador ou se será contada como uma operação normal de contagem. Exemplos• de CIs de contadores que usam carga síncrona incluem os 74ALS160, 74ALS161, 74ALS162 e 74ALS163 da família TTL e os equivalentes CMOS, 74HC160, 74HC161, 74HC162 e 74HC163. Exercícios 1. O que significa dizer que um contador é carregável? 2. Descreva a diferença entre carga assíncrona e síncrona. Solução Ele1. pode ser carregado com qualquer contagem inicial desejada. 2. A carga assíncrona é independente daentrada de clock, enquanto a carga síncrona ocorre nas transições ativas do sinal de clock. Exercícios Desenhe1. um contador decrescente síncrono de módulo 32. Desenhe2. um contador crescente/decrescente síncrono de módulo 16. O sentido da contagem é controlado por dir (dir = 0 para contagem crescente). Exercícios Determine3. a sequência de contagem do contador crescente/decrescente da Figura abaixo se a saída INVERSOR estiver fixa no nível ALTO. Suponha que o contador comece em 000.