cap1 circuitos sequenciais

Upload: dedy-tunes

Post on 06-Jul-2015

1.352 views

Category:

Documents


1 download

TRANSCRIPT

CIRCUITOS SEQUENCIAIS

Captulo 1: Circuitos Sequenciais1- CONTADORES ASSNCRONOS E SNCRONOSCircuitos contadores so aqueles cujas sadas, para uma condio inicial 0, assumem uma combinao binria cujo equivalente decimal igual ao nmero de pulsos recebidos na entrada clock. A arquitetura interna de circuitos contadores um arranjo conveniente de flip-flops. Uma combinao binria presente na sada do contador denominada estado do contador. A sequncia das combinaes binrias assumidas pelas sadas do contador em funo dos pulsos de clock pode ser natural (crescente 0, 1, 2, 3, ... ou decrescente ..., 3, 2, 1, 0) ou no natural (3, 6, 4, 8, 2, 5, 1). 1.1- CONTADOR ASSNCRONO Quando as entradas de clock dos vrios flip-flops internos so diferentes, o contador conhecido como contador assncrono, figura 1. As suas sadas correspondem as sadas dos flipflops internos. A entrada clock do contador corresponde a entrada clock do flip-flop mais a direita. A sada deste flip-flop corresponde ao bit menos significativo do contador. Os flip-flops no mudam de estado em sincronismo exato com os pulsos de clock, somente o primeiro FF responde aos pulsos de clock. O segundo FF tem de esperar o primeiro mudar de estado antes de comutar; o terceiro tem de esperar o segundo comutar; e assim por diante. Logo, existe um retardo entre as respostas de FFs consecutivos, que pode ser muito pequeno (10 a 40ns).A B C D

clock 1 1

1 1

1 1

1 1 reset

Figura 1- Contador assncrono crescente/4bits. A) Contador Assncrono Crescente. A figura 1 representa um contador assncrono crescente. Cada FF tem suas entradas J e K no nvel lgico 1, de tal maneira que tais FFs trocaro de estado sempre que o sinal aplicado em suas entradas de clock for do estado ALTO para BAIXO. A figura 3 apresenta os diagramas no tempo das sadas do contador, da entrada de clock e a tabela de combinaes do circuito da figura 2, onde: 1) estado inicial igual a 0, ou seja, DCBA = 0000; 2) o sinal de clock possui frequncia f; 3) ti corresponde ao tempo aps a descida da i-sima transio do clock; 4) o disparo dos flip-flops ocorres nas descidas dos pulsos de clock. O projeto de um contador assncrono crescente simples: as sadas e entradas so, respectivamente, ligadas e polarizadas conforme a rotina: 1) a sada de cada FF deve ser conectada a entrada clock dos FFs seguintes; 2) as entradas J e K de todos os FFs devem estar em nvel lgico 1;1

CIRCUITOS SEQUENCIAIS

3) o sinal clock do contador deve acionar a entrada clock do primeiro FF.clock A B C D f f/2 f/4 f/8 f/16

t00

t11

t22

t33

t44

t55

t66

t77

t88

t99

t1010

t1111

t1212

t1313

t1414

t15 tempo15 decimal

(a)Nmero de pulsos na entrada clock 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sadas C B 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1

D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

estado inicial

(b) Figura 3- Contador assncrono crescente. (a) formas de onda, (b) tabela de combinaes. A interligao de todas as entradas reset dos FFs fornece uma entrada que corresponde linha reset do contador. Esta entrada usada para garantir um estado inicial zero. O circuito opera da seguinte maneira: o primeiro FF troca de estado na transio negativa da cada pulso de clock, ento a sada A tem uma frequncia que a metade da frequncia do sinal de clock. o segundo FF muda de estado cada vez que a sada A vai de ALTO para BAIXO, ento a sada B tem a metade da frequncia da sada A e um quarto da frequncia do clock. o terceiro FF muda de estado cada vez que a sada B vai de ALTO para BAIXO, ento a sada C tem a metade da frequncia da sada B e um oitavo da frequncia do clock. o quarto FF muda de estado cada vez que a sada C vai de ALTO para BAIXO, ento a sada D tem a metade da frequncia da sada C e um dezesseis avos da frequncia do clock.

1) 2) 3) 4)

2

CIRCUITOS SEQUENCIAIS

Usando o nmero apropriado de FFs, este circuito pode dividir uma frequncia por qualquer potncia inteira de 2. Com N FFs poderemos produzir como sada do ltimo FF uma frequncia igual a 1/2N da frequncia de entrada. Observando a figura 3, partindo do estado 0000, o contador assumir, aps o primeiro pulso de clock (tempo t1) D=0, C=0, B=0 e A=1, que corresponde ao binrio 0001 (decimal 1). Aps o segundo pulso (tempo t2) D=0, C=0, B=1 e A=0, que corresponde ao decimal 2 e assim sucessivamente. Aps 16 pulsos, o contador retornar ao estado 0000. Podemos mostrar como os estados dos FFs mudam a cada aplicao de um pulso de clock na entrada utilizando os diagramas de estados, conforme figura 4. Cada crculo representa um dos possveis estados, indicado pelo nmero binrio ou decimal escrito dentro do crculo. Por exemplo, o crculo contendo o nmero decimal 1 representa o estado 0001 (D=0, C=0, B=0 e A=1). As setas conectando um crculo a outro mostram a troca de um estado para outro quando um pulso de clock aplicado. Observando um crculo em particular, podemos determinar o estado precedente e o estado seguinte ao considerado.

Nota: cada seta representa a ocorrncia de um pulso de clock.0 1 2 3 4 5 6 7

15

14

13

12

11

10

9

8

Figura 4- Diagrama de estados de um contador assncrono crescente. Exerccio: Implemente um contador assncrono crescente de 4 bits utilizando FFs do tipo D. CONTAGEM MDULO-N O contador da figura 2 tem 24=16 diferentes estados (0000 at 1111). Este contador denominado contador de mdulo 16 ou contador MOD-16, onde o nmero que segue a palavra MOD indica a quantidade de estados na sequncia de contagem. Em geral, se N flip-flops forem utilizados teremos um contador MOD-2N que ser capaz de contar at 2N-1 antes de voltar a seu estado zero. CONTADORES COM NMERO MOD < 2N O contador pode ser modificado para gerar nmeros MOD menores do que 2N, permitindo que o contador salte estados que normalmente fazem parte da sequncia de contagem. Um dos mtodos mais comuns apresentado na figura 5, onde mostrado um contador assncrono crescente de 3 bits.A clock B C

(a)

3

CIRCUITOS SEQUENCIAIS

1

2

3

4

5

6

7

8

9

10

11

12

clock A B C sada da NAND

