Apostila de Eletr么nica Digital 1
Prefácio Esta apostila tem por objetivo servir como referência aos alunos do curso de mecatrônica na disciplina de Eletrônica Digital, e não substitui, de forma alguma, os diversos livros que tratam de tal assunto, e deve ser recebida pelo aluno, apenas como material de referência. Em uma época em que o desenvolvimento tecnológico e intelectual alcança níveis cada vez mais altos e com velocidade também cada vez maior, é importante que o aluno tenha consciência que a busca de novos conhecimentos, atualização dos conceitos básicos aqui apresentados, é uma tarefa pessoal sendo a escola apenas o meio que irá fornecer os instrumentos básicos pra tal busca, além de procurar incentivar os alunos. Desta forma, espera-se que o aluno desenvolva o habito de buscar incansavelmente sua atualização, pois, desta forma, suas chances de sucesso, profissional e também pessoal, em uma sociedade cada vez mais competitiva serão aumentadas. É importante que os conhecimentos adquiridos após a conclusão deste curso sejam aplicados em respeito aos limites da nossa sociedade e ao meio ambiente de forma direta e indireta. Espera-se que todos estes conhecimentos tragam frutos coletivos que irão promover o desenvolvimento de uma sociedade mais humana, justa e pacífica onde os interesses coletivos prevaleçam sobre os individuais e os interesses financeiros, que muitas vezes, infelizmente, superam a dignidade a sensatez dos homens, sejam dotados de menor importância.
2
1 – Introdução Um sistema digital é um sistema no qual os sinais são compostos por um conjunto finito de valores discretos. Isto se contrapõe aos sistemas analógicos, nos quais os sinais possuem valores pertencentes a um conjunto infinito, ou seja, contínuo. Como exemplo elementar, uma balança digital mede o peso através de sinais discretos que indicam quilogramas e/ou gramas; por outro lado, uma balança analógica mede o peso através de um sinal correspondente à posição de um ponteiro sobre uma escala. Os sistemas digitais são usados no processamento de informação, também chamado de processamento de dados ou processamento de sinais, em que substituíram os sistemas analógicos anteriores. Alguns dos benefícios dos sistemas digitais são: •
A representação digital é bem adequada tanto para o processamento numérico como para o não numérico de informação. Um exemplo de informação digital não-numérica é a linguagem escrita, na qual as letras têm valores do alfabeto finito A, B, C,... etc.
•
O processamento da informação pode ser realizado através de um sistema para propósitos gerais, por exemplo, um computador, que seja programado para uma tarefa de processamento particular, eliminando a necessidade de haver um sistema diferente para cada tarefa;
•
O número finito de valores num sinal digital pode ser representado por um vetor de sinais com apenas dois valores, sinais binários. Por exemplo, os dez algarismos do sistema decimal podem ser representados pelos seguintes valores em binário: Dígito Valor binário
0
1
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Esta representação permite implementações nas quais todos os sinais são binários; conseqüentemente, os dispositivos que processam estes sinais são muito simples, fundamentalmente, apenas chaves com dois estados: aberto e fechado; •
Os sinais digitais são bastante insensíveis a variações nos valores dos parâmetros dos componentes e ao ruído elétrico, uma vez que são constituídos de dois estados bem definidos, na maioria dos casos 0 V para o estado lógico zero e 5 V para o estado lógico um;
•
Os avanços da tecnologia microeletrônica possibilitaram a fabricação de sistemas digitais extremamente complexos que são pequenos, rápidos e baratos.
Métodos de representação e processamento digitais são usados há muito tempo. O desenvolvimento de artefatos digitais sofreu um dramático aumento com a invenção do computador digital por volta de 1940. Em comparação com os padrões atuais, naquela época, os computadores apresentavam custo proibitivo, tinham pequeno poder de processamento, eram pouco confiáveis e difíceis de programar e, consequentemente, 3
operar. Desde então, um extraordinário progresso foi feito em todos estes aspectos, tornando o computador indispensável em quase todos os campos da sociedade moderna, tornando-se um instrumento indispensável em tal sociedade. O desenvolvimento da tecnologia, em especial, da microeletrônica digital, tornou possível a produção eficiente e com custo reduzido de uma grande variedade de sistemas digitais especializados. Alguns exemplos são relógios e cronômetros digitais, calculadoras, videogames, máquinas fotográficas, equipamentos de comunicação, gravação digital de música e vídeo, e etc. Esta tendência prossegue, uma vez que novas aplicações para sistemas digitais são constantemente desenvolvidas, em alguns casos, as novas aplicações estão substituindo os sistemas analógicos, mas em muitos outros eles estão tornando possíveis aplicações que não existiam anteriormente. Como conseqüência é necessário o conhecimento sobre o projeto e o uso de sistemas digitais numa grande variedade de atividades humanas. 1.1 – Sinais digitais e analógicos O sinal de tensão apresentado na Figura 1 é chamado de sinal analógico. O nome deriva do fato de tal sinal ser análogo ao sinal físico que representa. A amplitude de um sinal analógico pode ter qualquer valor; isto é, a amplitude de um sinal analógico exibe uma variação contínua sobre sua faixa de atuação. A grande maioria dos sinais no mundo é analógica. Circuitos eletrônicos que processam tais sinais são conhecidos como circuitos analógicos.
Figura 1 – Sinal analógico.
Uma forma alternativa de representação de sinais é por meio de uma seqüência de números discretizados, cada número representando um valor de sinal em cada instante de tempo. O sinal resultante é chamado de sinal digital. Para entender como um sinal pode ser representado nessa forma, isto é, como os sinais podem ser convertidos da forma analógica para a forma digital, observe a Figura 2. Nela a curva representa um sinal de tensão, idêntico ao da Figura 1. Em intervalos iguais no eixo do tempo marcamos os instantes t0, t1, t2 e assim por diante. Em cada um desses instantes é medida a amplitude do sinal, em um processo conhecido como amostragem. O sinal da Figura 2 é definido apenas nos instantes de amostragem; ele já não é mais função contínua no tempo, em vez disso é um sinal discreto no tempo. Contudo, visto que a 4
amplitude de cada amostra pode ser tomada com valores em uma faixa contínua, sobre o eixo v(t), o sinal da Figura 2 é ainda um sinal analógico.
Figura 2 – Sinal analógico discreto no tempo.
Agora, se representarmos a amplitude de cada amostra do sinal na figura anterior por um número com dígitos finitos, então a amplitude do sinal não será mais contínua; ao contrário, ela será considerada quantizada, discretizada ou digitalizada, Figura 3. Então o sinal digital resultante será simplesmente uma seqüência de números que representa as amplitudes das sucessivas amostras do sinal.
Figura 3 – Sinal digital.
A escolha do sistema numérico que representa as amostras do sinal analógico afeta o tipo de sinal digital produzido e tem um impacto significativo na complexidade dos circuitos digitais necessários aos processamento e ao armazenamento de tais sinais. Verifica-se que o sistema numérico binário resulta em sinais digitais e circuitos de processamento mais simples. No sistema binário, cada dígito do número pode assumir um de dois valores possíveis, denominados “0” e “1”. Por decorrência, os sinais digitais 5
em sistemas binários necessitam apenas de dois níveis de tensão, denominados alto e baixo, de acordo com a tabela a seguir: Tabela 1 - Níveis de representação de um sinal digital. Nível Baixo Alto
Representação lógica 0 (zero) 1 (um)
Representação elétrica 0V +5 V
Ressalta-se que na tabela anterior está apresentado apenas a representação elétrica para o padrão TTL1, na prática existem outros padrões que se diferenciam pelo valor de tensão para cada um dos níveis lógicos. Em toda esta apostila será considerado o padrão TTL.
1
TTL – Transistor-Transistor-Logic, se referem aos circuitos integrados digitais compostos por transistores onde os níveis de tensão permitidos são 0 V e +5 V, para os níveis lógicos zero e um, respectivamente.
6
2
– Sistemas de numeração
Os sistemas de numeração classificam-se em dois grupos básicos que são os sistemas de numeração posicional e os sistemas de numeração não posicional. No sistema posicional o valor do dígito depende da posição que o mesmo ocupa no número. Quando se considera o número 1987 como exemplo, pode-se afirmar que se o número estiver escrito em decimal, pela ordenação dos quatro dígitos, “1º”, “2º”, “3º” e “4º” o número 1 não representa uma unidade, mas mil unidades; o número um representaria uma unidade somente se estivesse na posição mais à direita, no lugar do sete. O número 1987 pode ser decomposto como a soma de 1000 (1x103) com 900 (9x102) com 80 (8x101) com 7 (7x100), ou seja, há um peso para cada posição do número, com o peso crescendo da direita para a esquerda em potências de 10, a partir de 100. Na representação posicional obtém-se uma forma simplificada de escrita para os números. Ao invés de um símbolo para cada número, pode-se representar qualquer número com um “alfabeto” restrito de dígitos ou símbolos. O sistema decimal tem um “alfabeto” de dez dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Sendo que qualquer número pode ser representado com estes dígitos. Da mesma forma, podemos definir um sistema binário, ou sistema de base dois, como aquele que tem um “alfabeto” de dois dígitos: 0 e 1. Analogamente a base 10, na qual o peso das posições é potências de 10, na base 2 os pesos são potências de 2. O mesmo raciocínio pode ser utilizado para outras bases como apresentado nos exemplos a seguir: Exemplo 1: Sistema Posicional Decimal – Base 10 “Alfabeto” = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Exemplo 2: Sistema Posicional Binário – Base 2 “Alfabeto” = {0, 1} Exemplo 3: Sistema Posicional Octal – Base 8 “Alfabeto” = {0, 1, 2, 4, 5, 6, 7} Exemplo 4: Sistema Posicional Hexadecimal – Base 16 “Alfabeto” = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Como sistema de numeração não posicional tem-se o sistema Romano, onde o valor dos símbolos não guarda nenhuma relação com a posição destes em um número. 2.1 – Mudança de base A seguir são apresentados os procedimentos para se obter uma transformação da base 10 para outra base qualquer ou de uma base qualquer para a base 10. Uma transformação entre duas bases deferentes da base 10 pode ser feita passando-se intermediariamente pela base 10.
7
•
Transformação de decimal, base 10, para uma base qualquer:
Deve-se dividir o inteiro decimal repetidamente pela nova base, para a qual se deseja a transformação. A cada divisão deve-se guardar o resto, que será o dígito correspondente do alfabeto da nova base. A divisão deve ser interrompida quando o quociente inteiro for menor que o divisor. O último quociente e os restos de cada divisão, tomados no sentido do último para o primeiro, representam o número transformado, de acordo com os exemplos abaixo: Exemplo 4 – Decimal para a base 5: Transformar (342)10 para a base 5.
Ressalta-se que o processo de divisões sucessivas é interrompido no instante em que se obtém o quociente menor que o divisor. Na última divisão (13÷5) o quociente obtido 2 é menor que o divisor 5. Neste instante o processo é interrompido. Lendo no sentido do último quociente para o primeiro resto tem-se 2332 e então (342)10 = (2332)5. Exemplo 5 – Decimal para base 16: Transformar (2798)10 para a base 16.
Para a base 16 é importante ressaltar que 10 equivale a ‘A’, 11 a ‘B’, 12 a ‘C’, 13 a ‘D’, 14 a ‘E’, 15 a ‘F’. Portanto, (2798)10 = (AEE)16. Exemplo 6 – Decimal para binário: Transformar (55)10 para a base 2.
Desta forma (55)10 = (110111)2. •
Transformação de uma base qualquer para decimal, base 10:
Neste tipo de transformação deve-se converter cada um dos algarismos que compõem o número em seu equivalente decimal, de acordo com a estrutura posicional, 8
e efetuar as somas dos números obtidos para obter o número na base decimal. Alguns exemplos são apresentados a seguir: Exemplo 1 – Binário para decimal: Transformar (1101)2 para a base 10. (1101)2 = 1x23 + 1x22+0x21+1x20 = 8 + 4 + 1 = 13 (1101)2 = (13)10 Exemplo 2 - Octal para decimal: Transformar (23)8 para a base 10. (23)8 = 2x81 + 3x80 = 16 + 3 = 19 (23)8 = (19)10 Exemplo 3 - Hexadecimal para decimal: Transformar (10B5)16 para a base 10. (10B5)16 = 1x163 + 0x162 + 11x161 + 5x160 = 4277 (10B5)16 = (4277)10
9
3
– Álgebra de Boole
George Boole (1814-1864), matemático e filósofo britânico, no século XIX investigou as leis fundamentais das operações da mente humana ligadas ao raciocínio e criou a Álgebra Booleana, base da atual aritmética computacional. O objetivo da Álgebra de Boole passa pela definição de uma série de símbolos, com a finalidade de representar objetivos ou fenômenos que, encadeados convenientemente, dão lugar a expressões matemáticas mais complexas denominadas funções. Enquanto que a álgebra tradicional opera com relações quantitativas, a álgebra de Boole opera com relações lógicas. Como exemplo, podemos considerar os operadores “ + ” e “ x ”, e verificar que possuem significados diferentes conforme sejam utilizados na álgebra tradicional ou na Álgebra Booleana, Tabela 2. Tabela 2 - Diferença de significado dos operadores. Operador + x ou g
Álgebra tradicional Adição Multiplicação
Álgebra Booleana “OU”, “OR” “E”, “AND”
Enquanto que na álgebra tradicional as variáveis podem assumir qualquer valor, na álgebra booleana, as variáveis, aqui denominadas por variáveis binárias, apenas podem assumir um de dois valores binários, “0” ou “1”. Estes valores binários não exprimem quantidades, mas apenas, e somente, estados do sistema. 3.1 – Função lógica binária A toda a variável binária, cujo valor depende de uma expressão algébrica, formada por outras variáveis binárias relacionadas por operadores lógicos, dá-se o nome de função lógica. Temos como exemplo a equação abaixo, onde Y representa a variável binária dependente e a, b e c as variáveis binárias independentes. Y = f (a, b, c) = a ⋅ b + b ⋅ c
Outra forma de representar uma função lógica é através da utilização de um circuito elétrico, Figura 4. Nesta representação, as variáveis binárias são introduzidas através de interruptores, chaves, com duas posições: ligada e desligada.
Figura 4 – Circuito lógico.
Nestas topologias é normal o uso de dois tipos de interruptores, Figura 5:
10
•
Interruptor normalmente aberto, ou NA – No estado natural, ou seja, sem atuação o mesmo mantém o circuito aberto não permitindo a passagem de corrente. Quando acionado fecha o circuito permitindo a passagem da corrente;
•
Interruptor normalmente fechado, ou NF – No estado natural o mesmo mantém o circuito fechado permitindo a passagem de corrente. Quando acionado abre o circuito interrompendo a passagem da corrente.
Figura 5 – Tipos de interruptores.
3.2 – Tabela verdade Para uma função Y = f (a,b, ...) a tabela verdade é um quadro formado por tantas colunas quantas são as variáveis binárias independentes, as entradas (a, b, …), e uma última coluna correspondente à variável binária dependente, a saída, Y. O número de linhas de uma tabela verdade é dado por 2N, onde N é o número de variáveis binárias independentes, entradas, garantindo assim todas as combinações possíveis destas variáveis. A tabela verdade representa o estado da saída, variável binária dependente Y, em função das entradas, variáveis binárias independentes. Para todas as combinações possíveis de estados das variáveis binárias independentes existe um estado da variável binária dependente, ou seja, para toda combinação das variáveis de entrada existe um valor, estado, para a variável de saída. Como exemplo, podemos ver a Tabela 3 que representa a função lógica binária apresentada anteriormente, Y = f (a, b, c) = a ⋅ b + b ⋅ c . O número de entradas é 3 (a, b e c), logo a tabela tem 23 = 8 linhas. Tabela 3 – 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
Y 0 0 0 1 1 0 1 0
3.3 – Funções Booleanas básicas A seguir são apresentadas as funções Booleanas básicas, suas tabelas verdade, símbolos e os diagramas elétricos equivalentes.
11
3.3.1 – Função igualdade a Y 0 0 1 1
Y (a) = a
3.3.2 – Função OU (“OR”) a 0 0 1 1
Y (a, b) = a + b
b 0 1 0 1
Y 0 1 1 1
3.3.3 – Função E (“AND”)
Y (a, b) = a ⋅b
a 0 0 1 1
b 0 1 0 1
Y 0 0 0 1
3.3.4 – Função NÃO (“NOT”) ou função inversora
Y (a) = a
a Y 0 1 1 0
3.3.5 – Função NÃO-E (“NAND”)
Y (a, b) = a ⋅ b
a 0 0 1 1
b 0 1 0 1
Y 1 1 1 0
3.3.6 – Função NÃO-OU (“NOR”)
Y (a, b) = a + b
a 0 0 1 1
b 0 1 0 1
Y 1 0 0 0
12
3.3.7 – Função OU-EXCLUSIVO (“XOR”)
Y (a, b) = a ⋅ b + a ⋅ b
a 0 0 1 1
b 0 1 0 1
Y 0 1 1 0
3.4 – Circuitos integrados que implementam portas lógicas Neste item são apresentados alguns circuitos integrados que implementam as portas lógicas apresentadas no item anterior. Serão apresentados os CI’s, sigla para Circuito Integrado, a disposição das portas no interior dos mesmos e, consequentemente, a funções de cada um dos pinos dos mesmos. 3.4.1 – Circuito integrado SN74LS32 Este circuito integrado é composto por 4 portas OU (“OR”), sua aparência física e a disposição das portas no interior do mesmo são apresentados na
Figura 6.
Figura 6 - Circuito integrado SN74LS32.
3.4.2 – Circuito integrado SN74LS08 Este circuito integrado é composto por 4 portas E (“AND”), sua aparência física e a disposição das portas no interior do mesmo são apresentados na Figura 7.
13
Figura 7 - Circuito integrado SN74LS08.
3.4.3 – Circuito integrado SN74LS04 Este circuito integrado é composto por 6 portas NÃO (“NOT”), ou inversoras, sua aparência física e a disposição das portas no interior do mesmo são apresentados na Figura 8.
Figura 8 - Circuito integrado SN74LS04.
3.4.4 – Circuito integrado SN74LS00 Este circuito integrado é composto por 4 portas NÃO-E (“NAND), sua aparência física e a disposição das portas no interior do mesmo são apresentados na Figura 9.
Figura 9 - Circuito integrado SN74LS00.
3.4.5 – Circuito integrado SN74LS02 Este circuito integrado é composto por 4 portas NÃO-OU (“NOR”), sua aparência física e a disposição das portas no interior do mesmo são apresentados na Figura 10. 14
Figura 10 - Circuito integrado SN74LS02.
3.4.5 – Circuito integrado SN74LS86 Este circuito integrado é composto por 4 portas OU-EXCLUSIVO (“XOR”), sua aparência física e a disposição das portas no interior do mesmo são apresentados na Figura 11.
Figura 11 - Circuito integrado SN74LS86.
Em relação aos circuitos integrados apresentados nos itens anteriores ressalta-se que os pinos 1 e 14 tem a função de alimentação destes componentes, desta forma, deve-se aplicar nestes pinos uma diferença de tensão de 5 V, sendo que o pino 7 é ligado ao negativo, GND, e o pino 14 no +5 V. Esta disposição dos pinos de alimentação é padrão na família 74 de circuitos integrados que seguem o padrão TTL. 3.5 - Formas Canônicas de uma função lógica Uma função lógica binária Y (a, b,...) é dita estar representada na 1ª forma canônica se Y estiver escrita como a soma de produtos, nos quais aparecem todas as variáveis binárias em cada um dos termos, denominados MINTERMOS, que constituem a expressão, na forma direta ou negada, como apresentado abaixo: Somas Y (a, b, c) = (a ⋅ b ⋅ c) + (a ⋅ b ⋅ c) + (a ⋅ b ⋅ c) 15
Produtos Uma função lógica binária Y (a, b,...) é dita estar representada na 2ª forma canônica se Y estiver escrita como produto de somas, nos quais aparecem todas as variáveis binárias em cada um dos termos, denominados MAXTERMOS, que constituem a expressão, em forma direta ou negada, como apresentado a seguir: Produtos Y (a, b, c) = (a + b + c) ⋅ (a + b + c) ⋅ (a + b + c) Somas Para obter a função lógica nas suas f ormas canônicas diretamente da tabela de verdade basta seguir as regras descritas abaixo: •
1ª forma canônica - Obtém-se somando todos os produtos lógicos, ou mintermos, formados das linhas da tabela de verdade que dão à função Y o valor lógico “1”, neste caso deve-se negar, ou “barrar”, todas as variáveis da linha em questão que possuem valor lógico “0”;
•
2ª forma canônica - Obtém-se multiplicando todas as somas lógicas, ou maxtermos, formadas das linhas da tabela de verdade que dão à função Y o valor lógico “0”, neste caso deve-se negar, ou “barrar”, todas as variáveis da linha em questão que possuem valor lógico “1”;
Como exemplo considere a tabela verdade a seguir: Linha 1 Linha 2 Linha 3 Linha 4 Linha 5 Linha 6 Linha 7 Linha 8
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
Y 1 0 0 0 0 1 1 0
Considerando que o valor lógico de Y é “1” nas linhas 1, 6 e 7, a expressão de Y na 1ª forma canônica, soma de mintermos, é: Y (a, b, c) = (a ⋅ b ⋅ c) + (a ⋅ b ⋅ c) + (a ⋅ b ⋅ c) E considerando que o valor lógico de Y é “0” nas linhas 2, 3, 4, 5 e 8, a expressão de Y na 2ª forma canônica, multiplicação de maxtermos, é: Y (a, b, c) = (a + b + c) ⋅ (a + b + c) ⋅ (a + b + c) ⋅ (a + b + c) ⋅ (a + b + c) 3.6 – Simplificações de funções Booleanas 16
A simplificação de funções lógicas Booleanas é importante, pois, através de uma expressão mais simples o circuito utilizado para representar esta função também se torna mais simples, utilizando, conseqüentemente, um menor número de componentes. É importante ressaltar, que quanto menor for o número de componentes utilizados, menor será o custo final do circuito e menor será o atraso entre o sinal de entrada e a saída. Portanto, formas simplificadas para os circuitos são sempre utilizadas para obtenção do produto final, aumentando a eficiência do mesmo, reduzindo custos e tempo de produção. Uma forma de simplificar o número de termos de uma função é através do método gráfico ou de Karnaugh. Outros métodos, como o método algébrico e o método numérico de Quine-McCluskey também podem ser utilizados, sendo que o algébrico demanda maior experiência com os teoremas e postulados da álgebra de Boole e o método numérico, geralmente, é aplicado quando o número de variáveis é elevado. Nesta apostila será abordado o método gráfico de Karnaugh. 3.6.1 – Método gráfico de Karnaugh Este método é relativamente simples e eficaz até quatro variáveis, acima disto, embora este método possa ser utilizado, é pouco prático. Um mapa de Karnaugh é uma matriz com 2N células, sendo N é o número de variáveis do problema e onde cada célula está associada a uma combinação possível das entradas, em outras palavras, a uma linha da tabela verdade. Para três variáveis, por exemplo, o mapa de Karnaugh é um conjunto de 8 células, já que existem 8 linhas na tabela verdade. As células do mapa de Karnaugh são preenchidas de modo que as combinações de entrada logicamente adjacentes sejam, também, graficamente adjacentes. Duas combinações são logicamente adjacentes quando diferem pelo estado lógico de apenas uma única variável, por exemplo, as combinações m1 = A ⋅ B ⋅ C ⋅ D e m3 =A ⋅B⋅ C⋅ D , são logicamente adjacentes, pois diferem apenas pela variável C, em m1 a variável C aparece negada e em m3 ela aparece não negada, as outras variáveis permanecem inalteradas. 3.6.2 – Representação das funções nos Mapas de Karnaugh Duas situações podem ocorrer quando se representa uma função no mapa de Karnaugh: ou a função está na 1ª forma canônica ou então na 2ª forma canônica. Quando a função está na 1ª forma canônica basta colocar “1” nas células associadas aos mintermos que a compõem e “0” nas restantes. Quando a função está na 2ª forma canônica basta colocar “0” nas células associadas aos índices de maxtermos que compõem a função e “1” nas restantes. •
Regra para montagem do mapa de Karnaugh: 1) Desenhar o mapa de acordo com o número de variáveis de acordo com a Figura 12:
17
Figura 12 – Montagem do mapa de Karnaugh.
2) Considerando o preenchimento a partir da tabela verdade, preencher com “0” ou “1” cada uma das células de acordo com a linha correspondente na tabela:
Figura 13 - Preenchimento do mapa de Karnaugh.
Considerando a 1ª forma canônica têm-se as seguintes regras para simplificação: •
Regra para simplificação através da 1ª Forma Canônica: 1) Identificar as células ocupadas por “1”; 2) Formar os grupos de células ocupadas por “1”, estes grupos devem conter o maior número possível de células, desde que este número seja sempre uma potência de 2, por exemplo, só é permitida a formação de grupos que tenham 1, 2, 4, 8, 16, 32,... elementos; 3) Os grupos devem ter sempre a forma de quadrados ou retângulos; 4) A mesma célula pode participar da formação de dois ou mais grupos diferentes; 5) Os elementos da coluna da esquerda são adjacentes aos elementos da coluna da direita. Da mesma forma, os elementos da linha superior do mapa são, também, adjacentes aos da linha inferior; 6) Sempre que um grupo é formado, a variável que muda de estado é eliminada; 18
7) A cada grupo de “1” corresponde um termo da expressão final; 8) A variável é representada na forma negada quando o valor lógico dela for “0”, ou “1” quando o valor for direto, não negado. Por exemplo, considere a tabela verdade apresentada a seguir: a 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
d 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Y 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 1
Que possui a seguinte expressão Booleana na 1ª forma canônica: Y (a, b, c, d ) = (a ⋅ b ⋅ c ⋅ d ) + (a ⋅b ⋅ c ⋅ d ) + (a ⋅b ⋅ c ⋅ d ) + (a ⋅b ⋅ c ⋅ d ) + (a ⋅b ⋅ c ⋅ d ) + (a ⋅b ⋅ c ⋅ d ) Sua representação pelo mapa de Karnaugh e a expressão simplificada obtida através do mesmo é apresentada abaixo.
Y (a, b, c, d ) = (b ⋅ c ⋅ d ) + (a ⋅ c ⋅ d ) + (a ⋅ b ⋅ d ) Para segunda forma canônica o procedimento para montagem e preenchimento do mapa são as mesmas, diferindo apenas na forma de interpretação do mesmo, consequentemente no procedimento de simplificação. •
Regra para simplificação através da 2ª Forma Canônica: 1) Identificar as células ocupadas por “0”;
19
2) Formar os grupos de células logicamente adjacentes ocupadas por “0”, estes grupos devem conter o maior número possível de células logicamente adjacentes, desde que este número seja sempre uma potência de 2, por exemplo, só é permitida a formação de grupos que tenham 1, 2, 4, 8, 16, 32,... elementos; 3) Os grupos devem ter sempre a forma de quadrados ou retângulos; 4) A mesma célula pode participar da formação de dois ou mais grupos diferentes; 9) Os elementos da coluna da esquerda são adjacentes aos elementos da coluna da direita. Da mesma forma, os elementos da linha superior do mapa são, também, adjacentes aos da linha inferior; 5) Sempre que um grupo é formado, a variável que muda de estado é eliminada; 6) A cada grupo de “0” corresponde um termo da expressão final; 7) A variável é representada na forma negada quando o valor lógico dela for “1”, ou “0” quando o valor for direto, não negado. Como exemplo considere a tabela verdade do exemplo anterior, com a expressão Booleana na 2ª forma canônica abaixo: Y (a, b, c, d ) = (a + b + c + d ) ⋅ (a + b + c + d ) ⋅ (a + b + c + d ) ⋅
⋅(a + b + c + d ) ⋅ (a + b + c + d ) ⋅ (a + b + c + d ) ⋅ (a + b + c + d ) ⋅
⋅(a + b + c + d ) ⋅ (a + b + c + d ) ⋅ (a + b + c + d ) O mapa de Karnaugh, juntamente com sua expressão simplificada são apresentados abaixo.
Y (a, b, c, d ) = (a + b) ⋅ (a + c + d ) ⋅ (a + b + c) ⋅ (a + c + d ) ⋅ (a + c + d ) Portanto, pode-se concluir através dos exemplos acima que a simplificação pela 1ª forma levou a uma expressão mais simples e conseqüentemente a um circuito com um menor número de componentes para implementar a mesma função lógica.
20
4
– Diagramas de tempo de circuitos digitais
Os diagramas de tempo de circuitos digitais consistem em uma forma de representar a variação de saída de uma porta lógica, ou qualquer circuito digital mais complexo, em função do tempo. Estes diagramas são compostos por várias linhas representando cada uma das entradas e uma ou mais linhas que representa(m) a(s) saída(s). No eixo vertical tem-se a informação da variação dos sinais de entrada e saída e no eixo horizontal a informação de tempo. Um exemplo de diagrama de tempo é apresentado na Figura 14.
Figura 14 - Exemplo de um diagrama de tempo para um circuito digital.
Para interpretar este tipo de diagrama, em relação à figura anterior, basta considerar o valor das entradas em um determinado período de tempo e as saídas pertinentes. Por exemplo, entre os instantes T0 e T1 a entrada “a” está em nível alto, as entradas “b” e “c” em nível baixo, o que leva as saídas “a” e “b” aos estados alto e baixo, respectivamente. Desta forma, pode-se avaliar o comportamento do circuito para cada período de tempo de interesse. No exemplo a seguir é apresentada a variação do sinal de saída para uma porta do tipo “E” (“AND”), Figura 15. Nesta figura é possível observar que o estado da saída Y só foi a nível alto, quando ambas as entradas “a” e “b” estavam em nível alto, ou seja, quando ambas as entradas são “1”, este comportamento está de acordo com a tabela verdade para este tipo de porta, conforme pode ser observado no item 3.3.3.
21
Figura 15 - Diagrama de tempo para uma porta "E" ("AND").
22
Primeira lista de Exercícios de Eletrônica Digital Entrega:
1 – Qual a principal diferença entre sinais analógicos e digitais? 2 – Cite algumas vantagens do uso de sistemas digitais? 3 – Qual a diferença entre um sinal contínuo e um sinal discreto no tempo? 4 – Por que um sinal discreto no tempo não pode ser considerado como um sinal digital? O que falta, neste caso, para que o sinal seja considerado digital? 5 – É verdadeira a afirmação de que no processo de digitalização de um sinal existe perda de informação? Por quê? 6 – Por que o sistema de numeração binário é mais adequado aos sistemas digitais? 7 – Realize as seguintes mudanças de base: a) (1256)10 = ( ? )2 b) (753)10 = ( ? )2 c) (880)10 = ( ? )8 d) (569)10 = ( ? )8 e) (65535)10 = ( ? )16 f) (1024)10 = ( ? )16 g) (11001)2 = ( ? )10 h) (11011010)2 = ( ? )10 i) (562)8 = ( ? )10 j) (1023)8 = ( ? )10 k) (1AF)16 = ( ? )10 l) (255B)16 = ( ? )10 8 – Represente as expressões booleanas a seguir através do seu circuito lógico, ou seja, utilizando os símbolos das portas lógicas? Importante: Utilize apenas portas com duas entradas e uma saída. a) Y (a, b, c) = a + (b ⋅ c) b) Y (a, b, c) = (a ⋅ b ⋅ c) + (a ⋅ c) c) Y (a, b, c, d ) = (a + b) ⋅ (c + d ) ⋅ (a + d )
23
10 – Obtenha as expressões nas duas formas canônicas para as seguintes tabelas verdades? a) b) 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
Y 0 0 1 0 1 1 1 0
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
Y 1 1 1 0 1 0 1 0
11 – Simplifique a expressão Booleana abaixo (na 1ª forma canônica), cuja tabela verdade é apresentada, através do mapa de Karnaugh. Y (a,b, c, d ) = (a ⋅b ⋅ c ⋅ d ) + (a ⋅b ⋅ c ⋅ d ) +
+(a ⋅b ⋅ c ⋅ d ) + (a ⋅b ⋅ c ⋅ d ) + (a ⋅b ⋅ c ⋅ d )
a 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
d 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Y 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1
12 - Simplifique a expressão Booleana abaixo (na 2ª forma canônica), cuja tabela verdade é apresentada, através do mapa de Karnaugh. Y (a, b, c, d ) = (a + b + c + d ) ⋅ (a + b + c + d ) ⋅
⋅(a + b + c + d ) ⋅ (a + b + c + d ) ⋅ (a + b + c + d ) ⋅
⋅(a + b + c + d ) ⋅ (a + b + c + d )
a 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
d 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Y 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1
13 – Faça o diagrama de tempo para as portas “AND”, “NAND”, “XOR”, “NOR” e “NOT” de acordo com as tabelas verdades das mesmas. Considere portas de duas entradas e uma saída. 24