contadores sistemas digitais - autenticação · sistemas digitais contadores - 4 h. neto, n. horta...

30
SISTEMAS DIGITAIS H. Neto, N. Horta Setembro de 04 CONTADORES

Upload: trandiep

Post on 12-Aug-2019

244 views

Category:

Documents


1 download

TRANSCRIPT

SISTEMAS DIGITAIS

H. Neto, N. HortaSetembro de 04

CONTADORES

SISTEMAS DIGITAIS

CONTADORES - 2

H. Neto, N. HortaSetembro de 04

SUMÁRIO:CONTADORES SÍNCRONOS

CONTADORES DE MÓDULO 2N

PROJECTO DE CONTADORES

FREQUÊNCIA MÁXIMA DE FUNCIONAMENTO

SITUAÇÃO DE “LOCKOUT”

SIMBOLOGIA

CONTADOR EM ANEL

CONTADOR JOHNSON

LINEAR FEEDBACK SHIFT-REGISTER

CONTADORES ASSÍNCRONOSCONTADORES POR PULSAÇÃO

CONTADORES ASSÍNCRONOS VS. SÍNCRONOS

SISTEMAS DIGITAIS

CONTADORES - 3

H. Neto, N. HortaSetembro de 04

CONTADOR BINÁRIO

1K1J

C1

1K1J

C1

1K1J

C1

1K1J

C1

& &1

Q0 Q1 Q2 Q3

CLK

CLK

Q0

Q1

Q2

Q3

0

0

0

0

1

0

0

0

0

1

0

0

1

1

0

0

0

0

1

0

1

0

1

0

0

1

1

0

1

1

1

0

0

0

0

1

0 1 2 3 4 5 6 7 8Um contador binário é um registo que, por aplicação sucessiva de impulsos de relógio, segue uma sequência de estados correspondente à numeração binária.

Utilizando FFs Toggle (p.ex. JK com J = K), o projecto do circuito aproveita o facto de, na contagem binária, o Q0 estar sempre a variar, o Q1 variar quando Q0 = 1, o Q2 variar quando Q0 = Q1 = 1, etc.

SISTEMAS DIGITAIS

CONTADORES - 4

H. Neto, N. HortaSetembro de 04

CONTADOR BINÁRIO (cont.)

1K1J

C1

1K1J

C1

1K1J

C1

1K1J

C1

& &1

Q0 Q1 Q2 Q3

CLK

1K1J

C1

&

Q7

A estrutura do contador é facilmente generalizável para contadores módulo 2N.

No entanto, esta estrutura está limitada pelo facto de o fanin das portas AND ir aumentando sucessivamente até à última porta, que tem N entradas.

suFFpANDpFF tttTf

++== 11

minmax

A frequência máxima de relógio a que este contador pode funcionar é:

SISTEMAS DIGITAIS

CONTADORES - 5

H. Neto, N. HortaSetembro de 04

CONTADOR BINÁRIO (cont.)

1K1J

C1

1K1J

C1

1K1J

C1

1K1J

C1

& &1

Q0 Q1 Q2 Q3

CLK

1K1J

C1

&

Q7

suFFpANDpFF ttntTf