(b) Figura 5- Contador MOD-6 criado atravs do reset de um contador MOD-8 quando este atinge o estado seis (110). Sem a porta NAND o contador contar em sequncia de 000 at 111 (MOD-8). Entretanto, a presena da porta NAND vai alterar a sequncia da seguinte forma: 1- A sada da porta NAND est conectada s entradas assncronas CLEAR de cada um dos flipflops. Enquanto a sada da porta NAND estiver em nvel ALTO, ela no afetar o contador. Quando ela for para BAIXO, vai resetar todos os flip-flops e o contador vai imediatamente para o estado 000. 2- As entradas da porta NAND so as sadas dos flip-flops B e C, de forma que a sada da NAND vai para BAIXO quando B=C=1, o que ocorre quando o contador for do estado 101 para o estado 110. Desta forma, em alguns nanosegundos, o contador ir para o estado 000. Depois de resetados os FFs a sada da porta NAND vai para ALTO. 3- A sequncia de contagem , portanto, CBA 000, 001, 010, 011, 100, 101, 110, 000, 001, ... 110 estado temporrio necessrio a resetar o contador (poucos nanosegundos) A forma de onda na sada B contem um pico causado pela ocorrncia momentnea do estado 110 antes do reset. Este pico muito estreito e no vai produzir nenhuma indicao visvel nas luzes indicadoras ou nos displays numricos. Ele pode, entretanto, causar um problema se a sada B estiver sendo usada para ativar outro circuito externo ao contador. A sada C tem uma frequncia igual a um sexto da frequncia de entrada e a forma de onda no uma onda quadrada simtrica (50% do ciclo em 1 e 50% do ciclo em 0) por que ela s est no nvel ALTO durante dois ciclos do clock e permanece em nvel BAIXO durante quatro ciclos. A figura 6 apresenta o diagrama de estados para o contador MOD-6.0 7estado temporrio

1 2 5 4 3

6

Figura 6- Diagrama de estados para o contador MOD-6.4

CIRCUITOS SEQUENCIAIS

O contador de dcadas o circuito que efetua a contagem, em nmeros binrios, de zero a nove (0000 a 1001), figura 7. Para que o contador conte somente de 0 a 9, quando ocorrer nos terminais de sada o estado Q 3 Q 2 Q1Q 0 = 1010 2 = 1010 deve-se jogar um pulso zero na entrada clear e assim o contador logo aps o dcimo pulso reiniciar a contagem.Q0 clock Obs: poderamos usar apenas uma porta NAND com as duas entradas, Q3 e Q1, que valem 1. J=K=1 Q1 Q2 Q3

Figura 7- Contador de dcada assncronoPodemos fazer um contador contar de 0 a um nmero n qualquer verificando quais as sadas do contador para o caso seguinte a n e colocarmos estas sadas numa porta NAND e a sada desta porta ligarmos nas entradas CLEAR dos flip-flops do contador. B) Contador Assncrono Decrescente. Um contador assncrono decrescente pode ser obtido de dois arranjos diferentes: 1) Modificando o arranjo da figura 2 de tal forma que as entradas clock dos estgios mais significativos sejam obtidas das sadas Q e as sadas dos contador sejam tiradas das sadas Q dos flip-flops, conforme figura 8(a). 2) Os circuitos dos flip-flops forem organizados de forma similar ao da figura 2, contudo, considerando como sadas do contador as sadas Q dos flip-flops, conforme figura 8(b).A clock J=K=1 (a) clock A J=K=1 (b) B C D reset reset B C D

Figura 8- Contador assncrono decrescente.A figura 9 apresenta os diagramas no tempo das sadas do contador e da entrada de clock do circuito da figura 8 e o diagrama de estados, onde: 1) estado inicial igual a 0, ou seja, DCBA = 0000; 2) o sinal de clock possui frequncia f; 3) ti corresponde ao tempo aps a descida da i-sima transio do clock; 4) o disparo dos flip-flops ocorres nas descidas dos pulsos de clock.

5

CIRCUITOS SEQUENCIAIS

clock A B C D15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 decimal

(a)

Nota: cada seta representa a ocorrncia de um pulso de clock.0 1 2 3 4 5 6 7

15

14

13

12

11

10

9

8

(b) Figura 9- Diagramas no tempo e diagrama de estados do contador assncrono decrescente

C) Contador Assncrono Crescente/Decrescente (up/down) Pode-se juntar as duas funes no mesmo contador. Inclui-se um circuito combinacional com a funo de escolha entre os dois modos de funcionamento (ordem crescente ou ordem decrescente), conforme figura 10. Um nvel lgico 1 na entrada de controle faz com que as portas AND do lado Q fiquem habilitadas e os sinais se propaguem das sadas Q para as entradas de clock dos flip-flops e o contador opera em ordem crescente. As portas AND do lado Q permanecem bloqueadas durante este tempo (0 na sada). Quando o nvel lgico na entrada de controle 0, ficam habilitadas as portas AND do lado Q e bloqueadas as portas do lado Q. Os sinais das sadas do lado Q passam para as entradas de clock e o contador opera em ordem decrescente.A clock B C

J=K=1

reset

controle

1 crescente / 0 decrescente (up/down)

Figura 10- Contador assncrono crescente/decrescente (up/down) D) Retardo de Propagao em Contadores Assncronos Os contadores assncronos so tambm chamados de contadores ripple e so o tipo mais simples de contadores binrios pois requerem o menor nmero de componentes. Entretanto, eles tem uma grande desvantagem que causada pelo princpio bsico de operao. Cada flip6

CIRCUITOS SEQUENCIAIS

flop ativado pela transio na sada do flip-flop precedente. Devido ao tempo de retardo de propagao do sinal (tpd) inerente a cada flip-flop, o segundo flip-flop no vai responder enquanto no passar um tempo tpd aps o primeiro flip-flop receber uma transio ativa do clock; o terceiro flip-flop s vai responder depois de passado um tempo igual a 2 x tpd aps aquela transio do clock e assim por diante. Ou seja, os retardos de propagao doa flip-flops acumulam-se de maneira que o N-simo flip-flop no pode mudar de estado enquanto no ocorrer um tempo igual a N x tpd aps a ocorrncia da transio do clock. Os contadores assncronos apresentam falhas quando operados em altas frequncias devido aos tempos de propagao dos flip-flops. Para evitar problemas na utilizao de contadores assncronos, o perodo entre os pulsos da entrada deve ser maior do que o retardo de propagao total do contador. Isto Tclock N x tpd, onde N o nmero de flip-flops. Assim, contadores assncronos no so teis em frequncias muito altas, especialmente para um nmero grande de bits. 1.2- CONTADOR SNCRONO Os problemas encontrados com contadores assncronos so causados pelo acmulo dos retardos de propagao dos flip-flops. Estas limitaes podem ser superadas com o uso de contadores sncronos, ou paralelos, nos quais todos os flip-flops so ativados simultaneamente pelos pulsos de entrada do clock. J que os pulsos de entrada so aplicados a todos os flip-flops, deve ser usado algum meio para controlar quando um flip-flop deve comutar. Isto feito atravs das entradas J e K, figura 11, para um contador de quatro bits sncrono MOD-16. A) Contador Sncrono Crescente A figura 11 apresenta um contador sncrono crescente de quatro bits.

1 1 clock

Q0

Q1

Q2

Q3

Figura 11- Contador sncrono crescente MOD-16 O princpio bsico de operao de um contador sncrono : As entradas J e K dos flipflops esto conectadas de forma que s aqueles flip-flops que devero comutar em determinada transio negativa vo ter J=K=1 quando tal transio vier a ocorrer. A tabela abaixo apresenta a sequncia de contagem da figura 11. A sequncia de contagem mostra que o primeiro flip-flop tem que trocar de estado a cada transio negativa, desta forma as entradas J e K esto sempre em nvel lgico ALTO. O segundo flip-flop deve trocar de estado a cada transio negativa que ocorra enquanto A=1, o que conseguido conectando-se a sada do primeiro flip-flop nas entradas J e K do segundo de forma que J=K=1 quando A=1. O terceiro flip-flop tem de trocar de estado a cada transio negativa que ocorra enquanto A=B=1, o que garantido com a conexo do sinal A.B s entradas J e K do terceiro flip-flop. De maneira semelhante, o quarto flip-flop tem que trocar de estados a cada transio negativa que ocorre enquanto A=B=C=1, o que feito com a conexo de A.B.C s entradas J e K deste flip-flop.

