cont adores

Upload: robson-cecchin

Post on 12-Jul-2015

126 views

Category:

Documents


0 download

TRANSCRIPT

60 CAPTULO 5 CIRCUITOS SEQUENCIAIS III: CONTADORES SNCRONOS Sumrio 5.1. Introduo ................................................................................................................................. 62 5.2. Tabelas de transio dos flip-flops .......................................................................................... 63 5.2.1. Tabela de transio do flip-flop JK ...................................................................................... 63 5.2.2. Tabela de transio do flip-flop T ........................................................................................ 63 5.2.3. Tabela de transio do flip-flop D ....................................................................................... 64 5.3. Projeto de contador sncrono ................................................................................................... 65 5.3.1. Diagramas de Transio ....................................................................................................... 65 5.3.2. Tabela de Estados Futuros e de Entradas dos Flip-flops ..................................................... 65 5.4. Contador Sncrono Crescente / Decrescente .......................................................................... 69 5.5. Exerccios de Fixao ................................................................................................................ 73

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

|

Prof. Marcelo Wendling

61 CAPTULO 5 CIRCUITOS SEQUENCIAIS III: CONTADORES SNCRONOS Continuando os estudos sobre circuitos contadores, partimos agora para circuitos os Contadores Sncronos. Aps esse captulo voc dever ser capaz de: (1) Entender o funcionamento de circuitos contadores sncronos; e (2) Projetar um contador sncrono a partir das especificaes necessrias.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

|

Prof. Marcelo Wendling

62 5.1. Introduo Contadores sncronos so circuitos sequenciais capazes de executar contagens binrias de forma aleatria, pois possuem um circuito combinacional externo, que utiliza como entradas as sadas Q e Q de cada flip-flop e suas sadas so conectadas s entradas dos flip-flops utilizados. A figura 5.1 apresenta o diagrama geral de um contador sncrono utilizando flip-flops JK para contagem.

Figura 5.1 Diagrama geral de um contador sncrono com flip-flops JK.

As caractersticas principais dos contadores sncronos so:

(1) Os FF POSSUEM as entradas clock em comum; (2) Possuem circuito combinacional externo, que utiliza as equaes de transio dos flip-flops utilizados para ser implementado; (3) Possuem sada binria aleatria; e (4) O bit mais significativo da contagem (MSB) pode ser qualquer um dos flip-flops, pois quem determina essa ordem o circuito combinacional externo. No caso da figura 5.1 o bit mais significativo pode ser tanto o flip-flop 1 quanto o flip-flop n.

Antes de estudarmos o projeto de contadores sncronos, devemos analisar as tabelas de transio dos flip-flops.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

|

Prof. Marcelo Wendling

63 5.2. Tabelas de transio dos flip-flops As tabelas de transio dos flip-flops nada mais so que outra forma de visualizao das tabelas verdades desses flip-flops. Para a montagem dessas tabelas, devemos analisar com foco nos valores de transies das sadas e nos valores de entrada que se deve ter em suas entradas para provocar essa transio, desde que um pulso de clock ocorra em suas entradas. A sada do flip-flop em seu estado atual denominada Qn , ou simplesmente Q , e a sada em seu estado futuro, ou seja, aps a transio, denominada Qn +1 ou Q + .

5.2.1. Tabela de transio 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 proposies, temos a seguinte tabela verdade de transio:

Qn

Qn +1

0 0 1 1

0 1 0 1

J 0 1 X X

K X X 1 0

5.2.2. Tabela de transio 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.Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos | Prof. Marcelo Wendling

64 Qn = 1 para Qn+1 = 0 , utilizamos T = 1. Qn = 1 para Qn+1 = 1 , utilizamos T = 0.

Logo, resumindo essas proposies, temos a seguinte tabela verdade de transio:

Qn

Qn +1

0 0 1 1

0 1 0 1

T 0 1 1 0

5.2.3. Tabela de transio 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 proposies, temos a seguinte tabela verdade de transio:

Qn

Qn +1

0 0 1 1

0 1 0 1

D 0 1 1 0

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

|

Prof. Marcelo Wendling

65 5.3. Projeto de contador sncrono Antes de projetarmos um contador sncrono necessitamos entender algumas partes integrantes deste projeto.

5.3.1. Diagramas de Transio Para projetar um contador sncrono, deve-se primeiro entender as especificaes de projeto. Um contador sncrono tem sua contagem especificada atravs de um diagrama de transio, apresentado na figura 5.2, que indica qual o estado futuro a ser atingido pelo contador quando aplicado um pulso de clock.

Figura 5.2 Diagrama de estados de um contador sncrono.

