Circuitos Digitais

47
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:

Transcript of Circuitos Digitais

Page 1: Circuitos Digitais

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:

Page 2: Circuitos Digitais

Á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.

Page 3: Circuitos Digitais

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.

Page 4: Circuitos Digitais

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.

Page 5: Circuitos Digitais

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.

Page 6: Circuitos Digitais

Á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:

Page 7: Circuitos Digitais

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.

Page 8: Circuitos Digitais

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

Page 9: Circuitos Digitais

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

Page 10: Circuitos Digitais

Flip-Flop SRS R Qn Qn+1

0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 11 0 1 11 1 0 11 1 1 1

S R Qn+1

0 0 Qn

0 1 01 0 11 1 Não permitido

Page 11: Circuitos Digitais

Flip-Flop SR comandado por pulso de Clock

Page 12: Circuitos Digitais

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+10 01 1

Page 13: Circuitos Digitais

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+10 Qn

1 Qn’

Page 14: Circuitos Digitais

Flip-Flop JKJ K Qn+1

0 0 Qn

0 1 0

1 0 1

1 1 Qn'

Page 15: Circuitos Digitais

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 Funcionamentonormal

Page 16: Circuitos Digitais

Flip-Flop JK Mestre Escravo

Page 17: Circuitos Digitais

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.

Page 18: Circuitos Digitais
Page 19: Circuitos Digitais

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.

Page 20: Circuitos Digitais

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.

Page 21: Circuitos Digitais

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.

Page 22: Circuitos Digitais

Registrador de Entrada e Saída Paralelo

Page 23: Circuitos Digitais

Registrador de Deslocamento Utilizado como Multiplicador ou Divisor por 2

•Se analisarmos um número binário qualquer, por exemplo: A = 10102 = 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 = 00012 = 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.

Page 24: Circuitos Digitais

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.

Page 25: Circuitos Digitais

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.

Page 26: Circuitos Digitais

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.

Page 27: Circuitos Digitais

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 10102 = 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.

Page 28: Circuitos Digitais

Contador de Década

Pulsos de entrada Q3 Q2 Q1 Q0 Clear

1 0 0 0 0 12 0 0 0 1 13 0 0 1 0 14 0 0 1 1 15 0 1 0 0 16 0 1 0 1 17 0 1 1 0 18 1 1 1 1 19 1 0 0 0 110 1 0 0 1 1

11 1 0 1 0 012 0 0 0 0 1: : : : : :: : : : : :

Page 29: Circuitos Digitais

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.

Page 30: Circuitos Digitais

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.

Page 31: Circuitos Digitais

Contadores Crescentes e Decrescentes

Page 32: Circuitos Digitais

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.

Page 33: Circuitos Digitais

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

Page 34: Circuitos Digitais

Tipos de Memórias

• RAM

• ROM

• PROM

• EPROM

• EEPROM

Page 35: Circuitos Digitais

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.

Page 36: Circuitos Digitais

Memórias RAM de N Posiçõesn 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.

Page 37: Circuitos Digitais

Memória RAM em Diagrama de Blocos e Endereçamento Linear

Entradas de Endereços

Saída de LeituraControle de E/L

Entradas de Dados

END

x

D S

Page 38: Circuitos Digitais

RAM

16x1

Saída de Leitura

Entradas de Endereços

Controle de E/L

Entradas de Dados

A B C D

x

D S

Page 39: Circuitos Digitais

RAM 8x4

Page 40: Circuitos Digitais

RAM Nxm

Page 41: Circuitos Digitais

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.

Page 42: Circuitos Digitais

Memória ROM

Page 43: Circuitos Digitais

Memória ROM de 16 Posições

Variáveis de EndereçoA B C D S0 0 0 0 I0

0 0 0 1 I1

0 0 1 0 I2

0 0 1 1 I3

0 1 0 0 I4

0 1 0 1 I5

0 1 1 0 I6

0 1 1 1 I7

1 0 0 0 I8

1 0 0 1 I9

1 0 1 0 I10

1 0 1 1 I11

1 1 0 0 I12

1 1 0 1 I13

1 1 1 0 I14

1 1 1 1 I15

Page 44: Circuitos Digitais

Memória ROM 8x1

Variáveis deEntrada

A B CS

0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 11 0 1 01 1 0 01 1 1 1 Saída de Leitura

Entradas de Endereços

A1 A2 A3 … An

S

ROM

Page 45: Circuitos Digitais

ROM NxmSaídas de Leitura

Entradas de Endereços

A1 A2 A3 … An

S0

ROMNxm

S1

S2

Sm

.

.

.

.

.

.

Page 46: Circuitos Digitais

Memória ROM como Circuito CombinacionalDecodificador BCD 8421 - Gray

Código BCD 8421Entradas de Endereço

Código GraySaídas da ROM

A B C D S3 S2 S1 S0

0 0 0 0 0 0 0 00 0 0 1 0 0 0 10 0 1 0 0 0 1 10 0 1 1 0 0 1 00 1 0 0 0 1 1 00 1 0 1 0 1 1 10 1 1 0 0 1 0 10 1 1 1 0 1 0 01 0 0 0 1 1 0 01 0 0 1 1 1 0 11 0 1 0 1 1 1 11 0 1 1 1 1 1 01 1 0 0 1 0 1 01 1 0 1 1 0 1 11 1 1 0 1 0 0 11 1 1 1 1 0 0 0

Saídas de Leitura

Entradas de Endereços

A B C D

S0

ROM16x4

S1

S2

S3

Page 47: Circuitos Digitais

Ampliação da Capacidade de uma ROM Árvore de ROM’s