Mudanças entre as edições de "EDI018702 2023 1 AULA05"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Criou página com '=Contadores Síncronos= ;OBJETIVOS :Nesta aula o aluno deverá: :*Saber o que são contadores síncronos; :*Diferenciar contadores crescente e/ou decrescente; :*Saber o que...')
 
(Limpou toda a página)
Etiqueta: anulando
Linha 1: Linha 1:
=Contadores Síncronos=
 
  
;OBJETIVOS
 
 
:Nesta aula o aluno deverá:
 
 
:*Saber o que são contadores síncronos;
 
:*Diferenciar contadores crescente e/ou decrescente;
 
:*Saber o que é carga paralela;
 
:*Conhecer aplicações com contadores; e
 
:*Conhecer circuitos integrados de contadores.
 
 
;METODOLOGIA
 
 
:A aula será expositiva e dialogada, utilizando apresentação de texto base na Internet, onde serão mostrados e simulados exemplos de circuitos de contadores síncronos.
 
 
 
;INTRODUÇÃO: Como vimos anteriormente, o atraso de propagação dos FF nos contadores assíncronos limita a sua frequência máxima. Esse problema pode ser resolvido fazendo com que  os FF mudem o estado de suas saídas no momento em que ocorre a transição de ''clock''. Essa configuração caracteriza os contadores chamados de síncronos e é mostrada na Figura 1.
 
 
 
==Crescente==
 
 
Também chamados de ascendentes, esses contadores começam suas contagens sempre de zero (0b) até o seu valor máximo que é dado por 2<sup>N-1</sup> onde N é número de FFs utilizados. Sendo que o último FF é sempre do bit mais significativo (MSB). No caso dos circuitos síncronos o destaque é para um menor atraso de propagação que discutiremos na sequência.
 
 
 
[[Imagem:fig24_DIG222802.png|center|600px]]
 
<center>
 
Figura 1 - Contador síncrono ascendente.
 
</center>
 
 
 
A análise da lógica do circuito do contador mostra que os FF do tipo JK somente estão no estado ''TOOGLE'' (J = 1 e K = 1) quando todas as saídas dos FF anteriores estão em nível ALTO. Como o sinal de ''clock'' é comum a todos os FF, o atraso de propagação do contador será o atraso de um FF somado ao atraso das portas AND.
 
 
;Atraso total
 
 
<math>A_T=t_{pd}(FF)+t_{pd}(AND)\,</math>
 
 
 
onde:
 
 
:A<sub>T</sub>: tempo de atraso total;
 
:t<sub>pd</sub>(FF): tempo de atraso do FF;
 
:t<sub>pd</sub>(AND): tempo de atraso da porta AND.
 
 
 
 
Desta forma nesse tipo de contador o atraso não depende do número de bits, mas apenas da tecnologia utilizada.  Por outro lado, como o atraso de propagação é menor, o contador síncrono pode trabalhar com frequências maiores que o contador assíncrono.
 
 
[[Imagem:fig24b_DIG222802.gif|center|600px]]
 
<center>
 
Figura 1b - Contador síncrono ascendente (animação).
 
</center>
 
 
Na Figura 1b podemos ver a animação do circuito do contador síncrono de 4 bits. É possível perceber que o circuito só começa a funcionar (contar) quando J e K do primeiro flip-flop está em nível lógico alto (J=K=1).
 
 
==Decrescente==
 
 
Do mesmo modo que os contadores assíncronos, os contadores síncronos podem contar de forma decrescente. Para isso devemos usar as saídas  <math>\bar Q</math> no lugar vez das saídas <math>Q\,</math> na lógica de habilitação das entradas J e K. Porém NÃO devemos pegar o sinal de saída (ABCD) das portas <math>\bar Q</math>.
 
 
(simulado em sala de aula)
 
 
==Carga paralela==
 
 
Os contadores podem contar a partir de um valor predeterminado pelo usuário. Nesses contadores o estado inicial de cada FF pode ser determinado através das entradas CLR (<math>Q \rightarrow 0</math>) e PRE (<math>Q \rightarrow 1</math>). A Figura 2 mostra circuito de inicialização de um FF.  Quando LOAD é BAIXO, o FF funciona normalmente. Quando LOAD é ALTO, o valor de D é armazenado na saída do FF através das entradas assíncronas (que não dependem do ''clock'').
 
 
 