7

CIRCUITOS SEQUENCIAIS

contagem 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Q3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Q2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

Q1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

Q0 0 1 0 1 0 1 0 2 0 1 0 1 0 1 0 1

Nos contadores sncronos os retardos de propagao dos flip-flops no se adicionam para produzir o retardo total, como nos contadores assncronos, pois todos os flip-flops mudam de estado simultaneamente. O tempo de resposta total de um contador sncrono o tempo que leva para comutar um flip-flop mais o tempo de propagao dos novos nveis lgicos atravs de uma porta AND para alcanar as entradas J e K. Isto : retardo total=tpd do flip-flop + tpd da porta AND. Isto significa que um contador sncrono pode operar com uma frequncia de entrada muito maior que um contador assncrono com o mesmo nmero de flip-flops. B) Contadores Sncronos Decrescentes e Crescentes/Decrescentes Um contador sncrono decrescente obtido atravs do uso da sada invertida dos flipflops para ativar as entradas J e K seguintes. Para formar um contador paralelo crescente/decrescente, figura 12, as entradas de controle (contagem-crescente e contagem-decrescente) so usadas para controlar se as sadas normais dos flip-flops ou as sadas invertidas so alimentadas pelas entradas J e K dos flip-flops seguintes. Um 1na linha contagem-crescente enquanto contagem-decrescente=0 habilita as portas AND 1 e 2 e desabilita as portas AND 3 e 4, fazendo com que o contador conte de maneira crescente (000 at 111). A ao contrria tem lugar quando contagem-crescente=0 e contagem-decrescente=1 (conta de maneira decrescente de 111 at 000).contagem-crescente 1 1 Q0 contagem-decrescente clock Q0

Figura 12- Contador sncrono crescente/decrescente

8

CIRCUITOS SEQUENCIAIS

C) Projeto de Contadores Sncronos Existem vrios CIs contadores que podem ter suas sequncias de contagem alteradas de alguma forma. Existem situaes onde necessrio um contador que siga uma sequncia que no seja uma sequncia binria, por exemplo 000, 010, 001, 110, 000, .... Existem vrios mtodos para projeto de contadores que seguem sequncias arbitrrias e podem ser utilizados qualquer tipo de flip-flop. Idia bsica: Nos contadores sncronos, todos os flip-flops so ativados pelo clock ao mesmo tempo. Se usarmos um flip-flop J-K, antes de cada pulso de clock cada entrada J e K de cada flipflop do contador deve estar no nvel correto para assegurar que cada flip-flop vai para o estado correto. O projeto de um contador sncrono o projeto de um circuito lgico que decocifica os vrios estados de um contador para suprir os nveis lgicos nas entradas dos flip-flops. As entradas para estes circuitos decodificadores viro das sadas de um, ou mais, dos flip-flops. Exemplo: Projetar o contador sncrono conforme a sequncia da tabela abaixo. C 0 0 0 0 1 0 B 0 0 1 1 0 0 etc A 0 1 0 1 0 0

1o passo: Formulao do problema e determinao do diagrama de estados. Atravs da tabela verificamos que so necessrios trs flip-flops. A sequncia da tabela no inclui os estados 101, 110 e 111. Estes estados sero chamados de estados indesejveis. Na obteno do diagrama de estados mostraremos todos os possveis estados, incluindo aqueles que no fazem parte da sequncia de contagem desejada. A idia usada neste diagrama a incluso dos estados indesejveis. Eles sero includos no projeto para o caso de o contador ir acidentalmente para um destes estados durante a partida ou devido a rudo. O projetista pode escolher ter cada um destes estados indesejveis indo para qualquer estado na aplicao do pulso de clock seguinte. Aqui, escolhemos todos indo para o estado 000 de onde a sequncia correta ser gerada.q5 q6 q0 q4 q3 q1 q2 q7 q0=000 q1=001 q2=010 q3=011 q4=100 q5=101 q6=110 q7=111

2o passo: Determinao da tabela de estados. Nesta tabela so apresentados os estados atuais e os estados aps a transio dos pulsos de clock, chamados de prximo estado. Eles so obtidos a partir do diagrama de estados apresentado acima. Por exemplo, se o estado atual 000 teremos como prximo estado 001.9

CIRCUITOS SEQUENCIAIS

Os estados indesejveis 101, 110 e 111 so apresentados na tabela e todos tem como prximo estado 000. estado atual q0 q1 q2 q3 q4 q5 q6 q7 prximo estado q1 q2 q3 q4 q0 q0 q0 q0

3o passo: Obteno da tabela de transio. Nesta tabela substitumos os termos qo, q1, ... pelas sadas dos flip-flops com a combinao binria correspondente. estado atual Q1 Q2 Q3 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 prximo estado Q1(o+1) Q2(o+1) Q3(o+1) 0 0 10 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

4o passo: Escolha do tipo de flip-flop. Pode ser utilizado qualquer um dos flip-flops estudados. Escolheremos o FF J-K. Tabela de excitao do FF J-K Q0 Q0+1 0 0 0 1 1 0 1 1 J 0 1 x x K x x 1 0

5o passo: Determinao dos circuitos combinacionais para as excitaes. Adicione uma coluna a tabela de transio para cada uma das entradas J e K. Para cada estado atual, indique os nveis necessrios em cada uma das entradas J e K, a fim de produzir a transio para o prximo estado. Os valores das entradas J e K so obtidos atravs do uso da tabela de excitao para o flip-flop JK.

10

CIRCUITOS SEQUENCIAIS

Tabela de transio do circuito estado atual Q1 Q2 Q3 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 prximo estado Q1(o+1) Q2(o+1) Q3(o+1) 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 J1 0 0 0 1 x x x x K1 x x x x 1 1 1 1 excitaes J2 K2 0 x 1 x x 0 x 1 0 x 0 x x 1 x 1 J3 1 x 1 x 0 x 0 x K3 x 1 x 1 x 1 x 1

A tabela acima lista seis entradas J e K. temos que considerar cada uma delas como uma sada d seu prprio circuito lgico com entradas dos trs flip-flops. A seguir temos que projetar o circuito para cada uma delas. Para projetar os circuitos para cada uma das entradas J e K precisamos olhar para os estados atuais e os nveis desejados em cada entrada J e K para cada caso. Montamos o mapa de Karnaugh para cada entrada J e K e obtemos a equao minimizada. Equao final para cada excitaoQ2Q3 Q2Q3 Q2Q3 Q2Q3 Q1 Q1 x x 1 x xQ1 Q1 Q2Q3 Q2Q3 Q2Q3 Q2Q3 x 1 x 1 x 1 x 1

J1 = Q 2 .Q 3

K1 = 1

Q2Q3 Q2Q3 Q2Q3 Q2Q3 Q1 Q1 1 x x x x

Q2Q3 Q2Q3 Q2Q3 Q2Q3 Q1 Q1 x x x x 1 1 1

J 2 = Q 3 .Q1 Q2Q3 Q2Q3 Q2Q3 Q2Q3 Q1 Q1 1 x x J 3 = Q1 6o passo: Circuito final. x x 1 Q1 Q1

K 2 = Q 2 .Q1 + Q 3 Q2Q3 Q2Q3 Q2Q3 Q2Q3 x x 1 1 K3 = 1 1 1 x x

1

1

clock

11

CIRCUITOS SEQUENCIAIS