A indicao (1) mostra que o contador deve iniciar sua contagem pelo estado indicado por (2). Cada circunferncia representa um estado da contagem e pode indicar um valor decimal, binrio, hexadecimal ou um nome exemplo state1 que representa algum valor tabelado. A seta com a indicao (3) representa que existe uma transio do estado state1 para state2, assim como para os outros estados. 5.3.2. Tabela de Estados Futuros e de Entradas dos Flip-flops

Considere o contador sncrono representado pelo diagrama de estados da figura 5.3, a tabela de estados futuros desse contador nada mais que uma representao tabelada dos seus estados. Ela ser extremamente importante para que possamos gerar a tabela de entrada dos flip-flops adiante.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

|

Prof. Marcelo Wendling

66

Figura 5.3 Diagrama de estado de um contador sncrono de mdulo 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 prximo estado. No caso da figura 5.3, sua tabela de estados futuros fica como demonstrado a seguir, considerando trs flip-flops A, B e C, sendo A o bit mais significativo.

Estados Atuais

Estados Futuros

QA 0 0 0 0 1 1 1 1

QB 0 0 1 1 0 0 1 1

QC 0 1 0 1 0 1 0 1

QA+ 0 0 0 1 0 0 0 0

QB+ QC+ 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0

A partir dessa tabela, podemos gerar a tabela de entrada dos flip-flops, que so as tabelas que geram as equaes lgicas do circuito combinacional, mostrado na figura 5.1, necessrias para a implementao do contador.Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos | Prof. Marcelo Wendling

67 Para gerar essa tabela, necessitamos das tabelas de transio do tipo de flip-flop utilizado, descritas no item 5.2. Considerando que os flip-flops utilizados para implementao desse contador sejam flip-flops JK, para gerar a tabela de entrada dos flip-flops, basta observarmos quais so as transies 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 transio do flip-flop JK. A tabela de entrada dos flip-flops do contador descrito na figura 5.3 fica da seguinte forma:

Estados Atuais

Estados Futuros

Entradas dos Flip-Flops JK+

QA 0 0 0 0 1 1 1 1

QB 0 0 1 1 0 0 1 1

QC 0 1 0 1 0 1 0 1

QA 0 0 0 1 0 0 0 0

+

QB 0 1 1 0 0 0 0 0

+

QC 1 0 1 0 0 0 0 0

JA 0 0 0 1 X X X X

KA X X X X 1 1 1 1

JB 0 1 X X 0 0 X X

KB X X 0 1 X X 1 1

JC 1 X 1 X 0 X 0 X

KC X 1 X 1 X 1 X 1

Gerada a tabela de entradas dos flip-flops, necessitamos gerar as funes lgicas do circuito combinacional responsvel 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 sadas, ou seja, basta implementar uma funo lgica para cada um dos Js e Ks utilizados, fazendo como entradas dessas funes as sadas Q dos flip-flops. Como ferramenta para gerar essas funes, utilizaremos mapas de Veitch-Karnaugh, revisados no captulo 1, e simplificando as funes lgicas descritas, obteremos as seguintes equaes:

=

. =1

(1) (2) (3) (4) (5) (6)

= = =

. +

=1

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

|

Prof. Marcelo Wendling

68 Determinadas as equaes lgicas das entradas, para finalizar o projeto, basta implementar o circuito lgico, retirando como sadas do contador as sadas Q de cada flip-flop. O circuito do exemplo utilizado mostrado na figura 5.4.

Figura 5.4 Circuito contador sncrono de mdulo 5 implementado com flip-flops JK.

Pergunta: Na figura 5.3 possumos um indicativo de que o contador deve iniciar sua contagem no estado 000. O que podemos fazer nesse circuito para garantirmos que sempre que o contador seja ligado ele inicie sua contagem em 000 se suas entradas assncronas forem ativadas em nvel baixo?

Sugesto: Implemente o mesmo contador do exemplo anterior utilizando flip-flops tipo T e tipo D como elementos de memria.

Implementado o circuito lgico, finalizamos o projeto de um contador sncrono. Resumindo as etapas de projeto temos:

(1) Determinao do diagrama de estados do contador a partir das especificaes de projeto; (2) Montagem da tabela de estados futuros; (3) Montagem da tabela de entrada dos flip-flops; (4) Implementao das funes lgicas de entrada dos flip-flops; e (5) Implementao do circuito lgico.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

|

Prof. Marcelo Wendling

69 5.4. Contador Sncrono Crescente / Decrescente O projeto de um contador sncrono crescente / decrescente necessita da insero de uma varivel de controle. No nosso caso, vamos chamar essa varivel de controle de varivel 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 sncrono com vrivel Z de controle.

Tomando como exemplo um contador sncrono crescente / decrescente de 2 bits, devemos construir um diagrama de estados que contenha as duas possveis sequncias 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 sequncias obtidas de acordo com o valor de Z.