[[Imagem:fig25_DIG222802.png|center|300px]]
 
<center>
 
Figura 2 - Circuito de carga.
 
</center>
 
 
 
Se fizermos isso para cada FF do contador determinar o valor inicial a ser incrementado. Esse processo é conhecido como carga paralela porque é realizado simultaneamente em todos os FF do contador. Um exemplo prático de um contador síncrono crescente-decrescente de MOD-16 com carga paralela é o '''74193'''. O circuito de carga pode ser utilizado tanto nos contadores síncronos como nos assíncronos. A Figura 3 mostra o contador 74193 síncrono crescente/decrescente.
 
 
 
[[Imagem:fig26_DIG222802.png|center|300px]]
 
<center>
 
Figura 3 - Contador 74193 síncrono crescente/decrescente.
 
</center>
 
 
==Crescente-decrescente==
 
 
A construção de um contador síncrono crescente-decrescente é feita de forma semelhante a mostrada para o contador assíncrono.
 
Para analisar um contador síncrono crescente-decrescente com carga paralela, utilizamos o circuito integrado 74LS193.
 
 
[[Imagem:fig26b_DIG222802.jpg|center|300px]]
 
<center>
 
Figura 3b - Circuito integrado do contador 74LS193.
 
</center>
 
 
 
;Principais características:
 
 
*É um contador síncrono de 4 bits e módulo 16, com saídas <math>Q_A,\, Q_B,\, Q_C,\, Q_D</math>
 
*As entradas DOWN e UP são entradas de ''clock''. A aplicação do sinal a uma dessas entradas determina se a contagem será crescente ou decrescente.
 
*A entrada assíncrona de CLR (limpar) zera o contador (0000b).
 
*A entrada assíncrona (carregar) permite determinar o valor inicial de contagem (DCBA) através das entradas A, B, C e D.
 
*As saídas  (vai um) e  (empresta um) indicam o reinicio da contagem crescente (<math>15 \rightarrow 0</math>) e decrescente(<math>0 \rightarrow 15</math>), respectivamente. A Figura 4 apresenta o diagrama de funcionamento do 74LS193.
 
 
 
 
[[Imagem:fig27_DIG222802.png|center|600px]]
 
<center>
 
Figura 4 - Diagrama de funcionamento do 74LS193.
 
</center>
 
 
=Aplicações com contadores=
 
 
==Contadores BCD==
 
 
Os contadores BCD são bastante usados em circuitos onde pulsos devem ser contados e mostrados em um ''display''. A Figura 5 mostra um arranjo de contadores BCD que realiza a contagem de 000 a 999. A Figura 5 apresenta como pode ser implementado um circuito contador de décadas, como o utilizado pelo CI 7490.
 
 
 
[[Imagem:fig28_DIG222802.png|center|500px]]
 
<center>
 
Figura 5 - Contador BCD de 000 a 999.
 
</center>
 
 
Inicialmente todos os contadores estão em 0 e o ''display'' mostra 000. A cada borda de descida do ''clock'', o contador de unidades é incrementado e o valor do contador é mostrado no ''display''. Quando o valor atinge 009 (1001b), a próxima transição de descida do ''clock'' fará com que o contador de unidades retorne para 0. Nesse momento ocorrerá uma transição de 1 para 0 (borda de descida) da saída D desse contador, a qual está ligada a entrada de ''clock'' do contador de dezenas.  Essa transição da saída D do contador de unidades faz com que o contador de dezenas seja incrementado e o display passa a mostrar o valor 010. As contagens prosseguem até atingir 999. Nesse estado com mais uma transição de descida do ''clock'' os contadores reiniciam com 000.
 
 
 