Este mesmo processo de projeto pode ser usado para contadores com qualquer nmero de bits e qualquer sequncia arbitrria. A nica restrio sobre a sequncia que ela no pode conter o mesmo estado mais de uma vez dentro de um ciclo completo antes de repetir. Por exemplo, a sequncia 000, 001, 011, 001, 100 no vai funcionar por que o estado 001 aparece mais de uma vez. Isto faz sentido, j que o nosso mtodo de projeto no pode manipular um estado atual 001 que tem dois prximos estados diferentes. D) Contador em Anel Este contador deve gerar a seguinte sequncia, figura 12.

Q3 0 0 0 1 0 0

Q2 0 0 1 0 0 0 etc

Q1 0 1 0 0 0 1

Q0 1 0 0 0 1 0

q0 q3

q1 q2

q0=0001 q1=0010 q2=0100 q3=1000

Figura 12- Sequncia do contador em anel. Note-se a simetria diagonal quando um bit deslocado em uma fileira de 4. Vamos estudar o comportamento das entradas J e K perante a sequncia apresentada. A sequncia bsica de contagem inclui somente 4 estados dos 16 estados possveis, com o nvel 1 circulando nas sadas do contador. Logo, os outros estados so irrelevantes. Tabela de excitao do FF J-K Q0 Q0+1 0 0 0 1 1 0 1 1 J 0 1 x x K x x 1 0

Q3 0 0 0 1

estado atual prximo estado Q2 Q1 Q0 Q3(o+1) Q2(o+1) Q1(o+1) Q0(o+1) J3 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 1 x

K3 x x x 1

J2 0 1 x 0

excitaes K2 J1 x 1 x x 1 0 x 0

K1 J0 K0 x x 1 1 0 x x 0 x x 1 x

12

CIRCUITOS SEQUENCIAIS

Equao final para cada excitao

Q1Q0 Q1Q0 Q1Q0 Q1Q0 Q3Q2 Q3Q2 Q3Q2 Q3Q2 x 1 x x x x xJ3 = Q2

Q1Q0 Q1Q0 Q1Q0 Q1Q0 Q3Q2 x x x x x xJ 2 = Q1

x x x x x x x

x x x x

1 x x x

Q3Q2 Q3Q2 Q3Q2

Q1Q0 Q1Q0 Q1Q0 Q1Q0 Q3Q2 Q3Q2 Q3Q2 Q3Q2 x x 1 x x xJ1 = Q 0 K3 = K2 = K1 = K0 = 1 Circuito Final:Q0 Q1 Q2

Q1Q0 Q1Q0 Q1Q0 Q1Q0 Q3Q2 Q3Q2 Q3Q2 Q3Q2 x 1 x x x x xJ 0 = Q3

x x x x

x x x x

x x x x x x x

Q3

Vcc clock

O contador em anel geralmente representado na forma de um circuito padronizado chamado registrador de deslocamento (shift-register). Para a obteno deste circuito no utilizamos todas as condies irrelevantes para a obteno das expresses das variveis de excitao K3 a K0. Utilizando somente algumas das condies irrelevantes obteremos: K 3 = Q2 K 2 = Q1 K1 = Q 0 K 0 = Q3Q0 Q1 Q2 Q3

clock

As entradas preset e clear dos FFs podem ser utilizadas para iniciar a contagem em um dos estados existentes. Podemos tambm fazer com que o contador entre na sequncia descrita mesmo assumindo qualquer estado inicial (estados irrelevantes: 0, 3, 5, 7, 9, 11, 12, 13, 14 e 15).13

CIRCUITOS SEQUENCIAIS

A porta AND usada para garantir uma auto-correo, ou seja, aps um certo nmero de pulsos, a sequncia original alcanada. Este procedimento resulta no circuito abaixo:Q0 Q1 Q2 Q3

1 clock

As sadas do contador em anel podem ser usadas para comandar sequencialmente quatro pontos diferentes de um sistema. Por exemplo, para ligar e desligar mquinas eltricas e acionar circuitos de alarme. claro que cada sada digital no pode acionar diretamente um desses sistemas sem antes passar por um estgio de potncia. E) Contador JOHNSON A figura 13 apresenta um contador sncrono de 4 bits e sua tabela de combinaes, conhecido como contador Johnson (ou contador em anel torcido).Q0 Q1 Q2 Q3

clock

clock 1o 2o 3o 4o 5o 6o 7o 8o 9o

Q3 0 0 0 0 1 1 1 1 0

Q2 0 0 0 1 1 1 1 0 0

Q1 0 0 1 1 1 1 0 0 0

Q0 0 1 1 1 1 0 0 0 0

Figura 13- Contador Johnson O estado inicial 0000 garantido atravs das entradas reset dos FFs. O circuito foi projetado para garantir uma sequncia de contagem igual a 0, 1, 3, 7, 15, 14, 12, 8, 0. Desta forma o circuito opera apenas com 8 estados dos 16 possveis. Para forarmos o contador a seguir a sequncia desejada, caso ele caia em um dos estados irrelevantes (2, 4, 5, 6, 9, 10, 11, 13) podemos utilizar o circuito abaixo.

14

CIRCUITOS SEQUENCIAIS

Q0

Q1

Q2

Q3

clock

As portas AND so usadas para garantir a auto-correo. Como, neste caso, podem ocorrer mais de um nvel 1 por vez, as sadas no devem ser usadas diretamente para comandar sequencialmente pontos diferentes de um sistema. Antes elas devem comandar as entradas de um decodificador decimal cujas sadas so usadas para comandar os vrios pontos do sistema. Note que este contador possibilita duas vezes mais estados que o contador em anel com o mesmo nmero de bits. Desta forma pode comandar duas vezes mais pontos de um sistema. Contudo, com o contador Johnson precisamos usar um decodificador nas suas sadas, tornando o sistema de comando complexo. O nmero de entradas das portas AND so um nmero inteiro r obtido da diviso n/3 onde n igual ao nmero de FFs do contador. Se n/3 for igual a um nemro fracionrio, use para r o inteiro imediatamente superior (se n = 4, r = 4/3 = 1,33 r = 2). As rs sadas do contador a serem usadas como entradas das portas AND so as rs sadas mais significativas.

2- Circuitos Integrados ComerciaisContadores assncronos: 7493 contador binrio de 4 bits, responde na transio negativa do clock, composto por duas sees: contador mdulo 2 (1 FF) e contador mdulo 8 (3 FF) que podem ser usados em separado ou em cascata. contador BCD, responde na transio negativa do clock, composto por duas sees: contador mdulo 2 (1 FF) e contador mdulo 5 (3 FF) que podem ser usados em separado ou em cascata. contador de mdulo 12, responde na transio negativa do clock, composto por duas sees: contador mdulo 2 (1 FF) e contador mdulo 6 (3 FF) que podem ser usados em separado ou em cascata, fornece pulsos de sada simtricos, muito usado em circuitos temporizadores.

7490

7492

