Академический Документы
Профессиональный Документы
Культура Документы
LÓGICA SEQÜENCIAL
FLORIANÓPOLIS
2006
SUMÁRIO Página
1 A NECESSIDADE DA MEMÓRIA OU ESTADO SEQÜENCIAL .................. 02
1.1 Conceito de memória ............................................................................... 02
1.2 Impacto da memória seqüencial no desempenho de sistemas
automatizados ......................................................................................... 04
1.3 Obtenção do efeito memória (buffer realimentado) .................................. 04
2 A DEFINIÇÃO DE FLIP-FLOPS .................................................................... 06
2.1 Flip-flop SR básico ................................................................................... 06
2.2 Diagrama de tempo .................................................................................. 07
3 APERFEIÇOAMENTO DO FLIP-FLOP ......................................................... 08
3.1 Necessidade de sincronismo .................................................................... 08
3.2 Lógica (terminais e estados) .................................................................... 08
3.3 Flip-flop SR comandado por pulso de clock ............................................. 08
3.4 Flip-flop JK (eliminação do estado proibido) ............................................ 09
3.5 Flip-flop JK Mestre-Escravo (eliminação da oscilação) ............................ 10
3.6 Flip-flop JK Mestre-Escravo com terminais de programa – entradas
preset e clear ........................................................................................... 11
3.7 Flip-flop T (Toggle) ................................................................................... 11
3.8 Flip-flop D (Data) ...................................................................................... 12
Experiência 1 ................................................................................................. 18
4 REGISTRADORES DE DESLOCAMENTO ................................................... 20
4.1 Conceito ................................................................................................... 20
4.2 Características .......................................................................................... 20
4.3 Aplicações ................................................................................................ 20
4.4 Classificação ............................................................................................ 20
4.5 Configurações .......................................................................................... 20
4.6 Registrador de deslocamento usado como divisor por 2 ......................... 23
4.7 Registrador de deslocamento usado como multiplicador por 2 ................ 23
Experiência 2 .................................................................................................. 26
5 CONTADORES .............................................................................................. 26
5.1 Contadores assíncronos ........................................................................... 26
5.2 Contadores síncronos .............................................................................. 34
5.3 Contadores para circuitos temporizados .................................................. 38
5.4 Contadores integrados ............................................................................. 39
Experiência 3 .................................................................................................. 50
Experiência 4 .................................................................................................. 52
Experiência 5 .................................................................................................. 53
6 MEMÓRIAS SEMICONDUTORAS ................................................................ 55
6.1 Introdução ................................................................................................. 55
6.2 Estrutura e organização da memória ....................................................... 55
6.3 Princípios de operação ............................................................................. 56
6.4 Estruturas de endereçamento .................................................................. 57
6.5 Classificação das memórias ..................................................................... 59
6.6 Tipos de memórias ................................................................................... 61
Experiência 6 .................................................................................................. 74
7 MÁQUINAS DE ESTADOS ............................................................................ 79
7.1 Modelo geral ............................................................................................. 79
7.2 Análise de máquinas de estados .............................................................. 80
7.3 Síntese de máquinas de estados ............................................................. 85
REFERÊNCIAS BIBLIOGRÁFICAS ................................................................. 92
1
1 A NECESSIDADE DA MEMÓRIA OU ESTADO SEQÜENCIAL
Qualquer dispositivo ou circuito que tem dois estados estáveis é dito biestável como, por
exemplo, uma chave de conexão. Ela pode estar aberta ou fechada, dependendo da
posição da alavanca. Esta chave possui uma memória, visto que ela permanecerá em um
estado definido até que alguém ou algo mude a posição da alavanca.
Existem dispositivos e circuitos digitais que possuem memória, onde quando um sinal de
entrada é aplicado, a saída poderá mudar seu estado, mas permanecerá neste estado
mesmo após a entrada ter sido removida. Esta propriedade de reter sua resposta a uma
entrada momentânea é chamada memória.
Mesmo coisas muito simples podem funcionar como memórias. Conta-se que Albert
Einstein usava a caneta no bolso esquerdo ou direito para lembrar se já havia almoçado
ou não. Portanto, é a memória que nos dá, pela lembrança do passado, a noção de
tempo. Sem ela, viveríamos num eterno presente, não poderíamos discriminar o que é,
daquilo que já foi e do que será.
2
A V
LÓGICA
COMBINACIONAL
Pretende-se que a válvula V seja aberta quando o sensor B estiver descoberto e só volte
a ser fechada quando o sensor A estiver coberto. Se tentarmos resolver o problema
usando lógica combinacional, obtém-se a tabela da verdade.
Usando a convenção para: - Sensores A e B: 0 – descoberto; 1 – coberto
- Válvula V : 0 – fechada; 1 – aberta
A B V
0 0 1
0 1 ? (0 quando esvazia e 1 quando enche)
1 0 X (impossível)
1 1 0
A V
LÓGICA
COMBINACIONAL
B M
MEMÓRIA
M A B V
0 0 0 1 (liga válvula, caixa acabou de esvaziar)
0 0 1 0 (caixa esvaziando)
0 1 0 X (impossível)
0 1 1 0 (válvula foi recentemente desligada)
1 0 0 1 (válvula foi recentemente ligada)
1 0 1 1 (caixa enchendo)
1 1 0 X (impossível)
1 1 1 0 (desliga válvula, caixa acabou de encher)
D Q
Observando o diagrama, percebemos que uma vez imposto um estado lógico à entrada
D, o estado da saída Q se manterá indefinidamente. Como podemos mudar do estado de
Q sem provocar uma contradição com o estado de Q ? A solução é adicionar terminais de
entrada, substituindo os inversores por portas lógicas Não-E.
S S
Q Q
Q
R Q
R
4
Agora podemos levar Q a 1 impondo 0 em S (set) e levar Q a 0 impondo 0 em R (reset),
armazenando o estado que desejamos no flip-flop.
Entretanto, o flip-flop deve ser aperfeiçoado para satisfazer à definição lógica de flip-flop:
Um dispositivo com duas saídas complementares Q e Q , com duas entradas S e R que
operam de acordo com a tabela abaixo.
S R Q Q
0 0 não permitido
0 1 1 0
1 0 0 1
1 1 QA QA
Um circuito eletrônico é biestável quando possui dois estados estáveis, isto é, sua saída é
0 Vcc (nível lógico 0) ou +5V (nível lógico 1). Assim, este dispositivo pode ser usado para
armazenar um dígito binário (bit).
5
2 A DEFINIÇÃO DE FLIP-FLOPS
Possui duas entradas, definidas como Set e Reset e duas saídas Q e Q. Estas saídas
somente podem permanecer com valores lógicos complementares.
S R QA QF S R QF
0 0 0 0 - estável QA 0 0 QA
0 0 1 1 - estável 0 1 0
0 1 0 0 - estável 0 1 0 1
0 1 1 0 - instável 1 1 não perm.
1 0 0 1 - instável 1
1 0 1 1 - estável
1 1 0 1 - instável (não permitido)
1 1 1 1 - instável (não permitido)
6
Exemplo de diagrama de tempo de um flip-flop SR
7
3 APERFEIÇOAMENTO DO FLIP-FLOP
O flip-flop visto anteriormente não permite nenhum tipo de controle sobre as entradas, isto
é, quando as informações chegam às entradas, são imediatamente processadas sem
nenhum tipo de controle.
Para corrigir este problema é incorporada uma entrada de controle denominada clock
(para flip-flops) ou enable (para latches), permitindo um controle sobre as informações de
entrada e estabelecendo um sincronismo na operação do circuito.
O flip-flop pode ser representado por um bloco com duas saídas Q e Q , entradas para as
variáveis e uma entrada de controle (clock/enable).
As duas saídas correspondem aos dois estados estáveis e complementares. Para que o
flip-flop possa assumir um destes estados, é necessário que haja uma combinação das
variáveis de entrada e de um pulso de controle clock/enable. Com este pulso, o flip-flop
permanecerá nesse estado ou mudará até a chegada de um novo pulso de controle, que
poderá novamente manter ou mudar o estado. Portanto, a saída depende dos valores das
entradas e/ou dos estados armazenados;
Entrada 1 Q
Clock/Enable FLIP-FLOP
Q
Entrada 2
8
CONVENÇÕES E SIMBOLOGIAS
1 0 sub desc
1 2 3 4 5 6 7
Ck
J K QA QA S R QF J K QF
0 0 0 1 0 0 0 QA 0 0 QA
0 0 1 0 0 0 1 0 1 0
0 1 0 1 0 0 0 0 1 0 1
0 1 1 0 0 1 0 1 1 QA
1 0 0 1 1 0 1 1
1 0 1 0 0 0 1
1 1 0 1 1 0 1 QA
1 1 1 0 0 1 0
9
Circuito análogo do Flip-flop JK (com portas lógicas Não-E)
O flip-flop JK, quando ativado, funciona como um circuito combinacional, isto é, ocorre a
passagem das entradas J e K e da realimentação, provocando alterações sucessivas na
saída Q.
Objetivo: evitar as constantes oscilações na saída Q quando as entradas J e K = 1.
Seqüência de funcionamento
10
Conclusão: o circuito só reconhece as entradas J e K quando o clock passa de 1 para
zero.
A maioria dos flip-flops com clock também possui uma ou mais entradas de programa,
ditas assíncronas, que operam independentemente das entradas síncronas e da entrada
de clock. Estas entradas assíncronas podem ser usadas para colocar o flip-flop no estado
0 ou no estado 1, em qualquer instante. Assim, estas entradas se sobrepõem a todas as
outras entradas.
Clr Pr QF
0 0 Não permitido
0 1 0
1 0 1
1 1 Func. normal
Pr
T J Q
Ck
K Q
Clr
11
J K T QF T QF
0 0 0 QA 0 QA
0 1 1 QA
1 0
1 1 1 QA
Pr
D J Q
Ck
K Q
Clr
J K D QF D QF
0 0 0 0
0 1 0 0 1 1
1 0 1 1
1 1
12
EXERCÍCIOS
X QA QF X QF
0 0 ⇒ 0
0 1 1
1 0
1 1
2. Dado o circuito do flip-flop abaixo, determine sua tabela de transição para todas as
situações possíveis nas entradas A e B. Após, obtenha a tabela compacta e identifique
seu tipo.
A B QA QF A B QF
0 0 0 ⇒ 0 0
0 0 1 0 1
0 1 0 1 0
0 1 1 1 1
1 0 0
1 0 1
1 1 0
1 1 1
J Q
K=1
13
J
Ck
X QA QF X QF
↑ 0 ⇒ ↑
↑ 1 ↓
↓ 0
↓ 1
5. Dado o circuito do flip-flop abaixo, determine sua tabela de transição para todas as
situações possíveis nas entradas A e B. Após, obtenha a tabela compacta e identifique
seu tipo.
X Y QA QF X Y QF
0 0 0 ⇒ 0 0
0 0 1 0 1
0 1 0 1 0
0 1 1 1 1
1 0 0
1 0 1
1 1 0
1 1 1
14
6. Desenhe a forma de onda na saída Q do flip-flop tipo T abaixo.
Ck
CLR
PR
Ck
PR
CLR
15
8. Apresente as saídas Q dos flip-flops abaixo, a partir dos sinais de Clock e Entrada.
Ck
Q1
Q2
Q3
Q4
Ck
CLR
PR
10. Dado o circuito do flip-flop abaixo, determine sua tabela de transição para todas as
situações possíveis nas entradas X e Y. Após, obtenha a tabela compacta e
identifique seu tipo.
16
X
Q
Ck
Q'
Y
X Y QA QF X Y QF
0 0 0 ⇒ 0 0
0 0 1 0 1
0 1 0 1 0
0 1 1 1 1
1 0 0
1 0 1
1 1 0
1 1 1
17
EXPERIÊNCIA 1 - FLIP-FLOPS
1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos os
seguintes circuitos digitais. Em seguida, obtenha a tabela de transição e defina como o
flip-flop é ativado.
Ck
Q
R
18
1.6 – Circuitos anti-repique
19
4 REGISTRADORES DE DESLOCAMENTO
4.1 CONCEITO
Um registro de deslocamento (shift register) consiste de um grupo de flip-flops
interconectados com a propriedade de deslocar dados armazenados nas suas saídas Q
de um flip-flop para outro. A direção do deslocamento pode ser para a direita ou para a
esquerda, cuja operação é síncrona e sendo regida por um sinal de clock.
4.2 CARACTERÍSTICAS
Um registrador pode deslocar informações de dois tipos:
Informação paralela
São dados que trafegam em várias linhas ou fios, uma para cada bit do número/palavra
binário, não existindo a necessidade de referenciar a um clock.
Informação série
São dados que trafegam em uma única linha ou fio, um bit de cada vez, a uma taxa de
transferência que é constante e em fase com um clock de referência.
4.3 APLICAÇÕES
Os computadores trabalham com pacotes de informações binárias de 8, 16 ou 32 bits. Os
bytes são processados e/ou transportados num computador através de barramentos. A
forma de transmissão paralela é usada em computadores porque é muito mais rápida e as
distâncias são pequenas. Por outro lado, o formato serial é usado para mover dados
de/para teclado e monitor e para comunicação digital entre microcomputadores.
Os registradores também são usados para algumas operações aritméticas como
complementação, multiplicação e divisão binária.
4.4 CLASSIFICAÇÃO
Os registradores de deslocamento são classificados de acordo com três aspectos
básicos.
a) Quanto à forma de manipulação dos dados
- Entrada série e saída série
- Entrada série e saída paralela
- Entrada paralela e saída série
- Entrada paralela e saída paralela
b) Quanto à direção de deslocamento
- Deslocamento para a esquerda (shift left)
- Deslocamento para a direita (shift right)
- Deslocamento bidirecional
c) Quanto à capacidade de armazenamento
- Relacionado com o número de bits que pode ser armazenado no registrador
4.5 CONFIGURAÇÕES
20
4.5.1 REGISTRADOR DE DESLOCAMENTO DE ENTRADA SÉRIE E SAÍDA SÉRIE
Após a entrada da informação, cada bit é deslocado uma casa à direita após a ocorrência
do clock. Assim, são deslocados 4 bits de dados em modo série para dentro (à direita)
dos flip-flops.
21
4.5.2 REGISTRADOR DE DESLOCAMENTO DE ENTRADA SÉRIE E SAÍDAS
PARALELAS
Entrada da informação:
Se limparmos o registrador (Clear=0) e introduzirmos a informação paralela através dos
terminais PR, então, as saídas Q dos flip-flops assumirão estes valores.
Saída da informação:
Para Clear=0, a cada descida do Clock, Q0 irá assumir os valores, seqüencialmente, de
Q0, Q1, Q2 e Q3.
22
4.5.4 REGISTRADOR DE DESLOCAMENTO DE ENTRADA PARALELA E SAÍDAS
PARALELAS
Q3 Q2 Q1 Q0
Entrada Registrador de
Deslocamento
Ck
Entra-se com zero na Entrada Série e, através do clock, desloca-se uma casa à direita.
Exemplo: 1010(2) = 10(10) ⇒ 0101(2) = 5(10)
Q3 Q2 Q1 Q0
Entrada Registrador de
Deslocamento
Ck
23
EXERCÍCIOS
Enable
Q2 Q1 Q0
E S S S
D Q D Q D Q
_ _ _
CP Q CP Q CP Q
R R R
Ck
Clr
Ck
Clr
Q2
Q1
Q0
2. Na questão anterior, aplicando os níveis lógicos nas entradas PRs indicados abaixo,
determina as formas de onda nas saídas Q. Considere Enable=1.
Clr
PR2
PR1
PR0
Q2
Q1
Q0
24
3. Quanto tempo em segundos levará para deslocar um número binário de 8 bits para
dentro do circuito integrado 74164, se o clock é de 1 MHz?
25
EXPERIÊNCIA 2 - REGISTRADORES DE DESLOCAMENTO
1. Identifique a pinagem do circuito integrado e monte em matriz de contatos o seguinte
circuito digital:
7495 – R. D. 4 bits
Entrada paralela/série
Saída paralela
1 2 3 4 5 6 7
Serial A B C D Mode GND
Input control
Inputs
Etapa 1
Mode control = 0 ⇒ Ck1 (série/paralelo)
Mode control = 1 ⇒ Ck2 (paralelo/paralelo)
Etapa 2
Ck1 e mode control = 0 ⇒ deslocamento à direita
Ck2 e mode control = 1 ⇒ deslocamento à esquerda
14 13 12 11 10 9 8 14 13 12 11 10 9 8
1 2 3 4 5 6 7 1 2 3 4 5 6 7
entrada entrada
shift shift mode
right left control
26
1.3 Registrador de deslocamento usado na transmissão de dados (74194 e 7495)
Ck
S1 S0
16 15 14 13 12 11 10 9 14 13 12 11 10 9 8
Vcc QA QB QC QD Ck S1 S0 Vcc QA QB QC QD SR SL
74194 7495
Conversão P/S Conversão S/P
Clr SI-right A B C D SI-left GND SI A B C D MC GND
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7
27
1.4 Registrador de deslocamento de 8 bits em anel (74164)
Vcc QH QG QF QE Reset Ck
14 13 12 11 10 9 8
74164 – R. D. 8 bits
Entrada série
Saídas paralelas
1 2 3 4 5 6 7
A B QA QB QC QD GND
28
5 CONTADORES
Conceito
O contador digital é um circuito seqüencial, configurado de tal modo que para cada estado
presente nas saídas dos flip-flops, existe um estado seguinte bem definido. Durante a
operação de contagem, o contador desloca-se de um estado para o outro de acordo com
uma seqüência especificada.
Características
• Variam os seus estados, sob comando de pulsos de clock, de acordo com uma
seqüência pré-determinada;
• São usados para contagens, divisores de freqüência, geradores de forma de onda,
conversores analógico-digitais, etc;
A interligação de todas as entradas clear dos flip-flops fornece uma entrada que
corresponde à linha clear (reset) do contador, usada para garantir um estado inicial zero.
29
Inicialmente, supõem-se as saídas zeradas. Aplica-se um pulso de clock no primeiro flip-
flop, cuja mudança de estado na saída ocorrerá na descida do clock. O flip-flop seguinte
mudará o nível lógico na saída sempre que ocorrer a mudança (descida do clock) de nível
lógico no flip-flop anterior. O diagrama de tempo abaixo ilustra melhor a seqüência de
funcionamento do contador. Após o 160 pulso de clock, o contador irá reiniciar a
contagem. Observa-se que este circuito possui também a característica de divisor de
freqüência por 2, 4, 8 e 16 (fn = fck/2n).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Ck
Q0
Q1
Q2
Q3
O maior número que um contador pode registrar em sua saída é dado por: (2n – 1), onde
n é o número de flip-flops do contador.
Exemplo: Para uma contagem limite do contador = 3110 = 111112
O número de flip-flops necessários será: 2n – 1 = 31 ⇒ n = 5 flip-flops
Obs: A soma dos tempos de transição em cada flip-flop provoca a ocorrência de estados
lógicos falsos, que podem ser indesejáveis quando se têm contadores com muitos flip-
flops e alta freqüência do clock.
30
5.1.3 - CONTADOR BCD (DÉCADAS)
A lógica auxiliar (porta Não-E) assume nível lógico zero em sua saída, encaminhado a
todos os terminais clear , zerando todas as saídas e o contador reinicia a contagem.
31
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Ck
Q0
Q1
Q2
Q3
Uma outra estrutura pode ser construída usando multiplexadores (TTL 74157) entre os
vários estágios do contador que selecionam para a linha clock do próximo estágio a saída
Q ou seu complemento Q do flip-flop.
32
5.1.6 CONTADOR ASSÍNCRONO PROGRAMÁVEL
Um contador digital pode ser programado com um número binário de tamanho igual ou
menor que seu módulo. Uma vez definida a programação, pode-se empregar um circuito
comparador que efetua a comparação entre os bits das saídas Q do contador com os bits
programados nas entradas A0, A1, A2 e A3. Quando forem iguais, um sinal controla a
parada do contador.
33
5.2 CONTADORES SÍNCRONOS
Um contador síncrono tem todas as entradas de clock interconectadas, de modo que cada
flip-flop muda de estado lógico ao mesmo tempo.
Antes de cada pulso de clock, as entradas devem ser estabelecidas com os níveis lógicos
apropriados, assegurando nas saídas os estados lógicos desejados. Isto é, o projeto de
contadores síncronos requer a alteração conveniente dos níveis lógicos das entradas J e
K dos flip-flops, a cada pulso introduzido no clock.
Seguindo tal orientação, pode-se construir uma tabela da transição que estabelece os
valores nas entradas J e K dos flip-flops, obtida a partir das possíveis combinações de
estados na saída Q, antes e depois da aplicação do pulso de clock.
J K QF Q A QF J K
0 0 QA 0 0 0 X
0 1 0 0 1 1 X
1 0 1 1 0 X 1
1 1 QA 1 1 X 0
0⇒1⇒2⇒3⇒4⇒5⇒6⇒7⇒8⇒9⇒10⇒11⇒12⇒13⇒14⇒15
b) Desenhe o diagrama da transição dos estados possíveis, incluindo aqueles que não
fazem parte da seqüência de contagem desejada.
34
c) Use o diagrama de transição de estados para construir uma tabela que relacione todos
os estados possíveis das saídas do contador. Acrescente colunas para as entradas J e K,
indicando seus níveis lógicos necessários para possibilitar as saídas desejadas.
Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
0 0 0 0 0 X 0 X 0 X 1 X
0 0 0 1 0 X 0 X 1 X X 1
0 0 1 0 0 X 0 X X 0 1 X
0 0 1 1 0 X 1 X X 1 X 1
0 1 0 0 0 X X 0 0 X 1 X
0 1 0 1 0 X X 0 1 X X 1
0 1 1 0 0 X X 0 X 0 1 X
0 1 1 1 1 X X 1 X 1 X 1
1 0 0 0 X 0 0 X 0 X 1 X
1 0 0 1 X 0 0 X 1 X X 1
1 0 1 0 X 0 0 X X 0 1 X
1 0 1 1 X 0 1 X X 1 X 1
1 1 0 0 X 0 X 0 0 X 1 X
1 1 0 1 X 0 X 0 1 X X 1
1 1 1 0 X 0 X 0 X 0 1 X
1 1 1 1 X 1 X 1 X 1 X 1
d) Obtenha as expressões simplificadas para cada uma das entradas J e K dos flip-flops,
utilizando os diagramas de Veitch-Karnaugh.
J3 = Q2.Q1.Q0 K3 = Q2.Q1.Q0
J2 = Q1.Q0 K2 = Q1.Q0
J1 = Q0 K1 = Q0
J0 = 1 K0 = 1
35
5.2.2 - CONTADOR BCD (DÉCADAS)
Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
0 0 0 0 0 X 0 X 0 X 1 X
0 0 0 1 0 X 0 X 1 X X 1
0 0 1 0 0 X 0 X X 0 1 X
0 0 1 1 0 X 1 X X 1 X 1
0 1 0 0 0 X X 0 0 X 1 X
0 1 0 1 0 X X 0 1 X X 1
0 1 1 0 0 X X 0 X 0 1 X
0 1 1 1 1 X X 1 X 1 X 1
1 0 0 0 X 0 0 X 0 X 1 X
1 0 0 1 X 1 0 X 0 X X 1
J3 = Q2.Q1.Q0 K3 = Q0
J2 = Q1.Q0 K2 = Q1.Q0
J1 = Q0.Q3 K1 = Q0
J0 = 1 K0 = 1
X Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
0 0 0 0 0 X 0 X 1 X
0 0 0 1 0 X 1 X X 1
0 0 1 0 0 X X 0 1 X
0 0 1 1 1 X X 1 X 1
0 1 0 0 X 0 0 X 1 X
0 1 0 1 X 0 1 X X 1
0 1 1 0 X 0 X 0 1 X
0 1 1 1 X 1 X 1 X 1
1 1 1 1 X 0 X 0 X 1
1 1 1 0 X 0 X 1 1 X
1 1 0 1 X 0 0 X X 1
1 1 0 0 X 1 1 X 1 X
1 0 1 1 0 X X 0 X 1
1 0 1 0 0 X X 1 1 X
1 0 0 1 0 X 0 X X 1
1 0 0 0 1 X 1 X 1 X
36
J2 = X.Q1.Q0 + X.Q1.Q0 K2 = X.Q1.Q0 + X.Q1.Q0
J1 = X⊕Q0 K1 = X⊕Q0
J0 = 1 K0 = 1
37
5.3 - CONTADORES PARA CIRCUITOS TEMPORIZADOS
5.3.1 - CONTADOR DE 0 A 59
5.3.2 - CONTADOR DE 1 A 12
5.3.3 - CONTADOR DE 0 A 23
38
5.4 - CONTADORES INTEGRADOS
Consiste de duas partes distintas: um divisor de freqüência por dois e um divisor por
cinco, onde cada divisor possui entrada clock independente. Os divisores podem ser
interligados para a obtenção de um divisor por dez, desde que a saída QA seja conectada
externamente a entrada B. Aplicando o clock na entrada A, o contador assume a
contagem BCD e retorna ao estado inicial a cada dez pulsos. A tabela abaixo orienta
melhor seu funcionamento.
Contador 7490
R0(1) R0(2) R9(1) R9(2) QD QC QB QA
1 1 0 X 0 0 0 0
1 1 X 0 0 0 0 0
X X 1 1 1 0 0 1
X 0 X 0 Contagem
0 X 0 X Contagem
0 X X 0 Contagem
X 0 0 X Contagem
Consiste de duas partes distintas: um divisor de freqüência por dois e um divisor por seis,
onde cada divisor possui entrada clock independente. Os divisores podem ser interligados
para a obtenção de um divisor por doze, desde que a saída QA seja conectada
externamente a entrada B. Aplicando o clock na entrada A, o contador assume a
contagem de módulo 12 (0-1-2-3-4-5-8-9-10-11-12-13) e retorna ao estado inicial a cada
doze pulsos. As figuras a seguir ilustram melhor seu funcionamento.
39
5.4.3 – CONTADOR BINÁRIO-DIVISOR POR 16 – TTL 7493
Consiste de duas partes distintas: um divisor de freqüência por dois e um divisor por oito,
onde cada divisor possui entrada clock independente. Os divisores podem ser interligados
para a obtenção de um divisor por dezesseis, desde que a saída QA seja conectada
externamente a entrada B. Aplicando o clock na entrada A, o contador assume a
contagem binária de 4 bits ou como divisor por 16 e retorna ao estado inicial a cada
dezesseis pulsos. As figuras a seguir ilustram melhor seu funcionamento.
40
5.4.4 – CONTADORES CRESCENTE/DECRESCENTE - BCD (TTL 74190)
- BINÁRIO (TTL 74191)
Quando a linha Enable = 1 inibe o circuito para contagem. Esta entrada deve ser alterada
apenas quando o clock estiver em 1.
41
EXERCÍCIOS – CONTADORES
CONTADORES ASSÍNCRONOS
Q0 Q1 Q2
No Q2 Q1 Q0
0 0 0 0
42
9. O circuito contador binário de 3 bits abaixo obtido com flip-flops JK ativados na descida
do clock, apresenta o seguinte sinal de clock. Desenhe as formas de ondas nas saídas
Q.
Assuma Q0inicial = 0.
Vcc Ck
S S S
J Q J Q J Q
CP _ CP _ CP _
K Q K Q K Q
R R R
Ck
Q0
Q1
Q2
43
CONTADORES SÍNCRONOS
In
Ck
Q0
Q1
Q2
Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
0 0 0 0
0 0 0 1
0 0 1 1
0 1 1 1
1 1 1 1
44
4. Desenhe as formas de onda nos pontos A e B do contador síncrono abaixo, em função
dos sinais de clock aplicados.
Ck
Clr
Ck
Q0
Q1
Q2
45
6. Projete o circuito de um contador síncrono para gerar a seqüência da tabela abaixo.
Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
7. Projete um contador síncrono para gerar a seqüência dos números primos: 1-2-3-5-7
46
CONTADORES INTEGRADOS
Q1 Q0 Q3 Q2 Q1 Q0
Ck 0-2 Ck 0-9
Dezena Unidade
Clr Clr
Q2 Q1 Q0 Q3 Q2 Q1 Q0
Ck 0-5 Ck 0-9
Dezena Unidade
Clr Clr
14 13 12 11 10 9 8
Ent.A NC QA QD GND QB QC
Contador integrado
7490
Ent.B R0(1) R0(2) NC Vcc R9(1) R9(2)
1 2 3 4 5 6 7
Q0 Q3 Q2 Q1 Q0
Ck 0-1 Ck 0-9
Dezena Unidade
Clr Clr
Q2 Q1 Q0 Q3 Q2 Q1 Q0
Ck 5-0 Ck 9-0
Dezena Unidade
Pr Clr Pr Clr
Q1 Q0 Q3 Q2 Q1 Q0
A Data A
Ck 2-0 B Ck 9-0 Data B
74190 (Dezena) C 74190 (Unidade) Data C
D Data D
Load Load
48
7. Desenhe todas as interligações e conexões necessárias nos cis 7490 e 7408, de modo
a obter-se um contador crescente de segundos (0-59).
14 13 12 11 10 9 8
Ent.A NC QA QD GND QB QC
7490 (dezena)
Vcc
1 14
Ent.B R0(1) R0(2) NC Vcc R9(1) R9(2)
2 13
1 2 3 4 5 6 7
3 12
4 11
7408
14 13 12 11 10 9 8 5 10
Ent.A NC QA QD GND QB QC 6 9
PROJETO
49
EXPERIÊNCIA 3 – CONTADORES ASSÍNCRONOS
50
1.5 - Contador assíncrono programável de módulo variável (2x7476, 7485)
Q0 Q1 Q2 Q3
S S S S
Ck J Q J Q J Q J Q
CP _ CP _ CP _ CP _
K Q K Q K Q K Q
R R R R
74LS85
A3 IA<B
A2 IA=B
A1 IA>B
A0
B3
B2 A<B
B1 A=B
B0 A>B
51
EXPERIÊNCIA 4 - CONTADORES SÍNCRONOS
52
EXPERIÊNCIA 5 - CONTADORES INTEGRADOS
1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos os
seguintes circuitos digitais:
53
1.4 - Contador crescente/decrescente BCD 0-9-0 (74190)
Display Display
Dezena Unidade
54
6 MEMÓRIAS SEMICONDUTORAS
6.1 INTRODUÇÃO
Barra de endereços
MEMÓRIA Barra de
NxM dados
Barra de controle
A barra de dados é bidirecional, isto é, pode ser usada tanto como entrada como para
saída de dados, onde um dos terminais da barra de controle define o sentido.
O conteúdo de cada registrador está sujeito a duas operações possíveis: leitura e escrita.
A leitura é o processo de obter a palavra armazenada no registrador e enviá-la para
algum outro lugar, onde ela poderá ser usada. O conteúdo do registrador não é
modificado pela operação de leitura. Escrita é o processo de colocar uma nova palavra
em um registrador particular. É claro que esta operação de escrita destrói a palavra que
estava previamente armazenada no registrador. Porém, não são todas as pastilhas de
memória que têm a capacidade de ter os seus conteúdos escritos.
Cada sistema requer um conjunto de tipos diferentes de entrada e saída para realizar as
seguintes funções:
a. Selecionar o endereço que está sendo acessado para uma operação de leitura ou
escrita;
b. Selecionar a operação a ser realizada, leitura ou escrita;
c. Fornecer os dados de entrada para a operação de escrita;
d. Manter estáveis as informações de saída da memória resultantes de uma operação de
leitura, durante um tempo determinado;
e. Habilitar (ou desabilitar) a memória, de forma a fazê-la (ou não) responder ao endereço
na entrada e ao comando de leitura/escrita.
56
A figura abaixo ilustra as funções básicas num diagrama simplificado de uma memória de
32 palavras x 4 bits. Para o tamanho da palavra (4 bits) existem 4 linhas de entradas de
dados (I3-I2-I1-I0) e 4 linhas de saídas de dados (O3-O2-O1-O0). Durante uma operação de
escrita, o dado a ser armazenado na memória deve ser aplicado nas linhas de entrada de
dados. Durante uma operação de leitura, a palavra que está sendo lida da memória
aparece nas linhas de saída de dados.
57
Operação de leitura
O código de endereço escolhe um registrador da pastilha de memória para leitura ou
escrita. Para ler os conteúdos do registrador selecionado, a entrada LEITURA/ESCRITA
(R/W) deverá estar em nível 1. Além disso, a entrada SELEÇÃO DE PASTILHA (CS)
deverá estar ativada (em 1, neste caso) . A combinação de R/W = 1 e CS = 1 habilita os
amplificadores (buffers) de saída de forma que os conteúdos do registrador selecionado
aparecerão nas quatro saídas de dados. R/W = 1 também desabilita os amplificadores de
entrada de modo que as entradas de dados não afetam a memória durante a operação de
leitura.
Operação de escrita
A escrita de uma nova palavra de 4 bits no registrador selecionado requer R/W = 0 e CS =
1. Esta combinação habilita os amplificadores de entrada, de modo que a palavra de 4
bits aplicada às entradas de dados será carregada no registrador selecionado. R/W = 0
também desabilita os amplificadores de saída, de forma que as saídas de dados estão em
seu estado de circuito aberto.
Seleção da pastilha
A maioria das pastilhas de memória tem uma ou mais entradas SELEÇÃO DE PASTILHA
(Chip-Select-CS) que são usadas para habilitar a pastilha inteira ou desabilitá-la
completamente. No modo desabilitado todas as entradas de dados e as saídas de dados
estarão desabilitadas, de modo que nenhuma operação de leitura, nem de escrita, poderá
ocorrer. Neste modo, os conteúdos da memória não são afetados. A razão para ter
entradas CS ficará clara quando combinam-se pastilhas de memória para a obtenção de
memórias maiores. Deve ser notado que muitos fabricantes chamam estas entradas de
HABILITAÇAO DA PASTILHA (Chip-Enable-CE) em vez de CS.
Exemplo
Quantos pinos seriam necessários para uma pastilha de memória que armazena 256
palavras de 8 bits e tem linhas comuns de E/S?
Solução: Há 256 locações endereçáveis, isto é, 28 = 256. Portanto, são necessárias 8
entradas de endereço para selecionar qualquer endereço entre 00000000 e 11111111
(25510). Há oito linhas de E/S, já que o tamanho da palavra é 8 bits. Acrescentando uma
linha R/W, uma linha CS, alimentação e terra, resulta um total de 20 pinos.
No acesso aleatório, qualquer locação pode ser acessada aleatoriamente, isto é, pode ser
lida diretamente sem a necessidade da leitura das demais locações. Possui a vantagem
de ter um tempo de acesso pequeno e igual para qualquer uma das localidades da
memória.
No acesso seqüencial, a locação não pode ser feita diretamente. Assim, várias locações
da memória são acessadas até a informação desejada. O tempo de acesso depende da
posição onde a informação está armazenada.
As memórias não voláteis são aquelas que, mesmo sem alimentação, continuam com as
informações armazenadas. Exemplo: memórias ROM, PROM, EPROM.
59
6.5.3 – Quanto ao tipo de armazenamento
As memórias de armazenamento estático são aquelas em que, uma vez inserido o dado
numa dada localidade, este lá permanece. Têm a vantagem da facilidade de utilização.
As memórias do tipo bipolares são encontradas nos circuitos TTL padrão, Schottky e ECL.
As memórias do tipo MOS de canal N são as mais usadas por apresentarem grande
densidade e baixo custo. As memórias CMOS são mais lentas do que as NMOS e
bipolares, contudo, são de menor consumo e maior imunidade ao ruído.
As saídas das memórias podem ser de três tipos: totem-pole, open collector ou three-
state. As memórias three-state são as mais usadas por permitirem a criação de bancos de
memória, de forma mais eficiente.
Saída open collector (coletor aberto): Não possui um resistor ligando o coletor de saída
do transistor ao +Vcc, devendo ser ligado externamente (resistor pull-up). Esta saída
possibilita o controle externo da corrente do coletor de saída, possibilitando o aumento do
fan-out, além de poder habilitar saídas diferentes interligadas entre si, podendo assumir
níveis lógicos opostos sem danos. A desvantagem é sua baixa velocidade de
chaveamento dos níveis lógicos.
Saída three-state: Configuração que apresenta uma alta impedância de saída (terceiro
estado), em relação à linha na qual está conectada. Funciona como se o dispositivo
estivesse desligado. Assim, permite interligar várias saídas em uma mesma linha de
dados, fornecendo nível lógico alto ou baixo, sem danificar outros circuitos.
60
6.6 TIPOS DE MEMÓRIAS
As memórias são basicamente de dois tipos: RAM e ROM. As memórias RAM são de
escrita/leitura e permitem acesso a uma localidade qualquer para escrever a informação
desejada, bem como permite o acesso para a leitura do dado armazenado. As memórias
ROM são apenas de leitura e contêm uma informação pré-gravada e fixa, portanto,
permitindo apenas a sua leitura.
As memórias ROM (Read Only Memory – Memória Apenas de Leitura) permitem somente
a leitura dos dados nela gravados. Possuem acesso aleatório e não são voláteis, isto é,
não perdem seus dados armazenados quando a fonte de alimentação é desligada.
A figura abaixo apresenta o bloco representativo de uma memória ROM, com terminais e
barramentos. O terminal de controle CS (Chip Select) refere-se à habilitação ou seleção
da pastilha, ou seja, é uma entrada de nível lógico que, quando em 0, ativa ou habilita as
saídas para fornecer os dados armazenados ou para serem lidos, conforme o
endereçamento estabelecido. Se o terminal de controle estiver em 1, as saídas estarão
desabilitadas, assumindo estados de alta impedância (tri-state), liberando a barra de
dados para uso por outros dispositivos presentes num sistema controlado por
microprocessador. A escolha do nível lógico 0 para habilitação é por razão em
proporcionar maior imunidade ao ruído. Com nível lógico 1, haveria maior suscetibilidade
para o acionamento dos blocos dentro do sistema diante de um transiente indesejável.
CS
A1 DECODIFICADOR MATRIZ DE
...................... DE ENDEREÇOS DADOS
AN+1
CHAVES DE SAÍDA
CS
D0 D1 D2 DM+1
61
O decodificador de endereços (multiplexador) ativa uma saída de cada vez em função do
endereçamento. A matriz de dados (arranjo de linhas e colunas) possibilita a gravação
dos dados pelo fabricante e conseqüente leitura pelo usuário. Para a saída dos dados, a
memória possui um conjunto de chaves lógicas (buffers) que, conforme a habilitação
através do terminal CS , possibilita a conexão das saídas (em nível 0) ou imprime alta
impedância (em nível 1) desconectando as saídas de dados do sistema.
Exemplo 1
Para evidenciar a estrutura interna dos blocos e explicar seu funcionamento, será
construída uma memória ROM de 4 palavras de 8 bits, cujo conteúdo dos dados é
mostrado na tabela abaixo.
ENDEREÇO DADOS
A1 A0 HEX D7 D6 D5 D4 D3 D2 D1 D0
0 0 1 E 0 0 0 1 1 1 1 0
0 1 8 A 1 0 0 0 1 0 1 0
1 0 0 D 0 0 0 0 1 1 0 1
1 1 7 6 0 1 1 1 0 1 1 0
62
Na tecnologia de fabricação da matriz de dados, também são utilizados outros elementos
semicondutores, tais como transistores bipolares ou transistores de efeito de campo
(MOS-FET). O processo de programação é facilitado pelo uso de um gabarito fotográfico
das ligações elétricas chamado máscara, donde provêm as memórias denominadas
MROM programadas por Máscara.
Exemplo 2
Uma ROM de 16 palavras com 8 bits foi programada com os dados mostrados na tabela a
seguir, na sua forma binária e em hexadecimal. Suponha a leitura dos dados
armazenados na posição cujas entradas de endereços são A3A2A1A0 = 0111 e habilitando
as saídas com a entrada de controle CS = 0. As entradas de endereços serão codificadas
no interior da ROM para selecionar a palavra correta, ou seja, as saídas
D7D6D5D4D3D2D1D0 = 11101101. Se a entrada CS = 1, as saídas da memória ROM não
estarão habilitadas e ficarão em alta impedância.
CS
D7
A3 D6
D5
A2 Memória
ROM D4
A1 16 x 8 D3
D2
A0
D1
D0
63
6.6.1.1 MEMÓRIAS PROM
+Vcc CE
Memória D7
A10 EPROM D6
..... 2K x 8
D5
A0
D4
OE D3
D2
PGM D1
2716 D0
Vpp
64
Quando CE =0, ativa o bloco e quando CE =1, o bloco permanece desativado na situação
de baixo consumo de potência (stand-by). A entrada de controle OE =0 habilita o
barramento de saída.
A programação é efetuada pelo terminal Vpp com uma tensão típica maior que Vcc, da
habilitação de programação PGM =0, do endereçamento e da aplicação das respectivas
palavras de dados ao bloco, seqüencialmente, possibilitarão o armazenamento das
informações.
+Vcc CE
I/O7
A12 I/O6
..... Memória
I/O5
A0 EEPROM
8K x 8 I/O4
OE I/O3
I/O2
WE I/O1
2864 I/O0
6.6.1.4 CD ROM
Os CDs (compact disks) são fabricados com uma superfície altamente reflexiva, onde se
armazena os dados através de um feixe laser bastante intenso e focalizado sobre um
ponto muito pequeno no disco. Esse feixe provoca uma depressão que é capaz de
provocar a difração da luz nesse ponto da superfície. Assim, os dados digitais (1s e 0s)
são armazenados no disco, um bit por vez, fazendo ou não essa depressão no material
reflexivo, sendo a gravação organizada em uma espiral contínua de pontos de dados. A
precisão do feixe laser permite que grande quantidade de dados (maior que 550 Mbytes)
seja armazenada num disco de 120 mm.
65
Para a leitura, um feixe laser bem menos potente é focalizado na superfície do disco,
onde em qualquer ponto, a luz refletida é expressa como níveis lógicos 1 ou 0. Esse
arranjo ótico é montado num mecanismo de transporte que se move para frente/trás ao
longo do raio do disco, seguindo a espiral de dados à medida que o disco é rotacionado.
Os dados recebidos do sistema ótico vêm uma linha serial de dados, numa taxa constante
de bits com rotação do disco controlada. Se o disco é para reprodução de áudio, a linha
de dados é convertida em formato analógico. Se o disco é usado como memória de
leitura, os dados são codificados em bytes paralelos para serem processados num outro
circuito digital.
MEMÓRIA CARACTERÍSTICAS
Complexidade e custo
EEPROM Pode ser apagada eletricamente, no circuito, byte a byte.
FLASH Pode ser apagada eletricamente, no circuito, por setor ou
do dispositivo
todo de uma vez.
EPROM Pode ser apagada toda de uma vez com luz UV e apagada
e reprogramada fora do circuito.
PROM Não pode ser apagada nem reprogramada.
MROM
66
6.6.2 MEMÓRIAS RAM
As memórias RAM (Random Access Memory – Memória de Acesso Aleatório) são do tipo
volátil e permitem o acesso aleatório ou randômico (para escrita ou leitura) a qualquer
uma das suas locações. São usadas para armazenar temporariamente os programas e
dados correntes em computadores. Os conteúdos das posições de uma RAM podem ser
lidos e escritos à medida que um computador executa um programa.
A principal desvantagem de uma RAM é o fato de a mesma ser volátil, isto é, ela vai
perder a informação armazenada se a alimentação for desligada ou interrompida. Por
outro lado, tem como vantagem, um tempo de acesso muito reduzido.
A figura abaixo apresenta o bloco representativo de uma memória RAM estática, com
terminais de entrada de controle CS , terminal de controle R/ W de dupla função, para
possibilitar a leitura=1 ou escrita=0.
CS
Barra de
MEMÓRIA Barra de
endereços
RAM dados
R/ W
O circuito abaixo apresenta a célula básica de uma RAM estática que permite a escrita e
a leitura de 1 bit de informação. Para efetuar a escrita, deve-se selecionar a célula
específica com o terminal SEL=1 e o terminal de controle de leitura/escrita R/ W =0. Em
seguida, aplica-se o dado a ser gravado (1) no terminal D, configurado como entrada.
Com todos os níveis lógicos estabelecidos, a célula básica estará configurada para a
escrita, pois com 0 na porta Não-E superior irá ativar os dois buffers (substituídos por
67
chaves equivalentes), possibilitando que o dado possa ser aplicado ao flip-flop e
armazenado em sua saída. Ao mesmo tempo, com 1 na outra porta Não-E inferior, irá
desativar o buffer de saída, permitindo apenas a escrita ou a entrada do dado.
Para efetuar a leitura, deve-se selecionar SEL=1 e passar o controle R/ W =1, onde o
dado armazenado será agora obtido no terminal D, configurado como saída. Com 1 na
porta Não-E superior, irá desativar os buffers, impedindo a escrita de um novo dado. As
entradas em aberto dos flip-flop assumem 1, fazendo com que suas saídas mantenham
seus níveis lógicos. Enquanto isso, com 0 na porta Não-E inferior, irá ativar o buffer na
saída do flip-flop, possibilitando a sua leitura no terminal D. Se a célula for selecionada
(SEL=0), as duas portas Não-E apresentarão 1 em suas saídas, mantendo os buffers
desativados (estado tri-state), impedindo tanto a escrita como a leitura.
68
6.6.2.1 – ARQUITETURA INTERNA DE UMA RAM
CS
A0 D0
D1
A1 RAM
4x4 D2
R/ W D3
69
6.6.2.2 EXPANSÃO DA CAPACIDADE DE UMA MEMÓRIA RAM
A expansão da capacidade de uma memória pode ser efetuada pela palavra de dados,
pelo aumento de localidade ou por ambos.
Os terminais de endereçamento A7
a A0, de seleção da pastilha CS e
de controle de escrita/leitura R/ W
são interligados, pois as operações
são comuns aos dois blocos. A
barra de dados D7 a D0 é composta
pela associação da barra de dados
de cada bloco, resultando numa
palavra de 8 bits.
70
Uma última possibilidade de expansão de memória consiste na ampliação de palavra de
dados e também do número de localidades. O processo é obtido através da conjugação
das duas outras abordadas, onde se aumenta o número de localidades usando o circuito
seletivo e associa-se um outro sistema semelhante para compor a nova palavra de dados.
71
EXERCÍCIOS
1. Mostrar a forma de onda da saída da memória ROM com conversor D/A da figura
abaixo:
72
4. Determine a capacidade de memória e a palavra de endereço inicial e final (em
hexadecimal) para cada memória especificada a seguir:
a) ROM 512X4
b) EPROM 4Kx8
c) RAM 128Kx8
d) RAM 2Mx16
73
EXPERIÊNCIA 6 - MEMÓRIAS
74189
Memória RAM de 64 bits
1 2 3 4 5 6 7 8
AD-A S W DI-1 DO -1 DI-2 DO -2 GND
14 10
ent.A (ck) GND
1 2 3 5 11 8 9 12
16 13 14 15 1 11 9 7 5
12 10 6 4 2 3 8
SEQÜÊNCIA DE OPERAÇÃO
75
2. Efetuar a montagem e posterior gravação de uma memória RAM de 1024 palavras de 4
bits = 4K (2114), utilizando um contador binário para o endereçamento das localidades de
dados. Gravar nas entradas I/O: 0⇒15⇒0, com endereçamento 00000 ⇒ 11111. Após,
ler os dados gravados nas saídas I/O.
2114
Memória RAM de 1024x4 = 4K
1 2 3 4 5 6 7 8 9
A6 A5 A4 A3 A0 A1 A2 CS GND
14 10
ent.A (ck) GND
1 2 3 5 11 8 9 12
18 15 16 17 1 2 3 4 7 6 5
Vcc A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
8 10 11 12 13 14 9
76
Seqüência de operação para gravação e posterior leitura
a) zerar o contador com R0(1)=1 e R0(2)=1 e, após, retomar ambos para zero;
b) habilitar a memória com CS =0;
c) gravar os dados:
c.1 – disponibilizar os dados nas entradas I/O;
c.2 – habilitar para escrita mudando WE =1 para WE =0;
c.3 – retornar de WE =0 para WE =1;
c.4 – aplicar um pulso de clock manual;
d) repetir os procedimentos do item anterior para cada conjunto de dados a serem
gravados;
e) concluída a gravação, não desligue a alimentação, desconectar as entradas das
chaves e ligar aos leds. Efetuar a leitura através de CS =0 e WE =1, usando o clock
automático interno do módulo digital.
Vs
T t
77
3. Efetuar a gravação de uma memória EPROM de 2Kx8=16K (2716), utilizando o
gravador de EPROM da Macsym. Gravar os dados 0⇒15⇒0, cuja seleção corresponde
aos 32 primeiros endereços 000002 (0016)⇒ 111112 (2016).
Posteriormente, efetuar a montagem utilizando um contador binário para o
endereçamento das localidades de dados. Por último, ler os dados gravados nas saídas
nos leds do módulo didático ou em osciloscópio através de um conversor D/A.
24 23 22 21 20 19 18 17 16 15 14 13
2716
Memória EPROM de 2Kx8 = 16K
1 2 3 4 5 6 7 8 9 10 11 12
A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND
4. Deseja-se obter uma senóide digitalizada, a partir da expressão: f(x) = 255/2.(1+sen x).
Monte uma tabela no editor Excel simulando valores entre 0 e 2π. Com os resultados
obtidos, copie-os num arquivo com extensão “tex” e, em seguida, utilize um arquivo
(Txt2bin) para converter os dados em decimal para binário. Por último, os dados serão
gravados na memória EPROM de 2Kx8=16K (2716), utilizando o gravador de EPROM da
Macsym. Quantos endereços (em hexadecimal) são necessários para gravar todos os
dados da senóide?
Após a gravação, efetuar a montagem utilizando um contador binário para o
endereçamento das localidades de dados. Por último, ler os dados gravados nas saídas
em osciloscópio através de um conversor D/A.
x = 2π/255
78
7 MÁQUINAS DE ESTADOS
Máquina de Mealy
Variáveis de saída = saídas do decodificador de saída = f(Variáveis de entrada, Variáveis
de estado).
O fato de existirem entradas que alimentam diretamente o decodificador de saída introduz
um comportamento assíncrono nas saídas.
Máquina de Moore
Variáveis de saída = saídas do decodificador de saída = f(Variáveis de estado).
As variáveis de saída dependem apenas das variáveis de estado, pelo que a alteração de
estado nas saídas encontra-se sincronizada com o sinal de relógio.
79
7.2 ANÁLISE DE MÁQUINAS DE ESTADOS
a) Identificação dos
elementos do circuito
c) Tabela de estados
d) Diagrama de estados
e) Descrição funcional
80
Tabela de transição de estados
1 2 3 4 5
Variáveis de Variáveis de Variáveis de Variáveis de Variáveis de
estado entrada excitação estado saída
(estado (funções de (estado (funções de
presente) excitação) seguinte) saída)
Diagrama de estados
O diagrama de estados é uma grafo orientado, constituídos por nós, representativos dos
estados, e por arcos orientados, representativos das transições entre estados. Constitui
uma representação gráfica dos estados e transições entre estados de um circuito
seqüencial síncrono. Permite uma melhor leitura/interpretação do comportamento
funcional deste tipo de circuitos. A informação contida no diagrama de estados é
acompanhada de uma legenda, de modo a associar os elementos gráficos com as
variáveis do circuito seqüencial síncrono.
81
Representação gráfica das transições entre estados
As transições entre estados são representadas por um arco orientado entre o estado
presente e o estado seguinte. De cada estado, partem 2P arcos orientados,
representativos das transições possíveis para P variáveis de entrada.
EXEMPLO 1
Dado o diagrama lógico, determinar a tabela de estados, o diagrama de estados e uma
possível descrição verbal do funcionamento do circuito.
Diagrama lógico
82
É uma Máquina de Moore dado que as saídas (B,A) são coincidentes com as variáveis de
estado.
DB = B X + BAX + B AX
DA= A⊕X
c) Tabela de estados
Nota: A coluna correspondente ao estado seguinte pode ser eliminada já que, tratando-se
de flip-flops do tipo D, o estado seguinte corresponde aos valores das variáveis de
excitação.
d) Diagrama de estados
Legenda
Estado: B A
Transição entre estados: X
e) Descrição funcional
Quando X =1, o sistema segue a seqüência de estados: 00, 01, 10, 11. Quando X=0, o
sistema mantém-se no mesmo estado. Ao considerar as saídas BA como um número
binário de dois bits, está-se perante um contador binário crescente de dois bits, com a
entrada X para desinibir/inibir a contagem.
83
EXEMPLO 2
Diagrama lógico
JA = B.Y KA = B + Y
JB = A + Y KB = Y
Z = A .B.Y
c) Tabela de estados
84
d) Diagrama de estados
Legenda
Estado: A B
Transição entre estados: Y/Z
e) Descrição funcional
85
Regras
1. Escolher para o estado inicial do circuito um código binário facilmente obtido
através da inicialização assíncrona do circuito (tudo a 0’s ou 1’s);
2. Tentar associar aos bits ou conjunto de bits do código de estado um significado
relacionado com as entradas ou saídas;
3. Minimizar o número de bits do código de estado que mudam em cada transição
entre estados.
d) Construir a tabela de estados para flip-flops D.
e) Determinar os mapas de Karnaugh para as variáveis de excitação dos flip-flops D e
para as variáveis de saída. Obter, se necessário, os mapas de karnaugh para as
variáveis de excitação dos flip-flops J-K, a partir dos mapas de karnaugh das variáveis
de excitação dos flip-flops D. Normalmente, a utilização de flip-flops J-K conduz a
circuitos de menor complexidade. Selecionar o tipo de flip-flops (D ou J-K) e obter as
expressões simplificadas das funções de excitação e funções de saída.
f) Desenhar o diagrama do circuito lógico.
a) Descrição verbal e
Diagrama de blocos
b) Diagrama de estados
Eliminação de estados redundantes
c) Codificação de estados
d) Tabela de estados
e) Mapas de Karnaugh e
Funções lógicas minimizadas
86
Exemplos de síntese de circuitos seqüenciais síncronos
EXEMPLO 1
Detector de uma seqüência de bits (Máquina de Moore)
a) Diagrama de blocos
X Circuito Z
Clk Síncrono
b) Diagrama de estados
Trata-se de uma máquina de Moore, já que a saída depende apenas do estado do
sistema. De acordo com as especificações, se nas últimas três vertentes do sinal de
relógio tiver sido detectada a seqüência 110 a saída é colocada a 1.
Legenda
Estado: Identificador/Saída Z
Transição de estado: X
A – início
B – detectada a seqüência 1
C – detectada a seqüência 11
D – detectada a seqüência 110
c) Codificação de estados
88
EXEMPLO 2
Detector de uma seqüência de bits (Máquina de Mealy)
a) Diagrama de blocos
X Circuito Z
Clk Síncrono
Entrada X: 10110100101110001001001110
Saída Z: 00000000100000000001001000
b) Diagrama de estados
- Considera-se um estado inicial A, ao qual se associa o fato da seqüência 100 não ter
sido detectada até ao momento. Se X=0, o estado do sistema mantém-se.
- Se X=1, o sistema transita para o estado B (detectada a seqüência 1).
- Do estado B, se X=1, o estado do sistema mantém-se, se X=0, o sistema transita para o
estado C (detectada a seqüência 10).
- Se o estado atual é C (detectada a seqüência 10) e X=1, o sistema deve regressar ao
estado B (detectada a seqüência 1). Se X=0, o sistema deve transitar para um novo
estado D (detectada seqüência 100).
- Se o estado atual é D (detectada a seqüência 100) e X=1, a saída Z é colocada a 1 e o
sistema transita para o estado B (detectada a seqüência 1). Se X=0, o sistema transita
para o estado A, pois não foi detectada a seqüência 100.
Legenda
Estado: Identificador
Transição de estado: X/Z
89
c) Codificação de estados
Existem quatro estados distintos, A, B, C e D, sendo por isso, necessários 2 bits (2 células
de memória – Q1, Q0) para codificar cada um dos estados. Dentre as várias hipóteses de
codificação, utiliza-se neste exemplo o seguinte sistema de codificação:
d) Tabela de estados
90
f) Diagrama do circuito lógico
91
REFERÊNCIAS BIBLIOGRÁFICAS
BIGNELL, J. W. e DONOVAN, R. L. Eletrônica digital. Volumes 1 e 2, São Paulo:
Makron Books, 1995
BRAGA, Newton C. Curso de eletrônica digital. São Paulo: Saber Eletrônica Especial n.
8, 2002.
ERCEGOVA, Milos et alii. Introdução aos sistemas digitais. Porto Alegre: Bookman,
2002.
IDOETA, I.V. e CAPUANO, F.G. Elementos de eletrônica digital. São Paulo: Érica,
1987.
MELO, Mairton de Oliveira. Eletrônica digital. São Paulo: Makron Books, 1994.
92