+−+==

)2(11

minmax

Aproveitando os produtos parciais já realizados, é possível modificar a estrutura do contador para usar apenas portas AND de 2 entradas, mantendo a funcionalidade.

No entanto, o caminho crítico entre FFs aumenta substancialmente, limitando a frequência máxima a que o contador pode funcionar.

SISTEMAS DIGITAIS

CONTADORES - 6

H. Neto, N. HortaSetembro de 04

CONTADOR BINÁRIO COM FF D

1K1J

C1

Q0T1D

C1

Q0=1T⇔⇔⇔⇔

& &

CLK

1D

C1

Q0=1 1D

C1

Q1=1 1D

C1

Q2=1 1D

C1

Q3=1

1

O mesmo contador pode ser realizado definindo um FF Toggle a partir de FF D e aproveitando directamente a mesma estrutura.

SISTEMAS DIGITAIS

CONTADORES - 7

H. Neto, N. HortaSetembro de 04

PROJECTO DE CONTADORES COM FF JK

Tabela de Estados

Entradas dos FFsEstado Seguinte

Estado Actual

1X1X1X000111X10X0X1110111XX10X011101X1X00X1010011X1XX1001110X10XX01100101XX1X0010100X1X0X0100000K0J0K1J1K2J2Q0Q1Q2Q0Q1Q2

Tabela de Excitaçãodo FF JK

X10 → 11X1 → 00X1 → 1

X00 → 0KJQn → Qn+1

O procedimento de projecto de um contador, como de qualquer outro circuito sequencial síncrono, passa pela definição da tabela de estados do circuito.

A lógica combinatória do circuito é projectada de modo a forçar nas entradas dos FFs os valores que impõem as transições de estado especificadas na tabela de estados.

Exemplo - Contador módulo 8

SISTEMAS DIGITAIS

CONTADORES - 8

H. Neto, N. HortaSetembro de 04

PROJECTO DE CONTADORES COM FF JK (cont.)

Q2

Q1Q0

0100 1011

0

1

0100

XXXX

Q2

Q1Q0

0100 1011

0

1

XXXX

0100

Q2

Q1Q0

0100 1011

0

1

XX10

XX10

Q2

Q1Q0

0100 1011

0

1

01XX

01XX

Q2

Q1Q0

0100 1011

0

1

1XX1

1XX1

Q2

Q1Q0

0100 1011

0

1

X11X

X11X

J2 = Q1 Q0 K2 = Q1 Q0

J1 = Q0 K1 = Q0

J0 = 1 K0 = 1

Estado Actual

1X1X1X111X10X0X0111XX10X101X1X00X0011X1XX1110X10XX00101XX1X0100X1X0X0000K0J0K1J1K2J2Q0Q1Q2

A lógica combinatória força nas entradas dos FFs os valores que concretizam as transições especificadas, em função do estado actual.

SISTEMAS DIGITAIS

CONTADORES - 9

H. Neto, N. HortaSetembro de 04

PROJECTO DE CONTADORES COM FF D

Estado Seguinte

Estado Actual

000000111111111011011011101101101001001001110110110010010010100100100000

D0D1D2Q0Q1Q2Q0Q1Q2

1X → 10X → 0DQn → Qn+1

Q2

Q1Q0

0100 1011

0

1

0100

1011

Q2

Q1Q0

0100 1011

0

1

1010

1010

Q2

Q1Q0

0100 1011

0

1

1001

1001

00 QD =

01

01011

QQQQQQD

⊕=+=

( ) ( )012

012012

02120122

QQQQQQQQQQQQQQQQD

⊕=++=

++=

O projecto de contadores com FF D, segue exactamente o mesmo procedimento. No caso dos FF D, os valores necessários nas entradas dos FF para concretizar uma determinada transição de estado, são directamente os valores do estado para o qual se pretende transitar (estado seguinte).

Tabela de excitação do FF D

SISTEMAS DIGITAIS

CONTADORES - 10

H. Neto, N. HortaSetembro de 04

CONTADORES: Projecto de um Contador Síncrono de Módulo 5 (PM5)

100S1010S2110S3001S4

110

0Q1

11S7

01S6

11S5

00S0

Q0Q2Estado

Estado Seguinte (n+1)Estado Presente (n)

11110

Q2

11001

Q1

10101

Q0

101011111

1

0Q1

10

01Q0Q2

A existência de 5 estados de contagem impõe, pelo menos, a utilização de 3 FFs

3 7654

Tabela de Transição de Estados

Diagrama de Estados de Contagem (Exemplo)

Tabela de Codificação de Estados

SISTEMAS DIGITAIS

CONTADORES - 11

H. Neto, N. HortaSetembro de 04

CONTADORES: PM5(cont)

0X111X01X110X000KJQn+1Qn

Tabela de Excitação do FF JK

FF JK vs FF D - O FF JK é mais versátil devido às duas entradas resultando numa menor complexidade de portas lógicas adicionais, contudo, possui em contrapartida um processo de síntese mais trabalhoso.

111001110000DQn+1Qn

Tabela de Excitação do FF D

Selecção do Tipo de FF

SISTEMAS DIGITAIS

CONTADORES - 12

H. Neto, N. HortaSetembro de 04

CONTADORES: PM5(cont)

0X111X01X110X000KJQn+1Qn

Estado Seguinte (n+1)Estado Presente (n)

11110

Q2

11001

Q1

10101

Q0

101011111

1

0Q1

10

01Q0Q2

J2= 1

Q2Q1 00 01 11 10Q0

0

1 x

x

x x

x

1

x x0 2 6 4

1 3 7 5

Q2Q1 00 01 11 10Q0

0

1 x

x

x 1

0

x

x x0 2 6 4

1 3 7 5

Q2Q1 00 01 11 10Q0

0

1 x

x

x x

1

x

x 10 2 6 4

1 3 7 5

J1= Q0

J0= 1

Q2Q1 00 01 11 10Q0

0

1 x

x

1 0

0

x

x 00 2 6 4

1 3 7 5

Q2Q1 00 01 11 10Q0

0

1 x

x

0 x

x

1

x 00 2 6 4

1 3 7 5

Q2Q1 00 01 11 10Q0

0

1 x

x

0 1

x

1

x x0 2 6 4

1 3 7 5

K2= Q1Q0

K1= Q2

K0= Q2+Q1

Tabela de Transição de Estados

Tabela de Excitação do FF JK

Mapas de Karnaugh por Entrada de FFs

SISTEMAS DIGITAIS

CONTADORES - 13

H. Neto, N. HortaSetembro de 04

CONTADORES: PM5(cont)

&

1≥

C1

1K

1J

C1

1K

1J

C1

1K

1J "1""1"

Clock

FF2 FF1 FF0

1

1

0

01

2

===

JQJ

J

120

21

012

QQKQK

QQK

+===

Clock

SAÍDA FF2

SAÍDA FF1

SAÍDA FF0

Estado S3 S4 S5 S6 S7 S3

Diagrama Lógico do Circuito Contador

Diagrama Temporal

Funções de Excitação dos FFs

SISTEMAS DIGITAIS

CONTADORES - 14

H. Neto, N. HortaSetembro de 04

CONTADORES: Projecto de um Contador Ascendente/Descendente Síncrono de Módulo 5. (PADM5)

01011

Q0

01111

Q2M=1

11100

Q1

Estado Seguinte (n+1)Estado Presente (n)

M=0

11110

Q2

11001

Q1

10101

Q0

110001101

1

1Q1

11

01Q0Q2

3 7654M=1

M=0

Diagrama de Estados

Tabela de Transição de Estados

SISTEMAS DIGITAIS

CONTADORES - 15

H. Neto, N. HortaSetembro de 04

CONTADORES: PADM5 (cont) – Síntese das Funções de Entrada do FF0

01011

Q0

01111

Q2M=1

11100

Q1

Estado Seguinte (n+1)Estado Presente (n)

M=0

11110

Q2

11001

Q1

10101

Q0

110001101

1

1Q1

11

01Q0Q2

00

x

x

00 01 11 10

x

x

1

x

x

x

x

1

1 x

x x

1 x

01

11

10

Q2Q1

Q0M

00

x

x

00 01 11 10

1

1

x

0

x

0

x

x

x 1

x x

x 1

01

11

10

Q2Q1

Q0M

J0= 1 K0= Q1+MQ2+M Q2

SISTEMAS DIGITAIS

CONTADORES - 16

H. Neto, N. HortaSetembro de 04

01011

Q0

01111

Q2M=1

11100

Q1

Estado Seguinte (n+1)Estado Presente (n)

M=0

11110

Q2

11001

Q1

10101

Q0

110001101

1

1Q1

11

01Q0Q2

00

x

x

00 01 11 10

x

1

x

x

x

x

x

1

x x

x x

0 0

01

11

10

Q2Q1

Q0M

00

x

x

00 01 11 10

1

x

0

0

x

0

x

x

1 0

x x

x x

01

11

10

Q2Q1

Q0M

J1= MQ0+MQ0 K1= MQ0+M Q2

CONTADORES: PADM5 (cont) – Síntese das Funções de Entrada do FF1

SISTEMAS DIGITAIS

CONTADORES - 17

H. Neto, N. HortaSetembro de 04

01011

Q0

01111

Q2M=1

11100

Q1

Estado Seguinte (n+1)Estado Presente (n)

M=0

11110

Q2

11001

Q1

10101

Q0

110001101

1

1Q1

11

01Q0Q2

00

x

x

00 01 11 10

1

x

x

1

x

x

x

x

x x

x x

x x

01

11

10

Q2Q1

Q0M

00

x

x

00 01 11 10

x

0

0

x

x

1

x

1

0 0

x x

0 0

01

11

10

Q2Q1

Q0M

J2= 1 K2= MQ1Q0+MQ1Q0

CONTADORES: PADM5 (cont) – Síntese das Funções de Entrada do FF2

SISTEMAS DIGITAIS

CONTADORES - 18

H. Neto, N. HortaSetembro de 04

001111110

011001100101101010

0101

1Q0

0111

1Q2

M=1

1110

0Q1

Estado Seguinte (n+1)Estado Presente (n)

M=0

1111

0Q2

1100

0Q1

1010

0Q0

110001101

1

1Q1

11

11Q0Q2

J0= 1 K0= Q1+M Q2+MQ2

J2= 1K1= MQ0+MQ2K2= MQ1Q0+M Q1Q0

J1= M Q0+MQ0

Funções de Excitação dos FFs

Tabela de Transição de Estados

CONTADORES: PADM5 (cont) – Funções e Tabela de Estados da Solução

SISTEMAS DIGITAIS

CONTADORES - 19

H. Neto, N. HortaSetembro de 04

Diagrama de Estados

3 7654M=1

M=0

2 0

1

M=0M=1

M=1

M=0

CONTADORES: PADM5 (cont) – Diagrama de Estados da Solução

Os estados não considerados para efeito da contagem (S0,S1 e S2) permitem passar para a sequência de contagem pretendida, ao fim de um ciclo de relógio (justifique), na solução apresentada, mas terá sido isso uma imposição do projecto?

SISTEMAS DIGITAIS

CONTADORES - 20

H. Neto, N. HortaSetembro de 04

CONTADORES: “LOCK-OUT”

3 7654M=1

M=0

1M=1 20M=0

M=1

M=0

3 7654M=1

M=0

0

1

M=1M=0

M=1

M=0

2M=0;1Estados de LOCKOUT: no caso de não serem utilizados todos os estados disponíveis, pode ocorrer a situação do contador se encontrar num estado não desejado (fora da sequência de contagem) devido a ruído no circuito ou à não imposição de estado inicial. Nessa situação ou o contador entra na sequência de contagem pretendida ou fica indefinidamente no exterior (Lockout).

Solução: impôr a transição de qualquer estado externo para um estado da sequência de contagem ou considerar uma entrada extra, de inicialização, que coloque o sistema num dos estados de contagem pretendido.

Exemplo de Lock-Out (1)

Exemplo de Lock-Out (2)

SISTEMAS DIGITAIS

CONTADORES - 21

H. Neto, N. HortaSetembro de 04

SIMBOLOGIA

CP

LOAD_L

D0

D1

D2

D3

M1[Load]

C5/2,3,4+

1, 2D Q0

Q1

Q2

Q3

CTR DIV 1674161

EN1_H

EN2_H

COUNT_H

G4

G3

M2[Count]

CLEAR_L CT=0

1,5D [1]

[2]

[4]

[8]

3CT=15

CP

LOAD_L

D0

D1

D2

D3

M1[Load]

C5/2,3,4+

1, 2D Q0

Q1

Q2

Q3

CTR DIV 1674LS163A

EN1_H

EN2_H

COUNT_H

G4

G3

M2[Count]

CLEAR_L 5CT=0

1,5D [1]

[2]

[4]

[8]

3CT=15

CP

LOAD_L

D0

D1

D2

D3

M1[Load]

1, 2D Q0

Q1

Q2

Q3

CTR DIV 1674LS169B

EN1_L

EN2_L

COUNT_H

G6

G5

M2[Count]

1,7D [1]

[2]

[4]

[8]

3,5CT=15

4,5CT=0

M3[Up]

M4[Down]

2,3,5,6+/C7

2,4,5,6-

CUP_H

CDO_L

SISTEMAS DIGITAIS

CONTADORES - 22

H. Neto, N. HortaSetembro de 04

OUTROS CONTADORESPodem ser projectados contadores para evoluirem segundo uma qualquer sequência periódica de estados (p.ex: os contadores decimais seguem a sequência dos dígitos BCD; os contadores Gray seguem a sequência dos dígitos com codificação Gray – têm a propriedade importante de variarem um único bit de cada vez).

Exemplo

15 0

1

213

12

11

3

4

5

6

10

9

8 7

14

Um contador decimal pode ser realizado directamente de um contador módulo 16, forçando a reinicialização do contador após o estado 9.

Nota: este contador não tem lockout. Porquê?

M1[Load]

C5/2,3,4+

CTR DIV 16

G4

G3

M2[Count]

5CT=0

1,5D [1]

[2]

[4]

[8]

3CT=15

&DETECTA_NOVE_LCLK

1

1

Q0

Q1

Q2

Q3

SISTEMAS DIGITAIS

CONTADORES - 23

H. Neto, N. HortaSetembro de 04

LIGAÇÃO EM SÉRIE DE CONTADORESUm contador módulo 256 pode ser realizado ligado em série 2 contadores módulo 16 (o 2º contador só é habilitado quando o 1º chega ao fim de contagem).

M1[Load]

C5/2,3,4+

CTR DIV 16

G4

G3

M2[Count]

5CT=0

1,5D [1]

[2]

[4]

[8]

3CT=15

CLK

ENABLE_H

COUNT_H

Q0

Q1

Q2

Q3

D0

D1

D2

D3

M1[Load]

C5/2,3,4+

CTR DIV 16

G4

G3

M2[Count]

5CT=0

1,5D [1]

[2]

[4]

[8]

3CT=15

Q4

Q5

Q6

Q7

D4

D5

D6

D7

RESET_L

SISTEMAS DIGITAIS

CONTADORES - 24

H. Neto, N. HortaSetembro de 04

CONTADOR EM ANEL – “Ring Counter”

1000 0100 0010 0001

1DC1

1DC1

1DC1

1DC1CLK

A ligação de N flip-flops em cascata, como registo de deslocamento, pode também ser usada como um contador simples, usando o mínimo de hardware.

O contador evolui segundo a sequência de 4 estados, ao lado, e depois repete.

O contador é muito rápido (não existem portas lógicas no caminho entre FFs),

mas é ineficiente em termos do número total de estados de contagem disponíveis (só usa N estados, dos 2N estados disponíveis).

suFFpFF ttTf

+== 11

minmax

SISTEMAS DIGITAIS

CONTADORES - 25

H. Neto, N. HortaSetembro de 04

CONTADOR EM ANEL: LOCKOUT

1100 0110 0011 1001 0000

O contador em anel usa apenas N estados, dos 2N estados disponíveis, pelo que é necessário inicializá-lo num dos N estados de contagem.Existem várias sequências alternativas de contagem/lockout:

1DC1

1DC1

1DC1

1DC1CLK

≥1 & & &INIT

1DC1

S

1DC1

R

1DC1

R

1DC1

R

CLK

INIT

Alternativas de Inicialização no Estado “1000”:

SISTEMAS DIGITAIS

CONTADORES - 26

H. Neto, N. HortaSetembro de 04

CONTADOR JOHNSON

O contador Johnson usa 2N dos 2N estados disponíveis, mantendo a rapidez do contador em anel.

1DC1

S

1DC1

R

1DC1

R

1DC1

R

CLK

INIT

1000 1100 1110 1111

0000 0001 0011 0111

SISTEMAS DIGITAIS

CONTADORES - 27

H. Neto, N. HortaSetembro de 04

LINEAR FEEDBACK SHIFT-REGISTER

O LFSR usa 2N-1 dos 2N estados disponíveis, usando apenas uma porta lógica adicional.

1DC1

S

1DC1

R

1DC1

R

1DC1

R

CLK

INIT

=1

1000 0100 0010 1001

0001 0011 0111

1100 0110 1011 0101

1111 1110 1101 1010

0000

SISTEMAS DIGITAIS

CONTADORES - 28

H. Neto, N. HortaSetembro de 04

CONTADORES POR PULSAÇÃO – “Ripple Counters”

Os contadores por pulsação são extremamente simples de realizar.

No entanto, o facto de serem assíncronos (os FF não estão em sincronismo) torna-os pouco fiáveis, por dependentes dos atrasos de propagação do sinal.

1K1J

C1

1K1J

C1

1

Q0 Q1

CLK

1

1K1J

C1

Q2

1

1K1J

C1

Q3

1

CLK

Q0

Q1

Q2

Q3

0 1 0 1 0 1 0 1 0 1

0 0 1 1 0 0 1 1 0 0

0 0 0 0 1 1 1 1 0 0

0 0 0 0 0 0 0 0 1 1

0 1 2 3 4 5 6 7 8 9

SISTEMAS DIGITAIS

CONTADORES - 29

H. Neto, N. HortaSetembro de 04

CONTADORES ASSÍNCRONOS VS. SÍNCRONOS

No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! De facto e por exemplo, na transição de 7 para 8, o contador passa sucessivamente por vários estados intermédios.

Quanto mais FFs existirem, mais o bit de maior peso demora a transitar, o que torna os contadores por pulsação de grande dimensão muito lentos (o que limita, neste caso, o período de relógio?).

As realizações assíncronas são, portanto e genericamente, de evitar .

CLK

Q0

Q1

Q2

Q3

tP

tP

tP

tP

1

1

1

0

0

0

0

1

CLK

Q0

Q1

Q2

Q3

tP

tP

tP

tP

4tP

1

1

1

0

0

0

0

1

6 4 07 8Contagem

Contador Assíncrono

Contador Síncrono

SISTEMAS DIGITAIS

CONTADORES - 30

H. Neto, N. HortaSetembro de 04

BIBLIOGRAFIA

[1] M. Morris Mano, Charles R. Kime, “Logic and Computer Design Fundamentals”, Prentice-Hall International, Inc. (Capítulo 5, Secções 5.4-5.6)