Contadores sncronos: 74160 e 40160 74162 e 40162 74193 e 40193 74191 contador em ordem crescente, responde na transio positiva do clock, entradas preset sincronizadas na subida do clock. contador em ordem crescente, responde na transio positiva do clock, entradas reset sincronizadas na subida do clock. contador binrio (4 bitis) crescente/decrescente, possui duas entradas de clock (uma para a contagem cerescente e uma para a decrescente. contador binrio crescente/decrescente, responde na transio positiva do clock

15

CIRCUITOS SEQUENCIAIS

3- REGISTRADORESUm arranjo conveniente de flip-flops responsvel por um tipo de circuito que retm (armazena) uma informao binria por uma durao de tempo qualque desejada. Tais circuitos recebem a denominao de registradores (registers). O nmero de flip-flops envolvido em um registrador , no mnimo, igual ao nmero de bits da informao a ser armazenada. A) Registrador com Carga Paralela O circuito da figura 14 permite o armazenamento da informao XYZW. Quando ocorre uma transio positiva do sinal de clock, os nveis lgicos presentes nas entradas (X, Y, Z e W) so simultaneamente copiados, respectivamente, nas sadas P, Q, R e S, onde ficam armazenados. Por exemplo, se antes da transio positiva do clock temos XYZW = 1100, ento aps a transio teremos PQRS=1100. A informao armazenada s ser perdida se ocorrer um dos seguintes casos: a) falta de alimentao, b) ocorrncia de rudo, c) nova transio do clock para XYZW diferente de 1100. Pelo fato dos bits colocados nas entradas de dados serem armazenados ao mesmo tempo, o circuito conhecido como registrador paralelo. Uma informao paralela a informao na qual todos os bits se apresentam simultaneamente e necessita tantos fios quantos forem os bits contidos na informao.local de armazenamento P entradas Y W Z (a) Q R S X Y W Z sadas P Q R S

dados X clock

R E Gclock (b)

Figura 14- Registrador paralelo: (a) circuito, (b) smboloB) Registrador Srie O circuito da figura 15 apresenta um arranjo de flip-flops que permite o armazenamento sequencial, ou seja, no ao mesmo tempo, dos 4 bits da informao binria. Ele conhecido como registrador srie. Uma informao srie aquela que utiliza apenas um fio sendo que os bits de informao vem sequencialmente um aps o outro.P X clock (a) Q R S entrada srie clock P Q R S X (b) sadas

Figura 15- Registrador srie: (a) circuito, (b) smbolo16

CIRCUITOS SEQUENCIAIS

Quando ocorre uma transio positiva na linha de clock, o nvel lgico presente na entrada X copiado na sada P, o bit que estava em P copiado em Q, o que estava em Q copiado em R e o que estava em R copiado em S. O contedo original de S perdido. Assim, aps uma transio positiva na linha de clock, o bit externo X armazenado no registrador e a informao presente em PQRS sofre um deslocamento para a direita. Por causa deste deslocamento, o circuito conhecido como registrador de deslocamento (shift-register). Neste tipo de registrador, os n bits da informao no so armazenados ao mesmo tempo. A cada pulso na linha de clock, um bit de cada vez armazenado. Este armazenamento ser de acordo com a ordem de significao. ARMAZENAMENTO DE DADOS A seguir apresentaremos a rotina para o armazenamento da informao 1010 em um registrador de deslocamento. 1) Coloque o bit menos significativo (no caso, bit 0) na entrada X; 2) Aplique um pulso completo na linha de clock. Com isso, a sada P assume nvel 0; 3) Coloque o bit seguinte, em ordem de significao (no caso, bit 1) na entrada X; 4) Aplique um novo pulso na linha clock. Com isso ocorre um deslocamento interno, de tal forma que a sada Q assume nvel 0 (valor de P antes da aplicao do segundo pulso) enquanto P assume 1 (cpia de X); 5) Repita os passos 3 e 4 at que todos os 4 bits sejam armazenados. Em resumo, a rotina consiste de: 1) atualizao de X; 2) aplicao de pulso na linha clock; 3) nova atualizao; 4) novo pulso; e assim sucessivamente, at que sejam aplicados tantos pulsos quanto for o nmero de sadas do registrador. A tabela abaixo ilustra o procedimento acima sugerido. No de pulsos aplicados nvel lgico em X, na linha clock antes do pulso clock 0 * 0 0 1 0 1 2 1 0 3 0 1 4 1 sadas PQRS * * 0*** 0*** 10** 10** 010* 010* 1010 comentrio condio inicial X = 0 (bit LSB) P = X = 0 (deslocamento) X = 1 (atualizao) Q = 0; P = X = 1 X = 0 (atualizao) R = 0; Q = 1; P = X = 0 X = 1 (atualizao) P = 1; Q = 0; R = 1; S = 0

Na figura 16 implementamos um registrador de deslocamento com flip-flops J-K. Observe que os FF so conectados de maneira que a sada Q3 seja deslocada para Q2, a de Q2 para Q1 e a de Q1 para Q0, o que significa dizer que, na ocorrncia de um pulso de clock, cada FF assume o nvel lgico que estava presente na sada do FF a sua esquerda, imediatamente antes da transio considerada. O FF Q3 recebe um valor que vai depender das condies presentes nas entradas J e K, no momento da ocorrncia do pulso de deslocamento. As formas de onda mostram como os dados de entrada so deslocados da esquerda para a direita, de FF para FF, quando o pulso de deslocamento aplicado.

17

CIRCUITOS SEQUENCIAIS

Q3

Q2

Q11

Q0

ENTRADA SERIAL

J

SET

Q3

J

SET

Q2

J

SET

Q1

J

SET

Q0

K CLR Q3

K CLR Q2

K CLR Q1

K CLR Q01

CLOCK

CLOCK ENTRADA SERIAL

1

2

3

4

5

6

1

0

0

1

0

1

Q3 Q2 Q1 Q0

Figura 16- Um registrador de deslocamento de quatro bits C) Terminais Os terminais de entrada e sada dos registradores possuem denominaes especficas comuns a todos os fabricantes de circuitos integrados. A figura 17 apresenta um registrador, com 4 bits, que pode funcionar como registrador srie ou paralelo.entradas paralelas a b c d P X clock Q R S

entrada reset

Figura 17- Registrador tpico 1) Entrada srie (serial-in) Terminal existente somente para registradores de deslocamento. Corresponde entrada do flip-flop no qual conectada a linha externa , ou seja, entrada X. 2) Entradas paralelas (parallel-in) Terminais existentes apenas para os registradores cm carga paralela, onde a informao armazenada de uma s vez. Corresponde as entradas abcd da figura 16 (entradas XYZW da figura 14). Para garantir a carga paralela devemos primeiro ressetar o registrador e, a seguir, colocar a informao a ser armazenada nas entradas set abcd. Note que as entradas reset e set operam em nvel 0. 3) Sada serial (serial-out) - Terminal existente somente para registradores de deslocamento. Corresponde sada do ltimo flip-flop, sada S na figura 17 e 15.18

CIRCUITOS SEQUENCIAIS

4) Sada paralela (parallel-out) Quando no registrador permitido o acesso a todas as sadas dos flip-flops internos, tais sadas so conhecidas como sadas paralelas. Por exemplo, as sadas PQRS das figuras 14 e 17. D) Classificao 1) Quanto a forma de manipulao dos dados a) Registrador tipo entrada srie/sada srie (serial-in/serial-out) Quando temos acesso aos terminais entrada srie e sada srie. b) Registrador tipo entrada srie/sada paralela (serial-in/parallel-out) Quando temos acesso aos terminais entrada srie e sadas paralelas (figuras 15registrador de deslocamento e 17). c) Registrador tipo entrada paralela/sada paralela (parallel-in/parallel-out) Quando temos acesso aos terminais entradas paralelas e sadas paralelas (figuras 14 e 17). 2) Quanto a direo de deslocamento O deslocamento da informao no shift-register pode ocorrer de uma das trs formas abaixo: a) Deslocamento para a esquerda conhecido como shift-left; b) Deslocamento para a direita conhecido como shift-right; c) Deslocamento bidirecional - shift-right/left. Neste caso, possui uma entrada de controle que permuta o funcionamento como right ou left. 3) Quanto a capacidade de armazenamento Este parmetro est relacionado com o nmero de bits que pode ser armazenado no registrador. Por exemplo, no caso das figuras 14, 15 e 17, os registradores possuem uma capacidade para armazenamento igual a quatro. O nmero de bits armazenado igual ao nmero de flip-flops do registrador. E) Aplicaes Especiais Os registradores podem ser organizados para obteno de um registrador equivalente com maior nmero de bits. Tambm as informaes armazenadas em um registrador podem ser transferidas facilmente para outro registrador. 1) Cascateamento e paralelismo Por exemplo, podemos organizar dois shift-registers para a obteno de um circuito equivalente a um shift com 8 bits: a) atravs de cascateamento de registradores do tipo srie, figura 18; b) atravs do paralelismo entre registradores paralelos, figura 19.P Q R S entrada srie clock X1 sada srie P Q R S X2 sadas

