1. Multiplexadores
• Um multiplexador é um circuito com muitas entradas e apenas uma saída.
Aplicando sinais de controle, pode-se dirigir qualquer uma das entradas para
a saída.
• Um multiplexador pode ser construído usando portas lógicas NOT, AND e
OR. A figura 1.1 ilustra o projeto de um multiplexador 2x1 usando essas
portas e a figura 1.2 mostra a representação simplificada do multiplexador da
figura 1.1:
2. Árvores de Multiplexadores
• Usando o conceito de árvore de multiplexadores, pode-se fazer um
multiplexador 4x1 usando três multiplexadores 2x1, como está ilustrado na
figura 1.3.
3. Aplicações dos Multiplexadores
• Como seletor de dados: um multiplexador, como já foi dito, é
um circuito digital com várias entradas e apenas uma saída.
Pode-se através dos bits de endereço, selecionar para a saída,
dados provenientes de qualquer uma das entradas.
• Como implementador de funções lógicas: o multiplexador
também é chamado de circuito lógico universal. A denominação
de circuito lógico universal deve-se ao fato de que ele pode ser
usado como uma solução de projeto para qualquer tabela
verdade, desde que o número de variáveis seja igual ao número
de entradas de seleção.
4. Exemplo do Multiplexador como
Circuito Lógico Universal
• Por exemplo, considerando a seguinte tabela verdade:
A B Saída
0 0 0
0 1 1
1 0 1
1 1 0
• É evidente que esta é a tabela verdade de uma porta "XOR". Para
implementar esta porta lógica usando um multiplexador 4x1, um pino de
dado de entrada será aterrado quando a saída correspondente for baixa na
tabela e um pino de dado de entrada é ligado a uma tensão alta se a saída
correspondente for alta na tabela verdade.
5. Demultiplexadores
• Um demultiplexador é um circuito lógico com uma entrada e várias saídas.
Aplicando sinais de controle pode-se encaminhar o sinal de entrada para uma
das linhas de saída.
• Um demultiplexador pode ser projetado usando-se portas lógicas AND e
NOT. A figura 1.5 ilustra o projeto de um demultiplexador 1x2 usando essas
portas lógicas.
6. Árvores de Demultiplexadores
• Usando o conceito de árvore de demultiplexadores pode-se, por exemplo,
construir um demultiplexador 1x4 usando 3 DEMUX 1x2 da seguinte
maneira:
7. Aplicações dos Demultiplexadores
• Como seletor de canais: um dado de entrada é
dirigido a um canal de saída, o que é a operação
inversa à do multiplexador quando ele é usado
como seletor de dados.
• Como decodificador: as entradas de endereço
funcionam como o dado binário codificado.
8. Flip-Flops
• O flip-flop é um dispositivo que possui dois estados estáveis. Para o flip-flop
assumir um destes estados, é necessário que haja uma combinação das
variáveis de entrada e de um pulso de clock. Após este pulso, o flip-flop
permanecerá nesse estado até a chegada de um novo pulso de clock, aí então,
de acordo com as variáveis de entrada, permanecerá ou mudará de estado.
• Basicamente, podemos representar o flip-flop como um bloco onde temos
duas saídas: Q e Q’, entradas para as variáveis e uma entrada de clock. A
saída Q será a principal do bloco.
• Os dois estados possíveis mencionados são:
• Q = 0 e Q’ = 1
• Q = 1 e Q’ = 0
9. Tipos de Flip-Flop
• Flip-Flop SR
– Flip-Flop SR comandado por pulso de clock
• Flip-Flop tipo D
• Flip-Flop tipo T
• Flip-Flop JK
– Flip-Flop JK com entradas de PRESET e CLEAR
– Flip-Flop JK Mestre-Escravo
10. Flip-Flop SR
S R Qn Qn+1 S R Qn+1
0 0 0 0 0 0 Qn
0 0 1 1 0 1 0
0 1 0 0 1 0 1
0 1 1 0 1 1 Não permitido
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
12. Flip-Flop tipo D
• Um flip-flop tipo D não passa de um flip-flop
SR com as entradas S e R sendo ligadas através
de um inversor, de acordo com a figura abaixo.
D Qn+1
0 0
1 1
13. Flip-Flop tipo T
• Um flip-flop tipo T não passa de um flip-flop
SR com as entradas S e R curto-circuitadas, de
acordo com a figura abaixo.
T Qn+1
0 Qn
1 Qn’
14. Flip-Flop JK
J K Qn+1
0 0 Qn
0 1 0
1 0 1
1 1 Qn'
15. Flip-Flop JK com Entradas PRESET e CLEAR
CLEAR PRESET Qn+1
0 0 Não permitido
0 1 0
1 0 1
1 1 Funcionamento
normal
17. Registradores de Deslocamento (Shift Registers)
• Registradores de deslocamento possuem entrada serial e saída paralela ou
serial. São construídos com certo número de flip-flops tipo D, SR ou JK
mestre-escravo, ligados de modo que as saídas de cada bloco alimentem as
entradas S e R do flip-flop seguinte, sendo que o primeiro deles terá as suas
entradas S e R ligadas da mesma maneira que em um flip-flop tipo D.
18.
19. Conversor Série-Paralelo
Chamamos de informação em paralelo a uma informação na qual todos os
bits se apresentam simultaneamente. Uma informação paralela necessita de
tantos fios quantos forem os bits contidos nela.
Por outro lado, informação em série é aquela que utiliza apenas um fio,
sendo que os bits de informação vêem seqüencialmente, um após o outro.
Um registrador de deslocamento pode ser utilizado para converter uma
informação em série para uma informação em paralelo, ou seja, funcionar como
um conversor série-paralelo. O circuito da figura 3.1 consiste na configuração
básica de um conversor série-paralelo de 4 bits. Para o funcionamento adequado
do registrador de deslocamento como conversor série-paralelo, basta colocar a
informação serial na entrada e após alguns pulsos de clock (tantos quantos
forem o número de bits do conversor – no caso da figura 3.1, 3 pulsos de clock),
ler a informação na forma paralela nas saídas Q3 a Q0.
20. Conversor Paralelo-Série
• Para entrarmos com uma informação em paralelo, necessitamos de um
registrador que utilize flip-flops com entradas Preset e Clear, pois é através
destas que fazemos com que o registrador armazene a informação em
paralelo. A figura 3.3 ilustra este tipo de registrador.
21. Registrador de Entrada e Saída Série
• Podemos utilizar um registrador de deslocamento da figura abaixo, que
apresenta entrada da informação em série e simplesmente realizarmos a
leitura da informação, também na forma serial, na saída Q0. Notamos que
nessa aplicação, após a entrada da informação, se inibirmos a entrada de
clock, esta informação permanecerá armazenada no registrador até que haja
uma nova entrada. Assim sendo, é fácil perceber que o registrador funcionou
como uma memória.
23. Registrador de Deslocamento Utilizado como
Multiplicador ou Divisor por 2
•Se analisarmos um número binário qualquer, por exemplo: A = 1010 2 = 1010
•Se o armazenarmos este número em um registrador de deslocamento e ele for
deslocada uma casa para a direita, colocando 0 na entrada, teremos a seguinte
situação: B=01012 = 510
•Ou seja, como podemos verificar, o número A foi dividido por 2. Em outras
palavras, em números binários, um deslocamento para a direita significa uma
divisão por 2. Esta operação também é conhecida como Shift Right.
•Também existem registradores que podem executar deslocamentos para a esquerda.
De modo análogo, se considerarmos um número C = 0001 2 = 110, veremos que ao
deslocarmos ele de uma casa para a esquerda colocando 0 na entrada, teremos o
seguinte:D = 00102 = 210
•Ou seja, ao deslocarmos um número binário para a esquerda ele é multiplicado por
2. Esta operação também é conhecida como Shift Left.
24. Contadores
• Contadores são circuitos digitais que variam os seus
estados, sob o comando de um clock, de acordo com
um seqüência pré-determinada.
• São utilizados principalmente para contagens,
geradores de palavras , divisores de freqüência e
tempo, geradores de formas de onda, conversão de
analógico para digital, seqüenciamento de operações
de máquinas, etc.
25. Contadores Assíncronos e Contadores Síncronos
• Os contadores assíncronos são caracterizados por não terem
entradas de clock comuns. Essa se faz apenas no primeiro flip-flop e
as outras entradas de clock dos demais flip-flops serão funções das
saídas dos flip-flops anteriores.
• Os contadores síncronos são contadores cujos flip-flops que o
compõe compartilham o mesmo sinal de clock, ou seja todos os flip-
flops recebem o mesmo pulso de clock, ao mesmo tempo.
• Para que ocorram mudanças de estado, devemos então estudar o
comportamento das entradas J e K dos vários flip-flops para que se
tenha nas saídas a seqüência desejada.
• Para estudar contadores síncronos, deve-se sempre escrever a
tabela verdade e analisar quais devem ser os valores das entradas J
e K dos vários flip-flops para que suas saídas assumam o estado
seguinte dentro da seqüência.
26. Contador BCD 8421
• Um contador gerador da seqüência do código BCD 8421 pode ser síncrono
ou assíncrono. A figura 4.1 mostra um contador BCD 8421 assíncrono, cujo
projeto é bem mais simples do que no caso do contador síncrono.
27. Contador de Década
• Um contador de década é um circuito que efetua a contagem, em números
binários, de zero a nove (10 algarismos), o que é o mesmo que seguir a
seqüência do código BCD 8421 de 0000 até 1001.
• Os contadores de década podem ser síncronos ou assíncronos. Para se
construir um contador de década síncrono, utiliza-se um contador de pulsos,
somente com a diferença que neste caso é necessário o uso de flip-flops com
entradas "Clear".
• Para que o contador execute a contagem somente de 0 a 9 (0000 a 1001),
quando ocorrer nos terminais de saída o estado 1010 2 = 1010 deve-se colocar
um pulso zero na entrada Clear e assim o contador reiniciará a contagem
logo após o décimo pulso.
• Após o décimo pulso de clock o contador "tende" a assumir o estado de saída
1010, porém neste instante a entrada "Clear" vai para 0, zerando o contador,
que reiniciará a contagem.
29. Contador em Anel
• Contadores em anel são contadores cíclicos que funcionam da
seguinte forma: inicializa-se o contador introduzindo nele um
bit igual a "1" e os demais iguais a "0". A medida que os pulsos
de clock vão chegando ao contador, o "1" vai sendo
ciclicamente deslocado.
• O projeto de um contador em anel pode ser feito usando-se um
registrador de deslocamento e um circuito de inicialização. Esse
circuito deve, a princípio zerar o registrador de deslocamento e
em seguida introduzir o bit igual a "1". A partir daí, a cada pulso
de clock recebido o "1" deve ser deslocado ciclicamente ao
longo de registrador.
30. Contadores Crescentes e Decrescentes
• Os contadores podem ser classificados pelo tipo de contagem
que executam, ou seja, se executam contagem crescente ou
decrescente.
• Os contadores da figura 4.1 e 4.2 são contadores crescentes. As
figuras 4.3 e 4.4 ilustram duas maneiras de se projetar
contadores decrescentes.
• É importante salientar que os contadores síncronos também
podem ser crescentes ou decrescentes, e podem ser projetados
usando a mesma metodologia, diferindo apenas na tabela
verdade.
32. Memórias
• Memórias são dispositivos que armazenam informações. A
partir de agora trataremos das memórias que armazenam
informações codificadas, digitalmente, através de um código
binário qualquer. Essas informações podem ser números, letras,
caracteres quaisquer, comandos de operações, endereços ou
ainda qualquer outro tipo de dado.
• As memórias encontram seu emprego no campo da informática,
sendo utilizadas principalmente em computadores e periféricos.
Armazenam dados para endereçamento e programação.
33. Classificação das Memórias
• Antes de estudarmos os diversos tipos de memórias,
vamos conhecer sua classificação. Podemos classificar
as memórias em vários itens diferentes. A seguir,
vamos relacionar os principais:
– Acesso;
• Seqüencial
• Aleatório
– Volatilidade;
– Escrita/leitura ou apenas leitura;
– Tipo de armazenamento;
• Dinâmico
• Estático
35. Memória RAM
• Essas memórias, como já visto, apresentam as seguintes características
principais: acesso aleatório e permitem a escrita e leitura de dados.
• O flip-flop é um bloco lógico que permite o armazenamento de uma
informação de 1 bit. Nas memórias RAM, o flip-flop é utilizado como
elemento básico de memória.
36. Memórias RAM de N Posições
n variáveis de endereçamento => 2n = N, posições de memória.
Logo, n = log2N.
Por exemplo: para N = 4 (4 posições de memória), temos:
n = log24 => n = 2.
37. Memória RAM em Diagrama de Blocos e
Endereçamento Linear
Entradas de Endereços
END
Controle de E/L Saída de Leitura
D S
Entradas de Dados x
38. R
A
M
16
x
1
Entradas de Endereços
ABCD
Controle de E/L S Saída de Leitura
D
Entradas de Dados x
41. Memórias ROM
• Essas memórias, conforme já visto, apresentam como característica principal
permitir somente a leitura dos dados nela gravados. Apresentam uma
configuração semelhante às memórias RAM no que toca à parte de leitura.
Na verdade, as memórias ROM são circuitos estritamente combinacionais.
• Dentre as diversas aplicações, destacamos a sua utilização para construir um
circuito combinacional qualquer, formar geradores de caracteres e armazenar
programas em sistemas digitais.