Eletrônica Digital 1 - Sistemas de numeração Lidamos constantemente com quantidades. Quantidades são medidas monitoradas, gravadas, manipuladas aritmeticamente e observadas. Quando lidamos com quantidades, é de suma importância saber representar seus valores de maneira eficiente e precisa. Existem duas formas básicas de representação de valores numéricos das quantidades: a analógica e a digital. Analogicamente, uma quantidade é representada por outra que é proporcional à primeira. Exemplos: No velocímetro de um automóvel, a deflexão do ponteiro é proporcional à velocidade do veículo. A posição angular do ponteiro representa o valor da velocidade do veículo, e qualquer variação é imediatamente refletida por uma nova posição do ponteiro. No termômetro, a altura da faixa de mercúrio é proporcional à temperatura do ambiente. Quando ocorrem mudanças na temperatura, a altura da coluna de mercúrio também muda proporcionalmente. No microfone, a tensão de saída é proporcional à amplitude das ondas sonoras que o atingem. As variações da tensão de saída seguem as mesmas variações do som na entrada. Os exemplos acima mostram quantidades analógicas e têm uma característica comum importante: Eles variam continuamente dentro de uma faixa de valores. A velocidade do automóvel pode assumir qualquer valor entre 0 e 100 Km por hora (p. ex.). O termômetro pode assumir qualquer valor entre 0oC e 50 oC (p. ex.). CBSF X – MMII – r II - MMIII Notas de aula No microfone, sua saída pode assumir qualquer valor dentro de uma faixa de 0 à 10mV. Na representação digital, as quantidades são representadas por símbolos chamados de dígito, e não por valores proporcionais. Como por exemplo, tomamos um relógio digital que apresenta horas, minutos e às vezes, segundos nas forma de dígitos decimais. Como sabemos, o tempo varia continuamente, mas o relógio não mostra a variação de forma contínua e sim em saltos de um em um segundo ou de um em um minuto. Em outras palavras, a representação digital do tempo varia em passos discretos. A principal diferença entre a quantidade analógica e uma digital é que a analógica varia continuamente e a digital varia discretamente (passo a passo). Existem várias formas de representar quantidades. O sistema decimal que conhecemos utiliza dez algarismos (que são os algarismos de 0 a 9) para representar qualquer quantidade. O número 100 (cem) é descrito da seguinte forma: centenas dezenas 1 0 unidade 0 Ou seja: 1 centena, 0 dezenas e 0 unidade. Pode-se perceber que a quantidade que cada algarismo representa depende da posição que ele ocupa em relação ao conjunto de algarismos. É por este motivo que os sistemas numéricos são posicionais. A base do sistema numérico descreve a quantidade de algarismo que compõe o sistema. A base do sistema numérico decimal é 10 (base 10). Sendo então um sistema posicional de base 10, podemos reescrever o número 100 da seguinte forma: centenas dezenas 100 0 102 101 1 0 1x102 0 x 101 unidade 0 100 0 0 x 100 Outros sistemas importantes são o binário e o hexadecimal. 1 Eletrônica Digital O sistema binário é constituído por dois algarismos, 0 e 1. Portanto a base do sistema binário é 2. Como o sistema é constituído apenas pelos algarismos 0 e 1, como diferenciar o número decimal 100 do número binário 100. Isto é feito subscrevendo o número da base à direita do número, ou seja. 100 em decimal deve ser escrito 10010. 100 em binário deve ser escrito 1002. O sistema hexadecimal é constituído por 16 algarismos (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F). O uso das letras de A até F é justificado pelo fato de que em um sistema de numeração posicional, cada algarismo deve ocupar apenas uma única casa. Cada uma das letras equivale a uma quantidade decimal A = 1010, B = 1110, C = 1210, D = 1310, E = 1410 e F = 1510, A base do sistema hexadecimal é 16 e para ter certeza que um número está escrito em hexadecimal, deve ser acrescentado a direita do número, o algarismo 16 subescrito. 100 em hexadecimal deve ser escrito 10016. Sabemos como utilizar o sistema decimal, pois o utilizamos diariamente, más qual a utilidade dos outros dois sistemas? O sistema binário será utilizado sempre quando quisermos representar uma quantidade decimal em uma que os circuitos eletrônicos possam entender. Um velocímetro digital, deve mostrar a velocidade instantânea em um conjunto de displays. Para isso, um sistema deve transformar a rotação da roda em uma grandeza elétrica (tensão por exemplo) sendo esta aplicada a um circuito chamado conversor analógico-digital (AD) que transformará o valor de tensão em um número binário. Este número binário será então aplicado a entrada do circuito que controla o conjunto de displays, mostrando o número correspondente. Geralmente, os sistemas eletrônicos utilizam os números binários para transferir informações de um lado para outro. Já um número hexadecimal é preferencialmente utilizado em ambientes de programação, pois são capazes de representar grandes quantidades decimais com poucos algarismos. Por exemplo: CBSF X – MMII – r II - MMIII Notas de aula O número 102410 = 100000000002 ou 40016. 2 – Conversão entre os sistemas de numeração. Como estamos bem acostumados com o sistema decimal, e pouco ou nada conhecemos dos outros sistemas, é comum convertermos números entre os sistemas para termos noção das quantidades ou certeza de algum resultado. Para converter um número decimal em outro de qualquer base, basta dividi-lo diversas vezes pela base do número em que queremos convertê-lo. Este processo chamase divisões sucessivas. Exemplo: 10010 , x2 : 100 0 2 50 0 2 25 1 2 12 0 2 6 0 2 3 1 2 1 O resultado é obtido juntando-se todos os algarismos 0 ou 1 sempre a partir do último quociente até o primeiro resto, ou seja da direita para a esquerda. Portanto: 10010 = 11001002 Para converter o número 10010 em seu equivalente hexadecimal, deve ser feito o mesmo processo acima descrito, só que dividindo o número 100 do exemplo por 16. 10010 , x16: 100 4 16 6 O resultado é obtido juntando-se todos os algarismos menores do que 15, sempre a partir do último quociente até o primeiro resto, ou seja da direita para a esquerda. Portanto: 10010 = 6416 Já para convertermos um número de base qualquer em outro decimal (base 10), devemos utilizar a base do sistema elevado a posição que o algarismo ocupa (potência da posição). 2 Eletrônica Digital Notas de aula Exemplo: 10001012 , x10 6 2 5 4 2 3 2 2 1 0 2 2 2 2 64 32 16 8 4 2 1 1 0 0 0 1 0 1 64 0 0 0 4 0 1 Base 2 elevada a posição Resultado da potenciação Número binário que se quer converter Resultado da multiplicação das duas linhas acima Agora basta somar os resultados de cada coluna, assim. Exemplo: 1A316 , x2 1 A 3 0001 1010 0011 Desprezando os “zeros à esquerda” , o resultado é: 1101000112 Exemplo: 10001012 , x16 100 4 64 + 0 + 0 + 0 + 4 + 0 + 1 = 6910 Exemplo: 1A3 162 161 256 16 1 A 160 1 3 256 160 3 16 , x10 Base 16 elevada a posição Devemos lembrar que A16 é equivalente a quantidade 1010. Agora, basta somar os resultados de cada coluna. 256 + 160 + 3 = 41910 Também é possível converter números binários em hexadecimais ou hexadecimais em binário. Para isso, basta lembrar que qualquer algarismo hexadecimal, pode ser escrito com quatro algarismos binários. Podemos ver isto na tabela abaixo. Algarismo Binário 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 O equivalente binário é: Resultado da potenciação Número hexadecimal que se quer converter Resultado da multiplicação das duas linhas acima 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 CBSF X – MMII – r II - MMIII Algarismo Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F 0101 5 4516 Exercícios: a) Quais são os sistemas numéricos que conhece? b) Por que os sistemas numéricos são posicionais? c) O conjunto de algarismos 111 pode ser escrito tanto em decimal como binário ou em hexadecimal. Como podemos diferenciar este conjunto de algarismos em cada sistema sem confundi-lo. d) Onde o sistema binário tem melhor aplicação? e) Onde o sistema hexadecimal tem melhor aplicação? f) Converta: 1 – 200210 , x2 2 – 111101102 , x10 3 – F216 , x2 4 – 72710 , x16 5 – 1000100010112 , x16 6 – 12316 , x10 3 Eletrônica Digital Notas de aula 3 – Terminologias Função E (AND). No sistema numérico binário, o termo dígito binário é a abreviação para bit (binary digit). No número binário abaixo, o bit mais à esquerda, é denominado de bit mais significativo. Normalmente representamos este bit através da sigla MSB (Most Significant Bit). Já o bit mais à direita, é denominado de bit menos significativo e normalmente é representado pela sigla LSB (Last Significant Bit). a) tabela verdade, b) símbolo lógico c) expressão lógica. Função OU (OR) MSB 1 0 12 LSB Um conjunto de oito bits é denominado de Byte. Normalmente denominamos de palavra (Word) a um conjunto de bits. No entanto, não existe padronização do tamanho de bits que compõem uma Word, podendo ser formada de 8, 16, 32, 64 bits, etc. 4 – Funções Lógicas Existem seis funções lógicas básicas que são E (AND) , OU (OR) , INVERSORA (NOT) , NE (NAND), NOU (NOR) , OU EXCLUSIVO (XOR) além da NOU EXCLUSIVO (XNOR) que tem aplicações restritas e não será abordada neste estudo. Com estas funções é possível realizar operações lógicas, tanto em circuitos eletrônicos como em aplicativos e programas (a calculadora do Windows tem a função And e a Xor; o Excel utiliza as funções And, Not e Or em tratamentos lógicos). Em eletrônica digital, as funções lógicas são as interfaces entre a concepção teórica de uma situação e a sua transformação física, ou seja: Uma certa situação pode ser descrita teoricamente ou literalmente utilizando funções lógicas e implementada fisicamente através de Circuitos integrados (CIs). Cada função lógica é representada por um símbolo, uma tabela (chamada de tabela da verdade) e um símbolo. Então vejamos: CBSF X – MMII – r II - MMIII a) tabela verdade, b) símbolo lógico c) expressão lógica. Função Inversora (NOT) a) tabela verdade, b) símbolo lógico c) expressão lógica. Função NE (NAND) a) tabela verdade, b) símbolo lógico c) expressão lógica 4 Eletrônica Digital Notas de aula Já a(s) variável (is) de saída, também assume apenas estados 0 ou 1, determinados em função da combinação das entradas. Função NOU (NOR) a) tabela verdade, b) símbolo lógico c) expressão lógica Vejamos um exemplo: Uma tabela verdade com duas variáveis de entrada, chamadas aleatoriamente de A e B (podem ser chamadas de qualquer nome ou referência) e uma de saída, chamada aleatoriamente de S deve ter 4 linhas de combinação, pois: Nº de linhas = 2 nº de variáveis de entrada Função OU EXCLUSIVO (XOR) Variáveis de entrada A a) tabela verdade, b) símbolo lógico c) expressão lógica 5 – Circuitos Lógicos Circuitos lógicos são funções lógicas que determinada solução. agrupamentos de juntas, executam Todo circuito lógico é composto por uma expressão lógica, o esquema lógico (agrupamento de portas lógicas, CIs) e a sua tabela verdade. Vejamos cada uma destas partes. 5.a – Tabela Verdade A tabela verdade é composta basicamente por variáveis de entrada (geralmente mais do que duas) que controlam ou determinarão uma ou mais variáveis de saída ,que são controladas e deve representar todas as combinações possíveis entre as variáveis de entrada. Cada variável de entrada pode assumir apenas dois estados (chamados de estados lógicos) 1 ou 0. A combinação dos estados das variáveis de entrada normalmente é fixa e baseia-se na escrita em binário da seqüência numérica crescente equivalente aos números decimais. CBSF X – MMII – r II - MMIII B Variável de saída S Como já descrito acima, a combinação destas variáveis de entrada deve obedecer à seqüência binária, ou seja: Variáveis de entrada A B 0 0 1 1 0 1 0 1 Variável de saída S O estado da saída S para cada uma das linhas da tabela depende de como se espera que o circuito funcione. Apenas como exemplo, vamos assumir os seguintes estados na saída. A B S 0 0 1 1 0 1 0 1 1 0 1 1 Exercícios: a) Quantas verdade com b) Quantas verdade com linhas deve 3 variáveis de linhas deve 8 variáveis de ter uma tabela entrada? ter uma tabela entrada? 5 Eletrônica Digital Notas de aula c) Elabore uma tabela verdade com 3 variáveis de entrada e uma saída. Preencha a seqüência de combinações dos estados das 3 entradas. d) Elabore uma tabela verdade com 5 variáveis de entrada e uma de saída. Preencha a seqüência de combinações dos estados das 5 entradas. 5.b – Expressão Lógica. Qual a expressão lógica da tabela anterior? Como obtê-la? A forma de obter a expressão lógica de qualquer tabela será sempre a mesma, variando-se apenas o nome das variáveis, o tamanho e o número de expressões e a lógica empregada. De uma tabela verdade é possível obter duas expressões. A mais comum, chamada soma de produtos, é obtida a partir dos estados da(s) saída(s) igual(ais) a 1. A outra maneira, quando a saída é igual a zero é chamada de produto das somas. Vamos abordar apenas a tipo soma de produtos. A expressão obtida de uma tabela verdade irá mostrar como o circuito lógico será montado. Obtida a partir de estados de saída igual a 1, o circuito será composto apenas por portas lógicas E, OU e INVERSORA. Para cada linha com saída igual a 1, deve ser escrita uma expressão, utilizando a função lógica E como ligação entre todas as variáveis de entrada, sendo que cada variável será ou não “barrada” (invertida) em função do valor 1 ou 0 correspondente em cada linha. Tomando como exemplo a tabela verdade anterior, temos: A B S 0 0 1 1 0 1 0 1 1 0 1 1 A . B A . B A . B 1 2 3 4 Em 1, as variáveis A e B forma barradas pois o estado desta linha para cada uma é 0 e como sabemos, a função E para ter saída igual a 1, suas entradas devem ser iguais a 1. 0 barrado é igual a 1. Em 2, não existe nenhuma expressão para a linha, pois a saída é igual a 0. Em 3, a variável B está barrada pois na tabela, na coluna da variável B para esta linha, está atribuído estado 0. Como A é CBSF X – MMII – r II - MMIII igual a 1, B deve ser também 1 para que a saída seja 1. Em 4, tanto a variável A como a variável B, não estão barradas, pois na tabela, tanto na coluna de A como na coluna da variável B, o valor atribuído é 1. A expressão da saída S, será obtida quando juntarmos as expressões das linhas 1, 3 e 4 através de funções OU (de acordo com a tabela, a saída é igual a 1 na linha 1 OU na linha 3 OU na linha 4), como mostrado abaixo, S = A . B + A . B + A . B Como na matemática, a função E (às vezes chamada de multiplicação) tem prioridade sobre a função OU (às vezes chamada de soma). Exercícios: a) Obtenha a expressão lógica das tabelas abaixo: a1 a2 A B S C D S 0 0 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 1 E F G S 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 1 1 a3 b) Desenhe a tabela verdade corresponde às expressões abaixo. b1 = que X . Y + X . Y b2 = H . I . J + H . I . J + H . I . J 6 Eletrônica Digital Notas de aula 5.c – Circuito Lógico Embora em muitos casos, este não seja o momento ideal para isso, pois é preferível aplicar as técnicas de redução de expressões, pode-se a partir da expressão obtida da tabela, desenhar o circuito lógico equivalente à expressão. Basta interligar as portas ao barramento como indicado na expressão lógica. A B Os símbolos das funções E, OU e INVERSORA mostrada na página 3, serão utilizados na construção do esquema. Inicialmente, devemos desenhar linhas verticais em número igual ao das variáveis de entrada. S Tomando como exemplo, a tabela verdade mostrada na página 5, têm duas variáveis de entrada A e B. A B O circuito está pronto. Más e as outras funções? Elas somente serão utilizadas após o processo de simplificação. Observando a expressão obtida da mesma tabela (página 5), pode ser notada a necessidade de inversão tanto da variável A como da variável B. Isto pode ser resolvido criando-se mais duas linhas verticais e paralelas as já traçadas com uma porta inversora em cada uma, como mostra a figura a seguir. A Exercícios: Desenhe os circuitos das expressões obtidas das tabelas verdade a1,a2,a3,b1 e b2. B A próxima etapa é obter o número de portas lógicas e que serão utilizadas, no exemplo, serão utilizadas três portas lógicas E e duas OU. CBSF X – MMII – r II - MMIII 7 Eletrônica Digital Notas de aula 6 – Simplificação de expressões lógicas A expressão lógica obtida de uma tabela verdade, (que pode ser chamada de expressão booleana) pode ser utilizada imediatamente na elaboração do esquema do circuito lógico e/ou na construção do circuito utilizando os circuitos integrados (CI´s). Más estas expressões normalmente são grandes, o que demandam muitos componentes para a montagem além da complexidade que pode ser muito grande. Existem então formas de simplificar ou reduzir a expressão original. Entre elas, a Álgebra Booleana e os Mapas de Karnaugh são as mais utilizadas. Uma expressão simplificada, deve ser igual a expressão original, não no tamanho, complexidade do circuito ou quantidade de portas, más sim na saída da tabela verdade. Os estados da(s) saída(s) de uma tabela verdade devem ser iguais tanto na expressão original, como na simplificada. 6.a – Álgebra de Boole A álgebra de Boole ou Booleana, é composta por uma série de regras (teoremas) originárias em estudos de matemática. Abaixo estão os teoremas de uma variável. 1) 2) x•0=0 x•1=x 3) x•x=x 4) 5) 6) 7) 8) x • x’ = 0 x+0=x x+1=1 x+x=x x + x’ = 1 Como podemos notar, os teoremas de 1 a 4, são baseados na função lógica E (AND) e os de 5 até 8, na função lógica OU (OR). O quadro abaixo mostra os teoremas com mais de uma variável. Os teoremas de 9 a 13 são de fácil compreensão, pois são semelhantes à álgebra que normalmente utilizamos. Já os teoremas 14 e 15 não possuem equivalentes na álgebra convencional. CBSF X – MMII – r II - MMIII 9) 10) 11) 12) 13) 14) 15) 16) 17) x+y=y+x x•y=y•x x + (y + z) = (x + y) + z = x + y + z x (yz) = (xy) z = xyz x (y + z) = xy + xz (w + x) (y + z) = wy + xy + wz + xz x + xy = x x + xy = x + y x + xy = x + y Vamos testar a funcionalidade do teorema 9. Para isso, montaremos a tabela verdade para as variáveis x e y x 0 0 1 1 y 0 1 0 1 A seguir, criamos mais duas colunas uma para a variável x e outra para a variável y, unidas pela função OU (primeira parte da expressão 9). x 0 0 1 1 y 0 1 0 1 x + y Estas colunas serão preenchidas com o valor correspondente das variáveis x e y para cada uma das linhas da tabela. Para a variável x, a tabela ficará assim: x 0 0 1 1 y 0 1 0 1 x 0 0 1 1 + y Para a variable y, a tabela ficará assim: x 0 0 1 1 y 0 1 0 1 x 0 0 1 1 + y 0 1 0 1 8 Eletrônica Digital Notas de aula Agora, basta executar a função OU para as variáveis x e y, anotando o resultado na coluna final, que denominaremos de S1. x 0 0 1 1 y 0 1 0 1 x 0 0 1 1 + y 0 1 0 1 S1 0 1 1 1 Fazendo o mesmo para a outra parte da expressão, chegaremos no segundo resultado que denominaremos de S2 x 0 0 1 1 y 0 1 0 1 y 0 1 0 1 + x 0 0 1 1 S2 0 1 1 1 Observando os resultados obtidos em S1 e S2, notamos que os dois são iguais, portanto as expressões são iguais. Aplicando no que está entre parênteses o teorema [8], o resultado será igual a 1. Então a expressão ficará da seguinte forma: S =A • 1 Aplicando o teorema 2, o resultado final da simplificação será: S =A Podemos provar a exatidão da simplificação, observando a tabela verdade que originou a simplificação. Note que sempre que a variável A é 1, a saída S também é igual a 1, independentemente do valor da variável B. Exercícios: a) Simplifique as expressões abaixo: 1) Y = A B’ D + A B’ D’ Este procedimento poderá ser adotado para qualquer expressão com a finalidade de comprovar se a expressão final já simplificada é igual à expressão original. Exercícios: 2) Z = ( A + B ) ( A + B ) 3) X = A C D + A B C D a) Comprove os teoremas 10 até 17, testando os estados das variáveis utilizadas. 6.b – Simplificando expressões lógicas Vejamos a tabela verdade abaixo: A B S 0 0 0 A expressão da saída será: 0 1 1 1 0 1 0 1 1 S = A • B + A • B Para simplificar, devemos inicialmente colocar em evidência a variável mais comum (no exemplo será a variável A ) e colocar entre parênteses todas as outras variáveis que são comuns à variável A . Note que foi aplicado o teorema 13. S =A • ( B + B ) CBSF X – MMII – r II - MMIII 9 Eletrônica Digital Notas de aula 6.c – Teoremas de DE Morgan Os dois últimos teoremas são também considerados os mais importantes e por isso recebem o nome de que os desenvolveu. São chamados de Teoremas de DeMorgan, que foi um matemático. Os dois teoremas são: 18) ( x + y ) = x • y 19) ( x • y ) = x + y Os dois teoremas acima são muito úteis pois quando o produto ou uma soma aparecem barrados. Vamos simplificar a expressão abaixo. S = ( A + C ) • ( B + D ) Usando o teorema 19 temos: S = ( A + C ) + ( B + D ) Aplicando o teorema 18 nos dois lados da expressão, temos: S = ( A • C ) + ( B • D ) Considerando que uma variável quando é duplamente barrada, podemos retirar as duas barras, resultando apenas na pr´pria variável, temos: S = ( A • C ) + ( B • D ) CBSF X – MMII – r II - MMIII 10