









Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Uma introdução aos circuitos contadores síncronos, abordando conceitos como diagramas de transição, tabelas de estados futuros, tabelas de entrada de flip-flops e implementação de circuitos lógicos para contadores síncronos. São discutidos exemplos de contadores síncronos crescentes/decrescentes e contadores síncronos aleatórios controlados por variáveis externas. O documento também propõe exercícios práticos de implementação de diferentes tipos de contadores síncronos utilizando flip-flops jk e t.
Tipologia: Esquemas
1 / 15
Esta página não é visível na pré-visualização
Não perca as partes importantes!










Continuando os estudos sobre circuitos contadores, partimos agora para circuitos os Contadores Síncronos. Após esse capítulo você deverá ser capaz de: (1) Entender o funcionamento de circuitos contadores síncronos; e (2) Projetar um contador síncrono a partir das especificações necessárias.
5.2. Tabelas de transição dos flip-flops
As tabelas de transição dos flip-flops nada mais são que outra forma de visualização das tabelas verdades desses flip-flops. Para a montagem dessas tabelas, devemos analisar com foco nos valores de transições das saídas e nos valores de entrada que se deve ter em suas entradas para provocar essa transição, desde que um pulso de clock ocorra em suas entradas. A saída do flip-flop em seu estado atual é denominada Qn , ou simplesmente Q , e a saída
em seu estado futuro, ou seja, após a transição, é denominada Qn 1 ou Q .
5.2.1. Tabela de transição do flip-flop JK
Para o flip-flop JK temos:
Qn 0 para Qn 1 0 , utilizamos em suas entradas, J = 0 e K = 0 ou J = 0 e K = 1. Qn 0 para Qn 1 1 , utilizamos em suas entradas, J = 1 e K = 0 ou J = 1 e K = 1. Qn 1 para Qn 1 0 , utilizamos em suas entradas, J = 0 e K = 1 ou J = 1 e K = 1. Qn 1 para Qn 1 1 , utilizamos em suas entradas, J = 0 e K = 0 ou J = 1 e K = 0.
Logo, resumindo essas proposições, temos a seguinte tabela verdade de transição:
5.2.2. Tabela de transição do flip-flop T
Para o flip-flop T temos:
Qn ^0 para Qn 1 0 , utilizamos T = 0. Qn 0 para Qn 1 1 , utilizamos T = 1.
Qn 1 para Qn 1 0 , utilizamos T = 1.
Qn 1 para Qn 1 1 , utilizamos T = 0.
Logo, resumindo essas proposições, temos a seguinte tabela verdade de transição:
5.2.3. Tabela de transição do flip-flop D
Para o flip-flop D temos:
Qn 0 para Qn 1 0 , utilizamos D = 0.
Qn ^0 para Qn 1 ^1 , utilizamos D = 1.
Qn 1 para Qn 1 0 , utilizamos D = 0.
Qn 1 para Qn 1 1 , utilizamos D = 1.
Logo, resumindo essas proposições, temos a seguinte tabela verdade de transição:
Figura 5.3 Diagrama de estado de um contador síncrono de módulo 5.
A tabela de estados futuros de um diagrama de estados é gerada colocando em uma coluna o estado atual que o contador se encontra e em outra coluna o seu próximo estado. No caso da figura 5.3, sua tabela de estados futuros fica como demonstrado a seguir, considerando três flip-flops A, B e C, sendo A o bit mais significativo.
QA QB QC QA+^ QB+^ QC+ 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0
A partir dessa tabela, podemos gerar a tabela de entrada dos flip-flops, que são as tabelas que geram as equações lógicas do circuito combinacional, mostrado na figura 5.1, necessárias para a implementação do contador.
Para gerar essa tabela, necessitamos das tabelas de transição do tipo de flip-flop utilizado, descritas no item 5.2. Considerando que os flip-flops utilizados para implementação desse contador sejam flip-flops JK, para gerar a tabela de entrada dos flip-flops, basta observarmos quais são as transições que ocorrem dos estados Qx para o estado Qx+^ de cada linha e preenchermos as entradas Jx e Kx de cada flip-flop de acordo com a tabela de transição do flip-flop JK. A tabela de entrada dos flip-flops do contador descrito na figura 5.3 fica da seguinte forma:
QA QB QC QA+^ QB+^ QC+^ JA KA JB KB JC KC 0 0 0 0 0 1 0 X 0 X 1 X 0 0 1 0 1 0 0 X 1 X X 1 0 1 0 0 1 1 0 X X 0 1 X 0 1 1 1 0 0 1 X X 1 X 1 1 0 0 0 0 0 X 1 0 X 0 X 1 0 1 0 0 0 X 1 0 X X 1 1 1 0 0 0 0 X 1 X 1 0 X 1 1 1 0 0 0 X 1 X 1 X 1
Gerada a tabela de entradas dos flip-flops, necessitamos gerar as funções lógicas do circuito combinacional responsável pela contagem, e para isso, como descrito no diagrama de blocos da figura 5.1, utilizaremos QA, QB e QC como entradas do circuito combinacional e JA, KA, JB, KB, JC e KC como saídas, ou seja, basta implementar uma função lógica para cada um dos J’s e K’s utilizados, fazendo como entradas dessas funções as saídas Q dos flip-flops. Como ferramenta para gerar essas funções, utilizaremos mapas de Veitch-Karnaugh, revisados no capítulo 1, e simplificando as funções lógicas descritas, obteremos as seguintes equações:
(1) (2) (3) (4) (5) (6)
5.4. Contador Síncrono Crescente / Decrescente
O projeto de um contador síncrono crescente / decrescente necessita da inserção de uma variável de controle. No nosso caso, vamos chamar essa variável de controle de variável ‘Z’, que será inserida no circuito combinacional da figura 5.1 para executar uma etapa de controle.
Figura 5.5 Diagrama de blocos de um contador síncrono com váriável Z de controle.
Tomando como exemplo um contador síncrono crescente / decrescente de 2 bits, devemos construir um diagrama de estados que contenha as duas possíveis sequências de contagem. Definindo como contagem crescente para Z = 0 e decrescente para Z = 1 podemos obter os dois diagramas da figura 5.6 ou ainda obter um único diagrama, figura 5.7, que contenha as duas sequências obtidas de acordo com o valor de ‘Z’.
Figura 5.6 Diagramas de estado para os distintos valores da variável de controle 'Z'.
Figura 5.7 Diagrama de estados que contém as duas possíveis sequências do contador.
A montagem da tabela de estados futuros e de entrada dos flip-flops, considerando flip-flops JK, e inserindo a variável ‘Z’, fica da seguinte forma:
Estados Atuais Estados Futuros Entradas dos Flip-Flops JK Z QB QA QB+^ QA+^ JB KB JA KA 0 0 0 0 1 0 X 1 X 0 0 1 1 1 1 X X 0 0 1 0 0 0 X 1 0 X 0 1 1 1 0 X 0 X 1 1 0 0 1 0 1 X 0 X 1 0 1 0 0 0 X X 1 1 1 0 1 1 X 0 1 X 1 1 1 0 1 X 1 X 0
Simplificando as funções lógicas, obtemos as seguintes equações: (7) (8) (9) (10)
Figura 5.9 Contador síncrono aleatório controlado por variável ‘Z’.
Pergunta 1: No diagrama da figura 5.9, podemos verificar que nem todos os estados que podem ser executados com 4 bits estão sendo utilizados. O que aconteceria se por algum distúrbio no sistema o contador apresentasse o valor ‘0110’ em sua saída?
Pergunta 2: O que aconteceria o contador estivesse no estado S3, com Z =1, e o valor da variável ‘Z’ fosse alterado para ‘0’?
Sugestão: Implemente o mesmo contador do exemplo anterior utilizando flip-flops tipo T.
5.5. Exercícios de Fixação
1) Implemente um contador síncrono crescente, com reset automático, de módulo 16 utilizando FF JK.
2) Implemente um contador síncrono, sem reset automático, que conte de 2 até 6, crie uma sub-rotina de inicialização para esse contador. Utilize FF T.
3) Implemente um contador síncrono, que execute a sequência abaixo. O contador deve possuir reset automático em ‘1’ e deve-se utilizar FF JK.
4) Implemente um contador síncrono, com reset automático, que execute a seguinte sequência: 1 2 3 5 6 7 9 10 12 1. Use FF D.
5) Implemente um contador síncrono de 4 bits, com reset automático, que execute uma contagem dos números pares. Utilize FF JK.
6) Implemente um contador síncrono de 4 bits, sem reset automático, que execute uma contagem dos números ímpares. Utilize FF JK.
7) Implemente um contador síncrono de 3 bits, crescente / decrescente, com uma variável Z de controle. Utilize FF JK.
8) Implemente um contador síncrono de 3 bits, com uma variável Z de controle, que execute as seguintes sequências: a. Com Z = 0: 0 1 3 2 5 4 6 7 0. b. Com Z = 1: 3 1 2 0 6 7 4 5 3. Utilize FF D.