{{collapse top|Circuito equivalente no falstad}}
 
<pre>
 
$ 1 0.000005 10.20027730826997 50 5 43 5e-11
 
164 80 -144 112 -144 0 4 0 5 0 5 false 10
 
164 80 96 96 96 0 4 5 5 0 5 false 0
 
164 80 336 112 336 0 4 0 0 0 0 false 0
 
197 240 -144 256 -144 0
 
197 240 96 256 96 0
 
197 240 336 256 336 0
 
I 80 256 0 256 0 0.5 5
 
157 480 -144 544 -144 0 7 0 0
 
157 480 96 512 96 0 7 0 0
 
157 480 336 528 336 0 7 0 0
 
R 80 -144 16 -144 1 2 500 2.5 2.5 0 0.5
 
w 176 -112 240 -112 0
 
w 176 -80 240 -80 0
 
w 176 -48 240 -48 0
 
w 368 -144 480 -144 0
 
w 368 -112 480 -112 0
 
w 368 -80 480 -80 0
 
w 368 -48 480 -48 0
 
w 368 -16 544 -16 0
 
w 368 16 576 16 0
 
w 576 16 576 -16 0
 
w 368 48 608 48 0
 
w 608 48 608 -16 0
 
w 176 96 240 96 0
 
w 176 128 240 128 0
 
w 176 160 240 160 0
 
w 176 192 240 192 0
 
w 368 96 480 96 0
 
w 368 128 480 128 0
 
w 368 160 480 160 0
 
w 368 192 480 192 0
 
w 368 224 544 224 0
 
w 368 256 576 256 0
 
w 576 256 576 224 0
 
w 368 288 608 288 0
 
w 608 288 608 224 0
 
w 160 16 192 16 0
 
w 192 16 192 -144 0
 
w 176 -144 192 -144 0
 
w 240 -144 192 -144 0
 
151 160 32 96 32 0 2 5 5
 
w 160 48 240 48 0
 
w 240 48 240 -48 0
 
w 96 32 64 32 0
 
w 64 32 64 96 0
 
w 64 96 80 96 0
 
</pre>
 
{{collapse bottom}}
 
 
==Contadores como divisores de frequência==
 
 
 
Uma outra aplicação de contadores é geração digital de um sinal de ''clock'' de menor frequência (<math>f_{clk}</math>) a partir de uma onda quadrada de frequência superior (<math>f_{osc}</math>).  Usando a característica de divisão de frequência dos contadores, determina-se a contagem N que o contador deve realizar.
 
 
<math>N=\frac{f_{osc}}{f_{clk}}\,</math>
 
 
 
Em seguida configura-se o contador para realizar N contagens.  O sinal de saída do último estágio do contador é um sinal que tem a frequência desejada (<math>f_{clk}</math>).  Esse sinal pode não ser uma onda quadrada, mas isso pode ser resolvido fazendo uma contagem N/2, seguido de um divisor por 2 (FF do tipo T).
 
 
 
;Exemplo:
 
 
Deseja-se obter uma frequência de 1Hz (1 segundo), a partir de um sinal digital com frequência de 60Hz obtido a partir da rede de energia elétrica.
 
 
 
<math>N=\frac{f_{osc}}{f_{clk}}=\frac{60}{1}=60\,</math>
 
 
Ou seja, eu preciso realizar uma contagem até 60 (MOD-60) para obter uma frequência de 1Hz.
 
 
 
Nota: Se não houver nenhuma restrição quanto a forma do sinal, basta dividimos diretamente o sinal de 60Hz por 60 e obter o sinal de 1 Hz.
 
 
<br>
 
<center>
 