REG1

REG2

Figura 18- Cascateamento de shift-register

19

CIRCUITOS SEQUENCIAIS

entradas X Y W Z clock A B C D

sadas

R E G

P Q R S

R E G

F G H K

Figura 19- Paralelismo de registradores 2) Comunicao entre registradores O objetivo a transferncia de contedos entre registradores. O termo transferir usado quando queremos nos referir ao envio do contedo de um registrador A para um registrador B sem a necessidade de manuteno do contedo de A. O termo cpia usado quando queremos nos referir ao envio do contedo de A para B mantendose o contedo do registrador A. A figura 20 apresenta um circuito para transferncia entre registradores com carga paralela e a figura 21 para registradores srie.R E G 1

X Y W Z clock

P Q R S

A B C D

R E G 2

F G H K

Figura 20- Comunicao entre registradores paralelosregistrador A entrada clock A2 A1 A0 B2 registrador B B1 B0

Figura 21- Transferncia serial de informao de um registrador A para um registrador BPara ilustrar o processo da figura 21, vamos assumir que antes da aplicao do pulso de deslocamento o contedo do registrador A era 101 e do registrador B era 000. A tabela abaixo mostra como os estados de cada FF mudam com a aplicao do pulso de clock. A transferncia completa dos trs bits armazenados em A para B requer trs pulsos de clock. A2 1 0 0 0 A1 0 1 0 0 A0 1 0 1 0 B2 0 1 0 1 B1 0 0 1 0 B0 0 0 0 1

antes da aplicao dos pulsos depois do primeiro pulso depois do segundo pulso depois do terceiro pulso

20

CIRCUITOS SEQUENCIAIS

3) Somador srie - Um somador srie de 4 bits pode ser obtido com a utilizao de registradores de deslocamento, figura 22. Nos registradores A e B sero armazenados os dois nmeros de 4 bits a serem somados. Com quatro pulsos de clock os nmeros sero armazenados nos registradores. Os bits menos significativos de A e B sero enviados para o somador completo (FA), onde sero somados, resultando a soma (S) e gerando um vai-um de sada (carryout/Cout). O resultado da soma ser enviado para o acumulador (registrador de deslocamento) onde ficar armazenado. O Cout vai para a entrada de um FF D, onde no prximo pulso de clock ser enviado para o Cin (entrada de carry) do somador, e ser somado com os prximos bits dos registradores A e B que foram deslocados para as posies menos significativas dos dois registradores. Portanto, a funo do FF D promover um atraso no vai-um gerado, para que este seja somado aos prximos bits a serem somados e no aos bits que o geraram. O resultado da soma ficar armazenado no acumulador, que possui um bit a mais que os registros A e B para armazenar o vai-um de sada que pode ser gerado na soma dos bits mais significativos.REGISTRO A ACUMULADOR A B Cin FA S Cout

REGISTRO B

Q

SET

D

Q CLRCLOCK

Figura 22- Somador srie

4- Anlise e Sntese de Circuitos SequenciaisPara a anlise e sntese de circuitos sequenciais utilizaremos os diagramas de estados. Um diagrama de estados representa um modelo grfico de um sistema sequencial, descrevendo as transies entre os estados do sistema. A figura 23 apresenta o diagrama de estados de um sistema digital qualquer. Cada clulacrculo representa um estado distinto do sistema. As linhas direcionadas com setas so indicaes grficas das mudanas de estados. Cada transio representada pelo cdigo binrio de entrada e sada consequente. O diagrama de estados formaliza a adaptao da tabela verdade para sistemas sequenciais.0/0

qo

1/1

q1

0/1

qo=00 q1=01 q2=10

Figura 23

0/0

1/0

q2

21

CIRCUITOS SEQUENCIAIS

4.1- Anlise de Circuitos Sequenciais O objetivo da anlise , dado um circuito sequencial determinar qual o seu comportamento e responder perguntas do tipo: quais os estados que possui; se o estado atual qi, para uma entrada xi, qual ser seu prximo estado; qual a sequncia de estados (e/ou sadas) para um determinado estado inicial e uma determinada sequncia de entrada; o estado qi pertence ao conjunto de estados acessveis? etc. Para analisarmos circuitos sequenciais devemos seguir os seguintes passos: o 1 passo: Definio das equaes das sadas atuais e das variveis de excitao (controle): sada atual: Z=(Z1, Z2, ..., Zn) variveis de excitao (controle): J, K, T, D, R e S o 2 passo: Definio das equaes do prximo estado. Qo+1= f(X, Q) o 3 passo: Obteno da tabela de transio e da tabela de estados do circuito. 4o passo: Obteno do diagrama de estados. Exemplo 1: Faa a anlise do circuito sequencial abaixo.X Z J1 clock Q1

K1 CLK

J2

Q2

K2 CLK

1o passo: Definio das equaes das sadas atuais e das variveis de excitao (controle). J1 = X K1 = X J2 = Z K2 = Z Z = (X + Q1 ).Q 2 2o passo: Definio das equaes do prximo estado. Para o flip-flop J-K a equao do prximo estado : Q o +1 = J.Q + K.Q Utilizaremos esta equao para determinar as sadas Q1 e Q2. Q1( o+1) = J 1 .Q1 + K 1 .Q1 = X.Q1 + X.Q1 = X. Q1 + Q1 = X Q 2( o+1) = J 2 .Q 2 + K 2 .Q 2 = Z.Q 2 + Z.Q 2 = Z. Q 2 + Q 2 = Z = (X + Q1 ).Q 2

(

(

)

)

22

CIRCUITOS SEQUENCIAIS

3o passo: Obteno da tabela de transio e da tabela de estados do circuito. Tabela de transio estado atual Q1 Q2 0 0 0 1 1 0 1 1 Construo da tabela de transio: a) Q1 = Q2 = X = 0 Q1(o +1) = X = 0 Q1(o +1) = X = 0 Q 2(o+1) = (X + Q1 ).Q 2 = 0 X=0 Q1(o+1)Q2(o+1)/Z 00/0 00/0 00/0 01/1 X=1 Q1(o+1)Q2(o+1)/Z 10/0 11/1 10/0 11/1

Q 2(o+1) = (X + Q1 ).Q 2 = 0

Z = (X + Q1 ).Q 2 = Q 2(o +1) = 0

Z = (X + Q1 ).Q 2 = Q 2(o +1) = 0

b) Q1 = X = 0 e Q2 = 1 Q1(o +1) = X = 0

d) Q1 = Q2 = 1 e X = 0 Q1(o +1) = X = 0