Figura 5.6 Diagramas de estado para os distintos valores da varivel de controle 'Z'.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

|

Prof. Marcelo Wendling

70

Figura 5.7 Diagrama de estados que contm as duas possveis sequncias do contador.

A montagem da tabela de estados futuros e de entrada dos flip-flops, considerando flip-flops JK, e inserindo a varivel Z, fica da seguinte forma:Estados Atuais Estados Futuros Entradas dos Flip-Flops JK

Z 0 0 0 0 1 1 1 1

QB 0 0 1 1 0 0 1 1

QA 0 1 0 1 0 1 0 1

QB 0 1 0 1 1 0 1 0

+

QA 1 1 0 0 0 0 1 1

+

JB 0 1 X X 1 0 X X

KB X X 1 0 X X 0 1

JA 1 X 0 X 0 X 1 X

KA X 0 X 1 X 1 X 0

Simplificando as funes lgicas, obtemos as seguintes equaes: = = . = . = + + + + = = = = (7) (8) (9) (10)

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

|

Prof. Marcelo Wendling

71 Implementando as equaes (7) (10), obtemos o circuito descrito na figura 5.8.

Figura 5.8 Circuito de um contador sncrono crescente / decrescente com uma varivel Z de controle (Z = 0 crescente).

Pergunta: Na figura 5.7 possumos um indicativo de que o contador deve iniciar sua contagem no estado 00. O que podemos fazer nesse circuito para garantirmos que sempre que o contador seja ligado ele inicie sua contagem em 00 se suas entradas assncronas forem ativadas com nvel alto?

Sugesto: Implemente o mesmo contador do exemplo anterior utilizando flip-flops tipo T e tipo D como elementos de memria. A partir desse tipo de projeto de contador sncrono, podemos projetar contadores sncronos de sequncias aleatrias controlados por variveis externas. A figura 5.9 mostra um exemplo de diagrama de estados de um contador sncrono aleatrio controlado pela varivel externa Z. Faa a tabela de estados futuros desse contador. Os estados esto codificados da seguinte forma:

Nome S0 S1 S2 S3 S4 S5 S6 S7 S8

Valor em binrio 0000 0001 1000 0101 0111 1101 1100 1110 1111| Prof. Marcelo Wendling

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

72

Figura 5.9 Contador sncrono aleatrio controlado por varivel Z.

Pergunta 1: No diagrama da figura 5.9, podemos verificar que nem todos os estados que podem ser executados com 4 bits esto sendo utilizados. O que aconteceria se por algum distrbio no sistema o contador apresentasse o valor 0110 em sua sada?

Pergunta 2: O que aconteceria o contador estivesse no estado S3, com Z =1, e o valor da varivel Z fosse alterado para 0?

Sugesto: Implemente o mesmo contador do exemplo anterior utilizando flip-flops tipo T.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

|

Prof. Marcelo Wendling

73 5.5. Exerccios de Fixao 1) Implemente um contador sncrono crescente, com reset automtico, de mdulo 16 utilizando FF JK.

2)

Implemente um contador sncrono, sem reset automtico, que conte de 2 at 6, crie uma sub-rotina de inicializao para esse contador. Utilize FF T.

3)

Implemente um contador sncrono, que execute a sequncia abaixo. O contador deve possuir reset automtico em 1 e deve-se utilizar FF JK.

4)

Implemente um contador sncrono, com reset automtico, que execute a seguinte sequncia: 1 2 3 5 6 7 9 10 12 1. Use FF D.

5)

Implemente um contador sncrono de 4 bits, com reset automtico, que execute uma contagem dos nmeros pares. Utilize FF JK.

6)

Implemente um contador sncrono de 4 bits, sem reset automtico, que execute uma contagem dos nmeros mpares. Utilize FF JK.

7)

Implemente um contador sncrono de 3 bits, crescente / decrescente, com uma varivel Z de controle. Utilize FF JK.

8)

Implemente um contador sncrono de 3 bits, com uma varivel Z de controle, que execute as seguintes sequncias: a. Com Z = 0: 0 b. Com Z = 1: 3 Utilize FF D. 1 1 3 2 2 0 5 6 4 7 6 4 7 5 0. 3.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

|

Prof. Marcelo Wendling

74 9) Implemente um contador sncrono que execute a sequncia abaixo. Utilize FF T.

10) Implemente um contador sncrono que execute a sequncia abaixo. Utilize FF D.

11) Implemente um contador sncrono, com variveis Y e X de controle, que execute as seguintes sequncias abaixo, com reset inicial em 2h. Utilize FF JK.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

|

Prof. Marcelo Wendling