TDM I TDM I Como toda obra semelhante, esta também contém imperfeições e erros não detectados. Quem se dispuser a apontá-los, ou queira enviar críticas e sugestões, o endereço eletrônico é: http://www.corradi.junior.nom.br 2 TDM I ÍNDICE 1. SISTEMAS ANALÓGICOS E DIGITAIS ____________________________________4 2. SISTEMAS NUMÉRICOS ________________________________________________7 2.1. Sistema Binário___________________________________________________________ 7 2.2. Sistema Octal ____________________________________________________________ 9 2.3. Sistema Hexadecimal _____________________________________________________ 10 2.4. Códigos Binários_________________________________________________________ 12 3. ÁLGEBRA DE BOOLE E PORTAS LÓGICAS ______________________________14 4. CIRCUITOS COMBINACIONAIS ________________________________________23 4.1. Mapas de “Veitch Karnaugh”______________________________________________ 23 4.2. Problemas de Lógica Booleana _____________________________________________ 26 5. FUNÇÕES COM PORTAS NAND E NOR __________________________________36 6. MÉTODO DE PARIDADE_______________________________________________43 7. ARITMÉTICA DIGITAL ________________________________________________46 7.1. Adição Binária __________________________________________________________ 46 7.2. Representação de Números com Sinal _______________________________________ 46 7.3. Adição no Sistema Complemento de 2 _______________________________________ 48 7.4. Subtração no Sistema Complemento de 2 ____________________________________ 49 7.5. Multiplicação de Números Binários _________________________________________ 49 7.6. Divisão Binária __________________________________________________________ 49 7.7. Aritmética Hexadecimal __________________________________________________ 51 8. CIRCUITOS ARITMÉTICOS ____________________________________________55 9. FAMÍLIAS LÓGICAS DE CIRCUITOS INTEGRADOS ______________________61 9.1. A Família Lógica TTL (Transistor Transistor Logic) __________________________ 63 9.2. A Família Lógica MOS (Metal Oxide Semiconductor)__________________________ 71 10. ANEXO 1: LABORATÓRIOS __________________________________________82 11. ANEXO 2: PINAGEM DE CIRCUITOS INTEGRADOS____________________100 12. ANEXO 3: RESPOSTAS DOS EXERCÍCIOS PROPOSTOS ________________101 13. BIBLIOGRAFIA ____________________________________________________114 3 TDM I 1. SISTEMAS ANALÓGICOS E DIGITAIS Costuma-se dividir a Eletrônica em duas áreas: Eletrônica Analógica e Eletrônica Digital. Uma maneira bem simples para se entender o conceito das palavras Analógico e Digital, é compararmos uma rampa com uma escada. Ao analisarmos a rampa, percebemos que uma pessoa poderá ocupar cada uma das infinitas posições existentes entre o início e o fim. No caso da escada, a pessoa poderá estar em apenas um dos seus degraus. Sendo assim, podemos dizer que a rampa pode representar um sistema analógico, enquanto que a escada pode representar um sistema digital. Enquanto no voltímetro analógico o ponteiro pode ocupar infinitas posições entre o maior e menor valor da escala, no voltímetro digital os valores mostrados no display são discretos, isto é, existe um número finito de valores entre o maior e o menor valor da escala. Outro exemplo pode ser encontrado no ajuste de volume de um televisor. Ajustando o volume do televisor através de um botão conectado a um potenciômetro, teremos infinitas posições para escolher dentro da escala permitida. Porém, no controle remoto observamos que a intensidade do som muda em pequenos saltos e, em alguns modelos, aparece no vídeo o valor selecionado em uma escala previamente definida. Podemos dizer então que o "botão de volume" do televisor é uma entrada analógica, e que o ajuste de volume no controle remoto representa uma entrada digital. Podemos concluir que a Eletrônica Analógica processa sinais com funções contínuas e a Eletrônica Digital processa sinais com funções discretas. Vantagens das Técnicas Digitais O grande crescimento da eletrônica está relacionado com o uso de técnicas digitais para implementar funções que eram realizadas usando-se os métodos analógicos. Os principais motivos da migração para a tecnologia digital são: - - - - - Os sistemas digitais são mais fáceis de ser projetados. Isso porque os circuitos utilizados são circuitos de chaveamento, nos quais não importam os valores exatos de tensão ou corrente, mas apenas a faixa – Alta (High) ou Baixa (Low) – na qual eles se encontram. Fácil armazenamento de informação. Técnicas de armazenamento digitais podem armazenar bilhões de bits em um espaço físico relativamente pequeno. Já a capacidade de armazenamento de um sistema analógico é extremamente limitada. Maior precisão e exatidão. Nos sistemas analógicos, a precisão é limitada porque os valores de tensão e corrente são diretamente dependentes dos valores dos componentes do circuito, além de serem muito afetados por ruídos. Os circuitos digitais são menos afetados por ruídos. Flutuações espúrias na tensão (ruído) não são tão críticas em sistemas digitais, desde que o ruído não tenha amplitude suficiente que dificulte a distinção entre um nível Alto e um nível Baixo. CIs (chips) digitais têm um grau maior de integração. 4 Limitações das Técnicas Digitais Na verdade, há apenas uma grande desvantagem ao se utilizar as técnicas digitais: O mundo é quase totalmente analógico. Como exemplos temos a temperatura, a pressão, a posição, a velocidade, o nível de um líquido e a vazão. Para obter as vantagens das técnicas digitais quando tratamos com entradas e saídas analógicas, três passos devem ser seguidos: 1- Converter as entradas analógicas do mundo real para o formato digital. 2- Realizar o processamento da informação digital. 3- Converter as saídas digitais de volta ao formato analógico. A figura abaixo mostra um diagrama de um sistema de controle de temperatura típico. Conforme o diagrama, a temperatura analógica é medida e o valor medido é em seguida convertido para digital. A informação digital é processada e convertida de volta para o formato analógico. Essa saída alimenta um controlador que comanda alguma ação para o ajuste da temperatura. Temperatura Analógica Dispositivo de medição (sensor) Analógico Conversor analógico/digital (ADC) Digital Processamento Digital Digital Conversor digital/analógico (DAC) Analógico Controlador Ajuste de Temperatura Para simplificar ainda mais o processamento de sinais digitais, utiliza-se a técnica de numeração binária, que usa apenas dois símbolos para a representação de números. Se enumerarmos esses valores usando a numeração binária, teremos um Conjunto Universo com apenas dois elementos distintos para representarmos os sinais desejados. Isso quer dizer que num dispositivo digital eletrônico teremos o processamento de elementos que se apresentam em apenas dois valores. A esses conjuntos dá-se o nome de BITs (BInary DigiT) e BYTES (conjunto de 8 bits). Ao se trabalhar com sistemas binários, utilizamos abreviações para certas potências de dois, como detalhadas abaixo. Número de bits 10 bits 16 bits 20 bits 30 bits Valor 2 = 1.024 216 = 65.536 220 = 1.048.576 230 = 1.073.741.820 10 Abreviação 1 Kb (kilobit) 64 Kb 1 Mb (megabit) 1 Gb (gigabit) O sistema de numeração binário é o mais importante sistema de numeração em sistemas digitais. Porém, outros sistemas também são muito utilizados, sendo necessário uma maneira de se converter os valores de um sistema para outro. Esse assunto será discutido no próximo capítulo. 5 TDM I EXERCÍCIOS PROPOSTOS 1 - Quais dos itens a seguir referem-se à forma de representação digital e quais se referem à analógica? a) b) c) d) e) f) g) h) Chave de dez posições. A corrente elétrica na tomada na parede. A temperatura de uma sala. Pedras dentro de um balde. Velocímetro de automóvel. Altitude de um avião. Corrente através de um alto-falante. Ajuste do temporizador de um forno de microondas. 2 - Qual a diferença entre as quantidades analógicas e digitais? 3 - Quais são as vantagens das técnicas digitais sobre as analógicas? 4 - Qual é a maior limitação para o uso das técnicas digitais? 6 2. SISTEMAS NUMÉRICOS Muitos sistemas de numeração são usados na tecnologia digital. Os mais comuns são o decimal, o binário, o octal e o hexadecimal. O sistema decimal é naturalmente o sistema mais familiar para todos, uma vez que ele é uma ferramenta que utilizamos todos os dias. Binário 0 1 2.1. Octal 0 1 2 3 4 5 6 7 Decimal 0 1 2 3 4 5 6 7 8 9 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Sistema Binário Infelizmente, o sistema decimal não se presta para ser implementado satisfatoriamente em sistemas digitais. Por exemplo, é difícil projetar um equipamento eletrônico que possa trabalhar com 10 níveis diferentes de tensão (um para cada algarismo decimal, do 0 ao 9). Por outro lado, é fácil implementar circuitos eletrônicos simples e precisos que operam somente com dois níveis de tensão. Por esta razão, quase todos os sistemas digitais usam o sistema de numeração binário (base 2), embora outros sistemas de numeração às vezes sejam usados em conjunção com o sistema binário. 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 sua posição. 23 22 MSB 21 20 2-1 2-2 2-3 LSB Onde: MSB – Most Significant Bit LSB – Least Significant Bit Conversão Binário Decimal 1º Método: Todo número, independente da base numérica, pode ser expresso pela equação: D = an.Bn-1 + an-1.Bn-2 + ........+ a1.B0 + ......... Onde: D = Número em decimal an = Valor do n-ésimo termo a partir da vírgula B = Base 7 Exemplo: Transformar o número binário 10110 em decimal. D = 1.24 + 0.23 + 1.22 + 1.21 + 0.20 = 16 + 0 + 4 + 2 + 0 = 22 2º Método: Existe uma maneira mais prática de transformar binário em decimal que é pelo método “...8-4-2-1”. O bit menos significativo corresponde ao “1”, o segundo dígito menos significativo corresponde ao “2” e assim sucessivamente. Deve-se somar apenas os números cujo termo é 1. Exemplo: Transformar o número binário 10110 em decimal. 16 8 4 2 1 1 0 1 1 0 = 16 + 4 + 2 = 22 Conversão Decimal Binário 1º Método: Este método consiste em sucessivas divisões por 2 até se obter o quociente 0. Os restos destas divisões colocados na ordem inversa correspondem ao número binário. Exemplo: Transformar o número decimal 43 em binário. 43 1 2 21 1 2 10 0 2 5 1 2 2 0 2 1 1 2 0 Resultado: 101011 2º Método: Basta utilizar o método “...8-4-2-1” na forma inversa. Exemplo: Transformar o número decimal 43 em binário. 43 = 32 16 8 4 2 1 1 0 1 0 1 1 Número Fracionário: Para se mudar a parte fracionária de um número decimal, basta multiplicar sucessivamente o número fracionário pela base que se deseja passar, tomando-se como resposta a parte inteira do produto das sucessivas multiplicações, consideradas do primeiro para o último produto. O término do processo dependerá da precisão do arredondamento ou capacidade da máquina. Exemplo: Transformar o número decimal 0,42 em binário. 0,42 x 2 = 0,84 0,84 x 2 = 1,68 0,68 x 2 = 1,36 0,36 x 2 = 0,72 0,72 x 2 = 1,44 Resultado: 0,01101 8 2.2. Sistema Octal O sistema de numeração octal é muito importante no trabalho com computadores digitais. A principal vantagem é a facilidade com que conversões podem ser feitas entre números binários e octais, e vice versa. Quando lidamos com uma grande quantidade de números binários de vários bits, é conveniente e mais eficiente escrevermos os números em octal em vez de binário. Decimal Conversão Octal Exemplo: Transformar o número octal 372,6 em decimal. D = 3.82 + 7.81 + 2.80 + 6.8-1 = 192 + 56 + 2 + 0,75= 250,75 Conversão Decimal Octal Exemplo: Transformar o número decimal 266 em octal. 266 2 8 33 1 8 4 4 8 0 Resultado: 412 Exemplo: Com 4 dígitos fracionário, transformar o número decimal 0,37 em octal. 0,37 x 8 = 2,96 0,96 x 8 = 7,68 0,68 x 8 = 5,44 0,44 x 8 = 3,52 Resultado: 0,2753 Conversão Octal Binário Para realizar a conversão, basta transformar cada número octal no seu correspondente binário. Este método também pode ser usado na conversão binário para octal. Octal 0 Binário 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 Exemplo: Transformar o número octal 472 em binário. 4 = 100 7 = 111 2 = 010 Conversão Binário 472 = 100 111 010 Octal Exemplo: Transformar o número binário 101 100 001 em octal. 101 = 5 100 = 4 001 = 1 101 100 001 =541 9 2.3. Sistema Hexadecimal O sistema de numeração hexadecimal usa a base 16. Assim, ele tem 16 símbolos possíveis, utilizando os dígitos 0 a 9 mais as letras A, B, C, D, E e F. Da mesma forma que o sistema octal, é utilizado principalmente como um método compacto para representação de números binários. Conversão Hexadecimal Decimal Exemplo: Transformar o número hexadecimal 2AF em decimal. D = 2.162 + 10.161 + 15.160 = 512 + 160 + 15 = 687 Conversão Decimal Hexadecimal Exemplo: Transformar o número decimal 423 em hexadecimal. 423 7 16 26 10 16 1 1 16 0 Resultado: 1A7 Conversão Hexadecimal Binário Hexa 0 1 2 3 4 5 6 7 8 9 A B C D E F Binário 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Exemplo: Transformar o número hexadecimal 9F2 em binário. Conversão Binário 9 = 1001 F = 1111 2 = 0010 Hexadecimal 9F2 = 1001 1111 0010 Exemplo: Transformar o número binário 1011 0011 1101 em hexadecimal. 1011 = B 0011 = 3 1101 = D 1011 0011 1101 =B3D Exercício: Transforme os números abaixo para a base solicitada. a) b) c) d) e) f) g) h) i) j) (1001)2 para a base octal (01100110,101)2 para a base decimal (174)8 para a base binária (036)8 para a base decimal (2D3,A)16 para a base decimal (10B)16 para a base binária (47)10 para a base binária (178)10 para a base octal (110101010)2 para a base hexadecimal (623,82)10 para a base hexadecimal 10 Resposta: 11 2.4. Códigos Binários Se cada dígito de um número decimal é representado por seu equivalente binário, o resultado é um código chamado “Decimal Codificado em Binário” (Binary Coded Decimal). Como um dígito decimal pode assumir os valores de 0 a 9, quatro bits são necessários para codificar cada dígito. A principal vantagem do código BCD é a relativa facilidade de conversão para o decimal e vice-versa. É importante ressaltar que um número BCD não é o mesmo que um número binário puro. O código binário puro considera o número decimal completo e o representa em binário; o código BCD converte cada dígito decimal para binário individualmente. Outra codificação utilizada é o Código Gray, cuja principal característica reside no fato de que há apenas uma alteração de bit entre os números vizinhos. O Código Excesso de 3 tem como característica iniciar a contagem a partir do número 3 em binário. DECIMAL 0 1 2 3 4 5 6 7 8 9 BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 GRAY 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 Exces. de 3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 Exercício: Converta os números abaixo em BCD, Gray e Excesso de 3. a) (1935)10 b) (7832)10 c) (101001001010)2 Respostas: 12 EXERCÍCIOS PROPOSTOS 1 - Qual é o maior número em decimal que pode ser representado usando 8 bits? 2 - Qual é o próximo número binário que se segue a 10111 |2 na seqüência de contagem? 3 - Quantos bits são necessários para uma contagem até 511 |10? 4 - Qual é o peso do MSB de um número de 16 bits? 5 - Transforme os números abaixo para a base solicitada. a) 1001110,101 |2 para X |10 b) 25 |10 para X |2 c) 1C4 |16 para X |10 d) 416 |8 para X |2 e) 1101110 |2 para X |8 f) 0,28 |10 para X |16 g) 87,14 |10 para X |8 h) 1011110 |2 para X |16 i) 3DA |16 para X |2 j) 22 |8 para X |10 6 - Converta os números abaixo em BCD, Gray e Excesso de 3. a) 326 |10 b) 111001010 |2 c) FF |16 d) 107 |8 13 3. ÁLGEBRA DE BOOLE E PORTAS LÓGICAS Em 1854, George Boole (1815-1864), filósofo e matemático inglês, apresentou um trabalho intitulado “An Investigation of the Laws of Thought” que serviu como base para a teoria matemática das proposições lógicas. Em 1938, Claude Elwood Shannon, engenheiro americano, no seu trabalho “Symbolic Analysis of Relay and Switching”, aplicou a teoria de Boole na simplificação lógica de funções usadas em telefonia. Ele percebeu que as leis que governam as relações entre as proposições lógicas eram idênticas às leis válidas para dispositivos de chaveamento de dois estados. Tais dispositivos podem ter um dos seguintes estados diferentes: “ligado” ou “desligado”, voltagem “alta” ou “baixa”, “verdadeiro” ou “falso”. A Álgebra de Boole é estruturada sobre um conjunto de três tipos de operações: OU, E e COMPLEMENTO, e pelos caracteres 0 e 1. As operações E e OU serão simbolizadas, respectivamente, por um ponto (.) e por um sinal de mais (+), enquanto que o COMPLEMENTO será representado através de uma barra colocada em cima do elemento em questão. POSTULADOS E TEOREMAS Associativa: (X + Y) + Z = X + (Y + Z) (X . Y) . Z = X . (Y . Z) Comutativa: X+Y=Y+X X.Y=Y.X Elemento Neutro: 0+X=X 1.X=X Distributiva: X . (Y + Z) = (X . Y) + (X . Z) X + (Y . Z) = (X + Y) . (X + Z) Complementar: X.X=0 X+X=1 De Morgan: (X + Y) = (X . Y) (X . Y) = (X + Y) A partir destes postulados e teoremas, podemos simplificar expressões booleanas como nos exemplos a seguir: Exemplo: Simplificar as expressões abaixo utilizando a Álgebra de Boole. a) S = A.B.C + A.C + A.B S = A.(B.C + C + B) S = A.(B.C + B.C) S = A.1 S=A b) F = A.B + A.B + A.B F = A.B + A.B + A.B F = B.(A + A) + A.B F = B + A.B F = (B + A).(B + B) F=B+A F = B.A Distributiva De Morgan Complementar Comutativa Distributiva Complementar Distributiva Complementar De Morgan 14 Exercício: Simplifique as expressões abaixo utilizando a Álgebra de Boole a) H = A.B.C + B.C b) Y = (A + B + C) + (B + C) c) S = (A + B + C) . (A + B) d) T = A.B + A.B.C + A.B.C e) F = X.Y.Z + X.Z + X.Y.Z + X.Z f) G = A.(B + B.C) + A.B + B.C.(A + C) Respostas: 15 Os postulados e teoremas da Álgebra de Boole permitem representar expressões da solução de um problema ou do comando de um sistema. Tais expressões podem ser executadas por um conjunto de circuitos em eletrônica digital denominados Portas Lógicas. As portas lógicas são, na verdade, a tradução dos postulados Booleanos implementados através de circuitos eletrônicos. Função OU (OR) Tabela Verdade Porta OU A B F 0 0 0 0 1 1 1 0 1 1 1 1 A F B F=A+B Função E (AND) Tabela Verdade Porta E A B F 0 0 0 0 1 0 1 0 0 1 1 1 A F B F=A.B Função NOU (NOR) Tabela Verdade Porta NOU A B F 0 0 1 0 1 0 1 0 0 1 1 0 A F B F=A+B Função NE (NAND) Tabela Verdade Porta NE A B F 0 0 1 0 1 1 1 0 1 1 1 0 A F B F=A.B 16 Função Complemento Tabela Verdade Porta Inversora A A 0 1 1 0 A F F=A Função OU-Exclusivo Tabela Verdade A Porta OU-Exclusivo B F 0 0 0 0 1 1 1 0 1 1 1 0 A F B F = A.B + A.B = A⊕B Função E-Coincidência Tabela Verdade Porta E-Coincidência A B F 0 0 1 0 1 0 1 0 0 1 1 1 A F B F = A.B + A.B = A B O uso conveniente dos diversos tipos de portas lógicas permite a implementação de um circuito com equação lógica na saída igual a da função booleana. As variáveis da função são colocadas nas entradas do circuito. A configuração final do circuito vai depender da disponibilidade de componentes e da experiência do usuário. Exemplo: Implemente o circuito da função abaixo utilizando qualquer porta lógica de no máximo 2 entradas. F = A.B + A.B Resp: A B F 17 Exercício: Implemente o circuito da função abaixo utilizando qualquer porta lógica de no máximo 2 entradas. S = A.B.C + B.C + A.C Resposta: Exercício: Determine a função que representa o circuito lógico abaixo: A B F C Resposta: Exercício: Determine a função que representa o circuito lógico abaixo: A B C D F Resposta: 18 Formas Canônicas A lógica estruturada é baseada na capacidade de escrever equações booleanas de maneira que ela utilize vários tipos de formas regulares e repetidas. Dois tipos de formas estruturadas são especialmente úteis em um projeto lógico. Elas são conhecidas como “Soma de produtos” e “Produto de somas”. Uma expressão em soma de produtos consiste em efetuar operações OR sobre termos contendo operações AND. A expressão em produto de somas consiste em efetuar operações AND sobre termos contendo operações OR. Como pode ser observado, as equações podem ser determinadas pela aplicação da regra de De Morgan. Soma de Produtos (SDP) Y(ABC) = (A.B.C) + (A.B.C) + (A.B.C) Y(ABC) = (A + B + C) . (A + B + C) . (A + B + C) Produto de Somas (PDS) Uma equação pode estar no formato soma de produtos, mas não estruturada em sua forma canônica, ou seja, com todos os termos apresentando todas as variáveis disponíveis. A equação pode ser colocada em sua forma canônica da seguinte forma: Y(ABC) = (A.B) + (A.B.C) + B Y(ABC) = (A.B).1 + (A.B.C) + 1.B.1 Y(ABC) = (A.B) . (C + C) + (A.B.C) + (A + A) . B . (C + C) Y(ABC) = (A.B.C) + (A.B.C) + (A.B.C) + (A.B.C) + (A.B.C) + (A.B.C) + (A.B.C) Y(ABC) = (A.B.C) + (A.B.C) + (A.B.C) + (A.B.C) Quando estamos trabalhando com expressões descritas em termos de soma de produtos, é conveniente introduzirmos o conceito de Mintermo. O mintermo é formado com a operação AND aplicada a todas as variáveis, em suas formas normais ou complementares. A notação com mintermos pode ser utilizada para simplificar a aparência de expressões em soma de produtos. Considere a função: F(ABC) = A.B.C + A.B.C + A.B.C + A.B.C Esta expressão pode ser expressa em termos de mintermos utilizando a seguinte forma, onde o símbolo de somatório (Σ) indica a operação OR aplicada aos mintermos listados dentro do parêntese. F(ABC) = Σ (0, 3, 4, 7) Com funções expressas no formato produto de somas, utiliza-se o conceito de Maxtermo, que consiste na operação OR aplicada a todas as variáveis, em suas formas normais ou complementares. Na função expressa em maxtermos, o símbolo de produtório (Π) indica a operação AND aplicada nos maxtermos listados. F(ABC) = (A + B + C) . (A + B + C) . (A + B + C) F(ABC) = Π (1, 3, 7) 19 Exercício: Escreva a função abaixo em sua forma SDP canônica, e em seguida expressa em mintermos. F(ABC) = A.B.C + A.C + A.B Resposta: Exercício: Escreva a função em sua forma SDP canônica e expressa em mintermos, definida pela seguinte Tabela Verdade. X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 F 0 1 0 0 0 1 1 1 Resposta: EXERCÍCIOS PROPOSTOS 1 - Simplifique as expressões abaixo utilizando os postulados da Álgebra de Boole. a) S = (A + C).(B + D) b) F = A.(X + Z) + C.(Y + X.Z) + C.Y + A.Z c) F = X.Y.W + X.(Z.W + Z) + X.Y.W + X.Z d) X = (A + B).(A + B) e) G = (M + N).(M + P).(N + P) f) F = A.B.C + A.B.C + B.C.D 20 2 - Implemente os circuitos das funções abaixo utilizando qualquer porta lógica de no máximo 2 entradas. a) F = X.(Y + Z) + W.Z + Y b) F = A⊕B + (C + D).A c) S = A + C.D.(A B) d) G = X.Z.Y.W + (Z⊕W).X 3 - Determine as funções que representam os circuitos abaixo. a) A B C D F b) X Y Z W S 4 - Determine as condições de entrada necessárias para que a saída da figura abaixo seja “1”. A B C S 5 - Um avião emprega um sistema de monitoração dos valores de rpm, pressão e temperatura dos seus motores usando sensores que operam da seguinte forma: Sensor RPM = 0 apenas quando a velocidade for < 4.800 rpm. Sensor P = 0 apenas quando a pressão for < 1,30 N/m2. Sensor T = 0 apenas quando a temperatura for < 95 oC. 21 A figura abaixo mostra o circuito que controla um alarme dentro da cabine para certas condições da máquina. Admita que um nível ALTO na saída W ative o alarme de advertência. Determine quais condições do motor indicam um sinal de advertência ao piloto. Sensor de Temperatura T Sensor de Pressão P Alarme W R Sensor de RPM 6 - Determine qual a porta lógica que, ao inserirmos as formas de onda A e B em suas entradas, fornece em sua saída a forma de onda S abaixo. A B S 7 - Projete um circuito lógico com duas entradas A e B e duas saídas X e Y, devendo operar da seguinte forma: - Quando B = 1, a saída X segue a entrada A e a saída Y é 0. Quando B = 0, a saída X é 0 e a saída Y segue a entrada A. 8 - Escreva a função abaixo em sua forma SDP canônica, e em seguida expressa em mintermos. F(XYZ) = X.Y + Y.Z + X.Y.Z + X.Z 9 - Escreva a função em sua forma SDP canônica e em mintermos, definida pela seguinte Tabela Verdade. A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 1 1 0 0 0 1 0 0 22 4. CIRCUITOS COMBINACIONAIS Os circuitos combinacionais podem ser utilizados na implementação de solução de projetos onde a função (ou funções) de saída depende única e exclusivamente da combinação das variáveis de entrada. Na resolução de um projeto, identifica-se quem são as variáveis de entrada e a(s) função(ões) de saída. Na análise, monta-se a Tabela Verdade, onde o número de combinações é dado por: N º combinaçõe s = 2 n Onde “n” é a quantidade de variáveis de entrada. Após o levantamento da Tabela Verdade, deve-se otimizar a função através da simplificação, que pode ser feita através dos postulados da Álgebra de Boole e/ou através dos mapas de “Veitch Karnaugh”. A partir da função simplificada implementa-se o circuito lógico. 4.1. Mapas de “Veitch Karnaugh” Este método consiste em se fazer a minimização de uma função lógica. O mapa de Karnaugh contém os mesmo elementos que uma Tabela Verdade comum, porém com uma distribuição diferente. A seguir, apresentamos as regras para minimização de funções usando mapas de Karnaugh: - Escrever a função no Mapa de Karnaugh; - Reunir o maior número possível de células com “1”, de forma simétrica, sendo que o número total de células deve ser 2n (1,2,4,8,16,32...). As células devem ser adjacentes entre si; - Enquanto existirem células com “1” não pertencentes a nenhum dos grupos formados, devemos repetir o procedimento anterior para a formação de novos grupos; - Obter, através da “Soma de Produtos”, a função resultante da simplificação; cada grupamento de “1” irá representar um produto dentro da Soma. A identificação do produto será dada pelas variáveis que permaneceram constantes para o grupamento. OBS: Duas células dentro do mapa de Karnaugh serão adjacentes, se de uma célula para outra somente uma variável de identificação mudar de estado. Exemplo: Minimize a função abaixo utilizando Karnaugh. F = A.B.C + A.B + A.B.C + A.B.C A Tabela Verdade que representa a função é: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 1 1 1 1 0 0 Mapa de Karnaugh: AB C 0 1 00 0 01 1 11 0 10 1 0 1 0 1 23 Utilizando as regras de minimização temos: AB C 0 1 00 0 01 1 11 0 10 1 0 1 0 1 Temos dois grupos de células, cuja função minimizada será: F = A.B + A.B = A⊕ ⊕B A função minimizada ficou muito menor que a original, economizando portas lógicas caso fosse implementado o circuito digital. Podemos aplicar essa regra para 2, 3, 4, 5, ... variáveis de entrada. Abaixo temos mapas de Karnaugh de diversos tamanhos, cujas regras de minimização podem ser seguidas como no exemplo anterior. 0 AB C 00 0 1 1 A B 0 1 01 11 11 10 Mapa de 3 variáveis Mapa de 2 variáveis AB CD 00 00 01 10 DE ABC 000 001 011 010 110 111 101 100 00 01 01 11 11 10 10 Mapa de 4 variáveis Mapa de 5 variáveis Muitas vezes uma determinada situação pode promover irrelevâncias (don’t care), ou seja, tanto faz “1” como “0”. Já que a irrelevância pode assumir qualquer valor, podemos adaptá-la para “1” ou para “0” conforme a conveniência do mapa de Karnaugh para resultar numa minimização máxima. As irrelevâncias serão escritas como “X”. Analisando o mapa de Karnaugh abaixo, verificamos que algumas irrelevâncias foram utilizadas para a minimização. CD 00 AB 00 01 11 10 1 1 0 1 01 1 X X 0 11 0 X 1 1 10 1 0 0 X Observe que duas das irrelevâncias (X) foram utilizadas com valor “0” e as outras duas com valor igual a “1”. Minimizando segundo os enlaces de Karnaugh, temos: 24 F = B.D + A.C + A.C.D Verifique que se não pegarmos as irrelevâncias para compor os grupos, a função resultante será muito maior que a encontrada. Exercício: Minimize através de Karnaugh e implemente o circuito lógico utilizando apenas portas lógicas de no máximo duas entradas. a) F(ABC) = Σ (1, 4) + d (5, 6, 7) Resposta: b) AB C 00 0 X 1 1 01 1 11 1 10 1 0 0 X Resposta: c) F = A.B.D + B.C.D + A.D + A.B.C.D + A.B.C + A.B.D + A.C.D Resposta: 25 d) AB CD 00 00 1 01 0 01 0 11 0 10 X 0 X 0 11 1 1 X 1 10 1 0 0 1 Resposta: e) F = B.C.D.E + A.B.D.E + A.B.C.D.E + B.D.E + A.B.C.E + A.B.C.D.E + A.B.D.E + B.C.D.E Resposta: 4.2. Problemas de Lógica Booleana Dado uma certa situação lógica, pode-se implementar um circuito que satisfaça tal problema. Para isso, basta seguir a seguinte seqüência de operação: - Traduza o problema em uma função booleana; 26 - Construa a Tabela Verdade a partir da função booleana; Construa o Mapa de Karnaugh; Obtenha as equações minimizadas; Implemente o circuito lógico que satisfaça o problema Exercício: Um comitê consiste de um presidente, um diretor financeiro, um secretário e um tesoureiro. Uma moção só é aprovada se recebe a maioria dos votos ou o voto do presidente mais o de um outro membro. Cada membro aperta um botão para indicar a aprovação da moção. Projete um circuito de chaveamento controlado por botões, sendo que quando a moção for aprovada toque uma campainha. Resposta: 27 Exercício: Determine a Tabela Verdade e as equações minimizadas por Karnaugh de um circuito combinacional capaz de implementar os leds de um display de 7 segmentos, para que codifique apenas os números listados abaixo. a f g e b c d Resposta: 28 Exercício: Deseja-se construir um circuito que controle duas resistências R1 e R2 de um forno elétrico. O forno elétrico tem dois sensores de temperatura Sa e Sb, e um sensor P na porta do forno. Para o controle das resistências deve-se levar em consideração os seguintes estados: - R1 e R2 são ligadas quando a temperatura estiver abaixo de 100oC. - Somente R1 é ligada quando a temperatura estiver entre 100oC e 200oC. - Somente R2 é ligada quando a temperatura for superior a 200oC. - Se a porta P do forno for aberta, deve-se desligar ambas as resistências, independente da temperatura. - Nas situações impossíveis de ocorrer na prática, utilizar Don't Care, independente de qualquer outra situação descrita acima. Considere: R1 e R2 - Resistências (=0 desligada e =1 ligada) Sa - Sensor de Temperatura (=0 Temp. inferior a 100oC e =1 Temp. superior a 100oC) Sb - Sensor de Temperatura (=0 Temp. inferior a 200oC e =1 Temp. superior a 200oC) P - Porta do Forno (=0 aberta e =1 fechada) Resposta: 29 Exercício: Implemente o circuito combinacional mínimo de um decodificador BCD para Gray, utilizando qualquer porta lógica de no máximo duas entradas. Resposta: 30 EXERCÍCIOS PROPOSTOS 1 - Determine as equações lógicas mínimas utilizando Karnaugh. Não é necessário montar o circuito. a) F = A.B.C + A.B.C + A.B.C +A.B + B.C b) F(ABCD) = Σ (3, 4, 5 ,6, 11, 12 ,13, 14) c) F = A.B.D + B.C.D + A.D + A.B.C.D + A.B.C + A.B.D + A.C.D d) e) A D B E C 000 001 011 010 110 111 101 100 00 1 0 1 1 X 1 0 1 01 X X 0 0 X 0 X 1 11 0 X X 0 0 0 1 0 10 0 0 1 X 1 X 0 0 A C B D 00 01 11 10 00 01 11 10 X X X 1 1 0 1 1 X 0 0 1 X X 0 0 f) F(ABCD) = Σ (1, 3, 5, 7 ,10, 12, 14) + d (0, 6, 8, 11, 15) g) F(ABC) = Σ (0, 3, 4, 5 ,7) + d (1, 2, 6) h) A B C 00 01 00 01 11 10 X X 0 0 X 0 0 X 2 - Dado o circuito abaixo, determine: a) A função correspondente. b) A função minimizada por Karnaugh. c) O circuito minimizado utilizando qualquer porta de no máximo 2 entradas. A B C D F 31 3 - Um circuito de alarme de automóvel possui quatro sensores eletrônicos utilizados para indicar o estado da porta do motorista, do motor, dos faróis e do uso de cinto de segurança. Projete o circuito combinacional mínimo que ative um alarme de acordo com as seguintes condições: - Os faróis estão acesos e o motor está desligado; ou A porta do motorista está aberta e o motor está ligado; ou A porta do motorista está fechada, o motor está ligado e o passageiro não estiver usando o cinto de segurança. Considere: - P - Porta Fechada: NL0. Porta Aberta: NL1. - M - Motor Desligado: NL0. Motor Ligado: NL1. - F - Faróis Apagados: NL0. Faróis Acesos: NL1. - C - Sem o Cinto de Segurança: NL0. Com o Cinto de Segurança: NL1. - A - Alarme Desativado: NL0. Alarme Ativado: NL1. 4 - Projete o circuito combinacional mínimo que determine se as entradas possuem uma quantidade par ou ímpar de bits "1". X CIRCUITO LÓGICO Y Z PAR ÍMPAR 5 - O circuito abaixo mostra quatro chaves que são parte de um circuito de controle de uma máquina copiadora. As chaves estão localizadas ao longo do caminho que o papel passa pela máquina. Cada uma das chaves está normalmente aberta, e quando o papel passa pela chave, ela é fechada. É impossível que as chaves S1 e S4 estejam fechadas ao mesmo tempo. Projete um circuito combinacional que produza uma saída em nível alto quando duas ou mais chaves estiverem fechadas ao mesmo tempo. Obtenha a tabela verdade, o mapa de Karnaugh, a função lógica e o circuito digital. + 5V S1 R S2 R CIRCUITO LÓGICO Saída F S3 R S4 R 32 6 - Determine o circuito de controle de uma máquina copiadora que deve acender uma lâmpada de alarme através de uma saída S sempre que uma das condições abaixo existir: - A bandeja de alimentação de papel estiver vazia e a temperatura interna passar de 60oC; OU - A chave X e a chave Y na trajetória do papel estiverem ativadas, indicando congestionamento no caminho do papel. Considere: - A presença de papel na bandeja de alimentação é indicada pelo sensor A em NL1. - O sensor T envia NL1 se a temperatura interna passar de 60oC. - As chaves X e Y enviam NL1 quando estiverem ativadas. - Para acender a lâmpada de alarme a saída S deve fornecer NL1. 7 - A figura abaixo apresenta um detector de magnitude, que recebe dois números binários (x1x0 e y1y0) e determina se eles são iguais e, se não forem, indica qual é o maior. Projete o circuito combinacional para esse detector. x1 x0 y1 y0 R (x = y) Detector de Magnitude S (x > y) T (x < y) 8 - Você foi encarregado da criação de um sistema de segurança para uma agência bancária. A agência possui um cofre dotado de uma sirene de segurança, que sempre é ativada quando o cofre é aberto fora do horário de expediente do banco. Durante o expediente, um interruptor situado na mesa do gerente deve estar desligado para que o cofre possa ser aberto sem a ativação da sirene. Este sistema possui os seguintes sinais de entrada: - Um sensor na porta do cofre ( C ) sinalizando: 0 porta fechada, 1 porta aberta. - Um relógio eletrônico ( R ) sinalizando : 0 fora do expediente, 1 horário de expediente. - Um interruptor na mesa do gerente ( I ) sinalizando: 0 sirene desativada, 1 ativa . E um único sinal de saída: - Uma sirene ( S ) representada: 0 silenciosa, 1 gerando sinal sonoro. Determine a Tabela Verdade, a equação mínima utilizando Karnaugh e o circuito correspondente. 9 - Em um laboratório, quatro produtos químicos (A, B, C e D) devem ser guardados em dois depósitos disponíveis. A natureza dos produtos é tal que é perigoso guardar os produtos B e C juntos, a não ser que o produto A esteja no mesmo depósito. Também é perigoso guardar os produtos C e D juntos. Elabore um circuito que dispare uma sirene sempre que existir uma combinação perigosa em qualquer depósito. Considere: - Os sensores A, B, C e D detectam a presença dos respectivos produtos químicos, enviando NL1. - A sirene é acionada com NL1. 10 - Um produto químico está armazenado em dois tanques diferentes. Cada tanque tem um sensor de nível e um sensor de temperatura, que funcionam da seguinte maneira: - Sensores de Nível (N1 e N2): Apresentam nível lógico "1" quando o nível do produto cai abaixo de um ponto específico. - Sensores de Temperatura (T1 e T2): Apresentam nível lógico "1" quando a temperatura está acima de 100 ºC. 33 Projete um circuito que indique através de um alarme (disparado em nível lógico "1") quando o nível dos dois tanques estiver abaixo do especificado OU quando a temperatura dos dois tanques estiver abaixo de 100 ºC. 11 - A bomba d'água B1 leva água de um riacho até o tanque inferior, e a bomba B2 leva água do tanque inferior para o superior. A bomba B1 deve ligar com o objetivo de manter a água sempre próxima do nível máximo (S2), desligando ao atingir S2. A bomba B2 funciona da mesma forma, baseada nos níveis S3 e S4, mas não poderá funcionar caso o nível do tanque inferior esteja abaixo de S1. Se qualquer combinação que os sensores enviarem for impossível de ocorrer na prática, as duas bombas devem ser imediatamente desligadas, independente de qualquer outra situação. Tanque Superior S4 S3 Tanque Inferior B2 Riacho S2 S1 Bomba B1 Bomba Considere: S1, S2, S3 e S4 (Sensores de nível) - NL0 - Ausência de água NL1 - Presença de água B1 e B2 (Bombas d'água) - NL0 - Desligada NL1 - Ligada Determine a Tabela Verdade, as funções das bombas e os seus respectivos circuitos. 12 - Um foguete para ser controlado necessita de correção de rumo periódica. Quando a direção do foguete se desviar mais de 10o à direita com relação à direção desejada, deve-se ligar o motor retropropulsor M1. Quando o desvio é de mais de 10o à esquerda, deve-se ligar o motor retropropulsor M2. Se a velocidade estiver abaixo da velocidade mínima (Vm), deve-se ligar ambos os motores, independente dos possíveis desvios. Todos esses procedimentos devem ser cancelados se o foguete estiver submetido a uma chuva de meteoros (motores devem ser desligados). OBS: Nas situações impossíveis de ocorrer na prática deve-se utilizar Don´t Care, independente de qualquer situação descrita acima. Considere: D - sensor de desvio a direita (= 0 normal e = 1 se desvio maior que 10o) E - sensor de desvio a esquerda (= 0 normal e = 1 se desvio maior que 10o) Vm - velocidade mínima (= 0 abaixo e = 1 acima) C - detector de meteoros (= 0 sem meteoros e = 1 com meteoros) M1 e M2 - motores de correção (= 0 desligado e = 1 ligado) Determine a Tabela Verdade, as equações mínimas dos motores e os circuitos. 34 13 - Quatro tanques A, B, C e D de uma indústria química contêm diferentes líquidos. Sensores de nível de líquido (Na e Nb) detectam se o nível do tanque A ou B, respectivamente, sobe acima do nível determinado. Sensores de temperatura (Tc e Td) existentes nos tanques C e D, respectivamente, detectam se a temperatura de um desses tanques cai abaixo do determinado. Projete um circuito que dispare um alarme quando o nível do tanque A ou B estiver muito alto. O alarme também dispara caso a temperatura dos tanques C e D estiver abaixo do estabelecido. Considere: Na e Nb - sensores de nível (= 0 normal e = 1 acima do nível) Tc e Td - sensores de temperatura (= 0 abaixo do determinado e = 1 normal) A - alarme (= 0 desligado e = 1 acionado) 14 - Um equipamento eletrônico deve controlar a temperatura interna e o fornecimento de água de uma estufa. Para isso, há dois sensores de temperatura (T1 e T2), um sensor de nível do tanque e um sensor de profundidade de um riacho próximo. Se a temperatura for maior que 35oC, o sistema de refrigeração deve ser acionado. Se a temperatura for menor que 30oC, o sistema de aquecimento é que deve ser acionado. Se a temperatura estiver entre 30oC e 35oC, os sistemas de aquecimento e refrigeração devem permanecer desligados. Ao mesmo tempo, uma bomba d’água deve ser acionada se o nível do tanque (NT) estiver abaixo do especificado. Porém, se o nível do riacho (NR) estiver muito baixo, a bomba d’água não poderá ser acionada. Em situações impossíveis de ocorrer na prática, deve-se utilizar don’t care em todas as saídas (independente de qualquer outra situação). T2 T1 Riacho NT A R Sistemas de Tanque Aquecimento e Refrigeração B Bomba NR Considere: T1 (Sensor de temp.) NL1 – T > 30oC NL0 – T < 30oC B (Bomba d’água) T2 (Sensor de temp.) NL1 – T > 35oC NL0 – T < 35oC A NL1 – Acionado (Sist. de Aquecimento) NL0 – Desacionado NR e NT (Sensores de nível) NL1 – Com água NL0 – Sem água R NL1 – Acionado (Sist. de Refrigeração) NL0 – Desacionado NL1 – Acionada NL0 – Desacionada Determine a Tabela Verdade, as equações mínimas e os circuitos correspondentes. 35 5. FUNÇÕES COM PORTAS NAND E NOR Podemos implementar qualquer função booleana utilizando apenas portas NAND ou somente portas NOR. Isso é possível porque as portas NAND e NOR, em combinações apropriadas, podem ser usadas para implementar cada uma das operações booleanas OR, AND e INVERSOR, conforme ilustrado na figura abaixo. A A A X=A.A=A A.B X=A.B B A A X=A+A=A A+B X=A+B B A A A X=A.B=A+B B X=A+B=A.B B B B A principal vantagem está no fato de se utilizar apenas um tipo de CI (Circuito Integrado) para implementar uma função onde seria necessária a utilização de diversas portas lógicas diferentes. Com isso é possível otimizar o circuito, diminuindo as dimensões e custo final do projeto. Devemos substituir cada produto, soma ou complemento, pelo circuito equivalente com esse tipo de portas. Para facilitar o entendimento do método de transformação, vamos partir para exemplos. Verifique a função abaixo: F = A.B + A.(B + C) É importante notar que para implementar um circuito lógico que atenda a função acima, seria necessário 2 portas AND, 2 portas Inversoras, 1 porta NOR e 1 porta OR. Em termos de Circuitos Integrados seriam necessários um CI para as portas AND, um CI para as Inversoras, um CI para a porta NOR e outro CI para a porta OR, resultando num total de 4 Circuitos Integrados. Vamos agora implementar a função através somente de portas NAND com o objetivo de diminuir o número de circuitos integrados. Para isso, a expressão algébrica da função deve ser manipulada para a obtenção de uma função onde a operação OU não esteja presente. Isto é possível se usarmos convenientemente o Teorema de De Morgan, conforme os passos a seguir: 1 – Análise da função Para implementarmos o circuito apenas com portas NAND, é necessário que a função esteja no formato “Produto de Termos”. Na função analisada, percebemos que é necessário mudar os dois sinais de soma (+) para produto (.). Isso é possível através da aplicação do Teorema de De Morgan. 2 – Aplicação de De Morgan Podemos aplicar o Teorema diretamente no termo (B + C), resultando na seguinte função: 36 F = A.B + A.(B.C) F = A.B + A.(B.C) Para aplicarmos o Teorema de De Morgan, é necessário que uma barra de complemento seja inserida acima do sinal de soma, envolvendo os dois termos. Porém, se inserirmos apenas uma barra, estaremos invertendo o resultado da função. Portanto, sempre que for necessária uma nova barra de complemento, deve-se colocar duas barras para manter o resultado da função original. F = A.B + A.(B.C) F = A.B . A.(B.C) 3 - Implementando a função através de portas NAND de 2 entradas A A A.B F B A.B.C C C B.C B.C O CI 7400 comporta quatro portas NAND de duas entradas, portanto bastariam dois destes CI’s para implementar esta função, em vez de quatro CI’s conforme implementado anteriormente antes das transformações em portas NAND. Verifique nos exercícios a seguir que, durante o procedimento de transformação para portas NAND, pode surgir a necessidade de transformar novamente a função em “soma de termos” para depois retornar em “produto de termos”. Isto pode ser necessário para que se encontre uma função menor. Exercício: Dadas as funções abaixo, transforme-as em produto de termos e em seguida implemente o circuito lógico composto apenas de portas NAND de duas entradas. a) F = (A + B) . (C + D) Resposta: 37 b) F = A + B Resposta: c) F = A + B + C Resposta: d) F = A.C + B.(A + D) Resposta: Exercício: Minimize a função abaixo utilizando Karnaugh e depois implemente o circuito lógico apenas com portas NAND de duas entradas. F = A.B.D + A.B.C.D + B.C.D + A.B.C + A.B.C 38 Resposta: Todo o procedimento para transformação em portas NAND é válido para transformação em portas NOR, ou seja, como o objetivo agora é eliminar todos os produtos para sobrar apenas as somas, vamos utilizar o Teorema de De Morgan para implementar um circuito lógico construído apenas com portas NOR. Exemplo: Transforme a função em soma de termos e implemente o circuito lógico apenas com portas NOR de duas entradas. F = A.B + A.B.C 1 – Análise da função Podemos observar que é necessário mudar os três sinais de produto (.) para soma (+). 2 – Aplicação de De Morgan F = A.B + A.(B + C) F = A.B + A.(B + C) F = (A + B) + (A + B + C) F = (A + B) + (A + B + C) 3 - Implementando a função através de portas NOR de 2 entradas A F B C 39 Exercícios: Dadas as funções abaixo, transforme-as em soma de termos e em seguida implemente o circuito lógico composto apenas de portas NOR de duas entradas. a) F = A.(C + B.D) Resposta: b) F = B.(A.B + C) Resposta: Exercício: Minimize a função abaixo por Karnaugh e depois implemente o circuito lógico utilizando apenas portas NOR de duas entradas. F = A.B.C + A.C + A.B.C + A.B.C Resposta: 40 EXERCÍCIOS PROPOSTOS 1 - Transforme as funções abaixo em produto de termos. Implemente os circuitos das funções obtidas utilizando apenas portas NAND de 2 entradas. a) F = (A + B.C) . (A.B + C) b) F = A.C + B.(A + D) c) F = (X + Y + Z).W +X.Z d) F = (A.B + C) + A.C 2 - Transforme as funções abaixo em soma de termos. Implemente os circuitos das funções obtidas utilizando apenas portas NOR de 2 entradas. a) F = (A + B.C) . (A.B + C) b) F = (X . Y) . (Z + X . W) c) F = (X .Y) . (Z + W) d) F = (X + Y.Z).X.Z 3 - Converta o circuito abaixo para um circuito que use apenas portas NAND. Em seguida, escreva a expressão de saída para o novo circuito. X Y Z G W 4 - Minimize a função abaixo utilizando Karnaugh e, em seguida, transforme a função minimizada em produto de termos. Implemente o circuito utilizando apenas portas NAND de 2 entradas. F = A.B.C + C.D + A.B.D + A.C.D + B.C.D 41 5 - Determine a função em soma de termos do circuito abaixo. A B S C 6 - Dado o circuito abaixo, determine: a) A função correspondente. b) A função transformada em soma de termos. c) O circuito utilizando apenas portas NOR de 2 entradas. A B C F D 42 6. MÉTODO DE PARIDADE Quando uma informação é transmitida de um dispositivo (transmissor) para outro (receptor), há a possibilidade de ocorrência de erros quando o receptor não recebe uma informação idêntica àquela que foi enviada pelo transmissor. A principal causa de um erro é o “ruído elétrico”, que consiste em flutuações espúrias na tensão ou corrente que estão presentes em praticamente todos os sistemas eletrônicos. Por isso, muitos sistemas digitais utilizam algum método de detecção de erros. Uma das técnicas mais simples para detecção de erros é o “Método de Paridade”. Um bit de paridade consiste em um bit extra anexado ao conjunto de bits a ser transferido. O bit de paridade pode ser 0 ou 1, dependendo do número de 1s contido no conjunto de bits. Dois métodos diferentes são usados. No método que usa “paridade par”, o valor do bit de paridade é determinado para que o número total de 1s no conjunto de bits (incluindo o bit de paridade) seja um número par. Por exemplo, suponha que o conjunto de bits seja 1000011. Esse conjunto de bits tem três 1s; portanto, anexamos um bit de paridade par igual a 1 para tornar par o número total de 1s. O novo conjunto de bits, incluindo o bit de paridade, passa a ser: 11000011. Se o grupo de bits já contiver um número par de 1s, o bit de paridade terá valor 0. O método de “paridade ímpar” é usado da mesma maneira, exceto que o bit de paridade é determinado para que o número total de 1s, incluindo o bit de paridade, seja ímpar. Paridade Par Paridade Ímpar 1 1000011 0 1000011 0 1001000 1 1001000 bit de paridade O bit de paridade é gerado para detectar erros de apenas um bit que ocorram durante a transmissão. Por exemplo, suponha que o conjunto de bits 1000001 seja transmitido com paridade ímpar. O código transmitido seria: 11000001. O receptor verifica se a informação transmitida contém um número ímpar de 1s (incluindo o bit de paridade). Em caso afirmativo, o receptor considera que o código foi recebido corretamente. Agora, suponha que, devido a algum ruído, seja recebido o seguinte código: 11000000. O receptor identificará que o código tem um número par de 1s. Isso significa que há algum erro no código, devendo ser descartado. É evidente que o método de paridade não funcionará se ocorrer erro em dois bits, porque dois bits errados não geram alteração na paridade do código. Na prática, o método de paridade é usado em situações em que a probabilidade de erro de um único bit é baixa e a probabilidade de erro em dois bits seja zero. O circuito mostrado na figura seguinte é usado para “geração de paridade” e “verificação de paridade”. Esse exemplo usa quatro bits de dados fazendo uso da paridade par. Esse circuito pode ser facilmente adaptado para usar paridade ímpar e um número qualquer de bits. Os dados a serem transmitidos são aplicados ao circuito gerador de paridade que produz um bit de paridade par em sua saída, totalizando cinco bits para transmissão. Esses cinco bits entram no circuito verificador de paridade do receptor, o qual gera uma saída de erro (E), que indica se ocorreu ou não um erro em um único bit. Verifique que o circuito emprega portas OU-Exclusivo, pois ela opera de tal forma que gera NL1 se o número de 1s nas entradas for ímpar e gera uma saída NL0 se o número de 1s nas entradas for par. 43 Gerador de paridade par Paridade Par D3 D2 D1 D0 D3 D2 D1 D0 Verificador de paridade par Paridade D3 D2 Erro (E) 1 = erro 0 = sem erro D1 D0 Exercício: Determine o bit de paridade par dos números binários abaixo. a) 100101 b) 01011011 c) 1110111 Resposta: Exercício: Os dados abaixo foram recebidos por um circuito verificador de paridade ímpar de 7 bits, sendo o MSB o bit de paridade. Determine quais conjuntos de dados tiveram um bit errado na transmissão. a) 10010100 b) 01001011 c) 11001011 Resposta: 44 EXERCÍCIOS PROPOSTOS 1 - Porque o método de paridade não consegue detectar um erro duplo de bit em um dado transmitido? 2 - A seqüência de bits abaixo foi recebida pelo circuito verificador de paridade da página anterior. Determine quais conjuntos de dados que provavelmente tiveram um bit errado na transmissão. 10010011100100111111 3 - Determine a saída do gerador de paridade da página anterior para cada um dos seguintes conjuntos de dados de entrada D3D2D1D0: a) 0111 b) 1001 c) 0000 d) 0100 4 - Determine a saída do verificador de paridade da página anterior para cada um dos conjuntos de dados enviados pelo transmissor: a) 01010 b) 11110 c) 11111 d) 10000 45 7. ARITMÉTICA DIGITAL Primeiramente veremos como as diversas operações aritméticas são feitas com números binários e também em hexadecimal, e depois estudaremos os circuitos lógicos que realizam estas operações em um sistema digital. 7.1. 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. A única diferença está que, no sistema binário, apenas quatro situações podem ocorrer na soma de dois dígitos (bits), qualquer que seja a posição: 0+0=0 1+0=1 1 + 1 = 10 = 0 + carry 1 para a próxima posição 1 + 1 + 1 = 11 = 1 + carry 1 para a próxima posição Exercícios: Some os seguintes números binários. a) 10110 + 00111 b) 10001111 + 10010010 c) 11,011 + 10,110 Resposta: 7.2. Representação de Números com Sinal Como a maioria dos computadores e das calculadoras digitais efetua operações tanto com números positivos quanto negativos, é necessário representar de alguma forma o sinal do número (+ ou -). Em geral, a convenção que tem sido adotada é que um 0 no bit de sinal representa um número positivo e um 1 no bit de sinal representa um número negativo. Na figura seguinte, o bit na posição mais à esquerda é o bit de sinal que representa positivo (+) ou negativo (-). Os outros seis bits são a magnitude do número, que é igual a 52 em decimal. 0 + 1 1 0 1 0 0 Magnitude = 52|10 = +52|10 1 - 1 1 0 1 0 0 = -52|10 Magnitude = 52|10 Essa representação é denominada “Sistema Sinal-Magnitude” para números binários com sinal. Embora esse sistema seja uma representação direta, os computadores e calculadoras 46 normalmente não o utilizam, porque a implementação do circuito é mais complexa do que em outros sistemas. O sistema mais usado para representar números binários com sinal é o “Sistema de Complemento de 2”. Antes de saber como é esse sistema, temos que saber o complemento de 1 e o complemento de 2 de um número binário. Forma do Complemento de 1 O complemento de 1 de um número binário é obtido substituindo cada 0 por 1 e cada 1 por 0. Em outras palavras, substitui-se cada bit do número binário pelo seu complemento, conforme mostrado a seguir. 101101 Número binário original 010010 Complemento de 1 Forma do Complemento de 2 O complemento de 2 de um número binário é formado tomando-se o complemento de 1 do número e adicionando-se 1 na posição do bit menos significativo. O processo é ilustrado a seguir para (101101)2 = (45)10. 101101 Equivalente binário de 45 010010 + 1 010011 Complemento de 1 Adiciona-se 1 para formar o complemento de 2 Complemento de 2 Para finalizar, basta acrescentar um bit 1 na frente do número encontrado, que poderá ser a posição definida para o bit de sinal. 1 0 1 0 0 1 1 = (-45)10 Assim, o sistema de complemento de 2 para representação de números com sinal funciona da seguinte forma: - Se o número for positivo, a magnitude é representada na forma binária direta, e um bit de sinal 0 é colocado em frente ao bit mais significativo (Most Significant Bit – MSB). 0 1 0 + - 1 1 0 1 = +45|10 Binário Se o número for negativo, a magnitude é representada na sua forma do complemento de 2 e um bit de sinal 1 é colocado em frente ao MSB. 1 0 1 0 0 1 1 - Complemento de 2 = -45|10 47 O sistema de complemento de 2 é usado para representar números com sinal porque permite realizar a operação de subtração efetuando na verdade uma adição. Isso é importante porque um computador digital pode usar o mesmo circuito tanto na adição quanto na subtração, desse modo poupando hardware. Um número binário negativo escrito na forma “Complemento de 2” pode ser definido de acordo com a fórmula abaixo, facilitando sua conversão para o valor correspondente em decimal. a = − an ⋅ b n + n −1 ak ⋅ b k k =0 Exemplo: Transforme o número 1101, que está em complemento de dois, para o seu equivalente decimal. a = - 1.23 + (1.22 + 0.21 + 1.20) a = - 8 + (4 + 0 + 1) = -8 + 5 a = - 3 |10 7.3. Adição no Sistema Complemento de 2 Caso 1 – Dois Números Positivos: A adição de dois números positivos é bastante direta. Considere a adição de +9 e +4. +9 = 1 0 0 1 +4 = 1 0 0 Para números positivos, deve-se igualar o número de casas acrescentando bits 0. 1001 0100 1101 +9 +4 +13 Caso 2 – Um número Positivo e um Outro Menor e Negativo: Considere a adição de +9 e –4. Lembre-se que –4 estará representado em complemento de 2. +9 = 1 0 0 1 –4 = 1 1 0 0 1001 1100 10101 +9 –4 +5 Este Carry é descartado. Caso 3 – Um número Positivo e um Outro Maior e Negativo: Considere a adição de –9 e +4. –9 = 1 0 1 1 1 +4 = 1 0 0 10111 00100 11011 –9 +4 –5 48 Caso 4 – Dois números Negativos: Considere a adição –9 e –4. –9 = 1 0 1 1 1 –4 = 1 1 0 0 Para números negativos, deve-se igualar o número de casas acrescentando bits 1. 10111 11100 110011 –9 –4 –13 Este Carry é descartado 7.4. Subtração no Sistema Complemento de 2 A operação de subtração usando o sistema de complemento de 2, na verdade, envolve uma operação de adição. 7.5. Multiplicação de Números Binários A multiplicação de números binários é feita do mesmo modo que a multiplicação de números decimais. O procedimento, na verdade, é mais simples, uma vez que os dígitos multiplicadores podem ser apenas 0 ou 1. O exemplo seguinte ilustra este procedimento para números binários sem sinal. 1001 1011 1001 1001 0000 1001 1100011 +9 +11 +99 Caso um número esteja em complemento de 2, deve-se primeiro convertê-lo para o seu equivalente em binário positivo. Assim, é possível efetuar a multiplicação como no caso acima. Evidente que o resultado deve ser convertido para binário negativo, usando o complemento de 2. 7.6. Divisão Binária O processo para dividir números binários é o mesmo que é utilizado para números decimais. Para ilustrar, segue um exemplo onde iremos dividir (9)10 por (3)10. +9 = 1 0 0 1 +3 = 1 1 1001 11 0011 11 0 11 1 1 (3)10 A divisão de números com sinal é tratada do mesmo modo que na multiplicação. Exercício: Sendo A = 50 |10 e B = 10 |10, efetue as operações solicitadas em binário. a) A + B b) A – B 49 c) d) e) f) –A+B –A–B A*B A/B Resposta: 50 7.7. Aritmética Hexadecimal Números em hexadecimal são usados extensivamente na programação em linguagem de máquina e na especificação de endereços de memória nos computadores. Quando se trabalha nessas áreas, encontram-se situações em que os números hexa têm que ser somados ou subtraídos. Adição Hexadecimal A adição hexadecimal é realizada basicamente da mesma forma que a adição decimal desde que você se lembre de que o maior dígito hexa é F em vez de 9. É aconselhável seguir os procedimentos abaixo: 1- Some os dois dígitos hexa em decimal, inserindo mentalmente o equivalente decimal para os dígitos maiores que 9. 2- Se a soma for menor ou igual a 15, o resultado da soma pode ser expresso como um dígito hexa. 3- Se a soma for maior ou igual a 16, subtraia 16 e transporte um carry 1para a posição do próximo dígito. Exemplo: Some os números hexa 58 e 24. 58 +24 7C A soma dos dígitos 8 e 4 gera o resultado 12, que corresponde a C em hexa. Nesse caso, não há carry para o dígito da próxima posição. Ao somar 5 com 2, gera-se o resultado 7. Exemplo: Some os números hexa 58 e 4B. 58 +4B A3 Comece somando 8 com B, substituindo mentalmente o decimal 11 por B. Isso gera uma soma igual a 19. Visto que 19 é maior que 16, obtenha 3 (por subtração); escreva o dígito 3 logo abaixo dos dígitos somados e transporte um carry 1 para a próxima posição. Esse carry é somado ao 5 e ao 4 gerando uma soma igual a 10, que é então convertido para o hexadecimal A. Subtração Hexadecimal Lembre-se de que os números hexadecimais são apenas uma maneira eficiente de representar números binários. Assim, podemos subtrair números hexa usando o mesmo método usado para números binários, ou seja, o complemento de 2. Podemos obter o complemento de 2 de um número hexadecimal após sua conversão para binário, e então convertendo novamente para hexa, conforme ilustrado a seguir: 73A 0111 0011 1010 1000 1100 0110 8C6 Número hexa converta para binário efetue o complemento de 2 converta novamente para hexa Porém, existe um procedimento mais rápido: subtraia cada dígito hexa de F; em seguida some 1. Vamos experimentar esse procedimento para o exemplo anterior: 51 F -7 8 F -3 C F -A 5 Subtraia cada dígito hexa de F 8 + 8 C 5 1 6 some 1 equivalente hexa do complemento de 2 C Exemplo: Subtraia 3A5 |16 de 592 |16. Primeiro, deve-se converter o número 3A5 para sua forma em complemento de 2: F -3 C F -A 5 F -5 A C + C 5 A 1 B 5 Em seguida some esse resultado ao valor 592. 592 +C5B 11ED Este Carry é descartado. Exercício: Efetue as operações solicitadas dos números hexa abaixo. a) 3A +46 b) 803 + 3DC c) 7F – 1A d) 91B – 301 Resposta: 52 EXERCÍCIOS PROPOSTOS 1 - Determine o complemento de 2 dos números abaixo: a) 1001000 |2 b) 101101 |2 c) 39 |10 d) 82 |10 2 - Transforme os números abaixo que estão em complemento de dois, para o seu equivalente decimal. a) 1101101 b) 100000 c) 1010111 3 - Sendo A = 36 |10 e B = 6 |10, efetue as operações solicitadas em binário, mostrando o desenvolvimento. a) A + B b) A – B c) – A + B d) – A – B e) A * B f) A / B 53 4 - Sendo A = 72 |10 e B = 8 |10, efetue as operações solicitadas em binário, mostrando o desenvolvimento. a) A + B b) A – B c) – A + B d) – A – B e) A * B f) A / B 5 - Efetue as operações solicitadas dos números hexa abaixo. a) 3E91 + 2F93 b) FFF + 0FF c) ABC + DEF d) 3E91 – 2F93 e) 0300 – 005A f) F000 – EFFF 6 - Um pequeno computador tem uma faixa de memória utilizável situada nos seguintes endereços hexa: 0200 a 03FF, e 4000 a 7FD0. Qual é o número total de posições de memória disponíveis? 54 8. CIRCUITOS ARITMÉTICOS As operações aritméticas são realizadas na Unidade Lógica e Aritmética (ULA) de um computador, onde portas lógicas são combinadas de tal forma que seja possível somar, subtrair, multiplicar e dividir números binários. Estudaremos agora algumas células que compõem uma ULA, capazes de efetuar as operações aritméticas discutidas anteriormente. Célula Meio-Somador Seja uma célula com duas entradas e duas saídas, cuja operação é definida por F = A + B. 1º Etapa: Montar a Tabela Verdade. A B 0 0 0 1 1 0 1 1 Operação Decimal A + B Vi S 2º Etapa: Encontrar as equações minimizadas através dos Mapas de Karnaugh. 3º Etapa: Implementar as funções através de Portas Lógicas. B A Vi S 55 Célula Somador Completo A célula anterior nos permitia efetuar a soma de dois números com apenas 1 bit. Para somar dois números formados por uma quantidade maior de bits, por exemplo um byte, podemos fazer uma associação de várias células do tipo somador completo. Abaixo temos um exemplo de um somador de 4 bits: B4 A4 B3 A3 B2 A2 Vi Vi + + Vi+1 Vi Vi + + Vi+1 S4 B1 A1 Vi+1 Vi+1 S3 S2 S1 A operação de uma célula Somador Completo é definida por: F = A + B + Vi. 1º Etapa: Montar a Tabela Verdade. A B Vi 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Oper. Decimal A + B + Vi Vi+1 S 2º Etapa: Encontrar as equações minimizadas através dos Mapas de Karnaugh. 56 3º Etapa: Implementar as funções através de Portas Lógicas. B Vi+1 A Vi S Célula Subtratora Seja uma célula de três entradas e duas saídas, cuja operação é definida por F = A – B – Vi. 1º Etapa: Montar a Tabela Verdade. A B Vi 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Oper. Decimal A – B – Vi Vi+1 S 2º Etapa: Encontrar as equações minimizadas através dos Mapas de Karnaugh. 57 3º Etapa: Implementar as funções através de Portas Lógicas. B A Vi+1 Vi S Exercício: A célula “Sinal da Adição” envolve dois números dotados de sinal: n −1 A = − an ⋅ 2 n + B = −bn ⋅ 2 n + ak ⋅ 2 k k =0 n −1 k =0 bk ⋅ 2 k A + B = – an – bn +[Vi] Projete uma célula "Sinal da Adição", cuja operação decimal é: - A - B + Vi. Resposta: 58 Exercício: A célula “Sinal da Subtração” envolve dois números dotados de sinal. Sabemos que a operação de subtração entre dois números é: A - B - Vi. Para números dotados de sinal, a operação deverá ser considerada como: - (A - B) - Vi, ou então, - A + B - Vi. Projete uma célula "Sinal da Subtração", cuja operação decimal é: - A + B - Vi. Resposta: 59 EXERCÍCIOS PROPOSTOS 1 - Projete uma única célula Somador-Completo / Subtratora, onde uma variável de controle X irá determinar o modo de funcionamento: Célula Somador Completo Se X = 0 Se X = 1 Célula Subtratora 60 9. FAMÍLIAS LÓGICAS DE CIRCUITOS INTEGRADOS Embora existam muitos fabricantes de CIs (Circuitos Integrados), a maior parte da nomenclatura e terminologia é razoavelmente padronizada. Os termos mais úteis são definidos a seguir: VIH(min) – Tensão Mínima de Entrada em Nível Alto VIL(máx) – Tensão Máxima de Entrada em Nível Baixo VOH(min) – Tensão Mínima de Saída em Nível Alto VOL(máx) – Tensão Máxima de Saída em Nível Baixo IIH – Corrente de Entrada em Nível Alto IIL – Corrente de Entrada em Nível Baixo IOH – Corrente de Saída em Nível Alto IOL – Corrente de Saída em Nível Baixo IOH IOL IIH IIL Níveis de Tensão: Circuitos lógicos só trabalharão confiavelmente com níveis de tensão especificados pelos fabricantes, ou seja, as tensões devem ser menores que VIL(max) e maiores que VIH(min) – fora da faixa de indeterminação – e com alimentação adequada. Vs Nível 1 Indeterminado Nível 0 Fan – In: Número que expressa a quantidade de entradas de uma porta lógica Fan – Out: Número que expressa a quantidade máxima de blocos da mesma família, que poderá ser conectada à saída de um único bloco lógico. Na família TTL o fan-out é em torno de dez (10) para a maioria das portas Potência: Como todo circuito elétrico, um circuito lógico consome uma certa quantidade de potência. Essa potência é fornecida por fontes de alimentação e esse consumo deve ser levado em consideração em um sistema digital. Se um circuito integrado consome menos potência poderemos ter uma fonte de menor capacidade e com isso reduziremos os custos do projeto. 61 Tempo de Comutação (tc): Tempo necessário para que a saída de um circuito lógico mude de estado. Vs Nível 1 Nível 0 tc tc Tempo de Atraso (tatraso): Tempo que a saída leva para “responder” a uma mudança de estado na entrada. V entrada Nível 1 Nível 0 t V saída Nível 1 Nível 0 t t atraso Velocidade x Potência: Um circuito digital ideal é aquele que possui o menor consumo de potência e o menor atraso de propagação. Em outras palavras, o produto de velocidade e potência deve ser o menor possível. É uma medida muito usada para comparar a performance de diferentes CIs. Imunidade ao Ruído: Ruídos são sinais indesejáveis gerados por campos eletromagnéticos que podem afetar o funcionamento de um circuito lógico. Esses sinais podem fazer com que a tensão de entrada de um circuito lógico caia abaixo de VIH(min) ou aumente além de VIL(max), gerando falsos sinais. A imunidade ao ruído se refere à capacidade de um circuito lógico de rejeitar esse ruído. Fornecimento e Absorção de Corrente: O fornecimento de corrente é mostrado na figura seguinte. Quando a saída da porta lógica 1 está em ALTO, ela fornece uma corrente IIH para a entrada da porta lógica 2. 62 A absorção de corrente é mostrada na segunda parte da figura. Quando a saída da porta lógica 1 está em BAIXO, ela absorve uma corrente IIL pela entrada da porta lógica 2. 9.1. A Família Lógica TTL (Transistor Transistor Logic) O circuito lógico básico TTL é a porta NAND. Seu diagrama de circuito mostrado a seguir permite que a saída forneça 0 ou 1 de acordo com a combinação das duas entradas. Este circuito está na configuração Totem-Pole, que impede que os dois transistores T3 e T4 conduzam juntos. VCC R1 R2 R4 T3 T1 A T2 D1 B VS T4 R3 Estando A ou B com nível zero, T1 estará saturado levando T2 ao corte, e consequentemente T4. O potencial na base de T3 é suficiente para saturá-lo, enviando na saída nível lógico um. A tensão de saída será VCC – (VR4 + VCE sat T3 + VD1). A corrente sai para fora da porta através de D1. Se A e B estiverem com nível 1, haverá no transistor T1 uma condução de base para coletor, saturando T2 e consequentemente T4, ficando a saída com VCE sat T4 ≅ 0,3 nível zero. O potencial 63 VCE sat T2 levará T3 ao corte e D1 também não conduzirá. A corrente fluirá da carga para o interior da porta, via coletor-emissor de T4. TTL Padrão - Código 74XX Existem duas séries TTL padrão diferenciadas pela faixa de tensão de alimentação e temperatura: a série 74 e a série 54. A série 74 utiliza alimentação entre 4,75 V e 5,25 V e opera entre 0º a 70º C. A série 54 utiliza alimentação entre 4,5 V e 5,5 V e opera entre -55º a 125º C. Existe uma margem de segurança de uma saída para a entrada, chamada de margem de ruído, que é dado por: VIL(max) - VOL(max) = 0,8V - 0,4V = 0,4 V. A margem de ruído também poder ser dada por: VOH(min) - VIH(min) = 2,4V - 2,0V = 0,4 V. As tensões máximas de trabalho de um TTL padrão não devem ultrapassar 5,5 V. Uma tensão maior de 5,5 V aplicada a um emissor de entrada pode causar dano na junção B-E de T1. Tensões menores que –0,5 V também podem danificar o componente. A série TTL padrão fornece uma grande variedade de portas lógicas, porém raramente são utilizados em novos projetos devido à melhor performance das novas séries TTL. Essas outras séries, conhecidas como sub-famílias, fornecem uma ampla faixa de capacidades de velocidade e potência. TTL Low Power – Código 74LXX e TTL High Speed - Código 74HXX Estas séries são versões TTL para baixa potência (74L) e alta velocidade (74H). A primeira consumia 1 mW e tinha um tempo de atraso de propagação de 33 ns e a segunda consumia 23 mW, com um tempo de atraso de propagação de 6 ns. Não são mais fabricadas atualmente. TTL Schottky – Código 74SXX Esta série utiliza diodos Schottky entre a base e o coletor dos seus transistores, evitando que eles trabalhem saturados. Com isso o tempo de resposta do circuito é mais rápido. Por exemplo, a porta NAND 74S00 tem um atraso médio de 3 ns, mas um consumo de potência de 20 mW. TTL Low Power Schottky – Código 74LSXX A série 74LS é uma versão de menor potência e menor velocidade da série 74S. Ela utiliza a combinação transistor/diodo Schottky, mas com valores maiores de resistores de polarização, o que diminui o consumo. Uma porta NAND 74LS tem um atraso típico de propagação de 9,5 ns e dissipação média de potência de 2 mW. TTL Schottky Avançada – Código 74ASXX A série 74AS surgiu como uma melhoria da série 74S. Possui velocidade e fan-out maiores e um menor consumo se comparado com a série 74S. TTL Schottky Avançada Baixa Potência – Código 74ALSXX Esta série surgiu como uma melhoria da série 74SL. TTL Fast – Código 74FXX Esta é a série TTL mais nova. Ela utiliza uma técnica de fabricação de circuitos integrados que reduz as capacitâncias entre os dispositivos internos visando reduzir os atrasos de propagação. 64 Na tabela temos uma comparação entre os tipos TTL vistos: Índices de performance Atraso de propagação (ns) Dissipação de potência (mW) Produto velocidade-potência (pJ) Taxa máxima de clock (MHz) Fan-out (mesma série) 74 9 10 90 35 10 74S 3 20 60 125 20 74LS 9,5 2 19 45 20 74AS 1,7 8 13,6 200 40 74ALS 4 1,2 4,8 70 20 74F 3 6 18 100 33 Parâmetros de tensão VOH (min) VOL (max) VIH (min) VIL (max) 74 2,4 0,4 2,0 0,8 74S 2,7 0,5 2,0 0,8 74LS 2,7 0,5 2,0 0,8 74AS 2,5 0,5 2,0 0,8 74ALS 2,5 0,4 2,0 0,8 74F 2,5 0,5 2,0 0,8 Entradas Desconectadas (Flutuando) Entradas desconectadas (abertas) em circuitos TTL se comportam como se o nível lógico “1” fosse aplicado à essa entrada. Embora a lógica esteja correta, entradas desconectadas se comportam como captadoras de ruídos, fazendo com que o circuito lógico não trabalhe corretamente. A figura abaixo mostra três maneiras de tratar entradas lógicas não utilizadas: Encapsulamento de Circuito Integrados Alguns tipos de encapsulamento de CIs. 65 Circuito TTL em Totem-Pole Dispositivos com saídas em totem-pole têm maior velocidade de chaveamento e gastam menor potência no circuito. Porém, as saídas totem-pole não podem ser ligadas juntas, pois o fluxo de corrente dentro dos dispositivos podem causar um superaquecimento dos mesmos. Como solução para esse problema, é possível colocar resistores no ponto de ligação entre os CIs, conforme mostrado na figura abaixo. VCC VCC saída A B alternativa para ligar duas saídas ao mesmo ponto. Circuito TTL em Coletor Aberto (Open Colector) VCC REXT R1 R2 T1 A T2 B T4 VS R3 66 Alguns circuitos TTL são projetados com saídas coletor aberto. Nesta configuração, a saída é no transistor T4, que está aberto (desconectado), Para operação adequada, um resistor pull-up externo deve ser conectado. O valor desse resistor é usualmente escolhido como 10K . Os dispositivos em coletor aberto apresentam uma velocidade de chaveamento bem menor do que aqueles com saída totem-pole. Em contrapartida, eles podem ter suas saídas conectadas juntas de modo seguro, conforme mostrado na figura. Esta conexão é denominado “Wired And” ou “Função E no Fio”. VCC S1 S S2 Simbologia para Portas Lógicas em Coletor Aberto Circuito TTL Totem-Pole em Tri-State (Terceiro Estado) Esta configuração possui a operação de alta velocidade do arranjo totem-pole, enquanto permite que as saídas sejam conectadas juntas. Permite três estados de saída possíveis: Alto, Baixo e Alta Impedância (Hi-Z). Quando um terminal está em Alta Impedância, é como se ele estivesse desconectado do resto do circuito, com uma resistência de vários megaohms em relação a terra e Vcc. Os CIs Tri-State tem uma outra entrada que permite selecionar o modo de funcionamento do dispositivo. A S B X T1 T2 S 0 satur. corte 0 0 corte satur. 1 1 corte corte Tri-State X 67 Vcc T2 S T1 X Exercício: Quantas portas NAND 74ALS20 podem ser acionadas pela saída de uma outra 74ALS20 ? Características: - IOH(max) = 400 µA - IOL(max) = 8 mA - IIH(max) = 20 µA - IIL(max) = 0,1 mA Resposta: 68 Exercício: Dado as características de corrente, quantas entradas TTL LS uma saída Standard pode alimentar ? TTL STANDARD LS IIL 1,6 mA 0,36 mA IIH 40 µA 10 µA IOL 16 mA 8 µA IOH 300 µA 400 µA Resposta: Exercício: Implementar a função Y = A.B . C.D . E.F com portas NE de duas entradas, utilizando saída convencional (totem pole) e open colector. Resposta: 69 Exercício: Uma porta lógica tem as seguintes especificações: VIH(min) = 2 V VIL(max) = 0,8 V VOH(min) = 2,7 V VOL(max) = 0,4 V tPLH(ns) = 20 ns tPHL(ns) = 20 ns As seguintes formas de onda foram injetadas nesta porta. Verifique se a porta lógica pode responder à essas formas de onda. Resposta: Exercício: Determine a expressão lógica para a saída do circuito abaixo. Resposta: 70 9.2. A Família Lógica MOS (Metal Oxide Semiconductor) A maioria dos circuitos digitais MOS (metal oxide semiconductor – semicondutor com óxido metálico) é constituída de transistores de efeito de campo (MOSFET). Eles são menores, consomem pouco e são mais fáceis de fabricar. Dispositivos MOS podem conter um número maior de elementos de circuitos em um único encapsulamento do que os circuitos integrados bipolares. A grande desvantagem dessa tecnologia é sua susceptibilidade a danos provocados por eletricidade estática. O MOSFET Circuitos Digitais com MOSFETs Os circuitos digitais que utilizam MOSFETs podem ser divididos em três categorias: P-MOS, que utiliza MOSFETs com canal-P; N-MOS, que utiliza MOSFETs com canal-N; e CMOS (MOS Complementar) que utiliza ambos. Os circuitos P-MOS não são mais encontrados. - Inversor N-MOS A figura abaixo mostra um circuito básico de um INVERSOR N-MOS: 71 O circuito anterior mostra dois MOSFETs canal-N. O transistor Q1 é chamado MOSFET de carga e Q2 é chamado de MOSFET de comutação. O transistor Q1 está sempre conduzindo e funciona como se fosse um resistor de carga. - NAND N-MOS e NOR N-MOS A figura abaixo mostra os circuitos básicos das portas NAND N-MOS e NOR N-MOS: Características da Lógica MOS Se comparadas com famílias lógicas bipolares, as famílias lógicas N-MOS e P-MOS têm velocidade de operação menor, necessitam de menor potência, têm uma margem de ruído melhor, possuem uma faixa maior para a tensão de alimentação, um fan-out maior e menos espaço de área no chip. - Velocidade de Operação O atraso de propagação típico de uma porta NAND N-MOS é de 50 ns. A resistência de saída alta no estado ALTO e capacitâncias parasitas de entrada contribuem para aumentar esse atraso. - Margem de Ruído Para VDD = 5 V, as margens de ruído para a família N-MOS é de aproximadamente 1,5 V. A margem de ruído aumenta proporcionalmente para valores maiores de VDD. - Fan-Out Devido à alta resistência de entrada do MOSFET, o fan-out da família MOS é muito alto. O fan-out é limitado apenas pelas capacitâncias de entrada da porta que, em altas freqüências, pode deteriorar o sinal digital. Mesmo assim, o fan-out chega a 50 para a família MOS. - Consumo de Potência Por usar altas resistências, os circuitos lógicos MOS consomem pequenas quantidades de potência. 72 - Complexidade do Processo de Fabricação A família lógica MOS possui um processo de fabricação bem mais simples do que a família TTL porque utiliza apenas MOSFETs. - Sensibilidade à Eletricidade Estática A família lógica MOS é bastante susceptíveis a danos causados por eletricidade estática. Uma descarga eletrostática supera a capacidade de isolamento elétrico da camada de óxido danificando permanentemente o dispositivo. Lógica MOS Complementar A família lógica MOS Complementar (CMOS) utiliza MOSFETs tanto de canal-P quanto de canal-N. Isso torna o CMOS mais rápido e com menor consumo de potência em comparação com as outras famílias MOS. Em contrapartida, os circuitos integrados CMOS têm maior grau de complexidade para a fabricação e menor densidade de integração (ocupam maior área de chip). - Inversor CMOS O circuito básico do INVERSOR CMOS é mostrado na figura abaixo: Características da Série CMOS - Série 4000/14000 A série 4000 e a série 14000 são equivalentes. Os circuitos integrados dessas duas séries têm um consumo muito baixo e podem operar de 3 a 15 V. São muito lentos quando comparados com TTL e possuem corrente de saída muito baixa. 73 - Série 74C Série CMOS compatível pino a pino e funcionalmente equivalente a componentes TTL. Quanto à performance, a série 74C possui quase todas as características da série 4000. - 74HC/HCT (High Speed CMOS – CMOS de Alta Velocidade) Versão aperfeiçoada da série 74C. Possui maior velocidade e maior capacidade de corrente. Componentes das séries 74HC e 74HCT são compatíveis pino a pino com componentes da série TTL. A série 74HC não é eletricamente compatível com TTL. - 74AC/ACT (CMOS Avançado) Esta série apresenta uma melhoria no que se refere a imunidade a ruído, atraso de propagação e máxima freqüência de clock. Não são compatíveis pino a pino com TTL. - 74AHC (Advanced High-Speed CMOS – CMOS Avançado de Alta Velocidade) Esta é a mais recente série utilizada em aplicações de alta velocidade, baixo consumo e baixa capacidade de acionamento. - Tensão de Alimentação As séries 4000/14000 e 74C podem operar com VDD de 3 a 15 V. As séries 74HC/HCT e 74AC/ACT podem operar com VDD de 2 a 6 V. - Níveis de Tensão Lógicos CMOS TTL 4000B 74HC 74HCT 74AC 74ACT 74AHC 74AHCT 74 74LS 74AS 74ALS Parâmetro VIH(min) 3,5 3,5 2,0 3,5 2,0 3,85 2,0 2,0 2,0 2,0 2,0 VIL(max) 1,5 1,0 0,8 1,5 0,8 1,65 0,8 0,8 0,8 0,8 0,8 VOH(min) 4,95 4,9 4,9 4,9 4,9 4,4 3,15 2,4 2,7 2,7 2,7 VOL(max) 0,05 0,1 0,1 0,1 0,1 0,44 0,1 0,4 0,5 0,5 0,4 VNH 1,45 1,4 2,9 1,4 2,9 0,55 1,15 0,4 0,7 0,7 0,7 VNL 1,45 0,9 0,7 1,4 0,7 1,21 0,7 0,4 0,3 0,3 0,4 Níveis de tensão (em volts) de entrada/saída com VDD = VCC = +5 V. - Dissipação de Potência Quando o circuito lógico CMOS está estático (não está comutando), sua dissipação de potência é muito baixa. Para VDD = +5 V, a dissipação típica de potência DC é de 2,5 nW. Para VDD = +10 V, este valor aumenta para apenas 10 nW. - Dissipação de Potência Aumenta com a Freqüência A dissipação de potência em um circuito lógico CMOS aumenta com a freqüência de comutação de sua saída. 74 Quando uma saída CMOS comuta de BAIXO para ALTO, uma corrente transiente deve ser fornecida para a capacitância de carga. Essa capacitância corresponde a todas as capacitâncias parasitas das entradas das portas lógicas que são acionadas por esta saída. A figura acima mostra o efeito da capacitância de carga no momento da transição da saída de um circuito CMOS. Um outro fator é que durante as transições, por um curto período de tempo os dois transistores de saída estarão conduzindo juntos. Esse efeito também contribui para o aumento da dissipação de potência. - Velocidade de Comutação Os dispositivos CMOS têm maior velocidade de comutação em relação aos circuitos N-MOS e P-MOS. Isso porque a saída CMOS têm resistência menor que as saídas N-MOS e P-MOS. Uma porta NAND da série 4000 terá tipicamente um tpd de 50 ns com VDD = 5 V, e 25 ns com VDD = 10 V. Uma porta NAND da série 74HC/HCT tem um tpd médio em torno de 8 ns quando VDD = 5 V. Uma porta NAND 74AC/ACT tem um tpd médio em torno de 4,7 ns. Uma porta NAND 74AHC tem um tpd médio em torno de 4,3 ns. - Entradas Não-Utilizadas Entrada CMOS nunca devem ficar desconectadas. Elas devem ser conectadas a um nível lógico ou alguma outra entrada. Uma entrada CMOS não conectada é susceptível a ruído e a eletricidade estática, que poderiam polarizar os MOSFETs para um estado de condução, resultando no aumento de dissipação de potência e em possível superaquecimento. Tecnologia de Baixa Tensão O aumento do número de componentes dentro dos circuitos integrados acarreta em um aumento de sua potência consumida e em problemas no material isolante entre os seus componentes internos. Para solucionar estes problemas surgiram os circuitos integrados que utilizam a tecnologia de baixa tensão, ou seja, a tensão é menor que os 5 V: • Série 74LVC (Low-Voltage CMOS – CMOS de Baixa Tensão) – Utiliza lógica de 3,3 V mas pode aceitar níveis lógicos de 5 V em suas entradas. 75 • • • Série 74ALVC(Advanced Low-Voltage CMOS – CMOS de Baixa Tensão Avançado) – Oferece melhor performance e trabalha apenas com lógica de 3,3 V. Série 74LV (Low-Voltage – Baixa Tensão) – Utiliza tecnologia CMOS mas opera somente com dispositivos de 3,3 V. Série 74LVT(Low-Voltage BiCMOS Technology – Tecnologia BiCMOS de Baixa Tensão) – Oferece as mesmas características da série 74LVC (as entradas aceitam níveis lógicos de 5 V) e são eletricamente compatíveis com TTL. Vcc (recomendado) tPD (ns) Intervalo para VIH (V) VIL (max) (V) IOH (mA) IOL (mA) LVC 2,0 a 3,6 6,5 2,0 a 6,5 0,8 24 24 ALVC 2,3 a 3,6 3 2,0 a 4,6 0,8 12 12 LV 2,7 a 3,6 18 2,0 a Vcc + 0,5 0,8 6 6 LVT 2,7 a 3,6 4 2,0 a 7 0,8 32 64 Interfaceamento de Circuitos Integrados Quando utilizamos circuitos integrados de diferentes tecnologias quase sempre necessitamos de um circuito de interface. O circuito de interface está conectado entre a saída do circuito acionador e a entrada do circuito de carga. Sua função é condicionar o sinal vindo do acionador e condicioná-lo de modo a torná-lo compatível com os requisitos da carga. 4000B 74HC 74HCT CMOS 74AC 74ACT 74AHC 74AHCT 74 74LS TTL 74AS 74ALS 74F VIH (min) 3,5 V 3,5 V 2,0 V 3,5 V 2,0 V 3,85 V 2,0 V 2,0 V 2,0 V 2,0 V 2,0 V 2,0 V VIL (max) 1,5 V 1,0 V 0,8 V 1,5 V 0,8 V 1,65 V 0,8 V 0,8 V 0,8 V 0,8 V 0,8 V 0,8 V VOH (min) 4,95 V 4,9 V 4,9 V 4,9 V 4,9 V 4,4 V 3,15 V 2,4 V 2,7 V 2,7 V 2,7 V 2,5 V Parâmetros VOL IIH (max) (max) 0,05 V 1 µA 0,1 V 1 µA 0,1 V 1 µA 0,1 V 1 µA 0,1 V 1 µA 0,44 V 1 µA 0,1 V 1 µA 0,4 V 40 µA 0,5 V 20 µA 0,5 V 20 µA 0,4 V 20 µA 0,5 V 20 µA IIL (max) 1 µA 1 µA 1 µA 1 µA 1 µA 1 µA 1 µA 1,6 mA 0,4 mA 0,5 mA 0,1 mA 0,6 mA IOH (max) 0,4 mA 4 mA 4 mA 24 mA 24 mA 8 mA 8 mA 0,4 mA 0,4 mA 2 mA 0,4 mA 1 mA IOL (max) 0,4 mA 4 mA 4 mA 24 mA 24 mA 8 mA 8 mA 16 mA 8 mA 20 mA 8 mA 20 mA Níveis de tensão e corrente de entrada/saída com VDD = VCC = +5 V. - TTL Acionando CMOS Quando interfaceamos diferentes tipos de circuitos integrados, devemos verificar se o dispositivo acionador pode satisfazer os parâmetros de corrente e tensão do dispositivo de carga. No caso de um TTL acionar uma carga CMOS, a corrente de saída TTL é capaz de satisfazer o requisito de entrada da entrada CMOS. Com relação à tensão, os parâmetros VOH(min) de todas as séries TTL são muito baixos quando comparados com VIH(min) das séries 4000B, 74HC, 74AC e 74AHC. 76 A solução é aumentar a tensão VOH(min) do acionador TTL. Isso é feito através de um resistor de pull-up. O resistor de pull-up externo aumenta a tensão de saída para aproximadamente 5 V no estado ALTO. - TTL Acionando CMOS com Tensão de Alimentação Alta Os circuitos integrados TTL não podem operar com tensões maiores do que 5 V. Quando o dispositivo CMOS estiver operando com alimentação maior de 5 V, o resistor de pull-up não poderá ser utilizado. A solução é utilizar um buffer coletor aberto (7407) conforme a figura abaixo: O buffer 7407 é usado para interfacear dispositivos TTL que acionam cargas CMOS com alimentação maior do que 5 V. - CMOS Acionando TTL no Estado ALTO As saídas CMOS podem fornecer tensão suficiente (VOH) para satisfazer os requisitos de uma entrada TTL no estado ALTO (VIH). As saídas CMOS também podem fornecer corrente suficiente para satisfazer os requisitos de corrente de entrada (IIH). - CMOS Acionando TTL no Estado BAIXO Nesta situação, as séries 74HC e 74HCT podem acionar apenas uma carga TTL. A série 4000B não consegue acionar nenhuma carga TTL. 77 A solução é utilizar um buffer tristate (74LS125). Este circuito de interface possui corrente de entrada baixa e corrente alta de saída. - CMOS com Tensão de Alimentação Alta Acionando TTL Neste caso é necessário utilizar um circuito de interface que possa converter uma entrada de alta tensão para uma saída de 5 V. Um buffer (4050B) é utilizado para essa interface. Exercício: Qual tecnologia (TTL ou CMOS) estamos nos referindo nas alternativas abaixo ? a) b) c) d) e) f) g) h) i) Maior densidade de integração. Maior velocidade. Maior fan-out. Menor impedância de saída. Processo de fabricação mais simples. Menor dissipação de potência em freqüências menores do que 1 MHz. Transistores como único elemento. Menor capacitância de entrada. Menos susceptível a descargas eletrostáticas. Resposta: 78 Exercício: Analise o circuito abaixo e indique onde está o possível problema. 4049B com VDD = 10 V - VIL(max) = 3 V - VIH(min) = 7 V Resposta: Exercício: Dado as características de corrente, quantas entradas 74LS podem ser acionadas por uma saída 74HC? E para uma saída 4000B? CMOS Parâmetro IIH IIL IOH IOL 4000B 1 A 1 A 0,4 mA 0,4 mA TTL 74HC 1 A 1 A 4 mA 4 mA 74 40 A 1,6 mA 0,4 mA 16 mA 74LS 20 A 0,4 mA 0,4 mA 8 mA Resposta: 79 EXERCÍCIOS PROPOSTOS 1 - Para cada afirmação, indique o termo ou parâmetro descrito. a) A corrente de entrada quando o nível lógico 1 é aplicado nessa entrada b) Tempo requerido para uma saída comutar do estado 1 para o estado 0. c) Uma medida comum usada para comparar a performance global de diferentes famílias de CIs. d) Quando uma saída em nível baixo recebe corrente de um circuito de entrada que ela está acionando. e) Número de entradas de uma mesma família que uma saída pode acionar com segurança. f) Configuração de transistores de saída em um circuito TTL padrão. g) Faixa de valores de alimentação permitida para a série TTL 74. h) Quando uma saída em nível alto fornece envia corrente para uma carga. 2 - A partir das características dos circuitos A e B dados na tabela abaixo, determine: a) Qual a faixa de tensão de entrada e de saída não permitida nos circuitos A e B? b) Qual circuito pode operar em freqüências mais altas? c) Qual circuito consome mais corrente? Vfonte(V) VIH(min) (V) VIL(max) (V) VOH(min) (V) VOL(max) (V) tPLH(ns) tPHL(ns) PD(mW) Circuito A 6 1,6 0,9 2,2 0,4 10 8 16 Circuito B 5 1,8 0,7 2,5 0,3 18 14 10 3 - O circuito abaixo possui dois buffers tristate, cujo funcionamento é mostrado na seguinte tabela: SELEÇÃO 0 1 X A B Analise o circuito abaixo e mostre a forma de onde na saída X. 4 - Use a tabela da pág. 76 para determinar quantas portas lógicas podem ser colocadas na interface da primeira família lógica acionando a segunda. a) 74AS para 74AS b) 74F para 74F c) 74AHC para 74AS d) 74HC para 74ALS 80 5 - A saída de uma porta OU-Exclusivo 74LS86 está acionando cinco portas NAND 74LS20. Usando a tabela da pág. 76, determine se o fan-out está sendo excedido. 6 - A saída de uma porta NAND 74ALS00 está acionando três entradas de portas 74LS e uma entrada 7406. Utilizando a tabela disponível na pág. 76, verifique se existe algum problema de carregamento. 7 - Um 7406 com coletor aberto está sendo usado para acionar um LED. As especificações do LED são: - VF = 2,4 V (tensão de condução) - IF = 20 mA (corrente de condução típica) - IF (max) = 30 mA (corrente máxima de condução) As especificações do 7406 são: - VOL(max) = 0,4 V - IOL(max) = 40 mA a) Qual a tensão na saída do 7406 quando A = 0? b) Calcule o valor de Rs para esse circuito. 81 10. ANEXO 1: LABORATÓRIOS LABORATÓRIO 1: PORTAS LÓGICAS 1- Utilizando o Kit de Sistemas Digitais, monte e simule as seguintes portas lógicas: OU, E, NOU, NE, Inversora, OU-Exclusivo e E-Coincidência. Como o Kit disponibiliza apenas alguns tipos de portas lógicas, você terá que adaptar o circuito para poder encontrar as portas desejadas. 2- Após a simulação, desenhe as portas lógicas com suas respectivas tabelas de funcionamento. 82 LABORATÓRIO 1: PORTAS LÓGICAS PREENCHER E ENTREGAR PARA O PROFESSOR (1 RELATÓRIO POR GRUPO) NÚMEROS NOME DOS ALUNOS DO GRUPO 1- Utilizando o Kit de Sistemas Digitais, monte e simule as seguintes portas lógicas: OU, E, NOU, NE, Inversora, OU-Exclusivo e E-Coincidência. Como o Kit disponibiliza apenas alguns tipos de portas lógicas, você terá que adaptar o circuito para poder encontrar as portas desejadas. 2- Após a simulação, desenhe as portas lógicas com suas respectivas tabelas de funcionamento. 83 LABORATÓRIO 2: MAPAS DE KARNAUGH 1- Encontre as funções minimizadas dos Mapas de Karnaugh abaixo. AB CD 00 00 X 01 1 01 1 11 0 10 0 1 0 1 ABC 000 001 011 010 110 111 101 100 0 1 1 0 X 0 00 X 0 1 1 0 X X 01 1 X 0 DE 11 1 X X 1 11 1 1 0 X 1 0 X 1 10 1 X 0 0 10 0 0 0 1 1 X 0 0 2- Desenhe os circuitos lógicos a partir das funções minimizadas, utilizando qualquer porta lógica com no máximo duas entradas. 3- Monte as Tabelas Verdade das equações minimizadas. 4- Implemente as funções minimizadas no Kit de Sistemas Digitais e compare com a Tabela Verdade. 84 LABORATÓRIO 2: MAPAS DE KARNAUGH PREENCHER E ENTREGAR PARA O PROFESSOR (1 RELATÓRIO POR GRUPO) NÚMEROS NOME DOS ALUNOS DO GRUPO 1- Encontre as funções minimizadas dos Mapas de Karnaugh abaixo. AB CD 00 00 X 01 1 ABC DE 000 001 011 010 110 111 101 100 0 1 1 0 X 0 00 X 0 01 1 11 0 10 0 1 0 1 01 1 X 0 1 1 0 X X 11 1 X X 1 11 1 1 0 X 1 0 X 1 10 1 X 0 0 10 0 0 0 1 1 X 0 0 2- Desenhe os circuitos lógicos a partir das funções minimizadas, utilizando qualquer porta lógica com no máximo duas entradas. 3- Monte as Tabelas Verdade das equações minimizadas. 4- Implemente as funções minimizadas no Kit de Sistemas Digitais e compare com a Tabela Verdade. 85 LABORATÓRIO 3: CIRCUITOS COMBINACIONAIS I Um edifício inteligente possui um sistema de controle que aciona o sistema de iluminação elétrica de uma sala nas seguintes condições: - Fora do expediente, sempre que a luminosidade externa estiver abaixo do nível estabelecido, condicionado ao fato de haver pessoas dentro do recinto; OU Durante o expediente, caso o nível de luminosidade externa caia abaixo do nível estabelecido. Para isso, o sistema possui alguns sensores de entrada para controlar o sistema de iluminação: Variável (E) expediente (=0 fora do expediente e =1 durante o expediente) Variável (L) luminosidade externa (=0 abaixo do estabelecido =1 acima do estabelecido) (=0 ausência de pessoas e =1 presença de pessoas) Variável (P) detector de presença Variável (S) sistema de iluminação (=0 desacionado e =1 acionado) 1- Obtenha a equação apenas lendo o enunciado, sem minimizar, da função que indique em que condições o sistema de iluminação deve ser acionado. 2- Desenhe o circuito lógico a partir da função acima, utilizando qualquer porta lógica com no máximo duas entradas. 3- Obtenha a tabela verdade que representa essa situação. E 0 0 0 0 1 1 1 1 L 0 0 1 1 0 0 1 1 P 0 1 0 1 0 1 0 1 S 86 4- A partir da tabela verdade, minimize a função utilizando Karnaugh. 5- Implemente o novo circuito lógico a partir da função minimizada. Compare com o circuito anterior e monte no Kit de Sistemas Digitais. 87 LABORATÓRIO 3: CIRCUITOS COMBINACIONAIS I PREENCHER E ENTREGAR PARA O PROFESSOR (1 RELATÓRIO POR GRUPO) NÚMEROS NOME DOS ALUNOS DO GRUPO Um edifício inteligente possui um sistema de controle que aciona o sistema de iluminação elétrica de uma sala nas seguintes condições: - Fora do expediente, sempre que a luminosidade externa estiver abaixo do nível estabelecido, condicionado ao fato de haver pessoas dentro do recinto; OU Durante o expediente, caso o nível de luminosidade externa caia abaixo do nível estabelecido. Para isso, o sistema possui alguns sensores de entrada para controlar o sistema de iluminação: Variável (E) expediente (=0 fora do expediente e =1 durante o expediente) Variável (L) luminosidade externa (=0 abaixo do estabelecido =1 acima do estabelecido) Variável (P) detector de presença (=0 ausência de pessoas e =1 presença de pessoas) Variável (S) sistema de iluminação (=0 desacionado e =1 acionado) 1- Obtenha a equação apenas lendo o enunciado, sem minimizar, da função que indique em que condições o sistema de iluminação deve ser acionado. 2- Desenhe o circuito lógico a partir da função acima, utilizando qualquer porta lógica com no máximo duas entradas. 88 3- Obtenha a tabela verdade que representa essa situação. E 0 0 0 0 1 1 1 1 L 0 0 1 1 0 0 1 1 P 0 1 0 1 0 1 0 1 S 4- A partir da tabela verdade, minimize a função utilizando Karnaugh. 5- Implemente o novo circuito lógico a partir da função minimizada. Compare com o circuito anterior e monte no Kit de Sistemas Digitais. 89 LABORATÓRIO 4: CIRCUITOS COMBINACIONAIS II Deseja-se construir um sistema de monitoramento para carros que, por meio de um alarme sonoro, alerte o motorista toda vez que o motor do seu veículo estiver trabalhando em regime perigoso, caracterizado por pressão do óleo insuficiente ou pela temperatura da água acima do valor estabelecido. Para tal controle, existem sensores que indicam a velocidade de rotação do motor, a pressão do óleo e a temperatura da água. Se o número de rotações do motor estiver acima de 2.000 rpm, a temperatura da água deverá estar abaixo de 80 oC. Porém, com o motor girando abaixo de 2.000 rpm, tolera-se uma temperatura de até 90 oC. OBS: Utilizar don't care em todas as situações impossíveis de ocorrer na prática, independente das condições descritas acima. Considere: Sensor R (Rotações do Motor) (= 0 Abaixo de 2.000 rpm) (= 1 Acima de 2.000 rpm) Sensor P (Pressão do Óleo) (= 0 Pressão correta) (= 1 Pressão insuficiente) Sensor T8 (Temp. da Água) (= 0 Abaixo de 80 oC) (= 1 Acima de 80 oC) Sensor T9 (Temp. da Água) (= 0 Abaixo de 90 oC) (= 1 Acima de 90 oC) Alarme S (= 0 Desacionado) (= 1 Acionado) 1- Obtenha a tabela verdade, a equação minimizada através de Karnaugh e o circuito utilizando qualquer porta lógica com no máximo duas entradas 90 LABORATÓRIO 4: CIRCUITOS COMBINACIONAIS II PREENCHER E ENTREGAR PARA O PROFESSOR (1 RELATÓRIO POR GRUPO) NÚMEROS NOME DOS ALUNOS DO GRUPO Deseja-se construir um sistema de monitoramento para carros que, por meio de um alarme sonoro, alerte o motorista toda vez que o motor do seu veículo estiver trabalhando em regime perigoso, caracterizado por pressão do óleo insuficiente ou pela temperatura da água acima do valor estabelecido. Para tal controle, existem sensores que indicam a velocidade de rotação do motor, a pressão do óleo e a temperatura da água. Se o número de rotações do motor estiver acima de 2.000 rpm, a temperatura da água deverá estar abaixo de 80 oC. Porém, com o motor girando abaixo de 2.000 rpm, tolera-se uma temperatura de até 90 oC. OBS: Utilizar don't care em todas as situações impossíveis de ocorrer na prática, independente das condições descritas acima. Considere: Sensor R (Rotações do Motor) (= 0 Abaixo de 2.000 rpm) (= 1 Acima de 2.000 rpm) Sensor P (Pressão do Óleo) (= 0 Pressão correta) (= 1 Pressão insuficiente) Sensor T8 (Temp. da Água) (= 0 Abaixo de 80 oC) (= 1 Acima de 80 oC) Sensor T9 (Temp. da Água) (= 0 Abaixo de 90 oC) (= 1 Acima de 90 oC) Alarme S (= 0 Desacionado) (= 1 Acionado) 1- Obtenha a tabela verdade, a equação minimizada através de Karnaugh e o circuito utilizando qualquer porta lógica com no máximo duas entradas 91 LABORATÓRIO 5: FUNÇÕES COM PORTAS NE’S E NOU’S 1º Parte: Portas NOU’s 1- Minimize a função lógica booleana seguinte utilizando Mapa de Karnaugh. F = A.C + A.B.C + B.C + A.B.C 2- Transforme a expressão minimizada acima em soma de termos 3- Desenhe o circuito lógico que satisfaça o item 2, utilizando apenas portas NOU’s de 2 entradas. 4- Implemente o circuito no Kit de Sistemas Digitais. 92 2º Parte: Portas NE’s 1- Minimize as funções lógicas booleanas seguintes pelo Mapa de Karnaugh: F = B.D + A.B.C.D + B.C.D + A.C.D + A.C.D + A.B.C G = A.B.D + A.B.C.D + B.C.D + B.C.D + A.B.C.D 2- Transforme as expressões minimizadas acima em produto de termos 3- Desenhe os circuitos lógicos que satisfaçam o item 2, utilizando apenas portas NE’s de 2 entradas. 4- Implemente o circuito no Kit de Sistemas Digitais. 93 LABORATÓRIO 5: FUNÇÕES COM PORTAS NE’S E NOU’S PREENCHER E ENTREGAR PARA O PROFESSOR (1 RELATÓRIO POR GRUPO) NÚMEROS NOME DOS ALUNOS DO GRUPO 1º Parte: Portas NOU’s 1- Minimize a função lógica booleana seguinte utilizando Mapa de Karnaugh. F = A.C + A.B.C + B.C + A.B.C 2- Transforme a expressão minimizada acima em soma de termos 3- Desenhe o circuito lógico que satisfaça o item 2, utilizando apenas portas NOU’s de 2 entradas. 4- Implemente o circuito no Kit de Sistemas Digitais. 94 2º Parte: Portas NE’s 1- Minimize as funções lógicas booleanas seguintes pelo Mapa de Karnaugh: F = B.D + A.B.C.D + B.C.D + A.C.D + A.C.D + A.B.C G = A.B.D + A.B.C.D + B.C.D + B.C.D + A.B.C.D 2- Transforme as expressões minimizadas acima em produto de termos 3- Desenhe os circuitos lógicos que satisfaçam o item 2, utilizando apenas portas NE’s de 2 entradas. 4- Implemente o circuito no Kit de Sistemas Digitais. 95 LABORATÓRIO 6: CIRCUITOS ARITMÉTICOS 1- Desenhe o circuito lógico da Célula Meio-Somador, utilizando apenas portas NE’s e NOU’s. 2- Implemente o circuito acima no Kit de Sistemas Digitais. Conecte as saídas S e Vi no display de 7 segmentos para visualizar o resultado da soma. 96 LABORATÓRIO 6: CIRCUITOS ARITMÉTICOS PREENCHER E ENTREGAR PARA O PROFESSOR (1 RELATÓRIO POR GRUPO) NÚMEROS NOME DOS ALUNOS DO GRUPO 1- Desenhe o circuito lógico da Célula Meio-Somador, utilizando apenas portas NE’s e NOU’s. 2- Implemente o circuito acima no Kit de Sistemas Digitais. Conecte as saídas S e Vi no display de 7 segmentos para visualizar o resultado da soma. 97 PROJETO DE SISTEMAS DIGITAIS REGRAS DO PROJETO: Média = (P1 + 2 . P2) . Fator 3 Fator = Projeto + 1,0 10 Projeto = Parte_Prática (8,0 pontos) + Relatório (2,0 pontos) Parte_Prática: - Projeto funcionando perfeitamente = 8,0 - Projeto funcionando parcialmente = 7,0 - Projeto não funcionando (justificar o não funcionamento) = 6,0 - Projeto não funcionando (sem justificativa do não funcionamento) = 5,0 - Projeto não entregue = Zero Relatório: - Capa - Introdução - Procedimento até a obtenção do circuito elétrico - Cálculos - Desenho do circuito eletrônico - Conclusão OBS: - Não serão aceitos projetos após o início da P2. - O projeto deve ser entregue junto com o relatório. - O número máximo de participantes por grupo é de 4 alunos. - Na entrega do projeto, é obrigatória a presença de todos os componentes do grupo. No caso de ausência, o aluno faltoso perderá 3,0 pontos, ou comprovação de não participação na confecção do projeto (chamada oral), o aluno perderá de 1,0 a 3,0 pontos. Anote abaixo as condições de seu Projeto de Sistemas Digitais: 98 99 11. ANEXO 2: PINAGEM DE CIRCUITOS INTEGRADOS 7400 - 4 Portas NE / 2 entradas 7404 - 6 Inversores 7408 - 4 Portas E / 2 entradas 7411 - 3 Portas E / 3 entradas 7432 - 4 Portas OU / 2 entradas 7442 - Decodificador BCD / Decimal 7473 - 2 Flip Flops JK 7486 - 4 Portas Ou-Exclusivo 7491 - Shift Register 8 bits 74150 - Multiplexador 74160 - Contador por Década 74195 - Shift Register 4 bits 74373 - 8 Flip Flops D 7402 - 4 Portas NOU / 2 entradas 7407 - 6 Buffers CA 7410 - 3 Portas NE / 3 entradas 7414 - 6 Inversores Schmitt 7440 - 2 Buffers NE / 4 entradas 7447 - Decodificador BCD / 7 segmentos 7476 - 2 Flip Flops JK 7490 - Contador por Década 74125 - 4 Buffers 74154 - Demultiplexador 74191 - Contador Up/Down 74266 - 4 Portas E-Coincidência 100 12. ANEXO 3: RESPOSTAS DOS EXERCÍCIOS PROPOSTOS CAPÍTULO 1 1- a) Digital b) Analógica c) Analógica d) Digital e) Analógica, se for ponteiro e Digital, se for mostrador numérico f) Analógica g) Analógica h) Digital 2 - Quantidades analógicas podem assumir qualquer valor dentro de uma faixa contínua; quantidades digitais podem assumir apenas valores discretos. 3 - Mais fácil de projetar; mais fácil de armazenar informação; maior exatidão e precisão; mais fácil de programar; menos afetadas por ruído; maior grau de integração. 4 - As quantidades físicas do mundo real são analógicas. CAPÍTULO 2 1 - 255 |10 2 - 11000 |2 3 - 9 bits 4 - 32.768 ou 32K 5- a) 78,625 b) 11001 c) 452 d) 100001110 e) 156 f) 0,47AE g) 127,1075 h) 5E i) 1111011010 j) 18 6- a) BCD: 0011 0010 0110 Gray: 0010 0011 0101 Exc. 3: 0110 0101 1001 b) BCD: 0100 0101 1000 Gray: 0110 0111 1100 Exc. 3: 0111 1000 1011 c) BCD: 0010 0101 0101 Gray: 0011 0111 0111 Exc. 3: 0101 1000 1000 101 d) BCD: 0111 0001 Gray: 0100 0001 Exc. 3: 1010 0100 CAPÍTULO 3 1- a) S = A.C + B.D b) F = A + C c) F = X + Y d) X = B e) G = M.P.N + M.P.N f) F = B.C 2- a) X Y Z W F b) A B C D F c) A B C D S 102 d) X Y Z W G 3 - a) F = A.B . (B + C) . A.D b) S = X W + X.(Y + Z) 4 - Quando A = 0, B = 1 e C = 0, quando A = 1, B = 1 e C = 0 ou quando B = 1 e C = 0 independente do valor da entrada A. 5 - W = 1 quando T = 1 e P = 1 ou quando T = 1 e R = 0 6 - Porta NOU 7B X A Y 8- F(XYZ) = X.Y.Z + X.Y.Z + X.Y.Z + X.Y.Z + X.Y.Z F(XYZ) = Σ (1, 3, 4, 5, 7) 9- F(ABC) = A.B.C + A.B.C + A.B.C F(ABC) = Σ (0, 1, 5) CAPÍTULO 4 1- a) F = B + A.C b) F = B.C + B.D + B.C.D c) F = D + A.B + A.C d) F = B.E + B.C.D + B.C.E e) F = A.C + B.D 103 f) F = A ⊕ B g) F = 1 ou F = Vcc h) F = 0 ou F = Gnd 2- a) F = (A + B).D + A.D + B.C.D b) F = A + B.D + B.C.D c) A B C D F 3PM FC 00 00 0 01 0 01 1 11 10 1 0 0 1 0 11 1 0 1 1 10 1 1 1 1 A = M.F + P.M + M.C 4XY Z XY 00 0 X 1 0 01 0 11 10 1 0 1 0 1 Par = X.Y.Z + X.Y.Z + X.Y.Z Z 00 0 X 1 1 01 1 11 10 0 1 0 1 0 Ímpar = X.Y + X.Z + Y.Z + X.Y.Z 5S1 S2 S3 S4 00 00 01 11 10 0 0 1 0 01 0 1 X X 11 1 1 X X 10 0 1 1 1 F = S1.S2 + S3.S4 + S1.S3 + S2.S3 + S2.S4 104 6AT XY 00 00 0 01 0 01 1 11 10 0 0 1 0 0 11 1 1 1 1 10 0 1 0 0 S = A.T + X.Y 7X1 X0 Y1 Y0 X1 X0 00 00 1 01 0 11 10 0 0 01 0 1 0 11 0 0 10 0 0 Y1 Y0 00 00 0 01 1 11 10 1 1 0 01 0 0 1 1 1 0 11 0 0 0 0 0 1 10 0 0 1 0 R = X1.X0.Y1.Y0 + X1.X0.Y1.Y0 + S = X1.Y1 + X0.Y1.Y0 + X1.X0.Y0 X1.X0.Y1.Y0 + X1.X0.Y1.Y0 X1 X0 Y1 Y0 00 00 0 01 1 01 0 11 10 0 0 0 0 0 11 1 1 0 1 10 1 1 0 0 T = X1.Y1 + X1.X0.Y0 + X0.Y1.Y0 8CR I 0 00 0 01 0 11 10 0 1 1 0 0 1 1 S = C.R + C.I 9AB CD 00 00 0 01 0 01 0 11 0 10 0 0 0 0 11 1 1 1 1 10 0 1 0 0 S = A.B.C + C.D 105 10 T1 T2 N1 N2 00 1 00 01 0 01 1 11 10 1 1 0 1 0 11 0 0 1 0 10 0 0 1 0 A = N1.N2 + T1.T2 11 S1 S2 S3 S4 00 00 1 01 0 S1 S2 01 0 11 10 0 1 S3 S4 0 0 0 00 00 0 01 0 01 0 11 10 1 1 0 0 0 11 1 0 0 1 11 0 0 0 0 10 1 0 0 1 10 0 0 1 1 B1 = S2.S3 + S2.S4 B2 = S1.S4 12 DE Vm C DE 00 00 1 01 11 10 1 X 1 01 0 0 X 11 0 0 10 0 0 00 00 1 01 11 10 1 X 1 0 01 0 0 X 0 X 0 11 0 0 X 0 X 1 10 0 1 X 0 M1 = D.C + Vm.C Vm C M2 = E.C + Vm + C 13 Tc Td Na Nb 00 00 1 01 1 11 1 10 1 01 0 1 1 1 11 0 1 1 1 10 0 1 1 1 A = Na + Nb + Tc.Td 14 T1 T2 NR NT 00 00 0 01 0 01 X 11 10 0 0 X 0 0 T1 T2 NR NT 00 00 1 01 1 01 X 11 10 0 0 X 0 0 11 0 X 0 0 11 1 X 0 0 10 1 X 1 1 10 1 X 0 0 B = NR.NT A = T1 106 T1 T2 NR NT 00 00 0 01 0 01 X 11 10 1 0 X 1 0 11 0 X 1 0 10 0 X 1 0 R = T2 CAPÍTULO 5 1- a) F = (A . B.C) . (A.B . C) A B C F b) F = A.C . B . (A.D) A B C D F c) F = (X.Y.Z).W . X.Z X Y Z W F 107 d) F = A.B . C . A.C A B C F 2- a) F = (A + B + C) + (A + B + C) A B C F b) F = X + Y + X + W + Z X Y Z W F c) F = (X + Y) + (Z + W) X Y Z W F 108 d) F = (X + Y + Z) + (X + Z) X Y Z F 3- F = X.Y.Z . X.Y . X.Y.W X Y Z G W 4- F = A.B . C.D . A.C.D A B C D F 109 5- S=A+B+C 6- a) F = A.B.D + (A + D).C b) F = A + B + D + A + D + C c) A B C D F CAPÍTULO 6 1 - Porque dois bits errados em um dado não alteram a paridade da quantidade de 1s. 2 - No segundo e no quarto conjunto de dados. 3- a) 1 b) 0 c) 0 d) 1 4- a) 0 b) 0 c) 1 d) 1 CAPÍTULO 7 1- a) 10111000 b) 1010011 c) 1011001 d) 10101110 2- a) - 19 b) - 32 c) - 41 110 3- a) 101010 b) 11110 c) 100010 d) 1010110 e) 11011000 f) 110 4- a) 1010000 b) 1000000 c) 1000000 d) 10110000 e) 1001000000 f) 1001 5- a) 6E24 b) 10FE c) 18AB d) EFE e) 2A6 f) 1 6 - 16.849 posições CAPÍTULO 8 1XA B Vi XA 00 00 0 01 1 01 1 11 1 10 0 0 0 11 0 1 10 1 0 B Vi 01 0 11 0 10 0 1 00 00 0 01 0 1 0 1 1 0 11 1 1 1 1 0 1 10 0 1 0 1 S = A ⊕ B ⊕ Vi Vi+1 = (Vi + B).(X ⊕ A) + B.Vi CAPÍTULO 9 1- a) IIH b) tPHL c) Produto velocidade-potência d) Absorção de corrente e) fan-out f) Totem-pole g) 4,75 V a 5,25 V h) Fornecimento de corrente 2- a) Para o Circuito A: Tensão de Entrada: De 1,6 V a 0,9 V Tensão de Saída: De 2,2 V a 0,4 V 111 Para o Circuito B: Tensão de Entrada: De 1,8 V a 0,7 V Tensão de Saída: De 2,5V a 0,3 V b) O circuito que pode operar em freqüências mais altas deve ter um tempo de resposta mais rápido, ou seja, menor tempo de atraso de propagação. Pela tabela, o circuito A tem, no pior caso, um tempo de atraso de propagação de 10 ns. Para o circuito B, no pior caso, o tempo de atraso de propagação é 18 ns. Nesse caso, o circuito A pode operar em freqüências mais altas. c) O consumo de corrente está relacionado com a potência dissipada (PD) e a tensão de alimentação do circuito (Vfonte): I = CC PD Vfonte Circuito A: ICC = 2,66 mA Circuito B: ICC = 2 mA O circuito A consome mais corrente. 3- 4- a) 40 portas b) 33 portas c) 16 portas d) 40 portas 5 - O fan-out não está sendo excedido. 6 - Problema de carregamento significa que a saída de uma porta lógica não consegue fornecer ou drenar corrente suficiente para acionar as entradas de outras portas lógicas. Estado ALTO: A soma das correntes IIH de todas as entradas conectadas em uma saída deve ser menor do que a especificação do IOH da saída: IOH(max)(74ALS00) ≥ 3 * IIH(max)(74LSXX) + IIH(max)(7406) 400 µA ≥ 3 * 20µ A + 40 µA 400 µA ≥ 100 µA (OK) Estado BAIXO: A soma das correntes IIL de todas as entradas conectadas em uma saída deve ser menor do que a especificação do IOL da saída: IOL(max)(74ALS00) ≥ 3 * IIL(max)(74LSXX) + IIL(max)(7406) 8 mA ≥ 3 * 0,4 mA + 1,6 mA 112 8 mA ≥ 2,8 mA (OK) Não existe problema de carregamento já que a porta NAND 74ALS00 consegue acionar as três entradas 74LS e a entrada 7406. 7a) Na saída do 7406, quando A = 0, terá nível lógico 1. Por se tratar de um circuito com coletor aberto, a tensão será +5 V, vinda da fonte (Obs. Não existe corrente no LED). b) Através dos dados fornecidos vemos que o 7406 consegue absorver 40 mA de corrente, o que é suficiente para acionar o LED, cuja corrente máxima é 30 mA. Equacionando temos: 5 – VF – I * Rs – VOL = 0 O pior caso será quando a corrente é máxima no LED e a saída VOL = 0 V: 5 – 2,4 – 30 mA * Rs – 0 = 0 Rs = 86,66 Ω No caso típico, quando a corrente é de 20 mA, Rs será: 5 – 2,4 – 20 mA * Rs – 0 = 0 Rs = 130 Ω 86,66 Ω < Rs < 130 Ω Ou seja, Rs pode assumir uma faixa de valores para os quais o LED pode acender sem danificá-lo. 113 13. BIBLIOGRAFIA - Sistemas Digitais - Princípios e Aplicações Autores: Tocci e Widmer Editora LTC / 7º Edição - Sistemas Digitais - Uma Abordagem Integrada Autor: John P. Uyemura Editora Thomson - Apostila "Sistemas Digitais Combinacionais" Autor: Prof. Jadir Denis P. Albino - Apostila "Sistemas Digitais" Autor: Prof. Djalmir Corrêa Mendes - Apostila "Elementos Básicos da Eletrônica Digital" Autor: Prof. Frederico O. de Campos ETE Júlio de Mesquita 114