Q 2(o +1) = (X + Q1 ).Q 2 = 0

Q 2(o +1) = (X + Q1 ).Q 2 = 1

Z = (X + Q1 ).Q 2 = Q 2(o +1) = 0

Z = (X + Q1 ).Q 2 = Q 2(o +1) = 1

c) Q2 = X = 0 e Q1 = 1 Podemos ter somente quatro estados diferentes. Na primeira e segunda colunas aparecem os estados atuais (Q1 e Q2). Os estados Q1(o+1) e Q2(o+1) correspondem aos estados Q depois da transio, sendo determinados pelos valores dos nveis lgicos de X, Q1 e Q2. Z corresponde aos valores da sada para cada estado analisado. A tabela de estados obtida denominando-se os quatro estados possveis de q0, q1, q2 e q3, sendo que: q0 = 00, q1 = 01, q2 = 10 e q3 = 11. Tabela de estados estado X=0 X=1 atual qi /Z qi /Z q0 q0/0 q2/0 q1 q0/0 q3/1 q2 q0/0 q2/0 q3 q1/1 q3/1 4o passo: Obteno do diagrama de estados.0/0 0/0 0/1 1/1 1/1 0/0 1/0

qo

q1

qo=00 q1=01 q2=10 q3=11

0/0, 0/1, 1/0, 1/1 Representam os valores de entrada/sada X/Z

q3

1/0

q2

23

CIRCUITOS SEQUENCIAIS

Exemplos de interpretao: 1) Pede-se indicar os prximos estados ao estado atual q2. Na linha correspondente ao estado q2 obtemos Q1(o+1)Q2(o+1) para X=0 e Q1(o+1)Q2(o+1) para X=1. Os prximos estados so 00 (q0) e 10 (q2). 2) Indicar os prximos estados ao estado atual q1. Obtemos: Q1(o+1)Q2(o+1)= 00 (q0) e 11 (q3). A tabela de estados possibilita a construo do diagrama de estados, que representa uma forma visual mais direta das transies de estados. Exemplo 2: Faa a anlise do circuito sequencial abaixo.Lgica combinacional X Z

D1

Q1

clock

CLK

Q2

D2

CLK Memria

1o passo: Definio das equaes das sadas atuais e das variveis de excitao (controle).D1 = X D2 = Z Z = (X + Q1 ).Q 2 = Q 2 + (X + Q1 ) = Q 2 + X.Q1 2o passo: Definio das equaes do prximo estado. Para o flip-flop D a equao do prximo estado : Q o+1 = D Utilizaremos esta equao para determinar as sadas Q1 e Q2. Q1(o +1) = D1 = X Q 2(o+1) = D 2 = Q 2 + X.Q1 3 passo: Obteno da tabela de transio e da tabela de estados do circuito. Tabela de transio estado atual Q1 Q2 0 0 0 1 1 0 1 1 X=0 Q1(o+1)Q2(o+1)/Z 01/1 01/1 00/0 01/1 X=1 Q1(o+1)Q2(o+1)/Z 10/0 11/1 10/0 11/1 estado atual q0 q1 q2 q3 Tabela de estados X=0 qi /Z q1/1 q1/1 q0/0 q1/1 X=1 qi /Z q2/0 q3/1 q2/0 q3/1o

24

CIRCUITOS SEQUENCIAIS

4o passo: Obteno do diagrama de estados.0/1 1/1 0/1 0/0 0/1

qo

q1

1/1

qo=00 q1=01 q2=10 q3=11

0/0, 0/1, 1/0, 1/1 Representam os valores de entrada/sada X/Z

q3

1/0

q21/0

4.2- Sntese de Circuitos Sequenciais Para a sntese de circuitos sequenciais devemos seguir os seguintes passos: 1 passo: Descrio completa da operao do circuito. Todas as entradas e sadas devem ser identificadas. Determinao do diagrama de estados. o 2 passo: Determinao da tabela de estados do circuito. 3o passo: Obteno da tabela de transio do circuito. 4o passo: Escolha do tipo de flip-flop. 5o passo: Determinao dos circuitos combinacionais para as excitaes. 6o passo: Circuito final. Exemplo 1: Projetar o circuito sequencial dado o diagrama de estados.0/0 1/0o

qo0/0

q11/0 0/0

qo=00 q1=01 q2=10

0/0, 1/0, 1/1 Representam os valores de entrada/sada X/Z

q2

1/1

1o passo: Formulao do problema e determinao do diagrama de estados. Atravs do diagrama de estados verificamos que so necessrios dois flip-flops. 2o passo: Determinao da tabela de estados. estado atual q0 q1 q2 X X=0 qi /Z q0/0 q0/0 q0/0 X X=1 qi /Z q1/0 q2/0 q2/1 X

25

CIRCUITOS SEQUENCIAIS

3o passo: Obteno da tabela de transio. estado atual Q1 Q2 0 0 0 1 1 0 X X X=0 Q1(o+1)Q2(o+1)/Z 00/0 00/0 00/0 XX/X X=1 Q1(o+1)Q2(o+1)/Z 01/0 10/0 10/1 XX/X

4o passo: Escolha do tipo de flip-flop. Pode ser utilizado qualquer um dos flip-flops estudados. Escolheremos o FF J-K. Tabela de excitao do FF J-K Q0 Q0+1 0 0 0 1 1 0 1 1 J 0 1 x x K x x 1 0

5o passo: Determinao dos circuitos combinacionais para as excitaes. Tabela de transio do circuito X 0 0 0 0 1 1 1 1 entradas Q1 0 0 1 1 0 0 1 1 Q2 0 1 0 1 0 1 0 1 prximo estado Q1(o+1) Q2(o+1) 0 0 0 0 0 0 X X 0 1 1 0 1 0 X X J1 0 0 X X 0 1 X X excitaes K1 J2 X 0 X X 1 0 X X X 1 X X 0 0 X X K2 X 1 X X X 1 X X sada Z 0 0 0 X 0 0 1 X

Equao final para cada excitaoQ1Q2 Q1Q2 Q1Q2 Q1Q2 X X 1J1 = X.Q 2Q1Q2 Q1Q2 Q1Q2 Q1Q2 X X X X X X K1 = X X X 1 X X

Q1Q2 Q1Q2 Q1Q2 Q1Q2 X X 1 X X X X

X X

X X

J 2 = X.Q1 Q1Q2 Q1Q2 Q1Q2 Q1Q2 X X 1 1 K2 = 1 X X X X

26

CIRCUITOS SEQUENCIAIS

Q1Q2 Q1Q2 Q1Q2 Q1Q2 X XZ = X.Q1

X X 1

6o passo: Circuito final.

X Z

clock

1

Exemplo 2: Projetar o circuito sequencial dado o diagrama de estados.qo=000 q1=001 q2=010 q3=011 q4=100 q5=101 q6=110 q7=111

q1

q3

q4

q2

q6

q0

q7

q5

1o passo: Formulao do problema e determinao do diagrama de estados. Atravs do diagrama de estados verificamos que so necessrios trs flip-flops. 2o passo: Determinao da tabela de estados. estado atual q0 q1 q2 q3 q4 q5 q6 q7 prximo estado q6 q3 q5 q4 q2 q7 q1 q0

27

CIRCUITOS SEQUENCIAIS

3o passo: Obteno da tabela de transio. estado atual Q1 Q2 Q3 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 prximo estado Q1(o+1) Q2(o+1) Q3(o+1) 1 1 0 0 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 1 0 0 0

