Eletrônica Digital Prof. Gilson Yukio Sato sato[at]utfpr[dot]edu[dot]br
Contadores Síncronos Prof. Gilson Yukio Sato sato[at]utfpr[dot]edu[dot]br
Contadores Síncronos Todos FFs recebem o clock simultaneamente Os FFs podem operar no modo T, mas geralmente tem em sua entrada o resultado de um circuito combinacional Minimiza o problema do tempo de propagação
Contadores Síncronos Nós estudaremos o projeto de contadores sem entradas síncronas A idéia básica é projetar um circuito combinacional capaz de gerar, a partir das saídas atuais, as entradas necessárias para que, no próximo pulso de clock, os FFs assumam as saídas adequadas
Contador Síncrono J0 K0 J1 K1 J2 K2 J3 K3 Circuito Combinacional CLK J0 K0 1J C1 1K Q0 J1 K1 1J C1 1K Q1 J2 K2 1J C1 1K Q2 J3 K3 1J C1 1K Q3 1 S R S R 1 1 1 S R S R
Exercício & & 1 1J 1J C1 1K CLK C1 Q0 Q1 Q2 Q3 1K 1J C1 1K 1J C1 1K S R S R 1 1 1 S R S R Complete a tabela do próximo slide
Estado Presente Entradas Estado Futuro Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 Q3 Q2 Q1 Q0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1J 1J C1 1K 1J C1 1K 1J C1 1K Exercício CLK C1 Q0 Q1 Q2 Q3 1K & & S R S R 1 1 1 S R S R
Exemplo Diagrama de estados 111 000 001 Projetaremos esse contador usando FFs JK 110 010 101 011 Notação 100 Q2 Q1 Q0
Estado Presente Estado Futuro Entradas Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 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 1 0 1 X 0 0 X 1 X 1 0 1 1 1 0 X 0 1 X X 1 1 1 0 1 1 1 X 0 X 0 1 X 1 1 1 0 0 0 X 1 X 1 X 1 K0 Q1Q0 J0 Q1Q0 Q2 00 01 11 10 Q2 00 01 11 10 0 X 1 1 X 0 1 X X 1 J K 0 0 0 1 1 0 1 1 Transição 0 0 0 1 1 0 1 1 Q Q Mantém 0 1 1 0 Inverte J K 0 X 1 X X 1 X 0 1 X 1 1 X 1 1 X X 1 K0 = 1 J0 = 1
Estado Presente Estado Futuro Entradas Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 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 1 0 1 X 0 0 X 1 X 1 0 1 1 1 0 X 0 1 X X 1 1 1 0 1 1 1 X 0 X 0 1 X 1 1 1 0 0 0 X 1 X 1 X 1 K1 Q1Q0 J1 Q1Q0 Q2 00 01 11 10 Q2 00 01 11 10 0 X X 1 0 0 0 1 X X J K 0 0 0 1 1 0 1 1 Transição 0 0 0 1 1 0 1 1 Q Q Mantém 0 1 1 0 Inverte J K 0 X 1 X X 1 X 0 1 X X 1 0 1 0 1 X X K1 = Q0 J1 = Q0
Estado Presente Estado Futuro Entradas Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 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 1 0 1 X 0 0 X 1 X 1 0 1 1 1 0 X 0 1 X X 1 1 1 0 1 1 1 X 0 X 0 1 X 1 1 1 0 0 0 X 1 X 1 X 1 K2 Q1Q0 J2 Q1Q0 00 01 11 10 00 01 11 10 Q2 Q2 0 X X X X 0 0 0 1 0 J K 0 0 0 1 1 0 1 1 Transição 0 0 0 1 1 0 1 1 Q Q Mantém 0 1 1 0 Inverte J K 0 X 1 X X 1 X 0 1 0 0 1 0 1 X X X X K2 = Q1Q0 J2 = Q1Q0
Circuito K0 = J0 = 1 K1 = J1 = Q0 K2 = J2 = Q1Q0 1 & CLK 1J C1 1K 1J C1 1K 1J C1 1K Q0 Q1 Q2 1 S R 1 S R 1 S R
Estado Presente Estado Futuro Q2 Q1 Q0 Q2 Q1 Q0 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 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0 Entradas D2 D1 D0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 Podemos fazer o mesmo projeto usando FFs D. Nesse caso, a tabela muda pois as entrada devem ser aquelas que levam o FF D ao estado requerido. K 0 1 Q Q 0 1 1 0 Transição 0 0 0 1 1 0 1 1 D 0 1 0 1
Exercício Projete o contador representado pelo diagrama de estados ao lado usando FFs JK. Repita o exercício usando FFs D. 110 111 000 001 010 101 011 Notação 100 Q2 Q1 Q0
Exercício Diagrama de estados 100 000 011 Projete o contador representado pelo diagrama de estados ao lado 111 110 010 001 Notação 101 Q2 Q1 Q0
Exercício Projete o contador representado pelo diagrama de estados ao lado usando FFs JK. Repita o exercício usando FFs D. 000 100 010 011 001 110 101 111 Notação Q2 Q1 Q0
Estado Presente Q3 Q2 Q1 Q0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 1 1 0 1 Estado Futuro Q3 Q2 Q1 Q0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 0 Exercício Projete o circuito representado pela tabela ao lado usando FFs JK. Repita o exercício usando FFs D. Não esqueça de desenhar o circuito
74HCT390 O 74HCT390 é um contador de década (módulo 10) assíncrono CTR Contador composto por um divisor por 2 (DIV2) e um divisor por 5 (DIV5) + - Entradas de clock para contagem progressiva. O 390 é sensível à descida (ALTO para BAIXO) CT=0 Entrada de reset (faz a contagem ser igual a zero) (Philips)
74HCT390 Circuito (Philips)
74HCT390 Contador módulo 10 RESET CLK QA QB QC QD (Philips)
74HCT390 cascateamento RESET CLK QA QB QC QD QE QF QG QH (Philips)
74HCT393 O 74HCT393 é um contador módulo 16 assíncrono CTR4 Contador de quatro bits + - Entrada de clock para contagem progressiva. O 393 é sensível à descida (ALTO para BAIXO) (1) CT=0 Entrada de reset (faz a contagem ser igual a zero) (2) (Philips)
74HCT393 Circuito (Philips)
74HCT393 - Cascateamento RESET CLK QA QB QC QD QE QF QG QH (Philips)
74HCT393 Redução de módulo Contador módulo C8 (11001000b) CLK QA QB QC QD QE QF QG QH & QD QG QH (Philips)
Exercício Insira um circuito de reset manual no circuito CLK QA QB QC QD QE QF QG QH & QD QG QH (Philips)
74HCT160 O 74HCT160 é um contador síncrono progressivo módulo 10 CTRDIV10 Contador/Divisor por 10 C2/1,3,4+ - Entrada de clock para contagem progressiva e carga paralela (borda de subida) (2) M1 Entrada de modo. Se igual 1 conta, se igual 0 faz carga paralela (9) G3 e G4 Entradas de habilitação da contagem. G4 habilita também o carry-out (7 e 10) R Reset assíncrono (1) 4CT=9 Saída de carry-out habilitada por G4 (15) 1,2D Entradas para carga paralela (3 a 6) (Philips)
(1) (9) (3) (4) (5) (6) (2) (7) (10) (14) (13) (12) (11) (15) (Philips)
Exemplo CLR =MR =(1) LOAD =PE =(9) ENP=CEP=(7) ENT=CET=(10) CLK=CP=(2) ROC=TC=(15) (Tocci et al., 2007)
Exemplo (Tocci et al., 2007)
74HCT162 O 74HCT162 é um contador síncrono progressivo módulo 10 CTRDIV10 Contador/Divisor por 10 C2/1,3,4+ - Entrada de clock para contagem progressiva e carga paralela (borda de subida) (2) M1 Entrada de modo. Se igual 1 conta, se igual 0 faz carga paralela (9) G3 e G4 Entradas de habilitação da contagem. G4 habilita também o carry-out (7 e 10) R Reset síncrono (1) 4CT=9 Saída de carry-out habilitada por G4 (15) 1,2D Entradas para carga paralela (3 a 6) (Philips)
(Philips)
74HCT161 O 74HCT161 é um contador síncrono progressivo módulo 16 CTR4 Contador de 4 bits C2/1,3,4+ - Entrada de clock para contagem progressiva e carga paralela (borda de subida) (2) M1 Entrada de modo. Se igual 1 conta, se igual 0 faz carga paralela (9) G3 e G4 Entradas de habilitação da contagem. G4 habilita também o carry-out (7 e 10) R Reset assíncrono (1) 4CT=15 Saída de carry-out habilitada por G4 (15) 1,2D Entradas para carga paralela (3 a 6) (Philips)
(Philips)
74HCT163 O 74HCT163 é um contador síncrono progressivo módulo 16 CTR4 Contador de 4 bits C2/1,3,4+ - Entrada de clock para contagem progressiva e carga paralela (borda de subida) (2) M1 Entrada de modo. Se igual 1 conta, se igual 0 faz carga paralela (9) G3 e G4 Entradas de habilitação da contagem. G4 habilita também o carry-out (7 e 10) R Reset síncrono (1) 4CT=15 Saída de carry-out habilitada por G4 (15) 1,2D Entradas para carga paralela (3 a 6) (Philips)
(Philips)
Exemplo CLR =MR =(1) LOAD =PE =(9) ENP=CEP=(7) ENT=CET=(10) CLK=CP=(2) ROC=TC=(15) (Tocci et al., 2007)
(Tocci et al., 2007) Exemplo
Tabela de Funções CLR =MR =(1) LOAD =PE =(9) ENP=CEP=(7) ENT=CET=(10) CLK=CP=(2) ROC=TC=(15) (Tocci et al., 2007)
Cascateamento (Tocci et al., 2007)
74F190 O 74HCT190 é um contador síncrono progressivo/regressivo módulo 10 CTRDIV10 Contador/Divisor por 10 CP - Entrada de clock para contagem progressiva/regressiva (borda de subida) CE Entrada de habilitação. Se 0 habilita contagem U /D Entradas de modo da contagem. Se 1 contagem regressiva, se 0 contagem progressiva PL Carga paralela assíncrona, se 0 faz carga (Fairchild)
74F190 P0 a P3 Entradas de dado para carga paralela Q0 Q3 - Saídas do contador TC Saída que fica em 1 durante o ciclo de clock em que o contador está no seu último estado de contagem (0 ou 9) RC Saída de carry-out que fica em 0 durante o nível 0 do ciclo de clock. É habilitado internamente por TC. (Fairchild)
Exemplo CTEN =CE LOAD =PL =(9) D/U =U /D CLK=CP RCO =RC Máx/Min=TC (Tocci et al., 2007)
Exemplo (Tocci et al., 2007)
74HCT191 O 74HCT191 é um contador síncrono progressivo/regressivo módulo 16 CTRDIV16 Contador/Divisor por 16 CP - Entrada de clock para contagem progressiva/regressiva (borda de subida) CE Entrada de habilitação. Se 0 habilita contagem U /D Entradas de modo da contagem. Se 1 contagem regressiva, se 0 contagem progressiva PL Carga paralela assíncrona, se 0 faz carga (Fairchild)
74HCT191 P0 a P3 Entradas de dado para carga paralela Q0 Q3 - Saídas do contador TC Saída que fica em 1 durante o ciclo de clock em que o contador está no seu último estado de contagem (0 ou F) RC Saída de carry-out que fica em 0 durante o nível 0 do ciclo de clock. É habilitado internamente por TC. (Fairchild)
(Philips)
Cascateamento Cascateamento assíncrono: limita a velocidade (Philips)
Cascateamento Cascateamento síncrono (Philips)
Exemplo Carga Paralela (Tocci et al., 2007)
Exemplo Carga Paralela 74ALS191 74ALS163 (Tocci et al., 2007)
Exercícios Utilizando o 390, projetar um contador BCD de dois dígitos (00d a 99d). Modificar o circuito anterior para que ele conte até 79d Utilizando o 393, projetar um contador 8 bits módulo 256 (00h a FFh) Modificar o circuito anterior para que ele conte até C5h
Exercícios Utilizando o 160, projetar um contador BCD de dois dígitos (00d a 99d). Modificar o circuito anterior para que ele conte até 87d Utilizando o 163, projetar um contador 8 bits módulo 256 (00h a FFh) Modificar o circuito anterior para que ele conte até B9h
Exercícios Utilizando o 190, projetar um contador BCD de dois dígitos (00d a 99d). Modificar o circuito anterior para que ele conte até 59d Utilizando o 193, projetar um contador 8 bits módulo 256 (00h a FFh) Modificar o circuito anterior para que ele conte até A8h
Exercícios Utilizando o 163, projete um contador que conte em BCD excesso 3 (4bits) Utilizando o 191, projete um contador que conte em BCD excesso 3 (4bits)