{|| border="1" cellpadding="15" cellspacing="5" style="background:#FFF5EE; color:#151515;"
 
! rowspan="4" style="text-align: center;" | 60Hz
 
! rowspan="4" colspan="3" style="text-align: center; font-weight: bold;" | MOD-60
 
! rowspan="4" style="text-align: center;" | 1Hz
 
|}
 
</center>
 
 
;Outro exemplo:
 
 
Deseja-se obter uma frequência de 20Hz, a partir de um sinal digital com frequência de 1kHz.
 
 
 
<math>N=\frac{f_{osc}}{f_{clk}}=\frac{1000}{20}=50\,</math>
 
 
 
No entanto, para obter um sinal quadrado de 1Hz, é necessário dividimos primeiro o sinal de 60Hz por 30 e em seguida dividir esse sinal por 2 para obter o sinal de 1Hz.
 
 
 
<center>
 
{|| border="1" cellpadding="15" cellspacing="5" style="background:#FFF5EE; color:#151515;"
 
! rowspan="4" style="text-align: center;" | 60Hz
 
! rowspan="4" colspan="3" style="text-align: center; font-weight: bold;" | MOD-30
 
! rowspan="4" style="text-align: center;" | 2Hz
 
! rowspan="4" style="text-align: center;" | FF tipo T
 
! rowspan="4" style="text-align: center;" | 1Hz
 
|}
 
</center>
 
 
=Circuitos Integrados de Contadores=
 
 
Existem vários circuitos integrados de contadores, tanto TTL como CMOS. Nos ''Datasheet'' os contadores assíncronos são simplesmente identificados como ''COUNTERS'', enquanto que os contadores síncronos são identificados como ''SYNCHRONOUS COUNTERS''. A seguir são mostrados as pinagens e os diagramas de alguns contadores.
 
 
*74XX90 – Contador assíncrono decádico
 
*74XX92 – Contador assíncrono módulo doze
 
*74XX93 – Contador assíncrono binário de 4 bits
 
*74XX73 – 2 FF do tipo JK para construir contadores síncronos ou assíncronos.
 
*CD4040 – Contador assíncrono binário de 12 bits
 
*74XX163 – Contador síncrono binário de 4 bits
 
*74XX169 – Contador síncrono binário de 4 bits crescente-decrescente
 
*74XX190 – Contador síncrono decádico de 4 bits crescente-decrescente
 
*74XX390 – Duplo contador assíncrono decádico
 
*74XX393 – Duplo contador assíncrono binário de 4 bits
 
 
=Exercícios=
 
 
[1] Explique o funcionamento do contador '''síncrono''' crescente visto da figura abaixo.
 
 
[[Imagem:fig79_DIG222802.png|center|400px]]
 
 
[2] Quantos FF e portas lógicas eu preciso para fazer um contador síncrono que conte 0 até 100.
 
 
[3] Quantos FF são necessários para gerar um sinal de onda quadrada com uma frequência de 24Hz a partir de um sinal original de 2,4GHz.
 
 
[4] Quantos CI 74193 seriam necessários para mostrar uma contagem, em display de 7 segmentos, de 0 até 1000.
 
 
[5] Que frequência eu tenho no pino QD do CI 74193 sendo uma frequência de clock de 8kHz, numa configuração de contador crescente de 4 bits.
 
 
 
 
;Lista de exercícios de contadores
 
 
http://wiki.sj.ifsc.edu.br/images/1/11/EX2_DIG222802.pdf
 
 
=Referências=
 
 
[1] Apostila do CURSO DE ELETRÔNICA DIGITAL. CEFET/SC: São José, 2011.
 
 
 
 
 
-----
 
[[Imagem:icone_voltar.png|link=EDI018702_2023_1_AULA04]]
 
[[Imagem:icone_menu.png|link=EDI018702_2023_1#Aulas]]
 
[[Imagem:icone_prox.png|link=EDI018702_2023_1_AULA06]]
 

Edição das 15h38min de 18 de abril de 2023