Baixe o app para aproveitar ainda mais
Prévia do material em texto
FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 29 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Apostila de Teoria Disciplina Eletrônica Digital I Curso de Autotrônica – FATEC Santo André/SP Apostila Elaborada a partir da Bibliografia Básica do curso Sistemas Digitais – Princípios e Aplicações Ronald J. TOCCI & Neal S. WIDMER 8ª Edição – Editora Prentice Hall Capítulo 1 – Apresentação de Sistemas Digitais FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 30 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 1.1 – Introdução No mundo atual, o termo digital tornou-se parte integrante do vocabulário do dia a dia. Atualmente, tem-se a transmissão de dados de internet ou telefonia através de linhas de fibra óptica, a transmissão dos canais de televisão é dada através de um sistema digital, as músicas que são reproduzidas atualmente em formato digital (MP3, DVD, CD, Blue Ray Disc, etc), enquanto antigamente utilizava-se fita cassete ou disco de vinil, entre outros. Dessa forma, o estudo da eletrônica digital tornou-se um item de fundamental importância nos cursos técnicos, tecnológicos e nas engenharias. O objetivo desse capítulo é de apresentar alguns conceitos básicos e fundamentais para o estudo de eletrônica digital. 1.2 – Representação Digital x Representação Analógica Um sistema analógico contém dispositivos que podem manipular quantidades físicas que são representadas de forma analógica. Na representação analógica, o valor de uma quantidade é proporcional ao valor de uma grandeza que assume valores distintos ao logo do tempo. Já no sistema digital, tem-se uma combinação de dispositivos projetados para lidar com informações lógicas ou com quantidades físicas representadas de forma digital. Na representação digital, os valores são representados por uma grandeza capaz de assumir dois valores distintos, chamados de níveis lógicos, que podem ser o nível lógico alto e o nível lógico baixo. Uma crescente maioria das aplicações na eletrônica, bem como em muitas outras áreas, utilizam técnicas digitais para realizar operações anteriormente realizadas de forma analógica. As principais razões dessa mudança são: • Facilidade no projeto de sistemas digitais, que geralmente são mais simples que os sistemas analógicos; • Facilidade no armazenamento de informações; • Maior exatidão e precisão; • Possibilidade na programação das operações; FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 31 FA FA EC EC Mauá Mauá FA FA EC EC Santo André • Maior imunidade a ruídos do que os circuitos analógicos; • Possibilidade de alocação de vários circuitos digitais em um único circuito integrado. 1.3 – O Sistema de Numeração Decimal (Base 10) Muitos sistemas de numeração são usados na tecnologia digital, onde o mais comum deles talvez seja o sistema decimal. Ele é composto de 10 algarismos ou símbolos, onde através da combinação desses símbolos, é possível representar ou expressar qualquer quantidade. O sistema decimal é também chamado de sistema de base 10, porque possui 10 dígitos e evoluiu naturalmente do fato das pessoas possuírem 10 dedos nas mãos. O sistema decimal é um sistema de valor posicional, isto é, é um sistema no qual o valor do dígito depende de sua posição. Por exemplo, considerando o número 453, tem-se que o dígito 4 representa 4 centenas, o dígito 5 representa 5 dezenas e o dígito 3 representa 3 unidades. Sendo assim, o dígito 4 é o que possui o maior peso entre os três e a partir desse momento e ao longo do curso, toda vez que desejar-se representar o maior peso de um dígito, será associado a esse dígito a nomenclatura MSD – Most Significant Digit, ou seja, digito mais significativo. Da mesma forma, o dígito 3 representa o menor peso entre os três dígitos, e, analogamente ao MSD, a representação do menor peso de um dígito, será associado a nomenclatura LSD – Least Significant Digit. 1.4 – O Sistema de Numeração Binária (Base 2) Infelizmente, o sistema de numeração decimal não é o sistema mais adequado para a utilização em sistemas digitais. Fica bastante óbvio falar isso, pois seriam necessários 10 níveis diferentes de tensão para conseguir representar a numeração binária. Porém, o sistema de numeração binária utiliza apenas dois níveis lógicos para a sua representação (nível lógico alto e nível lógico baixo), o que é FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 32 FA FA EC EC Mauá Mauá FA FA EC EC Santo André perfeitamente possível de ser desenvolvido na prática e de uma forma muito mais fácil de ser obtido. No sistema binário, existem apenas dois símbolos, como já comentado anteriormente, que são os dígitos 0 e 1. Ainda assim, é possível que qualquer outro sistema de numeração seja representado através do sistema binário, estudo esse que será desenvolvido no capítulo 2. 1.5 – O Sistema de Numeração Octal (Base 8) O sistema de numeração octal é um sistema de numeração muito importante no trabalho com computadores digitais. A sua base de representação é de 8 dígitos, ou seja, existem 8 diferentes possibilidades de representação. As posições dos dígitos em um número octal têm pesos como segue: 84 83 82 81 80, 8-1 8-2 8-3 8-4 8-5 O maior dígito possível em um sistema octal é 7, portanto os dígitos são incrementados de 0 a 7. Dessa forma, uma vez alcançado o 7, retorna-se para o 0 na próxima contagem, provocando o incremento da próxima posição do dígito mais alto. Por exemplo: 65, 66, 67, 70, 71, 72, 73, 74, 75, 76, 77, 100. 1.6 – O Sistema de Numeração Hexadecimal (Base 16) O sistema de numeração em hexadecimal utiliza a base 16, e da mesma forma como nos sistemas anteriores, possui 16 símbolos diferentes e possíveis para representações. Esse sistema utiliza os dígitos de 0 a 9, mais as letras A, B, C, D, E e F, que representam na verdade os valores decimais de 10 a 15. Outra observação importante, e que será estudada com mais detalhes no capítulo 2, é que, cada dígito em hexadecimal é representado por um grupo de quatro dígitos binários. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 33 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 1.7 – Integração entre Sistemas: Os conversores A/D e D/A Uma grande desvantagem do sistema digital é que o mundo real é totalmente analógico, pois a maioria das grandezas e das quantidades físicas são originalmente analógicas (ex. temperatura, velocidade, pressão, tempo, etc). Sendo assim, como é possível existir a troca de informações entre sistemas digitais e sistemas analógicos ? A resposta para a pergunta acima é respondida através da utilização do conversor analógico/digital (A/D) e do conversor digital/analógico (D/A). Em sua grande maioria, o processamento das informações é realizado no formato digital por computadores ou micro controladores, utilizando um sinal de entrada,geralmente analógico, proveniente de um sensor, que deve ser convertido para o formato digital. Daí a necessidade do conversor A/D. Da mesma forma, quando os dados processados devem retornar ao processo de forma analógica, ou seja, da mesma forma em que foram obtidos. Daí a necessidade da utilização do conversor D/A para o fornecimento dos dados processados para o sistema. A Figura 1.1 ilustra o fato apresentado anteriormente, com a representação de um sistema de controle de temperatura. Figura 1.1 – Sistema de Controle de Temperatura Capítulo 2 – Sistemas de Numeração 2.1 – Introdução O sistema de numeração é um item de fundamental importância para o aluno que está iniciando na eletrônica digital, assim como a lei de ohm é um dos itens mais importantes para o estudo na eletrônica analógica. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 34 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Sendo assim, iremos concentrar o nosso estudo nos sistemas de numeração mais utilizados em eletrônica digital, bem como as suas respectivas conversões. Os sistemas de numeração a ser estudados serão: • Sistema de numeração binário (base 2) • Sistema de numeração decimal (base 10) • Sistema de numeração hexadecimal (base 16) • Sistema de numeração octal (base 8) O sistema decimal é utilizado por nós no dia-a-dia e é, sem dúvida, o mais importante dos sistemas numéricos. Trata-se de um sistema que possui dez algarismos, com os quis podemos formar qualquer número, através da lei de formação. Já os outros sistemas (binário, o octal e hexadecimal) são muito importantes na área de técnicas digitais e computação. No decorrer do estudo, perceber-se-á a ligação existente entre circuitos lógicos e estes sistemas de numeração. Existe também a representação BCD, que é facilmente confundida com outro sistema de numeração, o que não é verdade. A representação BCD é muito similar a binária, porém com algumas resalvas. Na verdade, o código BCD é apenas uma representação decimal com cada dígito equivalente com o seu binário puro. O código binário puro considera o número decimal completo e o representa em binário. Para facilitar o estudo ao logo do curso de sistemas digitais, e também no decorrer desse capítulo, a tabela 1.1 a seguir ilustra as diversas bases apresentadas, relacionando-as com a base decimal, que é a mais comum e utilizada no dia a dia. Observe o a representação da última coluna, que é a BCD, comparando-a com a binária. Tabela 2.1 – Representações Numéricas em Sistemas Digitais Decimal Binário Octal Hexadecimal BCD 0 0000 0 0 0000 1 0001 1 1 0001 2 0010 2 2 0010 3 0011 3 3 0011 4 0100 4 4 0100 FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 35 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 5 0101 5 5 0101 6 0110 6 6 0110 7 0111 7 7 0111 8 1000 10 8 1000 9 1001 11 9 1001 10 1010 12 A 0001 0000 11 1011 13 B 0001 0001 12 1100 14 C 0001 0010 13 1101 15 D 0001 0011 14 1110 16 E 0001 0100 15 1111 17 F 0001 0101 2.2 – Conversões dos Sistemas Binário para Decimal e Decimal para Binário 2.2.1 – A Conversão Binário para Decimal O sistema de numeração binário é um sistema posicional em que cada dígito binário (bit) tem um certo peso de acordo com a sua posição relativa ao seu bit menos significativo (LSB – Less Significative Bit). Qualquer número binário pode ser convertido para o seu equivalente decimal simplesmente somando-se os pesos das várias posições que contiverem 1 no número binário. Veja o exemplo a seguir, onde deseja-se converter o número binário 11011 para decimal: 4 3 2 1 0 11011 1 2 1 2 0 2 1 2 1 2 16 8 0 2 1 27 Binário x x x x x Decimal → + + + + = + + + + = → 2.2.2 – A Conversão Decimal para Binário A forma mais utilizada para a conversão de números decimais para binário é a técnica da divisão sucessiva. Essa técnica utiliza divisões sucessivas por dois, que é a base de numeração do sistema binário. A conversão requer repetidas divisões por 2 até que o quociente obtido seja igual a zero. Para ilustrar, observe o exemplo a seguir, onde se deseja converter o número 25 no seu respectivo binário: FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 36 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 2.2.3– Faixas de Contagem Quando são utilizados N bits para a representação de um número, é possível que sejam contados 2N decimais diferentes, variando desde 0 até 2N-1. Por exemplo, para N=4, é possível realizar contagens desde 00002 até 11112, ou seja, desde 010 até 1510, totalizando 16 números diferentes. 2.3 – Conversões dos Sistemas Octal para Decimal, Decimal para Octal, Octal para Binário e Binário para Octal 2.3.1 – A Conversão Octal para Decimal Um número octal pode ser facilmente convertido para o seu equivalente decimal, multiplicando-se cada dígito pelo seu peso posicional. Observe os exemplos a seguir: FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 37 FA FA EC EC Mauá Mauá FA FA EC EC Santo André ( ) 8 2 1 0 10 8 1 0 1 10 372 3 8 7 8 2 8 3 64 7 8 2 1 250 24,6 2 8 4 8 6 8 2 8 4 1 ,6 0.125 20,75 Octal x x x x x x Decimal Octal x x x x x x Decimal− → + + = + + = → → + + = + = → 2.3.2 – A Conversão Decimal para Octal Novamente, assim como foi realizada a conversão de decimal para binário, utilizando a técnica de divisões inteiras sucessivas, a conversão decimal para octal utilizará da mesma técnica, porém ao invés da divisão sucessiva por 2, será utilizada a divisão sucessiva por 8, como é possível de observar no exemplo a seguir. Observe que o primeiro resto se torna o dígito menos significativo do número octal, enquanto o último resto se torna o dígito mais significativo do número octal. Observação Importante: ao utilizar uma calculadora para facilitar os cálculos, o resultado apresentado será um número fracionário, e não um número inteiro com um resto. O resto pode ser obtido, multiplicando apenas a parte fracionária por 8, que é a base da conversão. No exemplo acima, dividindo 266 por 8, tem-se como resultado 33,25. Dessa forma, o resto é igual a 0,25 x 8, igualando a 2. Analogamente, 33 dividido por 8, tem-se 4,125 e o resto é obtido através da multiplicação de 0,125 x 8, encontrando como resposta 1. 2.3.3 – A Conversão Octal para Binário FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 38 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Uma grande vantagem da utilização do sistema de numeração octal é a facilidade com que as conversões podem ser feitas entre os números binários e octais. A conversão de octal para binário é realizada convertendo-se CADA dígito octal nos três bits binários equivalentes. Dessa forma, é possível obter oito grupos de três bits cada um, para a representação de todos os dígitos octais em binário, conforme a Tabela 2.2 a seguir ilustra: Tabela 2.2– Representação Octal e o Correspondente em Binário Dígito Octal 0 1 2 3 4 5 6 7 Equivalente Binário 000 001 010 011 100 101 110 111 Exemplo: deseja-se converter o número 4728 para binário, utilizando os calores correspondentes apresentados pela Tabela 2.2: 2.3.4 – A Conversão Binário para Octal A conversão de números binários para octal é realizada simplesmente realizando o processo anterior de forma inversa, ou seja, os bits do número binário são agrupados em grupos de três bits, iniciando-se pelo LSB. Dessa forma, cada grupo é convertido para o seu equivalente em octal, usando novamente a Tabela 2.2 como ferramenta de apoio as conversões. Caso o número binário não possua grupos completos de três bits, basta que seja adicionado um ou dois zeros a esquerda do bit mais significativo (MSB) do número binário para preencher o último grupo. Observe os exemplos a seguir, onde se deseja a conversão de 1001110102 e de 11010110 para octal: FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 39 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 2.4 – Conversões dos Sistemas Hexadecimal para Decimal, Decimal para Hexadecimal, Hexadecimal para Binário e Binário para Hexadecimal 2.4.1 – A Conversão Hexadecimal para Decimal Um número hexadecimal pode ser convertido para o seu equivalente decimal lembrando que dígito hexa tem um peso que é uma potência de 16. O LSD tem um peso de 160=1; a próxima posição de digito tem peso 161=16; a próxima posição tem peso igual a 162=256 e assim por diante. Observe o exemplo a seguir, realizando a conversão dos números 35616 e 2AF16 para a base decimal: 16 2 1 0 10 16 2 1 0 10 356 3 16 5 16 6 16 3 256 5 16 6 1 854 2 2 16 10 16 15 16 2 256 10 16 15 1 687 → + + = + + = → → + + = + + = → Hexadecimal x x x x x x Decimal AF Hexadecimal x x x x x x Decimal 2.4.2 – A Conversão Decimal para Hexadecimal Relembrando as outras conversões que já foram desenvolvidas até agora utilizando divisões sucessivas, a decimal para binário (divisões sucessivas por 2), a decimal para octal (divisões sucessivas por 8), a conversão de decimal para hexadecimal seguirá a mesma linha de raciocínio, porém agora, com divisões sucessivas por 16. Observe os exemplos a seguir, onde são realizadas as conversões dos números 42310 e 21410 para hexadecimal: FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 40 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 2.4.3 – A Conversão Hexadecimal para Binário Assim como no sistema octal de numeração, o sistema hexadecimal é usado principalmente como uma forma mais compacta de representação de números binários. O processo de conversão de um número hexa para binário é simples, bastando converter cada dígito em hexa para o seu correspondente em binário com quatro bits. Observe o exemplo a seguir, onde é ilustrada a conversão do número 9F216 para binário. 2.4.2 – A Conversão Binário para Hexadecimal A conversão de binário para hexadecimal é apenas o inverso do processo descrito anteriormente. O número binário é reunido em grupos de quatro bits a partir do bit menos significativo (LSD) e cada grupo é convertido para o seu hexadecimal equivalente. Zeros poderão ser adicionados a esquerda do dígito binário mais significativo (MSD). De modo a realizar estas conversões entre hexa e binário, é necessário saber a equivalência entre os números binários de quatro bits (0000 a 1111) e os dígitos hexadecimais. Observe no exemplo a seguir a conversão do número 11101001102 para o seu equivalente em hexadecimal. 2.5 – Exercícios de Fixação FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 41 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 1- Realize as conversões dos números binários a seguir para decimal: a) 101102 b) 100011012 c) 1001000010012 d) 11110101112 e) 101111112 2- Converta os seguintes números decimais para o seu respectivo em binário: a) 3710 b) 1410 c) 18910 d) 20510 e) 231310 f) 51110 3- Converta cada um dos números octais abaixo para o seu equivalente em decimal: a) 7438 b) 368 c) 37778 d) 2578 e) 12048 4- Converta cada um dos números decimais abaixo para o seu equivalente em octal: a) 5910 b) 37210 c) 91910 FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 42 FA FA EC EC Mauá Mauá FA FA EC EC Santo André d) 6553610 e) 25510 5- Realize a conversão de cada um dos números abaixo expressos em hexadecimal para o seu equivalente em decimal: a) 9216 b) 1A616 c) 37FD16 d) 2C016 e) 7FF16 6- Converta os seguintes números em decimal para hexadecimal: a) 7510 b) 31410 c) 204810 d) 2561910 e) 409510 Capítulo 3 – Portas Lógicas e Álgebra Booleana 3.1 – Introdução Conforme já foi visto em capítulos anteriores, os circuitos digitais operam de modo binário onde cada tensão de saída ou entrada tem valor igual a 0 ou a 1, que representam intervalos de tensão pré-definidos. Esta característica dos circuitos digitais permite que seja utilizada a álgebra de boole, desenvolvida pelo matemático George Boole (1845-1864) para o estudo da lógica. A álgebra booleana é uma ferramenta de análise e projetos de circuitos digitais, que permite a escrita das relações entre a saída e as entradas de um circuito através de uma equação, conhecida como expressão booleana. Nesse capítulo será estudado as diferentes portas lógicas usadas em eletrônica digital, bem como as suas características. Também será definido o conceito de variáveis booleanas, tabelas verdades e implementação de expressões FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 43 FA FA EC EC Mauá Mauá FA FA EC EC Santo André booleanas em circuitos. Algumas técnicas de simplificações de expressões também serão estudadas. 3.2 – Constantes, Variáveis Booleanas e Tabelas Verdades Na álgebra booleana, as constantes e as variáveis possuem apenas dois valores permitidos, 0 ou 1. As variáveis booleanas são usadas geralmente para representar o nível de tensão presente nas ligações ou nos terminais de entrada/saída do circuito. Já a tabela verdade, é uma maneira de descrever como a saída de um circuito lógico depende dos níveis lógicos presentes nas entradas do circuito. A tabela relaciona todas as combinações possíveis dos níveis lógicos presentes nas entradas. O número de combinações possíveis, gerando o tamanho final da tabela verdade, é dado em função de 2N, onde N é o número de entradas. A Figura 3.1 a seguir mostra alguns exemplos de tabelas verdade, com duas entradas (a), três entradas (b) e quatro entradas (c). Figura 3.1 – Exemplos de Tabelas Verdades 3.3 – As Operações Lógicas 3.3.1 – A Operação OR FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica DisciplinaEletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 44 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Em circuitos digitais, uma porta OR é um circuito que possui duas ou mais entradas e cuja saída é igual à combinação dessas entradas através da operação booleana OR. A expressão booleana para a operação OR é dada por: = +X A B , onde X é a saída do circuito; A e B são as entradas A Figura 3.2 a seguir mostra a tabela verdade da porta lógica OR de duas entradas (a) e também o símbolo utilizado para a sua representação (b). Figura 3.2 – Porta lógica OR de duas entradas Figura 3.3 – Porta lógica OR de três entradas Observando as Figuras 3.2 e 3.3 anteriores, é possível elaborar um pequeno resumo de funcionamento e operação da porta lógica OR: • A operação OR produz 1 como resultado lógico quando QUALQUER uma das variáveis de entrada for igual a 1; • A operação OR produz 0 como resultado lógico somente quando TODAS as variáveis de entrada forem iguais a 0; FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 45 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Existe ainda outra forma de representação das operações lógicas realizadas por um circuito é através da apresentação do seu diagrama temporal, conforme é possível de ser observado pela Figura 3.4 a seguir. Nela estão representadas as entradas A e B da porta lógica OR, bem como a sua saída em função do tempo. Figura 3.4 – Diagrama de tempos da Porta Lógica OR de duas entradas 3.3.2 – A Operação AND Em circuitos digitais, uma porta AND é um circuito que possui duas ou mais entradas e cuja saída é igual à combinação dessas entradas através da operação booleana AND. A expressão booleana para a operação AND é dada por: *=X A B , onde X é a saída do circuito; A e B são as entradas A Figura 3.5 a seguir mostra a tabela verdade da porta lógica AND de duas entradas (a) e também o símbolo utilizado para a sua representação (b). Figura 3.5 – Porta lógica AND de duas entradas FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 46 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Figura 3.6 – Porta lógica AND de três entradas Observando as Figuras 3.5 e 3.6 anteriores, é possível elaborar um pequeno resumo de funcionamento e operação da porta lógica AND: • A operação AND produz 1 como resultado lógico somente quando TODAS as variáveis de entrada forem iguais a 1; • A operação AND produz 0 como resultado lógico quando QUALQUER uma das variáveis de entrada for igual a 0; Assim como na porta lógica OR, existe ainda outra forma de representação das operações lógicas realizadas por um circuito é através da apresentação do seu diagrama temporal, conforme é possível de ser observado pela Figura 3.7 a seguir. Nela estão representadas as entradas A e B da porta lógica AND, bem como a sua saída em função do tempo. Figura 3.7 – Diagrama de tempos da Porta Lógica AND de duas entradas 3.3.3 – A Operação NOT FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 47 FA FA EC EC Mauá Mauá FA FA EC EC Santo André A operação lógica NOT, ao contrário das anteriores, é realizada utilizando apenas uma única entrada. Por exemplo, se a variável A é sujeita à operação NOT, a saída X pode ser expressa como: __ =X A , onde X é a saída do circuito; A é a entrada A Figura 3.8 a seguir mostra a tabela verdade da porta lógica NOT (a), o símbolo utilizado para a sua representação (b) e também a sua carta de tempo (c). Figura 3.8 – Porta Lógica NOT 3.4 – Combinando Portas Lógicas: As Portas Lógicas NOR e NAND Existem outros dois tipos de portas lógicas, além das três já apresentadas anteriormente. Na verdade, estas portas nada mais são que combinações das portas já estudadas anteriormente. Por exemplo, a porta NAND é a combinação da porta AND com a porta NOT, assim como a porta NOR é a combinação da porta OR com a porta NOT. 3.4.1 – A Porta Lógica NAND A porta NAND tem o seu funcionamento e simbologia muito semelhante à porta AND. O seu símbolo difere da porta AND apenas pelo pequeno círculo existente em sua saída, representando uma operação de inversão. Além disso, a saída da porta NAND é exatamente o inverso da saída da porta AND, como é possível observar na Figura 3.14. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 48 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Figura 3.9 – Porta Lógica NAND Figura 3.10 – Diagrama de Tempo da Porta Lógica NAND 3.4.2 – A Porta Lógica NOR A porta NOR tem o seu funcionamento e simbologia muito semelhante à porta OR. O seu símbolo difere da porta OR, assim como na porta NAND, apenas pelo pequeno círculo existente em sua saída, representando uma operação de inversão. Além disso, a saída da porta NOR é exatamente o inverso da saída da porta OR, como é possível observar na Figura 3.16. Figura 3.11 – Porta Lógica NOR FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 49 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Figura 3.12 – Diagrama de Tempo da Porta Lógica NOR OBSERVAÇÃO IMPORTANTE: Observe o circuito da Figura 3.13 a seguir, onde o diagrama do circuito lógico, bem como a sua expressão booleana podem ser vistos. A presença de dois sinais de inversão indica que a expressão (A+B+C) foi invertida e depois, invertida novamente, não alterando o resultado da expressão original. Figura 3.13 – Exemplo de dupla inversão Dessa forma, sempre que duas barras de inversão estiverem sobre uma mesma variável ou expressão, elas se cancelam, como no exemplo apresentado. Porém, observe agora a situação e a posição das barras na expressão a seguir. ________ __ __ = +X A B Nesse caso em particular, as barras não são canceladas, pois as barras de inversão menores simplesmente invertem individualmente as variáveis A e B, enquanto a barra maior inverte toda a expressão, ou seja: ________ __ __ + ≠ +A B A B FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 50 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 3.5 – Outras Portas Lógicas: As Portas Lógicas XOR e XNOR Duas outras portas lógicas, além das já apresentadas anteriormente, aparecem muitas vezes em sistemas digitais, que são as portas exclusive-OR e exclusive-NOR. Na verdade, as portas lógicas aqui apresentadas, são uma combinação de outras portas lógicas já estudadas, obtendo uma expressão lógica de saída, que estudaremos mais adiante como a obtemos e executamos. 3.5.1 – Exclusive-OR (XOR) A porta XOR é uma porta que produz nível lógico alto para a sua saída sempre que as duas entradas estiverem em níveis lógicos opostos, ou seja, quando A está em nível lógico alto, B deve estar em nível lógico baixo paraproduzir nível lógico alto de saída. Figura 3.14 – Circuito Lógico da Porta XOR, a sua Tabela Verdade e o seu Símbolo 3.5.2 – Exclusive-NOR (XNOR) FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 51 FA FA EC EC Mauá Mauá FA FA EC EC Santo André A porta XNOR é uma porta que opera de forma completamente oposta a porta apresentada anteriormente, ou seja, produz nível lógico alto para a sua saída sempre que as duas entradas estiverem em níveis lógicos iguais, ou seja, quando A está em nível lógico alto, B deve estar em nível lógico alto para produzir nível lógico alto de saída. Figura 3.15 – Circuito Lógico da Porta XNOR, a sua Tabela Verdade e o seu Símbolo 3.5 – Descrevendo os Circuitos Lógicos Algebricamente Qualquer circuito lógico, independentemente de sua complexidade, pode ser completamente descrito usando as operações booleanas previamente definidas anteriormente, pois as portas AND, OR e NOT são os blocos básicos para a construção de sistemas digitais. Considerando como exemplo o circuito apresentando pela Figura 3.16 a seguir, observa-se a presença de 3 entradas: A, B e C, com uma única saída, X. Usando as expressões booleanas de cada uma das portas lógicas envolvidas no circuito, facilmente chega-se a conclusão de que a saída X é igual a (A*B)+C. Figura 3.16 – Circuito Lógico com a sua Respectiva Função Booleana FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 52 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Outro exemplo pode ser observado pela análise da Figura 3.17, onde as mesmas entradas A, B, C são combinadas de forma diferente, produzindo a saída X igual a (A+B)*C. Figura 3.17 – Outro Circuito Lógico com a sua Respectiva Função Booleana Ao acrescentar uma porta lógica NOT em um diagrama de circuitos lógicos, a expressão para a sua saída é simplesmente igual à expressão de entrada com uma barra sobre ela. Observe a Figura 3.18, onde são apresentados dois exemplos usando a porta lógica NOT. Figura 3.18 – Circuito Lógico usando a porta NOT Dessa forma, tem-se no primeiro circuito (a), uma inversão da variável de entrada A, gerando /A antes de ser efetuada a operação lógica OR com a variável B. Analogamente, o segundo circuito, após a operação lógica OR ter sido executada, a saída X é invertida, gerando /(A+B). A Figura 3.19 ilustra mais dois exemplos que devem ser estudados com atenção. Observe os conjuntos de parênteses utilizados em separados para obter a correta expressão lógica de saída X. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 53 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Figura 3.19 – Outros Exemplos de Utilização da porta NOT 3.5 – Implementando de Circuitos Lógicos a Partir de Expressões Booleanas Se a operação de um circuito lógico é definida por meio de uma expressão booleana, então um diagrama do circuito lógico pode ser implementado diretamente a partir dessa expressão. Por exemplo, deseja-se implementar e colocar em funcionamento, um circuito lógico que descreva a expressão booleana dada por X=A*B*C. Obviamente, fica claro que seria necessário apenas uma porta lógica AND de três entradas. Observe agora o exemplo apresentado pela Figura 3.20, onde se deseja implementar um circuito lógico que representa a seguinte equação booleana: ( ) __ * *⎛ ⎞= + ⎜ ⎟⎝ ⎠ X A B B C FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 54 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Figura 3.20 – Circuito Lógico para a Expressão Descrita 3.7 – Teoremas da Álgebra Booleana Dando seqüência ao estudo da álgebra booleana, serão apresentados alguns teoremas booleanos que serão de grande valia para auxiliar na análise de um circuito lógico ou na simplificação de uma expressão booleana. Para tal, esses teoremas serão divididos em dois grupos em função do seu número de variáveis, e estudados individualmente. 3.7.1 – Teoremas de uma Variável A Figura 3.21 mostra os 8 teoremas de uma única variável, juntamente com um exemplo provando o exposto em cada um dos oito itens. Figura 3.21 – Teoremas de uma Variável da Álgebra Booleana 3.7.2 – Teoremas com mais de uma Variável Os teoremas a seguir envolvem o uso de mais de uma variável. Alguns deles são semelhantes aos teoremas da álgebra comum, porém alguns deles envolvem algumas particularidades que exigem um pouco de atenção do leitor. Os teoremas (9) e (10) são conhecidos como leis da comutatividade, onde determinam que a ordem em que as operações AND e OR são executadas não são importantes, pois o resultado é o mesmo. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 55 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Os teoremas (11) e (12) são conhecidos como leis da associatividade e afirmam que é possível agrupar as variáveis de expressões do tipo AND ou OR de qualquer forma. Já o teorema (13) é conhecido como lei da distributividade, afirmando que uma expressão pode ser expandida multiplicando-se termo a termo, do mesmo modo que é feito na álgebra comum. Esse teorema também afirma que podemos fatorar uma expressão qualquer, colocando uma variável em evidência. ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) __ 9 10 * * 11 12 * * * * * * 13 * * * 13 * * * * * 14 * 15 * → + = + → = → + + = + + = + + → = = → + = + → + + = + + + → + = ⎛ ⎞→ + = +⎜ ⎟⎝ ⎠ X Y Y X X Y Y X X Y Z X Y Z X Y Z X Y Z X Y Z X Y Z a X Y Z X Y X Z b W X Y Z W Y X Y W Z X Z X X Y X X X Y X Y Os teoremas (14) e (15), diferentemente dos anteriores, não possuem correspondentes na álgebra comum, e por isso são um pouco mais difíceis de serem lembrados. Porém, basta que o leitor forneça valores adequados para X e Y para verificar a veracidade do exposto nos itens apresentados. 3.7.3 – Teoremas de DeMorgan FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 56 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Tão importantes como os 15 outros teoremas apresentados anteriormente, os teoremas de DeMorgan são extremamente importantes e úteis para simplificar expressões nas quais a soma (OR), ou produto (AND) das variáveis é invertido, ou seja, barrado. Os teoremas são: ( ) ( ) ( ) ( ) _________ __ __ _________ __ __ 16 * 17 * → + = → = + X Y X Y X Y X Y O teorema (16) afirma que quando uma soma OR está invertida, esta é igual ao produto AND das variáveis invertidas. Já o teorema (17) diz que quando um produto AND de duas variáveis está invertido, este é igual a uma soma OR das variáveis invertidas. 3.8 – Universalidade das Portas NAND e NOR Todas as expressões booleanas consistem em várias combinações das operações básicas OR, AND e NOT. Sendo assim,qualquer expressão pode ser implementada usando-se combinações das portas apresentadas até o presente momento. Entretanto, é possível implementar expressões lógicas utilizando apenas portas NAND, que em combinações apropriadas, podem ser usadas para representar cada uma das operações lógicas apresentadas (OR, AND e NOT), conforme é possível observar na Figura 3.22 a seguir. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 57 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Figura 3.22 – Combinações das Portas NAND para Implementar Qualquer Função Booleana De forma análoga a porta NAND, é possível observar a mesma propriedade nas portas NOR, onde também é possível a implementação de qualquer função lógica (OR, AND e NOT) usando combinações adequadas da porta em questão, conforme pode ser observado na Figura 3.23 a seguir. Figura 3.23 – Combinações das Portas NOR para Implementar Qualquer Função Booleana FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 29 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Capítulo 4 – Circuitos Lógicos Combinacionais 4.1 – Introdução Nos capítulos anteriores, foi abordado basicamente o estudo das operações das portas lógicas básicas, usando a álgebra booleana para descrição e a análise de circuitos desenvolvidos a partir de combinações de portas lógicas. Esses circuitos são conhecidos como circuitos lógicos combinacionais, onde em qualquer instante de tempo, o nível lógico da saída do circuito depende da combinação dos níveis lógicos da entrada do circuito, ou seja, não possui o efeito de retenção de informações ou de memória. A partir de agora, o estudo será dirigido e aprofundado na parte direcionada para a simplificação de circuitos lógicos, usando técnicas de álgebra booleana e de mapeamento. Além disso, será também abordado algumas técnicas de projeto de circuitos lógicos visando satisfazer requisitos previamente estabelecidos. 4.2 – Representações de Equações Lógicas 4.2.1 – Forma Soma de Produtos (Forma Canônica Disjuntiva) Os métodos de simplificação e projeto de circuitos lógicos que serão estudados exigirão que a expressão esteja na forma de soma de produtos, onde cada uma destas expressões consiste em dois ou mais termos AND que por sua vez são conectados a uma porta OR. Cada termo AND possui uma ou mais variáveis que aparecem individualmente complementadas ou não. Observe o exemplo a seguir. __ __ = +X ABC ABC A saída X é formada por uma soma de produtos de três variáveis lógicas (A, B e C), onde o primeiro grupo apresenta as variáveis na sua forma não complementar e o segundo grupo apresenta apenas as variáveis A e C complementadas (invertidas). FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 30 FA FA EC EC Mauá Mauá FA FA EC EC Santo André É importante lembrar ao leitor que o sinal de complementar deve cobrir apenas a variável em questão. 4.2.2 – Forma Produto de Somas (Forma Canônica Conjuntiva) Existe ainda outra forma de representação para expressões lógicas, conhecida como produto de somas, onde, novamente, cada das expressões lógicas são formadas com dois ou mais termos OR que por sua vez são conectados a uma porta AND. Cada termo OR possui uma ou mais variáveis que aparecem individualmente complementadas ou não. Observe o exemplo a seguir. ( ) __ __ *⎛ ⎞= + + +⎜ ⎟⎝ ⎠ X A B C A C A saída X é formada por um produto da soma de três variáveis lógicas (A, B e C) com a coma de duas variáveis lógicas complementadas (A e C), onde o primeiro grupo apresenta as variáveis na sua forma não complementar e o segundo grupo apresenta apenas as variáveis A e C complementadas (invertidas). Vale lembrar novamente, que o sinal de complementar deve cobrir apenas a variável em questão e não a operação lógica. Os métodos de simplificação e projeto a serem estudados serão usados baseados em expressões do tipo soma de produtos e não será mais utilizada daqui em diante, a forma de representação ilustrada anteriormente, que é a forma de produto de somas. 4.3 – Simplificações dos Circuitos Lógicos Uma vez obtida a expressão de um circuito lógico, é possível reduzir essa expressão a uma forma mais simples, obtendo dessa forma um menor número de termos ou variáveis na expressão. Dessa forma, com essa nova expressão, é possível utilizá-la para programar um circuito original, porém contendo um número menor de portas lógicas e conseqüentemente, um número menor de conexões. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 31 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Nas próximas seções, serão apresentados dois métodos utilizados para simplificar circuitos lógicos. Um dos métodos conhecidos como simplificação algébrica, faz uso dos teoremas da álgebra booleana e é um método bastante dependente da experiência do projetista e do estudante. Já o outro método, que é o mapa de Karnaught, utiliza uma abordagem mais sistemática, com instruções passo a passo. 4.3.1 – A Simplificação Algébrica Como já foi dito anteriormente, a técnica de simplificação algébrica utiliza os teoremas da álgebra booleana como ferramenta básica. Porém, nem sempre fica óbvio qual o teorema que deve ser aplicado de modo a produzir o resultado mais simples. Além disso, não existe um modo fácil de constatar se a expressão obtida está em sua forma mais simples ou se poderia ser ainda mais simplificada. Dessa forma, esse método freqüentemente se torna um processo de tentativa e erro, mas que com a experiência, é possível de se obter bons resultados. Os exemplos a seguir ilustram diferentes formas de utilização dos teoremas booleanos e também, dois passos essenciais que se repetem: 1. A expressão original é colocada sob a forma de soma de produtos pela aplicação repetitiva dos teoremas de DeMorgan e pela multiplicação de termos; 2. Uma vez que a expressão original esteja nesta forma, os termos produto são verificados quanto a fatores comuns, realizando-se a fatoração sempre que possível, resultando quase sempre na eliminação de um ou mais termos. Exemplo 1: Simplificar a expressão a seguir e projetar o seu circuito lógico reduzido. _______ __ __ __ * * * * * ⎛ ⎞⎛ ⎞ ⎜ ⎟= + ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ Z A B C A B A C FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 32 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 1º Passo: Aplicação do teorema de DeMorgan (teorema 17) ( ) ___ ___ __ __ __ __ __ __ __ __ * * * * * * ⎛ ⎞⎛ ⎞ ⎛ ⎞⎜ ⎟= + + → + + →⎜ ⎟ ⎜ ⎟⎜ ⎟⎝ ⎠ ⎝ ⎠⎝ ⎠ → + + → + + Z A B C A B A C ABC A B A C ABC AB A ABC ABC AB ABC 2º Passo: A partir da última expressão obtida acima, que agora se apresenta sob a forma de soma de produtos, deve-se procurar fatorar os elementos, eliminando assim os termos em comum ( ) __ __ __ __ __ * * 1 * ⎛ ⎞= + + → + →⎜ ⎟⎝ ⎠ → + → ⎛ ⎞∴ = +⎜ ⎟⎝ ⎠ Z AC B B AB AC AB AC AB Z A C BFigura 4.1 – Circuito original (a) x Circuito minimizado (b) FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 33 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Exemplo 2: Simplificar a expressão a seguir e projetar o seu circuito lógico reduzido. __ __ __ __ __ __ __ __ __ __ * 0 0 ⎛ ⎞ ⎛ ⎞= + + → + + + →⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ = = ∴ = + Z A B A B A A AB BA B B A A B B Z AB AB Figura 4.2 – Circuito original (a) x Circuito minimizado (b) 4.3.2 – A Simplificação por Mapa de Karnaugh O mapa de Karnaugh é um método gráfico usado para simplificar uma equação lógica ou para converter uma tabela verdade no seu circuito lógico correspondente. Apesar da técnica a ser apresentada pode ser utilizada em sistemas que possuam qualquer número de variáveis, por simplicidade e facilidade no desenvolvimento, serão limitados nos exemplos problemas com até quatro variáveis de entrada, pois problemas que apresentam um número maior de variáveis têm-se a sua resolução demasiadamente complicada. O mapa de Karnaugh é um método de mostrar a relação entre as suas entradas e suas saídas, semelhante a tabela verdade. Observe no exemplo a seguir apresentado pela Figura 4.3, o mapa de Karnaugh para duas, três e para quatro variáveis. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 34 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Figura 4.3 – Mapas de Karnaugh para duas (a), três (b) e quatro (c) variáveis Através da observação da Figura acima, alguns pontos tornam-se importantes de serem analisados e comentados: 1. A tabela verdade e o mapa de Karnaugh fornecem o valor da saída X para cada combinação de valores de entrada, porém apenas com uma forma de representação diferente. Cada linha na tabela verdade corresponde a uma célula no mapa de Karnaugh. Os pontos sombreados são os valores da saída X que estarão em nível lógico alto; 2. As células do mapa de Karnaugh são identificadas de modo que as células adjacentes horizontalmente e verticalmente se diferenciem apenas de uma variável uma da outra; FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 35 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 3. Para que as células adjacentes horizontais e verticais se diferenciem em apenas uma variável, a identificação de cima para baixo e da esquerda para a direita deve ser feita da seguinte forma: __ __ __ __ + + +AB AB AB AB 4.3.3 – O Agrupamento de Termos no Mapa de Karnaugh A expressão para a saída X pode ser simplificada combinando-se adequadamente as células no mapa de Karnaugh que contém o nível lógico 1. A esse processo é denominado de agrupamento. Observe as Figuras 4.4, 4.5 e 4.6 e as suas respectivas saídas X. Nessa Figura, são representados os agrupamentos de dois termos (ou agrupamento em pares), agrupamentos de quatro termos (ou agrupamento em quarteto) e os agrupamentos de oito termos (agrupamento em octeto). Dessa forma, ao agrupar um par de 1´s ou vários pares de 1´s adjacentes num mapa de Karnaugh, elimina-se a variável que aparece nas formas complementada e não complementada. Figura 4.4 – Mapas de Karnaugh e seus respectivos agrupamentos em pares FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 36 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Figura 4.5 – Mapas de Karnaugh e seus respectivos agrupamentos em quartetos Figura 4.6 – Mapas de Karnaugh e seus respectivos agrupamentos em octetos FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 37 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Deve ficar claro que um grupo maior de 1´s elimina mais variáveis, ou seja, um grupo de dois 1´s elimina-se uma variável; um grupo de quatro elimina-se duas variáveis; um grupo de oito elimina-se três variáveis. Sendo assim, os passos seguintes facilitarão no processo de obtenção da saída X a partir da observação das posições dos 1´s no mapa: • Passo 1: Construir o mapa de Karnaugh colocando os 1´s nas células correspondentes aos 1´s da tabela verdade do circuito. As demais células devem ser preenchidas com zeros; • Passo 2: Examinar o mapa e detectar os 1´s adjacentes e agrupar os demais 1´s não adjacentes a quaisquer outros 1´s; • Passo 3: Procurar pelos 1´s que são adjacentes a somente um outro 1. Agrupe todo par que contém tal 1; • Passo 4: Agrupe qualquer octeto, mesmo que ele contenha alguns 1´s que ainda não tenham sido combinados; • Passo 5: Agrupe qualquer quarteto que contém um ou mais 1´s que ainda não tenham sido combinados, certificando de usar o número mínimo de agrupamentos; • Passo 6: Agrupe quaisquer pares necessários para incluir quaisquer 1´s que ainda não tenham sido combinados, certificando de usar o número mínimo de agrupamentos; • Passo 7: Forme a soma OR de todos os termos gerados por cada agrupamento. Os passos descritos anteriormente são uma sugestão de desenvolvimento e obtenção da saída X minimizada, podendo o leitor criar o seu método próprio de inspeção e obtenção, desde que se chegue a mesma resposta. Os exemplos das Figuras 4.7 e 4.8 ilustram diferentes tipos de agrupamentos e as suas respectivas saídas X minimizadas. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 38 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Figura 4.7 – Mapas de Karnaugh e seus agrupamentos - 1 Figura 4.8 – Mapas de Karnaugh e seus agrupamentos - 2 FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 39 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 4.4 – Projetando Circuitos Lógicos Combinacionais Quando um nível de saída desejado de um circuito lógico é dado para todas as condições de entrada possíveis, os resultados podem ser convenientemente apresentados em uma tabela verdade. Dessa forma, é possível de se obter a partir da tabela verdade, a expressão lógica booleana que representa o funcionamento do circuito. Por exemplo, deseja-se projetar o circuito lógico a partir da tabela verdade apresentado abaixo. Observe que o sinal de saída somente vai para o nível lógico igual a 1 quando temos a entrada A complementada (nível lógico baixo) e a entrada B em nível lógico alto. Figura 4.9 – Tabela verdade e o seu respectivo circuito lógico Observe o exemplo seguinte, onde através da tabela verdade apresentada, foi projetado o circuito lógico combinacional: Figura 4.10 – Mais um exemplo da tabela verdade com o seu respectivo circuito lógico Através dos exemplos apresentados anteriormente, é possível de se apresentar um roteiro de projeto completo para a implementação do circuito lógico a partir das portas lógicas apresentadas em capítulos anteriores. FACULDADEDE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 40 FA FA EC EC Mauá Mauá FA FA EC EC Santo André • Passo 1: Montar a tabela verdade com as entradas e as possíveis saídas, indicando em quais condições a(s) saída(s) apresentam nível lógico alto, igual a 1; • Passo 2: Escrever o termo AND para cada caso onde a saída é igual a 1; • Passo 3: Escrever a expressão da soma de produtos para a saída; • Passo 4: Simplificar a expressão de saída obtida através das técnicas apresentadas anteriormente. • Passo 5: Substitua cada porta AND, porta OR e INVERSOR por portas NAND, facilitando assim o projeto final. Exemplos: 1. Projete um circuito lógico que possui três entradas, A, B e C e cuja saída vai para nível lógico ALTO somente quando a maioria das entradas está em ALTO. 2. Um conversor analógico digital está monitorando a tensão de uma bateria de 12 Volts. A saída do conversor é um número binário de quatro bits ABCD, que corresponde a tensão de saída dessa bateria em degraus de 1 em 1 Volt, sendo o A o dígito MSB. As saídas desse circuito devem produzir nível lógico alto sempre que a tensão da bateria for maior ou igual a 6 Volts, ou seja, (0110)2. Projetar o circuito lógico que realiza essa função. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 29 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Capítulo 5 – Aritmética Digital – Operações e Circuitos 5.1 – Introdução Os computadores digitais e as calculadoras realizam as várias operações aritméticas sobre os números representados no display ou monitor, na forma binária. O tópico de aritmética digital pode ser bastante complexo se desejarmos entender todos os métodos computacionais e a teoria por trás deles. Porém a abordagem que o capítulo irá se concentrar será nos princípios básicos necessários para entender como as máquinas digitais realizam as suas operações matemáticas. 5.2 – A Adição Binária A adição de dois números binários é realizada da mesma forma que a adição de números decimais, porém de uma forma mais simples. Observe a soma em decimal entre dois números, 376 + 461. A posição do dígito LSD é efetuada primeiro, produzindo a soma de 7. Os dígitos da segunda coluna são somados, produzindo resultado igual a 13, que gera um carry (vai um) de valor 1 para a coluna da terceira posição (MSB). Isso resulta numa soma igual a 8 na terceira posição. Para a adição binária, os passos seguidos são os mesmos, porém apenas quatro situações são possíveis de acontecer quando dois dígitos binários são somados, que são: 0 0 0 1 0 1 1 1 10 0 1 1 1 1 11 1 1 + = + = + = = + + + = = + carry carry FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 30 FA FA EC EC Mauá Mauá FA FA EC EC Santo André O último caso ocorre quando os dois bits de uma determinada posição são iguais a 1 e existe o carry da posição anterior. A adição de mais de dois números não será necessária ser abordada, pois em todos os sistemas digitais, as somas são executadas sempre de dois em dois números e o resultado obtido é usado para ser somado com o terceiro número, e assim por diante. Isto não é uma desvantagem séria, tendo em vista que os modernos computadores podem executar uma operação de soma em questão de nano segundos. 5.2.1 – A Representação de Números com Sinal Nos computadores digitais, os números binários são representados por um conjunto de dispositivos de armazenamento binário, onde cada dispositivo representa um bit. Por exemplo, é possível armazenar usando seis bits no sistema binário (26= 64 posições diferentes) números desde 0 até 63 em decimal. Isso representa a magnitude do número. Porém, como a maioria dos computadores e calculadoras também opera com números negativos, é necessário que seja representado esse número negativo. Isso é possível adicionando-se um bit extra chamado de bit de sinal. Figura 5.1 – Representação de números com sinal na forma sinal-magnitude Embora o sistema sinal-magnitude seja direto, calculadoras e computadores não o utilizam normalmente porque a implementação do circuito é mais complexa do que em outros sistemas. O sistema mais utilizado para a representação de números binários é o sistema de complemento de 2. A seguir, serão ilustrados as formas de se obter os complementos de 1 e de 2 de qualquer número binário. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 31 FA FA EC EC Mauá Mauá FA FA EC EC Santo André • A Forma Complemento de 1 O complemento de 1 de um número binário é obtido substituindo-se cada zero por 1 e cada um por zero. Em outras palavras, substitui-se cada bit no número binário pelo seu complemento. Observe o exemplo do número binário (101101)2 sendo complementado de 1: 1 0 0 1 1 0 1 0 0 1 1 0 → → → → → → Dessa forma, o complemento de 1 do número binário (101101)2 é igual a (010010)2. • A Forma Complemento de 2 O complemento de dois de um número binário é formado tomando-se o complemento de 1 do número binário em questão e somando-se um ao bit menos significativo (LSB) do número complementado. Observe para o mesmo número usado no exemplo anterior. 1 0 0 1 1 0 1 0 0 1 1 0 010010 1 010011 → → → → → → + → FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 32 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Dessa forma, o complemento de 2 do número binário (101101)2 é igual a (010011)2. 5.2.2 – A Representação de Números com Sinal Usando Complemento de 2 O sistema de complemento de 2 para representar números com sinal funciona do seguinte modo: • Se o número é positivo, a magnitude é representada na sua forma binária direta e um bit de sinal é colocado na frente do dígito MSB, igual a 0; • Se o número é negativo, a magnitude é representada na sua forma de complemento de 2 e um bit de sinal é colocado na frente do dígito MSB, igual a 1. Figura 5.2 – Representação de números com sinal na forma de complemento de 2 Exemplos: Número Decimal Equivalente Binário com Sinal (+13)10 (01101)2 (-9)10 (10111)2 (+3)10 (00011)2 (-2)10 (11110)2 (-8)10 (11000)2 FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 33 FA FA EC EC Mauá Mauá FA FA EC EC Santo André Existe ainda, outra opção para determinação do número decimal a partir do número binário com o sinal. Para tal, basta realizar a operação conhecida como negação, onde é possível obter o número negativo de um original positivo e vice versa. Observe o exemplo a seguir. A cada conversão do número decimal +9, é realizado o complemento de 2 e obtido o número com sinal oposto. 01001 9 2 10111 9 01001 9 → = + → = − → = + iniciar com complemento de negar novamente 5.3 – A Adição Binária no Sistemade Complemento de 2 A partir de agora, será estudada a operação de adição usando a considerando o sinal do número, positivo ou negativo. Nos vários casos que serão considerados, é importante perceber que a operação realizada sobre os bits de magnitude é também feita sobre o bit de sinal. • Caso 1: Dois Números Positivos A adição de dois números positivos é realizada de forma direta. Considere a adição do número +9 com +4, que resulta em +13. Observe que os bits de sinal são iguais (em destaque com o quadrado) e também que ambas as parcelas possuem o mesmo número de bits (4 bits). Isso SEMPRE deve ser feito em um sistema de complemento de 2. 9 0 1001 4 0 0100 ___________ 13 0 1101 + → + → + → FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 34 FA FA EC EC Mauá Mauá FA FA EC EC Santo André • Caso 2: Um Número Positivo e Outro Menor e Negativo Considere a adição do número +9 com -4, que resulta em +5. Observe que os bits de sinal são diferentes (em destaque com o quadrado) e também que ambas as parcelas possuem o mesmo número de bits (4 bits). O número -4 estará representado na sua forma de complemento de 2. 9 0 1001 4 11100 ___________ 5 0 0101 + → − → + → Existe ainda um carry de 1 resultante da soma dos bits de sinal, que será desconsiderado. • Caso 3: Um Número Positivo e Outro Maior e Negativo Considere agora a adição do número -9 com +4, que resulta em -5. Observe que os bits de sinal são diferentes (em destaque com o quadrado) e também que ambas as parcelas possuem o mesmo número de bits (4 bits). O número -9 estará representado na sua forma de complemento de 2. 9 1 0111 4 0 0100 ___________ 5 11011 − → − → − → Como o resultado da soma é negativo, ele está representado na sua forma de complemento de 2, de modo que os quatro últimos bits representam de fato o complemento de 2 do resultado. Para encontrar a magnitude verdadeira do resultado, deve-se fazer o complemento de 2 de 11011, resultado em 00101 = +5. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 35 FA FA EC EC Mauá Mauá FA FA EC EC Santo André • Caso 4: Dois Números Negativos Considere a adição do número -9 com -4, que resulta em -13. Observe que os bits de sinal são diferentes (em destaque com o quadrado) e também que ambas as parcelas possuem o mesmo número de bits (4 bits). O número -9 e o número -4 estará representado na sua forma de complemento de 2. 9 1 0111 4 11100 ___________ 13 1 0011 − → − → − → Existe ainda um carry de 1 resultante da soma dos bits de sinal, que será desconsiderado. O resultado final é novamente negativo, e fazendo o complemento de 2 do resultado, obtém-se como resultado 01101 = +13. 5.4 – A Subtração Binária no Sistema de Complemento de 2 A operação de subtração que usa o complemento de 2 na verdade envolve a operação de soma, e não é diferente dos diversos casos de adição tratados no item 5.3 anteriormente. Para efetuar a subtração de um número binário (subtraendo) de um outro número binário (minuendo), basta seguir os seguintes procedimentos: • Realizar a operação de negação do subtraendo, mudando o seu valor original para o seu equivalente com o sinal oposto; • Adicionar a esse número obtido ao minuendo, onde o resultado a ser obtido representa a diferença entre esses dois números. Mais uma vez, como eu todas as operações aritméticas em complemento de 2, é necessário que os dois números tenham o mesmo número de bits em suas representações. Para exemplificar o exposto anteriormente, observe os procedimentos utilizados para realizar a subtração 9 – 4, que deverá ser igual a +5: FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 36 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 9 01001 4 00100 + → + → Minuendo Subtraendo Complementando de 2 o subtraendo (+4), tem-se: 4 00100 11011 1 4 11100 + → → + ∴− = Efetuando agora a subtração usando a propriedade já estudada da soma de um número positivo com um outro negativo, tem-se: 9 01001 4 11100 ___________ 5 00101 + → − → + → Observe agora o exemplo em que mostra a subtração de dois números: do número -4 com o número +9. O resultado esperado é o número -13, pois tem-se que -4 - (+9) = -4 – 9 = -13. 4 11100 9 01001 9 10110 1 10111 4 9 4 11100 9 10111 ___________ 13 10011 − → + → − → + → ∴− − − → − → − → OBSERVAÇÃO: quando o bit de sinal for igual a 1, o resultado será negativo e estará na forma de complemento de 2. FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 37 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 5.5 – A Multiplicação Binária no Sistema de Complemento de 2 A multiplicação de números binários é feita da mesma maneira que a multiplicação de números decimais. Na realidade, o processo é mais simples, visto que os dígitos multiplicadores só podem ser 0 ou 1, ou seja, a multiplicação será executada sempre multiplicando por 0 ou por 1 apenas e por nenhum outro dígito. Observe o exemplo a seguir: 9 1001 11 1011 ______________ 1001 1001 0000 1001 _____________ 99 1100011 + → + → + → A operação acima mostrou a multiplicação de dois termos, com números positivos. Quando os dois números forem negativos, eles deverão estar na forma de complemento de 2, e para efetuar a multiplicação deles (que obviamente resultará em um número positivo), basta realizar o complemento de 2 de ambos os números, convertendo-os em números positivos. Porém, quando um dos números for negativo e o outro for positivo, deve-se complementar o negativo (usando o complemento de 2), realizando a multiplicação dos dois números positivos, obtendo o produto de magnitude correta, porém com sinal errado. Dessa forma, deve-se realizar o complemento de 2 do produto, obtendo o sinal correto da multiplicação. Existe ainda outra forma de se obter a multiplicação é realizando a técnica de soma sucessiva do multiplicando, ou seja, somando-se N vezes esse número, podemos obter o mesmo resultado que o apresentado anteriormente. Observe o exemplo da multiplicação do número 5 x 2 em binário. Deseja-se multiplicar 5 vezes o número 2, ou seja, podemos fazer uma soma sucessiva (5 somas) do número 2 (multiplicando): FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 38 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 2 00010 2 2 4 00010 00010 00100 2 4 2 6 00100 00010 00110 3 6 2 8 00110 00010 01000 4 8 2 10 01000 00010 01010 5 + → + + = + → + = → + + = + → + = → + + = + → + = → + + = + → + = → somas somas somas somas 5.6 – A Divisão Binária no Sistema de Complemento de 2 Assim como na multiplicação, é possível executar a divisão binária da mesma forma que a divisão decimal, porém, é interessante notar que a divisão, também podeser obtida através da utilização da subtração sucessiva do dividendo pelo divisor, usando o complemento de 2 do divisor. É claro que nem sempre a divisão resultará num número exato na resposta, gerando o chamado ponto binário, assim como existe o ponto decimal para representar os números fracionários. Observe o exemplo a seguir, da divisão do número 9 por 3 e do número 9 por 4, que irão gerar os resultados, 3 e 2.25 respectivamente. 9 01001 3 00011 3 11101 1ª : 9 ( 3) 6 01001 11101 00110 2ª : 6 ( 3) 3 00110 11101 00011 3ª : 3 ( 3) 0 00011 11101 00000 + → + → − → + + − = + → + → + + − = + → + → + + − = → + → Subtração Subtração Subtração FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 39 FA FA EC EC Mauá Mauá FA FA EC EC Santo André +9→ 01001 +4→ 00100 −4→11100 1ª Subtração : +9+ (−4) = +5→ 01001+11100→ 00101 2ª Subtração : +5+ (−4) = +1→ 00101+11100→ 00001 3ª Subtração : +1+ (−4) = −3→ 00001+11100→11101 Observando o resultado da terceira subtração, percebe-se que obteve-se como resultado um número negativo. Dessa forma, é preciso que seja executado um deslocamento de um ponto binário, para que seja possível expressar corretamente o resultado fracionário. Dessa forma, o deslocamento será feito a partir da última resposta positiva do resto, que é igual a +1, obtido na segunda subtração, gerando como um número inteiro igual a 2. Para obter a parte fracionária, basta acrescentar um ou mais zeros a direita do último resto positivo obtido para que seja possível executar a subtração do complemento de 2 do divisor. A resposta da parte fracionária será obtida através da quantidade de vezes que é possível executar a subtração do valor do resto deslocado, e para cada deslocamento, o expoente da base diminui de um, como apresentado na tabela abaixo: 24 23 22 21 20, 2-1 2-2 2-3 2-4 2-5 FACULDADE DE TECNOLOGIA DE SANTO ANDRÉ Curso de Autotrônica Disciplina Eletrônica Digital I Professores Fabio Delatore / Luiz Vasco Puglia 40 FA FA EC EC Mauá Mauá FA FA EC EC Santo André 2ª : 5 ( 4) 1 00101 11100 00001 1 : 00001 000010 ( 2) ( 4) 2 000010 111100 1 2 : 00001 0000100 ( 4) ( 4) 0 0000100 1111100 0000000 !!! : 000 + + − = + → + → → + + − = − → + ∴ + → + + − = → + = ∴ Subtração Deslocando zero deslocar vez Deslocando zeros OK RESPOSTA 10,01 Parte Inteira: 2 00010 Parte Fracionária: 0.25 01 → → 5.7 - Exercícios de Fixação 1 - Realize as operações indicadas abaixo: A (+17) + (+13) = B (+16) + (-12) = C (-15) + (+18) = D (-19) - (+20) = E (+12) x (+5) = F (+11) x (-6) = G (+15) ÷ (+4) = H (+16) ÷ (+4) = I (+52) ÷ (+8) =
Compartilhar