4o passo: Escolha do tipo de flip-flop. Pode ser utilizado qualquer um dos flip-flops estudados. Escolheremos o FF D. Tabela de excitao do FF D Q0 Q0+1 0 0 0 1 1 0 1 1 D 0 1 0 1

5o passo: Determinao dos circuitos combinacionais para as excitaes. estado atual Q1 Q2 Q3 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Tabela de transio do circuito prximo estado excitaes Q1(o+1) Q2(o+1) Q3(o+1) D1 D2 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0

D3 0 1 1 0 0 1 1 0

Equao final para cada excitaoQ2Q3 Q2Q3 Q2Q3 Q2Q3 Q1 Q1 1 1 1 1Q1 Q1 Q2Q3 Q2Q3 Q2Q3 Q2Q3 1 1 1 1D 2 = Q2

D1 = Q1.Q 2 + Q1.Q3 + Q1.Q 2 .Q 3Q2Q3 Q2Q3 Q2Q3 Q2Q3 Q1 Q1 1 1 D 3 = Q 2 .Q3 + Q 2 .Q 3 1 1

28

CIRCUITOS SEQUENCIAIS

6o passo: Circuito final.

Q

Q

Q

clock

Exerccios: 1) Projetar um contador assncrono mdulo 8 com FF D. Depois, adicione as funes crescente/decrescente a este contador. 2) Projete um contador binrio assncrono reversvel de 4 bits utilizando somente flip-flops JK e portas lgicas E, OU e Inversoras. 3) Elaborar um contador assncrono que faa a contagem de 0 at 11 e outro de 0 at 14. Determine a frequncia na sada do ltimo FF se a frequncia do clock de 1MHz. 4) Um certo FF J-K tem tempo de propagao de 12ns. Qual o maior contador MOD que pode ser construdo com estes FF e ainda operar at 10MHz? 5) Um contador assncrono de 12 estados composto de FF J-K. Cada FF tem um tempo de retardo de 10ns. O perodo do sinal de clock 50ns. Qual a mxima frequncia permitida? 6) Projete um contador sncrono crescente de 4 bits utilizando FF J-K. Depois, projete o mesmo circuito com FF D. 7) Projete um contador sncrono de 3 bits utilizando FF T. Tabela de excitao do FF T Q0 Q0+1 0 0 0 1 1 0 1 1 T 0 1 1 0

8) Projete um gerador de sequncia de cdigo Gray de 4 bits utilizando FF J-K.29

CIRCUITOS SEQUENCIAIS

9) Projete um contador sncrono programvel crescente/decrescente de 2 bits, segundo o diagrama de estados abaixo.1

q0

0 0 0 0

q1

q0=00 q1=01 q2=10 q3=111

1

q3

1

q2

0 e 1 so as entradas de controle (M). Se M=1, contador crescente Se M=0, contador decrescente

10) Projete o contador sncrono que execute a sequncia 0, 1, 3, 4, 2, 11, 13, 5 usando FF D considerando os estados no usados como irrelevantes. Depois, reprojete o contador de modo que na ocorrncia dos estados no usados o contador retorne a 0. Compare. 11) Projete o contador sncrono para a seguinte sequncia usando FF D.clock 1o 2o 3o 4o 5o 6o 7o 8o 9o 10o 11o 12o 13o 14o 15o 16o Q3 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 Q2 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 0 Q1 0 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 Q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

12) Pede-se projetar um contador na sequncia 0, 5, 3, 7, 6 sendo que qualquer nmero de 3 bits no usado retorna o contador a 0. 13) Quais os estados alcanados pelo contador abaixo? Suponha que todas as entradas J e K esto em nvel 1 e que, inicialmente, todas as sadas Q esto em nvel 0.

14) Projete, com flip-flops JK, circuitos divisores por 12 utilizando: a) Um sistema assncrono (com porta detetora de estado); b) Um sistema sncrono, desprezando os estados irrelevantes; c) Um sistema sncrono, considerando os estados irrelevantes (force-os a ir ao estado 0).30

CIRCUITOS SEQUENCIAIS

15) Projete um contador cujo comportamento dado pelo diagrama de estados abaixo:

16) Determine o diagrama de estados de um contador de 3 bits com a lgica: JA = B KA = C JB = A + C KB = AC JC = AB KC = AB

17) Faa o projeto do circuito sequencial sncrono, utilizando flip-flops JK, que execute a tabela verdade abaixo (contador em anel). Mostre se, por um acidente devido a um rudo externo o contador chegar a qualquer outro estado, ele retornar ou no seqncia desejada.Pulso 0 1 2 3 A 1 0 0 0 B 0 1 0 0 C 0 0 1 0 D 0 0 0 1

18) Faa o projeto do cicuito que execute a sequncia dada pela tabela do circuito anterior, utilizando um circuito assncrono acoplado a um decodificador. 19) Determinar o estado do registrador abaixo aps cinco pulsos de clock. Considere condies iniciais iguais a zero.

20) O sinal de entrada do circuito abaixo faz com que a sada fornea o sinal 000011010. No incio da operao os flip-flops so zerados. Defina os diagramas de tempo e estado.

21) Determine o nmero de flip-flops necessrios para construir um registrador de deslocamento capaz de armazenar: a) um nmero binrio de 6 bits; b) nmeros hexadecimais at 4F; c) nmeros decimais at 32.31

CIRCUITOS SEQUENCIAIS

22) Um registrador de deslocamento tem oito flip-flops. Qual o maior nmero binrio que pode ser armazenado no mesmo? O maior nmero decimal? O maior nmero hexadecimal? 23) Considere um registrador de deslocamento de 12 bits. Quanto tempo ele levar para armazenar um nmero se seu relgio de 5 MHz? 24) Temos disponveis dois registradores de n bits A e B onde os elementos armazenadores individuais so FF D. Temos ainda um sinal habilitador de transferncia RARB. Mostre uma estrutura atravs da qual podemos transferir o contedo de RA para RB. 25) Esquematize um registrador de 4 bits com flip-flops tipo D que, aps a transio positiva do relgio, realize uma operao lgica AND entre os valores lgicos das sadas Q e os sinais de entrada. 26) Fazer a anlise dos seguintes sistemas sequenciais: a) Para o FF T a equao de prximo estado : Q o +1 = T.Q + T.QXT

T

clock Z

b)X

1 clock

Z

c)

32

CIRCUITOS SEQUENCIAIS

27) Analise o circuito da figura abaixo: a) escreva as equaes que o representam; b) monte a tabela de estados; c) faa o diagrama de estados; d) faa uma descrio da operao do circuito atravs de um diagrama no tempo com as seguintes condies iniciais: sadas Q nulas e X=1, sendo que X permanece sempre igual a 1.

28) Analise o circuito do gerador pseudo-aleatrio de rudo abaixo. O estado inicial do FF da extremidade direita 1 e dos demais, 0. 29) Projete o circuito cujo funcionamento mostrado no diagrama de estados abaixo. Para tal utilize FF D. Explique a funo do circuito analisando o diagrama de esatdos quando a entrada for X=0 e quando for X=1.1/1 0/0 0/0 1/1 0/0 1/1 0/0 0/0 1/1 1/1

q0

q1

q2

q30/0 1/1

1/1

q7

q6

0/0 1/1

q5

0/0

q4

q0=000 q1=001 q2=010 q3=011 q4=100 q5=101 q6=110 q7=111

0/0, 1/1 Representam os valores de entrada/sada X/Z

30) Projete um gerador de sequncia do cdigo excesso 3 utilizando FF D.

33