MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SÃO PAULO CAMPUS DE PRESIDENTE EPITÁCIO APOSTILA DE ELETRÔNICA DIGITAL II Prof. Andryos da Silva Lemes Esta apostila é destinada aos alunos dos cursos técnicos do IFSP campus Presidente Epitácio. O conteúdo desta apostila foi retirado dos livros: TOCCI, R., WIDMER, N. S., MOSS, G. L. Sistemas Digitais. Editora Pearson, 2009 e CAPUANO, F. G., IDOETA, I. Elementos de Eletrônica Digital. Editora Érica, 2007. O autor desta apostila apenas compilou a informação contida nessas fontes de uma maneira mais direta para facilitar o entendimento dos alunos de nível médio. SUMÁRIO 1. DECODIFICADORES............................................................................. 3 1.1 Entradas de habilitação ........................................................................... 4 1.2 Aplicações de decodificadores ................................................................ 4 2. CODIFICADORES .................................................................................. 5 3. SOMADORES .......................................................................................... 7 3.1 Meio somador ......................................................................................... 7 3.2 Somador completo .................................................................................. 8 4. FLIP-FLOPS ........................................................................................... 12 4.1 Circuito sequencial ............................................................................... 12 4.2 Flip-flops ............................................................................................... 12 4.3 Entradas de controle.............................................................................. 12 4.4 FF RS com portas NAND ..................................................................... 13 4.5 FF RS com portas NOR ........................................................................ 13 4.6 FF JK..................................................................................................... 14 4.7 FF D ...................................................................................................... 14 EXERCÍCIOS ................................................................................................... 15 3 1. DECODIFICADORES Um decodificador é um circuito lógico que aceita um conjunto de entradas que representa um número binário e ativa somente uma saída que corresponde ao número da entrada. Ou seja, um circuito decodificador analisa as suas entradas, determina qual número binário está presente e ativa a saída correspondente a esse número binário; as outras saídas permanecem desativadas. A Figura 1.1 apresenta o diagrama para um decodificador geral com N entradas e M saídas. Figura 1.1: Diagrama de um decodificador geral. Como cada uma das N entradas podem ser 0 ou 1, existem 2N combinações ou códigos de entrada possíveis. Para cada uma desta combinações de entrada, apenas uma das M saídas estará ativa; todas as outras saídas estarão desativadas. Com relação a Figura 1.1, o estado ativo das M saídas é o nível lógico 1 (ALTO), entretanto, muitos decodificadores são projetados para produzirem saídas ativas com nível lógico 0 (BAIXO), onde apenas a saída selecionada fica em BAIXO e todas as outras permanecem em ALTO. Isto será indicado pela presença de pequenos círculos nas linhas de saída no diagrama do decodificador. Na Figura 1.2, tem-se um decodificador BCD para decimal de 2 linhas para 4 linhas (2 entradas e 4 saídas) e sua respectiva tabela verdade 4 Figura 1.2: Decodificador de 2 linhas para 4 linhas. 1.1 Entradas de habilitação Alguns decodificadores têm uma ou mais entradas de habilitação (ENABLE), que são usadas para controlar a operação do decodificador. O decodificador opera normalmente para suas entradas somente se as entradas ENABLE estiverem habilitadas, caso contrário, suas saídas estarão todas desabilitadas. Existem decodificadores que são projetados para operarem com o estado ativo da entrada ENABLE sendo ALTO e outros sendo BAIXO. Isto será indicado pela presença de pequenos círculos nas linhas de entrada da porta ENABLE do decodificador. 1.2 Aplicações de decodificadores Decodificadores são usados sempre que uma saída ou grupo de saídas deve ser ativado somente na ocorrência de uma combinação específica de níveis de entrada. Estes níveis de entrada são frequentemente fornecidos pelas saídas de um contador ou de um registrador. Quando as entradas do decodificador vêm de um contador que está sendo acionado continuamente, as saídas do decodificador serão ativadas sequencialmente, e elas podem ser utilizadas como sinais de temporização ou sequenciamento para ligar ou desligar dispositivos em determinados momentos. 5 2. CODIFICADORES A maioria dos decodificadores aceita um código de entrada e produz um nível ALTO (ou BAIXO) em uma e somente uma linha de saída. Em outras palavras, podemos dizer que um decodificador identifica, reconhece ou detecta um código específico. O oposto deste processo de decodificação é chamado codificação e é realizado por um circuito lógico denominado codificador. Um codificador tem um certo número de linhas de entrada, onde somente uma delas é ativada por vez, e produz um código de saída de N bits, dependendo de qual entrada está ativada. Apresenta-se na Figura 2.1 o diagrama geral para um codificador com M entradas e N saídas. Neste caso as entradas são ativas em ALTO, o que significa que estão normalmente em BAIXO. Figura 2.1:Diagrama de um codificador geral. Como exemplo, apresenta-se na Figura 2.2 o circuito lógico e a tabela verdade para um codificador de 8 linhas para 3 linhas. Este codificador aceita oito linhas de entrada e produz um código de saída de três bits correspondente a entrada ativada. 6 Figura 2.2: Circuito lógico e tabela verdade para um codificador de 8 linhas para 3 linhas. Para este decodificador, observa-se que um nível BAIXO em qualquer uma das entradas de cada vez produzirá o código binário de saída correspondente para aquela entrada. Por exemplo, um nível lógico BAIXO em A3 (enquanto todas as outras entradas estiverem em ALTO) produzirá O2=0, O1=1 E O0=1, que é o código binário para 3. 7 3. SOMADORES Dentro do conjunto de circuitos combinacionais aplicados para finalidade específica nos sistemas digitais, destacam-se os circuitos aritméticos. São utilizados, principalmente, para construir a ULA (Unidade Lógica Aritmética) dos microprocessadores e, ainda, encontrados disponíveis em circuitos integrados comerciais. 3.1 Meio somador Na Figura 3.1 a seguir tem-se uma revisão da soma de dois números binários. Figura 3.1 Soma de dois números binários. A seguir, apresenta-se a tabela verdade da soma de dois números binários de um algarismo, sendo TS o transporte de saída. A B S TS 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Tabela 3.1: Tabela verdade da soma de dois números binários de um algarismo. As expressões booleanas das saídas são: 8 S = A⊕ B (3.1) TS = AB O circuito a partir destas expressões é ilustrado na Figura 3.2. Figura 3.2: Circuito lógico de um meio somador. A representação em bloco desse circuito é dado na Figura 3.3. Figura 3.3: Representação em bloco de um meio somador. 3.2 Somador completo O meio somador possibilita efetuar a soma de números binários com um 9 algarismo. Para fazer a soma de números binários de mais algarismos, esse circuito tornase insuficiente, pois não possibilita a introdução do transporte de entrada proveniente da coluna anterior. Sendo assim, para realizar essa soma, basta somar coluna a coluna, levando em conta o transporte de entrada que nada mais é do que o TS da coluna anterior. A tabela verdade do somador completo é dado na Tabela 3.2, sendo TE o transporte de entrada. A B TE S TS 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Tabela 3.2: Tabela verdade de um somador completo. As expressões booleanas das saídas são: S = A ⊕ B ⊕ TE TS = BTE + ATE + AB O circuito a partir destas expressões é ilustrado na Figura 3.4. (3.1) 10 Figura 3.4: Circuito lógico de um somador completo. A representação em bloco desse circuito é dado na Figura 3.5. Figura 3.5: Representação em bloco de um somador completo. Para exemplificação, considera-se a soma de dois números binários, tal como se ilustra na Figura 3.6. Figura 3.6: Soma de dois números binários. Para efetuar essa soma, torna-se necessário utilizar um meio somador e três 11 somadores completos, tal como se ilustra na Figura 3.7. Figura 3.7: Circuito somador para dois números binários de 4 bits. Observa-se que o TS mais à esquerda é o bit mais significativo do número resultante da soma, no caso, S4. 12 4. FLIP-FLOPS 4.1 Circuito sequencial Basicamente, a eletrônica digital é dividida em duas áreas: lógica combinacional e lógica sequencial. Os circuitos combinacionais têm as saídas única e exclusivamente dependente das variáveis de entrada. Enquanto que os circuitos sequenciais, além de dependerem das variáveis de entrada, também dependem de seus estados anteriores que permanecem armazenados. 4.2 Flip-flops De forma geral, um flip-flop (FF) é representado como um bloco com duas saídas: Q e ܳത , entradas para as variáveis e uma entrada de controle (CLOCK). A saída Q é a principal do bloco. Ilustra-se um FF genérico na Figura 4.1 Figura 4.1: Flip-flop genérico. Basicamente, existem dois estados de saída para o FF: Q=0 e Q=1. Obviamente, a saída inversa ܳത apresenta o estado lógico contrário do presente na saída Q. 4.3 Entradas de controle As entradas de controle habilitam o FF a mudar de estado em determinados instantes. Geralmente, o sinal de CLOCK é um trem de pulsos retangulares. O FF pode ser projetado para operar na borda de subida do sinal de CLOCK (transição de subida) ou na borda de descida (transição negativa). Quando o FF operar na transição negativa, esse 13 indicativo é dado por meio de um círculo na entrada da porta de CLOCK. 4.4 FF RS com portas NAND Este FF possui duas entradas de variáveis denominadas de SET e CLEAR (ou RESET), uma entrada de controle CLOCK. Apresenta-se na Figura 4.2 o bloco lógico deste componente e sua respectiva tabela verdade. Figura 4.2: FF RS com portas NAND. O estado ativo das entradas SET e CLEAR é o nível lógico BAIXO, ou seja, para mudar o estado da saída Q é necessário entrar com um nível BAIXO em uma das entradas. Observa-se que fazer S=0 e C=0 resulta em erro lógico, pois é impossível a saída armazenar simultaneamente dois níveis lógicos opostos. 4.5 FF RS com portas NOR Esse FF é similar ao FF RS com portas NAND. A diferença é que o estado ativo das entradas SET e CLEAR é o nível lógico ALTO. Apresenta-se na Figura 4.3 o bloco lógico deste componente e sua respectiva tabela verdade. Figura 4.3: FF RS com portas NOR. 14 Nota-se que, agora, ocasiona-se erro lógico ao fazer S=1 e C=1. 4.6 FF JK Neste FF a entrada J equivale a entrada S e a entrada K equivale a entrada C. O funcionamento do FF JK é similar ao FF RS com portas NOR. A diferença é que a condição J=1 e K=1 não resulta em erro lógico, nesta situação a saída do FF é comutada, ou seja, muda para o estado lógico oposto àquela presente no momento destas entradas. Apresenta-se na Figura 4.4 o bloco lógico deste componente e sua respectiva tabela verdade. Figura 4.4: FF JK. 4.7 FF D Ao contrário dos outros FF abordados anteriormente, o FF D possui apenas uma entrada de variável, D, que é a inicial da palavra dados. A operação do FF D é muito simples: Q irá para o mesmo estado presente na entrada D sempre que ocorrer uma transição ativa do CLOCK. Em outras palavras, o nível presente em D é armazenado no FF a cada transição ativa do CLOCK. Apresenta-se na Figura 4.5 o bloco lógico deste componente e sua respectiva tabela verdade. Figura 4.5: FF D. 15 EXERCÍCIOS DECODIFICADORES 1) Para o decodificador 3x8 apresentado na figura a seguir, determine os níveis lógicos da saída Y0Y1Y2Y3Y4Y5Y6Y7 para os seguintes códigos de ഥ (Considerando como MSB a entrada A) entrada ABCE a) 0101 b) 1100 c) 1111 d) 0110 e) 0010 f) 1010 2) (1,0 PONTO NA PROVA) Projete um decodificador (com ENABLE) de 4x16 com entradas ativas em ALTO e saídas ativas em BAIXO. O projeto deve obrigatoriamente conter o circuito lógico e a tabela verdade. 3) Considerando o decodificador 74ALS138, determine a saída ഥଶ E ഥଵ. Y0Y1Y2Y3Y4Y5Y6Y7 para os seguintes códigos de entrada ABCEଷ E 16 a) 111100 b) 011101 c) 110100 d) 001011 e) 100100 f) 101100 4) Considerando o circuito lógico abaixo, determine os níveis lógicos das saídas Y0Y1Y2Y3 dos decodificadores Z1, Z2, Z3 e Z4. 5) Considerando o circuito abaixo, determine qual deve ser o código de entrada A4 A3 A2 A1 A0 para que o decodificador Z5 seja acionando? Nessa situação quais serão os níveis lógicos da saída Y0Y1Y2Y3Y4Y5Y6Y7 do decodificador Z5? 17 6) Para o decodificador 16x4 apresentado na figura a seguir, determine o código de saída DCBA para os seguintes níveis lógicos de entrada A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15 a) 11111011111 1111 d) 01111111011 1111 b) 11111111110 1111 e) 10111111111 1111 c) 11111011111 1110 f) 11111111111 1111 7) Para o codificador de prioridade apresentado na figura a seguir, determine o código de saída DCBA para os seguintes níveis lógicos de entrada A0A1A2A3A4A5A6A7A8A9. 18 a) 111011101 b) 111110110 c) 011111111 d) 011111111 e) 101111111 f) 110110101 8) Para o circuito a seguir, determine os níveis lógicos das saídas A0A1A2A3A4A5A6A7 dos decodificadores Z1, Z2, Z3 e Z4 para os seguintes níveis lógicos de entrada A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15 do decodificador 16x4. a) 11111011111 1101 d) 11111111011 1111 b) 10111111110 1111 e) 11101111111 1111 c) 01111011111 1110 f) 11111111101 1110 19 FLIP-FLOPS PARTE A – QUESTÕES TEÓRICAS A.1) Defina o que é um circuito lógico sequencial. (0,5 ponto) A.2) Qual é o estado normal de repouso das entradas SET e RESET de um Latch com portas NAND? (0,5 ponto) A.3) O que se deve fazer com as entradas SET e RESET para mandar uma informação de “set” ou “reset” para um FF (NAND)? (0,5 ponto) A.4) Qual é o estado normal de repouso das entradas SET e RESET de um Latch com portas NOR? (0,5 ponto) A.5) O que se deve fazer com as entradas SET e RESET para mandar uma informação de “set” ou “reset” para um FF (NOR)? (0,5 ponto) A.6) Um FF R-S pode operar normalmente para qualquer entrada nas portas SET e RESET? Justifique. (0,5 ponto) A.7) Quando a alimentação é aplicada a qualquer circuito com FFs, é impossível prever os estados iniciais de suas saídas. O que poderia ser feito para garantir que um Latch NAND sempre comece com sua saída normal igual a 1? (0,5 ponto) A.8) Responda e JUSTIFIQUE se a afirmação a seguir está correta: “ Deseja-se utilizar um FF NOR para acionar um alarme. Sendo assim, o único modo para que a sirene do alarme dispare e permaneça ativa é manter a entrada SET do FF no nível lógico 1”. (0,5 ponto) A.9) Em um FF com clock, o que significa o termo disparado por transição? (0,5 ponto) A.10) Descreva o funcionamento de um FF R-S (NAND) disparado por transição 20 negativa. (0,5 ponto) A.11) Um FF R-S (NOR) utiliza um sinal de clock com transições de subida a cada 6 µs. Supondo que no instante t=0 s tem-se uma transição de subida e que no instante t=34 µs tem-se os níveis lógicos S=1 e R=1 para as entradas, pode-se afirmar que há erro lógico no instante t=34 µs? Justifique. (0,5 ponto) parte bB.1) As formas de ondas da figura abaixo são aplicadas nas entradas de um latch NAND. Considere que inicialmente Q=0 e determine a forma de onda de Q. (0,5 ponto) B.2) As formas de ondas da figura abaixo são aplicadas nas entradas de um latch NOR. Considere que inicialmente Q=0 e determine a forma de onda de Q. (0,5 ponto) B.3) A figura abaixo mostra um circuito simples que pode ser usado para detectar a interrupção de um feixe de luz. A luz é focalizada em um fototransistor, que está configurado na configuração emissor comum para operar como uma chave. Suponha que o Latch foi limpo previamente e que a chave SW1 encontra-se fechada. Com base nessas informações, descreva o que acontece se o feixe de luz for momentaneamente interrompido. Justifique. (0,5 ponto) 21 B.4) No circuito abaixo, ao se trocar as posições das chaves A e B, os níveis lógicos das saídas XA e XB se alteram. Baseando-se neste circuito, complete a tabela indicada a seguir. (1 ponto) Instantes t1 t2 t3 t4 t5 Posição da A B B A B Nível 1 1 0 1 0 chave lógico de D 22 Nível lógico de XA Nível lógico de XB B.5) Obtenha a forma de onda da saída normal do FF descrito abaixo. Assumir Qi=0. (0,5 ponto) B.6) Suponha que as formas de onda da Figura a) estão conectadas ao circuito da Figura b). Determinar a forma de onda de Q. Assumir Qi=0. (0,5 ponto) B.7) Obter a forma de onda de Q para as entradas abaixo. (0,5 ponto) 23 B.8) Para o FF descrito, obter a forma de onda da saída INVERTIDA. Assumir Qi=1. (0,5 ponto) FF JK e D 1) Qual é a diferença entre um Flip-Flop J-K e um R-S? 2) Explique o funcionamento de um Flip-Flop D. 3) Em um FF D, a saída será igual a entrada D em todos os instantes? 4) Faça um desenho esquemático de um contador de módulo 32. No diagrama deve conter as indicações de onde é aplicado o sinal de clock de entrada e onde é a saída 24 cuja frequência está dividida. 5) Para o FF indicado na Figura (a), obtenha a forma de onda de sua saída para as entradas indicadas na Figura (b). Considere Qi=1. (a) (b) 6) Um sinal de clock de 20 kHz é aplicado a um FF J-K com J=K=1. Qual é a frequência do sinal de saída do FF? 7) Quantos FFs são necessários para construir um contador que seja capaz de contar de 0 a 25510? 8) Se um contador começa em 000000, o mesmo divide a frequência do clock de entrada por quanto? 9) Considerando um FF D disparado na transição negativa do clock, determine a forma de onda da saída INVERTIDA para as entradas descritas abaixo. Consdere Qi=0. 25