Baixe o app para aproveitar ainda mais
Prévia do material em texto
PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. I por F.C.C. De Castro 1 Capítulo I Portas Lógicas Básicas 1 Introdução Em qualquer sistema digital1 a unidade básica construtiva é o elemento denominado Porta Lógica. Este capítulo descreve as portas lógicas usuais, seu uso e funcionalidade. Portas lógicas são encontradas desde o nível de integração em larga escala (circuitos integrados de processadores pentium, por exemplo) até o nível de integração existente em circuitos integrados digitais mais simples (famílias de circuitos integrados TTL e CMOS por exemplo). Passamos a descrever, então, o conjunto básico de portas lógicas utilizadas em Eletrônica Digital bem como a forma em que são comercialmente disponíveis. 2 A Porta AND Figura 1: Símbolo gráfico de uma porta lógica AND de 2 entradas ( A e B ). Figura 2: Diagrama de pinos de um circuito integrado (CI) disponível comercialmente (TTL – 7408) , contendo 4 portas AND. Para a família de CIs TTL, a alimentação é VVcc 5=+ . 1 Por exemplo, o sistema digital que controla as ações a serem executadas por motores e acionadores de um conjunto de elevadores, o controlador de um processo industrial, o microprocessador de um computador, etc... PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. I por F.C.C. De Castro 2 A B Y 0 0 0 0 1 0 1 0 0 1 1 1 Tabela 1: Tabela verdade de uma porta lógica AND de 2 entradas. Observações: (I) Em lógica digital o valor lógico 0 significa FALSO (F) e normalmente é representado por um nível de tensão V 0 , isto é, um nível baixo de tensão – LOW (L). (II) O valor lógico 1 significa VERDADEIRO (V) e normalmente é representado por um nível de tensão Vcc+ , isto é, um nível alto de tensão – HIGH (H). ⇒⇒⇒⇒Assim, no contexto das observações (I) e (II) é possível concluir que a tabela verdade de uma porta AND de 2 entradas (Tabela 1) pode ter as seguintes representações alternativas: A B Y F F F F V F V F F V V V Tabela 2: Representação alternativa da tabela verdade de uma porta lógica AND de 2 entradas. A B Y V 0 V 0 V 0 V 0 Vcc+ V 0 Vcc+ V 0 V 0 Vcc+ Vcc+ Vcc+ Tabela 3: Representação alternativa da tabela verdade de uma porta lógica AND de 2 entradas assumindo que o valor de tensão Vcc+ represente VERDADEIRO (V) e que o valor de tensão V 0 represente FALSO (F). PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. I por F.C.C. De Castro 3 A B Y L L L L H L H L L H H H Tabela 4: Representação alternativa da tabela verdade de uma porta lógica AND de 2 entradas. ⇒⇒⇒⇒Supondo que sejam aplicados dois trens de pulsos retangulares de tensão nas entradas A e B de uma porta lógica, o gráfico no tempo do sinal obtido na saída Y denomina-se Diagrama de Tempo: Figura 3: Exemplo do diagrama de tempo que seria observado na tela de um osciloscópio para uma porta lógica AND de 2 entradas (TTL – 7408 – ver Figura 2). Note que os níveis de tensão ao longo do tempo obedecem a Tabela 3. ⇒⇒⇒⇒Na prática, o valores V e F da tabela verdade de uma porta lógica representam a ocorrência de eventos que devem resultar combinados na saída Y de acordo com uma lei de formação que atenda um determinado problema a ser resolvido. ⇒⇒⇒⇒Por exemplo, a Tabela 2 poderia representar a situação em que queremos controlar o motor que abre e fecha a porta de um elevador (controlado pela saída Y de uma porta AND) em função de o elevador estar parado no andar em questão (sensor que aplica uma tensão Vcc+ à entrada A da porta AND quando esta situação ocorre) e em função de o usuário do elevador ter apertado o botão de abertura de porta (sensor que aplica uma tensão Vcc+ à entrada B da porta AND quando esta situação ocorre): PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. I por F.C.C. De Castro 4 A (elevador parado no andar) B (botão de abertura de porta pressionado) Y (abre a porta do elevador) F F F F V F V F F V V V Tabela 5: Exemplo de aplicação simples de uma porta AND de 2 entradas na abertura/fechamento da porta de um elevador. 3 A Porta OR Figura 4: Símbolo gráfico de uma porta lógica OR de 2 entradas ( A e B ). Figura 5: Diagrama de pinos de um circuito integrado (CI) disponível comercialmente (TTL – 7432) , contendo 4 portas OR. A B Y 0 0 0 0 1 1 1 0 1 1 1 1 Tabela 6: Tabela verdade de uma porta lógica OR de 2 entradas. ⇒⇒⇒⇒São válidas todas as conclusões resultantes das observações (I) e (II) para uma porta AND no que diz respeito à tabela verdade de uma porta OR. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. I por F.C.C. De Castro 5 Figura 6: Exemplo do diagrama de tempo que seria observado na tela de um osciloscópio para uma porta lógica OR de 2 entradas (TTL – 7432 – ver Figura 5). 4 A Porta XOR Figura 7: Símbolo gráfico de uma porta lógica XOR de 2 entradas ( A e B ). A B Y 0 0 0 0 1 1 1 0 1 1 1 0 Tabela 7: Tabela verdade de uma porta lógica XOR de 2 entradas. ⇒⇒⇒⇒São válidas todas as conclusões resultantes das observações (I) e (II) para uma porta AND no que diz respeito à tabela verdade de uma porta XOR. 5 A Porta NOT Figura 8: Símbolo gráfico de uma porta lógica NOT. A Y 0 1 1 0 Tabela 8: Tabela verdade de uma porta lógica NOT. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. I por F.C.C. De Castro 6 Figura 9: Diagrama de pinos de um circuito integrado (CI) disponível comercialmente (TTL – 7404) , contendo 6 portas NOT. ⇒⇒⇒⇒São válidas todas as conclusões resultantes das observações (I) e (II) para uma porta AND no que diz respeito à tabela verdade de uma porta NOT. Figura 10: Exemplo de diagramas de tempo que seriam observados na tela de um osciloscópio para uma porta lógica NOT (TTL – 7404 – ver Figura 9). 6 A Porta NAND • Uma porta NAND é equivalente a uma porta AND seguida de uma porta NOT: Figura 11: Símbolo gráfico de uma porta lógica NAND de 2 entradas ( A e B ). A B Y 0 0 1 0 1 1 1 0 1 1 1 0 Tabela 9: Tabela verdade de uma porta lógica NAND de 2 entradas. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. I por F.C.C. De Castro 7 ⇒⇒⇒⇒São válidas todas as conclusões resultantes das observações (I) e (II) para uma porta AND no que diz respeito à tabela verdade de uma porta NAND. 7 A Porta NOR • Uma porta NOR é equivalente a uma porta OR seguida de uma porta NOT: Figura 12: Símbolo gráfico de uma porta lógica NOR de 2 entradas ( A e B ). A B Y 0 0 1 0 1 0 1 0 0 1 1 0 Tabela 10: Tabela verdade de uma porta lógica NOR de 2 entradas. ⇒⇒⇒⇒São válidas todas as conclusões resultantes das observações (I) e (II) para uma porta AND no que diz respeito à tabela verdade de uma porta NOR. 8 A Porta XNOR Figura 13: Símbolo gráfico de uma porta lógica XNOR de 2 entradas ( A e B ). A B Y 0 0 1 0 1 0 1 0 0 1 1 1 Tabela 11: Tabela verdade de uma porta lógica XNOR de 2 entradas. ⇒⇒⇒⇒São válidas todas as conclusões resultantes das observações (I) e (II) para uma porta AND no que diz respeito à tabela verdade de uma porta XNOR. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. I por F.C.C. De Castro 8 9 Portas Lógicas com Múltiplas Entradas Figura 14: Símbolo gráfico de uma porta lógica AND de (a) 2 entradas , (b) 3 entradas, (c) 4 entradas, (d) 12 entradas. Figura 15: Símbolo gráfico de uma porta lógica OR de (a) 2 entradas , (b) 3 entradas, (c) 4 entradas, (d) 12 entradas.10 Portas Lógicas Disponíveis Comercialmente Função da Porta CI c/ 4 Portas de 2 Entradas CI c/ 3 Portas de 3 Entradas CI c/ 2 Portas de 4 Entradas CI c/ 1 Porta de 8 Entradas NAND 7400 7410 7420 7430 NOR 7402 7427 7425 AND 7408 7411 7421 OR 7432 Tabela 12: Portas lógicas da família TTL disponíveis comercialmente em forma de circuito integrado (CI). PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. I por F.C.C. De Castro 9 11 Interligação de Portas Lógicas Figura 16: Exemplo de combinação de uma porta lógica NOR de duas entradas com uma porta NAND de duas entradas formando uma Função Lógica de 3 variáveis ( A , B e C ). A B C Y 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Tabela 13: Tabela verdade da Função Lógica de 3 variáveis implementada pela combinação de portas da Figura 16. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. I por F.C.C. De Castro 10 12 Equação Booleana de Funções Lógicas •Para facilitar o tratamento analítico das diversas funções lógicas possíveis de serem implementadas através de portas lógicas utiliza-se a representação da função lógica através de Equações Booleanas. Função Lógica Básica Símbolo Gráfico da Porta Equação Booleana AND BAY ⋅= OR BAY += XOR BAY ⊕= NOT AY = NAND BAY ⋅= NOR BAY += XNOR BAY ⊕= PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 1 Capítulo II Álgebra Booleana e Minimização Lógica 1 Introdução Vimos no Capítulo I que a unidade básica construtiva de um sistema digital é a Porta Lógica e que Funções Lógicas com diversas variáveis de entrada podem ser obtidas mediante a interligação de portas lógicas básicas. Aliás, a própria porta lógica básica (NAND, NOR, XOR, etc...) executa uma função lógica elementar. Vimos também no final do Capítulo I que para facilitar o tratamento analítico das diversas funções lógicas possíveis de serem implementadas através da interligação entre portas, utiliza-se a representação da função lógica através de Equações Booleanas, conforme mostra a Tabela I a seguir: Função Lógica Básica Símbolo Gráfico da Porta Equação Booleana AND BAY ⋅= OR BAY += XOR BAY ⊕= NOT AY = NAND BAY ⋅= NOR BAY += XNOR BAY ⊕= Tabela 1: Equações Booleanas básicas correspondentes às Funções Lógicas Básicas. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 2 Este capítulo descreve o método algébrico para análise e projeto de circuitos digitais que utilizam portas lógicas. As operações algébricas elementares do método algébrico Booleano consiste nas Equações Booleanas mostradas na Tabela I. Veremos que: •••• Não importando o número de variáveis de entrada, a quantidade e os tipos de portas lógicas interligadas necessárias para que se obtenha uma função lógica desejada na saída Y , ••••Não importando o número de variáveis de entrada da tabela verdade que descreve uma função lógica ( )!,,BAfY = ⇒⇒⇒⇒ Sempre poderemos escrever uma equação algébrica Booleana que poderá ser simplificada e/ou otimizada através do uso dos Teoremas e Postulados Booleanos. 2 Teoremas e Postulados Booleanos A Álgebra Booleana possui as mesmas propriedades da Álgebra Linear ordinária, se considerarmos: •••• a operação lógica básica BA AND como a multiplicação BA ⋅ (ou AB ) •••• a operação BA OR como a soma BA+ Propriedade Comutativa: BAAB = ABBA +=+ Propriedade Associativa: ( ) ( )CABBCA = ( ) ( ) CBACBA ++=++ Propriedade Distributiva: ( ) ACABCBA +=+ Tabela 2: Propriedades da Álgebra Booleana. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 3 P1 0 se 1 ≠= AA P6 000 =+ P2 1 se 0 ≠= AA P7 001 =⋅ P3 000 =⋅ P8 110 =+ P4 111 =+ P9 10 = P5 111 =⋅ P10 01 = Tabela 3: Postulados da Álgebra Booleana. T1 AA =+ 0 T8 ( ) AA = T2 AA =⋅1 T9 1=+ AA T3 11 =+A T10 0=⋅ AA T4 00 =⋅A T11 !! ⋅⋅⋅=+++ CBACBA (Teorema I de Morgan) T5 AAA =+ T12 !! +++=⋅⋅⋅ CBACBA (Teorema II de Morgan) T6 AAA =⋅ T13 ( ) ( ) ABAABABAA =+=+=+ 1 T7 ( ) AA = T14 ( ) ABAAABA =+=+ Tabela 4: Teoremas da Álgebra Booleana. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 4 Exemplo 1: Determinar a expressão (equação) Booleana que representa a Tabela Verdade abaixo. Simplifique e otimize a expressão utilizando os resultados das Tabelas 2, 3 e 4. Desenhe a interligação de portas básicas que implementa esta Tabela Verdade. A B C Y 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0 Tabela 5: Tabela verdade de uma função lógica hipotética de 3 variáveis. Solução: CABBCACBAY ++= ( )CACABCBAY ++= Mas a função lógica XOR com duas variáveis A e C tem a seguinte Tabela Verdade/Expressão Booleana: A C CACACAY +=⊕= 0 0 0 0 1 1 1 0 1 1 1 0 Logo, ( )CABCBAY ⊕+= Utilizando o T11 da Tabela 4 obtemos a seguinte Expressão Booleana simplificada: ( ) ( )CABCBAY ⊕++= Que resulta no seguinte circuito lógico: PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 5 Figura 1: Interligação de portas básicas que implementa a Tabela Verdade da Tabela 5. 3 Mapas de Karnaugh ⇒⇒⇒⇒ Um Mapa de Karnaugh (Mapa K) é a representação das linhas de uma Tabela Verdade em forma de quadrículos adjacentes. ⇒⇒⇒⇒ Dois quadrículos adjacentes verticalmente ou horizontalmente em um mapa K correspondem à duas linhas da Tabela Verdade tal que apenas uma variável tenha seu valor lógico alterado de um quadrículo para o outro. Isto permite que a Propriedade Distributiva da Tabela 2 em conjunto com o teorema T9 da Tabela 4 leve à eliminação de uma variável. ⇒⇒⇒⇒ A simplificação lógica obtida com um Mapa K segue os seguintes princípios: (I) Seleciona-se uma combinação de quadrículos tal que inclua todos os quadrículos pelo menos uma vez, sendo o número de quadrículos selecionados uma potência inteira de 2. Ou seja, um quadrículo pode aparecer em mais de uma combinação. (II) As combinações devem ser selecionadas objetivando incluir o maior número de quadrículos por combinação, utilizando para tanto o menor número possível de combinações. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 6 Exemplo 2: Simplifique a Expressão Booleana resultante da Tabela Verdade abaixo. A B C Y 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Solução: Figura 2 ABCBAY ++= PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 7 Exemplo 3: Simplifique a Expressão Booleana resultante da Tabela Verdade abaixo. A B C D Y 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 Solução: Figura 3 CBDBCAY ++= PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 8 Exemplo 4: Simplifique a Expressão Booleana resultante da Tabela Verdade abaixo. A B C D Y 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 Solução: Figura 4 CBY = PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia ElétricaEletrônica Digital Cap. II por F.C.C. De Castro 9 Exemplo 5: Simplifique a Expressão Booleana resultante da Tabela Verdade abaixo. A B C D Y 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 Solução: Figura 5 DBY = PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 10 Exemplo 6: Simplifique a Expressão Booleana resultante da Tabela Verdade abaixo. A B C D Y 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 Solução: Figura 6 BAY = PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 11 Exemplo 7: Simplifique a Expressão Booleana resultante da Tabela Verdade abaixo. A B C D Y 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 Solução: Figura 7 DBY = PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 12 Exemplo 8: Simplifique a Expressão Booleana resultante da Tabela Verdade abaixo. A B C D Y 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 Solução: Figura 8 CY = PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 13 Exemplo 9: Simplifique a Expressão Booleana resultante da Tabela Verdade abaixo. A B C D Y 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 Solução: Figura 9 BY = PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 14 3.1 Método de uso dos Mapas de Karnaugh •••• Para efeito de sistematizar o uso de um Mapa K na minimização lógica, sugere-se adotar o seguinte procedimento: (I) Assinalar inicialmente apenas os quadrículos que não podem ser combinados com nenhum outro. (II) Identificar os quadrículos que podem ser combinados com um único outro quadrículo somente de uma maneira. Assinalar estas combinações de dois quadrículos por combinação. Quadrículos que podem ser combinados em grupos de dois de mais de uma maneira são deixados temporariamente de lado. (III) Identificar quadrículos que podem ser combinados com três outros quadrículos somente de uma maneira. Assinalar estas combinações de quatro quadrículos por combinação. Quadrículos que podem ser combinados em grupos de quatro de mais de uma maneira são deixados temporariamente de lado. (IV) Identificar quadrículos que podem ser combinados com sete outros quadrículos somente de uma maneira. Assinalar estas combinações de oito quadrículos por combinação. Quadrículos que podem ser combinados em grupos de oito de mais de uma maneira são deixados temporariamente de lado. (V) Repetir o processo para grupos de 16,32, etc... (VI) Se, uma vez encerrado o processo acima, ainda restarem quadrículos não incluídos em agrupamentos, estes quadrículos podem ser combinados uns com os outros ou com quadrículos já incluídos em outros agrupamentos (se houver adjacência e o agrupamento resultante contiver uma potência inteira de 2). (VII) É importante relembrar que o objetivo é obter o menor número de agrupamentos possível, cada agrupamento contendo o maior número possível de quadrículas que resulte em uma potência inteira de 2. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 15 ⇒⇒⇒⇒ As Figuras 10, 11, 12 e 13 mostram a aplicação do método em um exemplo específico: Figura 10: Mapa de Karnaugh para a função lógica descrita por DCBADABCABCDDCABDBCABCDADCBADCBACDBADCBAY +++++++++= Etapa (I) do método para sistematização do uso de mapas K. Figura 11: Mapa de Karnaugh para a função lógica descrita por DCBADABCABCDDCABDBCABCDADCBADCBACDBADCBAY +++++++++= Etapa (II) do método para sistematização do uso de mapas K. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 16 Figura 12: Mapa de Karnaugh para a função lógica descrita por DCBADABCABCDDCABDBCABCDADCBADCBACDBADCBAY +++++++++= Etapa (III) do método para sistematização do uso de mapas K. Figura 13: Mapa de Karnaugh para a função lógica descrita por DCBADABCABCDDCABDBCABCDADCBADCBACDBADCBAY +++++++++= Mapa K completo. A função lógica minimizada resulta em BCDBBACDADCADCBAY +++++= . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 17 3.2 Mapas de Karnaugh para 5 Variáveis •••• Suponhamos que queiramos minimizar a função lógica ( )EDCBAY ,,,,f1 = definida por: EDCABEDCABEABCDECDBACDEBA EDCBAEDCBAEDCBAEDCBAEDCBAEBCDA EDBCAEDBCAECDBACDEBAEDCBAEDCBAY ++++ ++++++ ++++++=1 ⇒⇒⇒⇒ O Mapa K para ( )EDCBAY ,,,,f1 = é: Figura 14: Mapa de Karnaugh para a função lógica ( )EDCBAY ,,,,f1 = . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 18 Figura 15: Adjacências entre quadrículos no Mapa de Karnaugh para a função lógica ( )EDCBAY ,,,,f1= dada, caracterizadas sob um ponto de vista tridimensional. O termo resultante para o agrupamento amarelo é ED , para o agrupamento laranja é CEB , para o agrupamento magenta é DBA , e para o agrupamento cinza (superposto ao magenta para 0=A ) é EDCB . Portanto, a função lógica minimizada resulta em EDCBDBACEBEDY +++=1 . •••• Suponhamos agora que queiramos minimizar a função lógica ( )EDCBAY ,,,,f2 = definida por: CDEBAABCDEEDABCEDCBAEDCBABCDEA EDBCAEDCBAEDCBAEDBCAEDCBAEDCBAY +++++ ++++++=2 PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 19 Figura 16: Adjacências entre quadrículos no Mapa de Karnaugh para a função lógica ( )EDCBAY ,,,,f2 = dada, caracterizadas sob um ponto de vista bidimensional. A função lógica minimizada resulta em DCBBCEEDAACDEY +++=2 . 3.3 Mapas de Karnaugh para 6 Variáveis •••• Suponhamos que queiramos minimizar a função lógica ( )FEDCBAY ,,,,,f3 = definida por: FEABCDDEFCAB FEDCABFEDCBAFEBCDAFEDCBAFEDCBAY + +++++=3 . ⇒⇒⇒⇒ O Mapa K para ( )FEDCBAY ,,,,,f3 = é: PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 20 Figura 17: Adjacências entre quadrículos no Mapa de Karnaugh para a função lógica ( )FEDCBAY ,,,,,f3 = dada, caracterizadas sob um ponto de vista bidimensional. A função lógica minimizada resulta em DFCABFEBDFEDCY ++=3 . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 21 4 Funções Incompletamente Especificadas (don’t care condition) •••• Vamos supor que um determinado processo industrial a ser controlado por um circuito lógico tenha uma variável Y representada por: A B C D Y 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 X 1 0 0 0 1 1 0 0 1 1 1 0 1 0 X 1 0 1 1 X 1 1 0 0 0 1 1 0 1 0 1 1 1 0 X 1 1 1 1 X Tabela 6: Tabela verdade de ( )DCBAY ,,,f= . ⇒⇒⇒⇒O valor “X” atribuído à saída Y em determinadas linhas da Tabela Verdade significa que, para os específicos valores lógicos das variáveis A , B ,C e D nestas linhas, o valor lógico da saída Y é irrelevante para o processo controlado (don’t care). ⇒⇒⇒⇒ O mapa K resultante é Figura 17: Mapa K para a Tabela 6. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 22 ⇒⇒⇒⇒ Mas, uma vez que os quadrículos contendo X representam situações irrelevantes ao processo industrial, podemos atribuir a cada X um valor lógico conveniente no contexto de minimização lógica de forma a nos permitir agrupar o maior número possível de quadrículos gerando o menor número possível de agrupamentos: Figura 18: Mapa K para a Tabela 6 com os valores lógicos dos Xs atribuídos objetivando a minimização da função lógica resultante. A função lógica minimizada resulta em BABABAY ⊕=+= . 5 Distância de Hamming •••• As linhas de uma Tabela Verdade formam Palavras Binárias formadas por tantos bits (bit: binary unit) quantos sejam o número de variáveis da função lógica descrita pela tabela. Por exemplo, as linhas nas 4 primeiras colunas da Tabela 6 formam palavras binárias de 4 bits. •••• Em muitas situações práticas de controle digital de processos industriais tais palavras binárias constituem Instruções de Comando que devem ser enviadas por longas distâncias através de um Canal de Transmissão (cabo coaxial, fibra ótica, etc...) antes de chegarem ao destino onde a instrução desencadeará uma ação específica no processo controlado. A Tabela 7 mostra um possível exemplo com 4 instruções de comando cada uma delas definida por uma palavra binária de 5 bits: PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 23 Palavra-Código binária (Instrução de Comando) enviada remotamente Ação efetuada no Ponto de Destino [ ]00000 Abre comporta da represa [ ]11010 Fecha comporta da represa [ ]10101 Liga motor da bomba de dreno [ ]01111 Desliga motor da bomba de dreno Tabela 7: Exemplo de processo remotamente controlado. O conjunto de instruções de comando é formado por 4 instruções cada uma delas definida por uma palavra binária de 5 bits. •••• Sempre que palavras binárias são enviadas através de um Canal de Transmissão estas ficam sujeitas a algum tipo de Interferência (ruído aleatório, interferência de outras fontes de energia, interferência intersimbólica, etc...). ⇒⇒⇒⇒ Portanto, devido à interferência sofrida no canal de transmissão, as Instruções de Comando de um processo remotamente controlado podem chegar ao ponto de destino com alguns de seus bits tendo seu valor lógico invertido. Isto constitui um Erro de Transmissão que deve ser corrigido. •••• Uma técnica de correção de erros de transmissão é a denominada FEC (Forward Error Correction). Em palavras simples, quando uma palavra binária chega ao seu destino ela é comparada com uma tabela contendo todas as possíveis Instruções de Comando de um processo, denominada Tabela de Decodificação. •••• A comparação é efetuada com base na Distância de Hamming entre a palavra binária recebida e aquelas contidas na Tabela de Decodificação. A Distância de Hamming entre duas palavras binárias é a contagem dos bits com valores lógicos complementares em posições correspondentes nas duas palavras. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 24 •••• Por exemplo, suponhamos que para o processo remotamente controlado da Tabela 7, seja enviada em determinado instante a instrução [ ]11010 (fecha comporta da represa) e que, por ação de interferência no canal de transmissão, seja recebido no ponto de destino a palavra binária errada [ ]10010 ( erro no segundo bit da direita para a esquerda). ⇒⇒⇒⇒ O decodificador FEC no ponto de destino calcula as Distâncias de Hamming entre a palavra recebida e todas as possíveis instruções válidas (Tabela de Decodificação): Palavra-Código binária (Instrução de Comando) enviada remotamente Distância de Hamming da Palavra-Código recebida [ ]10010 : [ ]00000 2 [ ]11010 1 [ ]10101 3 [ ]01111 4 Tabela 8: Distâncias de Hamming entre a palavra [ ]10010 e todas as possíveis instruções válidas (Tabela de Decodificação). ⇒⇒⇒⇒ A seguir, o decodificador FEC no ponto de destino faz a seguinte inferência: A instrução originalmente transmitida é aquela que resulta na menor Distância de Hamming da palavra recebida sob erro (instrução que é “mais parecida” com a palavra recebida). ⇒⇒⇒⇒ Portanto, da Tabela 8, o decodicador FEC infere que a instrução originalmente transmitida foi [ ]11010 (menor Distância de Hamming entre as 4 obtidas). Note que o decodificador efetuou uma inferência correta, porque a palavra originalmente transmitida é efetivamente a palavra inferida. ⇒⇒⇒⇒ Observe que se tivesse sido recebida uma palavra binária com mais de um bit em erro, o decodificador FEC deste exemplo não teria capacidade de corrigir os erros múltiplos. Portanto, surge a questão: Qual é o fator que determina a capacidade de um decodificador FEC corrigir erros múltiplos ? PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. II por F.C.C. De Castro 25 ⇒⇒⇒⇒ O fator que rege a Capacidade de Correção de Erro de um decodificador FEC é a Distância de Hamming entre as palavras binárias do conjunto de instruções. ⇒⇒⇒⇒ Quanto maior for a Mínima Distância de Hamming obtida entre todas as palavras binárias do conjunto de instruções, maior será a capacidade de correção do decodificador FEC. Demonstra-se que o número de erros simultâneos t que um decodificador FEC é capaz de corrigir dado por 2 1− = mindt (1) onde mind representa a Mínima Distância de Hamming obtida entre todas as palavras binárias do conjunto de instruções e ⋅ é o operador que resulta no menor inteiro mais próximo do argumento. ⇒⇒⇒⇒ No exemplo da Tabela 7, 3=mind resultando 1=t , o que significa que o decodificador FEC consegue corrigir no máximo um bit recebido em erro. Para aumentar a capacidade de correção teríamos que utilizar instruções representadas por palavras binárias com um número maior do que 5 bits, de modo a aumentar a Mínima Distância de Hamming entre elas. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 1 Capítulo III Circuitos Digitais Combinacionais 1 Introdução Vimos no Capítulo II que uma desejada função lógica pode ser implementada mediante a combinação de portas lógicas. Esta combinação de portas lógicas objetivando atender um mapeamento ( )!,, BAfY = é denominada de Circuito Digital. Neste Capítulo estudaremos circuitos digitais que visam solucionar problemas específicos e comuns em Eletrônica Digital. 2 Decodificadores para Display de 7 Segmentos •••• Um display de 7 segmentos mostra ao usuário de um sistema digital um algarismo decimal de 0 a 9, conforme mostram as Figuras 1, 2 e 3. Figura 1: Formato de um display de 7 segmentos mostrando a localização dos segmentos a, b, c, d, e, f, g. Figura 2: Algarismos decimais possíveis de serem formados mediante o acionamento combinado dos segmentos a, b, c, d, e, f, g. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 2 Figura 3: Acionamento dos segmentos a, b, c, d, e, f, g. Cada segmento é um LED (Light Emitter Diode), que emite luz quando o diodo é percorrido por uma corrente direta ( mA 1 a mA 50 ). (a) display de anodo comum. (b) display de catodo comum. •••• Um display de 7 segmentos alternativo é o denominado LCD (Liquid Crystal Display),largamente utilizado em relógios digitais de pulso. A Figura 4 mostra a técnica de acionamento dos segmentos a, b, c, d, e, f, g de um LCD. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 3 Figura 4: Acionamento dos segmentos a, b, c, d, e, f, g de um LCD. Um segmento é acionado por uma onda quadrada com freqüência entre 30 a 60Hz aplicada entre o segmento e uma superfície comum a todos os segmentos denominada backplane. Quando a onda quadrada (signal source) é aplicada ao segmento através do controle exercido pela porta XOR, o segmento assim ativado deixa de refletir a luz incidente, alterando sua tonalidade para um cinza escuro. •••• A Tabela 1 mostra os algarismos decimais resultantes do acionamento combinado dos segmentos a, b, c, d, e, f, g: PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 4 Tabela 1: Algarismos decimais resultantes do acionamento combinado dos segmentos a, b, c, d, e, f, g. Ver Figura 1. •••• Um Decodificador para Display de 7 Segmentos é um circuito digital formado por portas lógicas que, ao receber uma palavra binária de 4 bits representativa do algarismo decimal a ser mostrado, aciona os segmentos correspondente no display, conforme mostram a Figuras 5 e a Tabela 2. Figura 5: Interligação de um Decodificador para Display de 7 Segmentos com o Display. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 5 Tabela 2: Tabela Verdade de um Decodificador para Display de 7 Segmentos. ⇒⇒⇒⇒ Observe que a coluna 1 da Tabela 2 representa o número decimal correspondente à palavra binária respectiva na coluna 2 da tabela através da relação: 0123 2⋅+2⋅+2⋅+2⋅= ABCDmalNúmeroDeci •••• Um Decodificador para Display de 7 Segmentos é um Circuito Integrado que contém as combinações de portas lógicas necessárias e otimizadas para a implementação do conjunto de Expressões Booleanas definidas pela Tabela 2. •••• Por exemplo, da Tabela 2 verificamos que a Expressão Booleana para o segmento a é: AB CD A B CD C B ADA C B D AB C D B AC DA B C DA B C Da ++++ ++++= •••• Cujo Mapa K é: PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 6 Figura 6: Mapa K para a lógica de acionamento do segmento a. A Expressão Booleana minimizada resulta em ACACBDa +++= . •••• E cujo circuito lógico resultante é: Figura 7: Circuito lógico para acionamento do segmento a. A Expressão Booleana implementada é ACACBDa +++= . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 7 •••• Exercício Proposto: Determine o circuito lógico completo para o acionamento dos segmentos a, b, c, d, e, f, g. Caso, após a minimização individual das expressões booleanas para cada segmento, as funções lógicas resultantes para o acionamento de dois ou mais segmentos compartilharem termos comuns, faça a minimização adicional aproveitando o compartilhamento entre os termos. Figura 8: Circuitos Integrados TTL comercialmente disponíveis para a implementação da função de Decodificador para Display de 7 Segmentos. (a) 7446 – decodificador para display de anodo comum. (b) 7448 – decodificador para display de catodo comum. 3 Decodificadores BCD-para-Decimal •••• BCD é a abreviação para Decimal Codificado em Binário (Binary Coded Decimal). •••• O código BCD expressa cada dígito de um número decimal por uma palavra binária de 4 bits (Nibble) no formato 0123 bbbb através da relação: 0 0 1 1 2 2 3 3 2⋅+2⋅+2⋅+2⋅= bbbbmalNúmeroDeci . A Tabela 3 mostra o resultado desta relação. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 8 Nibble 3b 2b 1b 0b Número Decimal 0 0 0 0 0 0 0 0 1 1 0 0 1 0 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 0 1 1 0 6 0 1 1 1 7 1 0 0 0 8 1 0 0 1 9 Tabela 3: Tabela para conversão de um Nibble em um Número Decimal. A conversão obedece a relação 00112233 2⋅+2⋅+2⋅+2⋅= bbbbmalNúmeroDeci . •••• As entradas DCBA de um Decodificador para Display de 7 Segmentos (ver Seção 1) constituem um exemplo de informação binária codificada em BCD. •••• Por exemplo, o número decimal 8963 codificado em BCD resulta em (ver Tabela 3): 8 9 6 3 ↓ ↓ ↓ ↓ 1000 1001 0110 0011 •••• Por outro lado, o número binário 010101111000 codificado em BCD, quando convertido para decimal resulta em 0101 0111 1000 ↓ ↓ ↓ 5 7 8 •••• A Figura 9 mostra o diagrama interno de um Decodificador BCD-para- Decimal. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 9 Figura 9: Diagrama interno de um Decodificador BCD-para-Decimal. Este decodificador é conhecido como decodificador 1-de-10, porque para cada Nibble ABCD na entrada do decodificador, somente uma das 10 saídas está em nível lógico 1. Por exemplo, para 0011=ABCD temos para as saídas: 1=3Y e todas as demais saídas 0=kY , com 3≠k . Note que o subscrito da saída cujo nível lógico é 1 corresponde ao valor decimal do Nibble codificado em BCD nas entradas ABCD . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 10 Figura 10: Diagrama de pinagem do circuito integrado TTL – 7445 comercialmente disponível para a implementação da função Decodificador BCD-para-Decimal. Tabela 4: Tabela Verdade para o TTL – 7445. Note que a saída ativa é precedida de uma porta NOT. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 11 Figura 11: Exemplo de utilização do TTL – 7445 como Decodificador BCD- para-Decimal. O valor decimal do ABCD na entrada do decodificador é indicado pelo LED que está aceso conectado à saída correspondente. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 12 3.1 Codificador Decimal-pa ra-BCD Figura 12: Diagrama interno de um Codificador Decimal-para-BCD. As chaves são do tipo pushbutton (como no teclado de um computador). Por exemplo, quando o pushbutton 3 é pressionado as portas OR cujas saídas são C e D têm entradas cujo nível lógico é 1, resultando 0011=ABCD . Figura 13: Diagrama (a) de pinagem e (b) diagrama lógico do circuito integrado TTL – 74147 comercialmente disponível para a implementação da função Codificador Decimal-para-BCD. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 13 Tabela 5: Tabela Verdade para o TTL – 74147. Figura 14: Exemplo de utilização do TTL – 74147 como Codificador Decimal- para-BCD. Quando nenhuma chave é pressionada todas as entradas X têm valor lógico 1 e todas as saídas têm valor lógico 1. Quando a chave X9 é pressionada ( X9 = 0 ) temos na saída 0110=ABCD , que é equivalente a 9 se complementarmos os bits. Quando a chave X8 é pressionada ( X8 = 0 ) temos na saída 0111=ABCD , que é equivalente a 8 se complementarmos os bits. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 14 •••• Note da Tabela 5 que a entrada X ativa (ativa → valor lógico 0) de ordem mais alta tem prioridade sobre as demais. Se todas as entradas X têm valor lógico 0, a de ordem mais alta (X9) é codificada com prioridade resultando0110=ABCD , cujo complemento identifica a entrada ativa de ordem mais alta. Se X9=1 e X8=0 então a entrada X ativa de ordem mais alta é X8 e é codificada com prioridade resultando 0111=ABCD , cujo complemento identifica a entrada ativa de ordem mais alta. Devido a este comportamento o TTL – 74147 é também conhecido como Codificador de Prioridade. 4 Decodificador Gray-para-Binário •••• O Código Gray é um código digital com a propriedade de que duas palavras-código consecutivas diferem apenas de um bit. •••• O Código Gray é um código que se enquadra na classe de Códigos Refletidos, enquadramento devido ao algoritmo de construção do mesmo. Por exemplo, a Tabela 6 mostra a construção por quantificação-reflexão do Código Gray para 4 bits: Quantificação Reflexão Quantificação Reflexão Quantificação Reflexão Quantificação 0 0 00 00 000 000 0000 1 1 01 01 001 001 0001 1 11 11 011 011 0011 0 10 10 010 010 0010 10 110 110 0110 11 111 111 0111 01 101 101 0101 00 100 100 0100 100 1100 101 1101 111 1111 110 1110 010 1010 011 1011 001 1001 000 1000 Tabela 6: Algoritmo de construção do Código Gray de 4 bits. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 15 Decimal Binário Gray 0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101 10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000 Tabela 7: Tabela de conversão Decimal-Binário-Gray de 4 bits. •••• Representando o nibble do Código Gray da Tabela 7 por 0123 GGGG e o nibble do Código Binário por 0123 BBBB temos: Tabela 8: Identificação dos nibbles dos códigos Gray e Binário de 4 bits. •••• A Figura 15 mostra os mapas K para as funções lógicas que expressam 0B , 1B , 2B e 3B em função de 0123 GGGG , a partir da Tabela 8: PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 16 Figura 15: Mapas K para as funções lógicas que expressam 0B , 1B , 2B e 3B em função de 0123 GGGG . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 17 •••• Da Figura 15 temos que as funções lógicas minimizadas que expressam 0B , 1B , 2B e 3B em função de 0123 GGGG são: 32100 ⊕⊕⊕= GGGGB 3211 ⊕⊕= GGGB 322 ⊕= GGB 33 =GB •••• Generalizando para um Código Gray de N bits, podemos escrever que ( ) ( ) 1−1+1+ ⊕⊕⊕⊕= Nnnnn GGGGB " , o que sugere o circuito lógico mostrado na Figura 16: Figura 16: Conversor Gray-para-Binário. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 18 4.1 Decodificador Binário-para-Gray •••• A Figura 17 mostra os mapas K para as funções lógicas que expressam 0G , 1G , 2G e 3G em função de 0123 BBBB , tendo como ponto de partida a Tabela 8: Figura 17: Mapas K para as funções lógicas que expressam 0G , 1G , 2G e 3G em função de 0123 BBBB . •••• Da Figura 17 temos que as funções lógicas minimizadas que expressam 0G , 1G , 2G e 3G em função de 0123 BBBB são: PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 19 100 ⊕= BBG 211 ⊕= BBG 322 ⊕= BBG 33 = BG •••• Generalizando para um Código Gray de N bits, podemos escrever que ( )1+⊕= nnn BBG , sendo 1−≤1+ Nn . Isto sugere o circuito lógico mostrado na Figura 18: Figura 18: Conversor Binário-para-Gray. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 20 5 Multiplexadores •••• Um Multiplexador é um circuito digital com n entradas e uma única saída, e serve para selecionar qual sinal, dentre os n sinais de entrada, deve ser roteado até a saída. •••• Uma palavra binária de controle seleciona qual das n entradas é conectada à saída conforme mostram as Figuras 19 e 20. Figura 19: Diagrama geral de um multiplexador. Note que o número m de bits da palavra binária de controle deve ser tal que 2m=n. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 21 Figura 20: Diagrama interno um multiplexador 16-para-1. O número de bits da palavra binária de controle é m=4 (nibble) e, portanto, o multiplexador pode selecionar uma das n =2m=16 entradas. Por exemplo, se 0111=ABCD então o sinal digital que está sendo aplicado na entrada 7D é roteado até a saída Y . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 22 •••• A Figura 21 e a Tabela 9 descrevem um multiplexador 16-para-1 disponível comercialmente na forma de circuito integrado da família TTL. Figura 21: Diagrama de pinos do TTL 74150 – circuito integrado comercialmente disponível para a implementação da função MUX 16-para-1. Tabela 9: Tabela-Verdade para o TTL 74150. Note que o sinal de entrada roteado à saída Y é submetido a uma porta NOT. Note também que o sinal de strobe (pino 9 na Figura 21) é um sinal ativo-baixo que serve para ativar/desativar o multiplexador. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 23 5.1 Implementação de Funç ões Lógicas utilizando um MUX •••• Vamos supor que queremos implementar a função lógica mostrada na Tabela 10 a seguir. Tabela 10: Tabela-Verdade de uma função lógica hipotética a ser implementada. Figura 22: Implementação da função lógica descrita na Tabela 10 utilizando o TTL 74150. O procedimento geral para a implementação de qualquer função lógica de 4 variáveis é o seguinte: Sempre que o nibble ABCD resultar em uma saída 1=Y na Tabela-Verdade (ver Tabela 10), conecta-se à terra o pino de dado kD , sendo k o valor decimal correspondente ao nibble ABCD . O pino de dado de índice k cujo nibble correspondente na Tabela-Verdade refere-se à saídas 0=Y é conectado à V5+ . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 24 •••• Por exemplo, na Figura 22, se 0000=ABCD então a entrada 0=0D é conectada à saída através de uma porta NOT, de modo que 1=Y . Se 0111=ABCD então a entrada 1=7D é conectada à saída através de uma porta NOT, de modo que 1=Y . Todas as demais linhas da Tabela-Verdade (Tabela 10) podem ser obtidas através de procedimento semelhante. 5.2 Multiplexadores de Nibb le •••• Em muitas situações práticas precisamos selecionar um entre dois nibbles de entrada, conforme mostram as Figuras 22 e 23. Figura 23: Diagrama interno de um multiplexador de nibble. Quando 0=ORSELECIONAD obtemos 01230123 = AAAAYYYY e quando 1=ORSELECIONAD obtemos 01230123 = BBBBYYYY . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 25 Figura 24: Diagrama de pinagem do circuito integrado TTL – 74157 comercialmente disponível para a implementação da função Multiplexador de Nibble. O diagrama interno é o mostrado na Figura 23. O pino de strobe (pino 15) desativa o multiplexador quando encontra-se em nível lógico 1 e ativa o multiplexador quando encontra-se em nível lógico 0. 6 Demultiplexadores •••• Um Demultiplexador é um circuito digital com uma única entrada e n saídas, e serve para selecionar à qual saída, dentre as n saídas, deve ser roteado o sinal de entrada. •••• Uma palavra binária de controle seleciona à qual das n saídas é conectada o sinal de entrada conforme mostramas Figuras 25 e 26. Figura 25: Diagrama geral de um demultiplexador. Note que o número m de bits da palavra binária de controle deve ser tal que 2m=n. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 26 Figura 26: Diagrama interno um demultiplexador 1-para-16. O número de bits da palavra binária de controle é m=4 (nibble) e, portanto, o demultiplexador pode selecionar uma das n =2m=16 saídas. Por exemplo, se 0111=ABCD então o sinal digital que está sendo aplicado na entrada D é roteado até a saída 7Y . •••• As Figuras 27 e 28 e a Tabela 11 descrevem um demultiplexador 1-para-16 disponível comercialmente na forma de circuito integrado da família TTL. Figura 27: Diagrama de pinos do TTL 74154 – circuito integrado comercialmente disponível para a implementação da função DEMUX 1-para-16. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 27 Figura 28: Diagrama lógico do TTL 74154. Tabela 11: Tabela-Verdade para o TTL 74154. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 28 7 Decodificadores •••• Em seções anteriores deste capítulo já estudamos diversos decodificadores específicos (BCD-para-Decimal, Binário-para-Gray, etc. ). Vimos que eles servem como “tradutores” entre diversos os formatos de representação numérica da informação a ser processada. •••• Nesta seção estudaremos os decodificadores sob um ponto de vista genérico. •••• Um decodificador é similar a um demultiplexador , a única diferença é que a entrada de dado do demultiplexador não existe no decodificador, conforme podemos concluir comparando a Figura 26 com a Figura 29: PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 29 Figura 29: Diagrama interno um decodificador 1-de-16. A designação 1-de-16 decorre do fato de somente uma das 16 saídas assumir o nível lógico 1 em função do valor da palavra binária de controle. Por exemplo, se 0111=ABCD então 1=7Y . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 30 Figura 30: Utilização do TTL 74154 como decodificador 1-de-16. Já estudamos este circuito integrado como DEMUX 1-para-16 (ver Figura 27). Note que para converter o 74154 de demultiplexador para decodificador basta aterrar a entrada de dados (pino 18). PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 31 8 Comparadores •••• Um comparador indica a igualdade entre duas palavras binárias A e B, isto é, indica se A=B. Figura 31: Diagrama interno de um comparador de 4 bits. É mostrado a comparação entre os nibbles 1010 e 1001, resultando o valor lógico 0 na saída, o que significa que os nibbles não são iguais. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 32 •••• Um comparador de magnitude indica se A=B, A<B ou A>B. Figura 32: Circuito Integrado (CI) TTL 7485, comercialmente disponível para a implementação da função comparador de magnitude de 4 bits. Os pinos 2, 3 e 4 são entradas para conexão em cascata de 2 CIs e são utilizados quando se deseja comparar palavras binárias com mais de 4 bits. •••• O TTL 7485 compara duas palavras binárias de 4 bits A e B colocando uma das saídas BAQ < , BAQ = , BAQ > em nível lógico 1 respectivamente quando BA < , BA = e BA > . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 33 Tabela 12: Tabela-Verdade para o TTL 7485. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 34 Figura 33: Exemplo de utilização do CI TTL 7485 como comparador de magnitude de 4 bits. As entradas são ( )dec11=1011=A e ( )dec12=1100=B , de modo que BA < , e, portanto, a saída 1=<BAQ . Figura 34: Conexão em cascata entre 2 CIs TTL 7485 de modo a implementar um comparador de magnitude para palavras binárias de 8 bits. As entradas são ( )dec157=10011101=A e ( )dec182=10110110=B , de modo que BA < , e, portanto, a saída 1=<BAQ . •••• Note na Figura 34 que se os nibbles mais significativos (CI à esquerda) em A e B são iguais, então o resultado é determinado pelas entradas para conexão em cascata deste CI, as quais recebem o resultado da comparação entre os nibbles menos significativos (CI à direita) em A e B . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 35 9 Parity Check •••• Vimos na Seção 5 do Capítulo II que em muitas situações práticas de controle digital de processos industriais as palavras binárias constituem Instruções de Comando que devem ser enviadas por longas distâncias através de um Canal de Transmissão (cabo coaxial, fibra ótica, etc...) antes de chegarem ao destino onde a instrução desencadeará uma ação específica no processo controlado. •••• Foi também discutido que sempre que palavras binárias são enviadas através de um Canal de Transmissão estas ficam sujeitas a algum tipo de Interferência (ruído aleatório, interferência de outras fontes de energia, interferência intersimbólica, etc...), gerando Erros de Transmissão que devem ser corrigidos ou pelo menos detectados. •••• Quando o objetivo é somente detectar um erro de transmissão, sem precisar corrigir o erro, a operação parity check é uma possível solução ao problema de detecção de erros de transmissão. •••• A operação parity check consiste em acrescentar um bit adicional a uma palavra binária a ser transmitida através do canal de transmissão, bit adicional que define a paridade da palavra binária transmitida. O circuito receptor no ponto remoto do processo controlado testa a paridade da palavra binária recebida verificando que houve erro quando a paridade não é mantida. •••• Por exemplo, a palavra binária de 8 bits dada por 11001111 tem paridade par porque contém um número par de bits com valor lógico 1. Por outro lado a palavra binária de 16 bits definida por 1010110010001100 tem paridade ímpar porque contém um número ímpar de bits com valor lógico 1. •••• O teste de paridade (parity check) é usualmente realizado através de uma porta XOR, conforme mostra a Figura 35: Figura 35: Teste de paridade da palavra binária 1010110010001100. A saída da porta XOR resulta em nível lógico 1, significando que esta palavra possui paridade ímpar. Se a palavra aplicada na entrada da porta XOR tivesse paridade par, então a saída da porta resultaria em nível lógico 0. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 36 9.1 Gerador de Paridade •••• Para que a operação parity check possa ser efetuada no receptor é necessário acrescentar um bit adicional à palavra binária a ser transmitida através do canal de transmissão, bit adicional que define a paridade da palavra binária transmitida. A Figura 36 mostra um circuito gerador de paridade utilizado no transmissor da palavra binária. Figura 36: Circuito gerador de paridade. Se a entrada 01234567 XXXXXXXX tem paridade par então 1=8X , de modo que a palavra transmitida 012345678 XXXXXXXXX terá paridade ímpar. Por outro lado, se a entrada 01234567 XXXXXXXX tem paridade ímpar então 0=8X , de modo que a palavra transmitida 012345678 XXXXXXXXX sempre terá paridade ímpar. Se quisermos detectar erros com base em palavras transmitidas de paridadepar, basta eliminarmos a porta NOT. 10 Memórias ROM (Read Only Memory) •••• Uma ROM é uma memória de apenas leitura. Ela é usualmente implementada em um CI, podendo armazenar milhares de palavras binárias que representam instruções e/ou dados para um microcontrolador/microprocessador. •••• Algumas ROMs de menor capacidade são também utilizadas para implementar tabelas-verdade. Em outras palavras, podemos usar uma ROM ao invés de portas lógicas para gerar qualquer função booleana. A Figura 37 mostra o diagrama de uma ROM constituída por diodos, com endereço de acesso definido pela posição da chave rotativa. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 37 Figura 37: ROM a diodo, armazenando nos endereços 0 a 7 as palavras binárias de 4 bits (nibbles) mostradas na Tabela 13. Cada endereço corresponde a uma posição da chave rotativa. Por exemplo, quando a chave rotativa encontra-se na posição 3 (endereço 3) obtém-se 1100=0123 YYYY . Tabela 13: Tabela-Verdade da ROM da Figura 37. •••• Na realidade a chave rotativa aqui empregada é apenas um recurso didático para ilustrar a operação de uma ROM. Na prática, nenhuma chave rotativa é utilizada para seleção de endereço, mas sim um decodificador, conforme mostra a Figura 38. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 38 Figura 38: ROM a diodo da Figura 37, com a chave rotativa de 8 posições substituída por um decodificador 1-de-8. Por exemplo, quando 011=ABC obtém-se 1100=0123 YYYY (ver Tabela 14). Tabela 14: Tabela-Verdade da ROM da Figura 38. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. III por F.C.C. De Castro 39 •••• Uma PROM (Programmable ROM) é uma ROM programável. Uma PROM vem de fabrica com todos os diodos implementados (a PROM gera todas as palavras binárias da tabela verdade com nível lógico 1 em seus bits). O usuário, através de um dispositivo programador de PROM, queima os microfusíveis em série com cada diodo que deva representa um bit de valor lógico 0 na palavra endereçada. •••• Uma ROM é especificada basicamente pelo número de endereços e o número de bits na palavra binária armazenada em cada endereço. Por exemplo, uma ROM 8×2048 armazena 2048 palavras binárias de 8 bits (8 bits = 1 byte), e, portanto, armazena um total de 16384 bits. •••• Existem vários tipos de ROM além da PROM, como, por exemplo, a UV-EPROM (Ultra Violet erasable PROM) e a EEPROM (Eletrically Erasable PROM). Estes tipos adicionais serão abordados em capítulo posterior específico ao estudo de memórias. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 1 Capítulo IV - Famílias Lógicas 1 Introdução Nos capítulos anteriores estudamos circuitos digitais sob o ponto de vista das funções lógicas por eles implementadas. Neste capítulo estudaremos circuitos digitais no contexto de suas características elétricas de operação. Duas principais famílias de circuitos integrados emergem neste contexto: A família TTL (Transistor-Transistor Logic) e a família CMOS (Complemetary Metal-Oxid Semiconductor). As famílias TTL e CMOS não esgotam o universo de famílias lógicas, mas, seguramente são as mais utilizadas. Como um exemplo das demais famílias lógicas existentes citamos a família ECL (Emitter-Coupled Logic), caracterizada pela capacidade de operar em altas freqüências (2.8 GHz para a série E-Lite da família ECL). 2 Características e Parâmetros Operacionais Básicos •••• Esta seção apresenta resumidamente as principais características e parâmetros das famílias TTL e CMOS, sob o enfoque da implementação prática de funções lógicas através de circuitos integrados (CIs) digitais. 2.1 Tensão de Alimentação •••• A tensão nominal de alimentação de um CI TTL é VV 5+=CC . •••• A tensão nominal de alimentação de um CI CMOS é bem mais flexível que a de um CI TTL. Um CI CMOS opera com tensões de alimentação de até VV 10+=CC , mas é usual uma tensão de alimentação de V5+ para que haja compatibilidade com circuitos digitais que utilizem CIs TTL. •••• Para a categoria de CIs CMOS conhecida como Low-Voltage CMOS, a tensão nominal de alimentação é VV 33+= .CC . Figura 1: Pinos de conexão de alimentação em um CI. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 2 2.2 Níveis Lógicos para CIs CMOS Figura 2: Níveis de tensão para operação correta de um CI CMOS. IV refere-se a tensões de entrada e OV a tensões de saída. A faixa de tensão unallowed (não permitido) significa que o fabricante do CI não garante o funcionamento correto do CI para tensões nesta faixa. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 3 2.3 Níveis Lógicos para CIs TTL Figura 3: Níveis de tensão para operação correta de um CI TTL. IV refere-se a tensões de entrada e OV a tensões de saída. A faixa de tensão unallowed (não permitido) significa que o fabricante do CI não garante o funcionamento correto do CI para tensões nesta faixa. 2.4 Imunidade a Ruído •••• Em ambientes industriais é usual um alto nível de ruído eletromagnético. A Figura 4 ilustra o efeito do ruído na operação de uma porta lógica. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 4 Figura 4: Efeito do ruído na entrada de uma porta lógica sobre a sua operação. É desejável que um CI tenha uma alta imunidade ao ruído eletromagnético. 2.5 Margem de Ruído •••• Uma medida da imunidade a ruído de uma família lógica é a denominada Margem de Ruído, definida pelos parâmetros NHV e NLV , dados por ( ) ( )minIHminOHNH VVV −= (1) ( ) ( )maxOLmaxILNL VVV −= (2) PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 5 Figura 5: (a) Margem de ruído NHV . (b) Margem de ruído NLV . 2.6 Consumo de Potência Figura 6: Os dois valores possíveis de consumo de corrente para uma porta lógica: (a) CCHI e (b) CCLI . •••• A corrente média de consumo é dada por 2 CCLCCH CC III += (3) •••• E, portanto, a potência média consumida da fonte de alimentação é dada por CCCCIVPD = (4) PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 6 •••• CIs TTL têm seu consumo independente da freqüência de operação, enquanto CIs CMOS têm seu consumo variando aproximadamente de modo linear com a freqüência de operação: Figura 7: Curva potência consumida ×××× freqüência de operação para as famílias TTL e CMOS. 2.7 Tempo de Propagação •••• Sempre que um trem de pulsos se propaga através de uma porta lógica ele experimenta um atraso no tempo (time delay) : Figura 8: Ilustração do mecanismo denominado propagation delay. •••• Existem dois atrasos (delays) de propagação básicos em uma porta lógica: ⇒⇒⇒⇒ PHLt : O intervalo de tempo transcorrido entre um instante especificado no pulso de entrada da porta e o instante correspondente no pulso de saída, para a situação em que a saída da porta está efetuando a transição do estado HIGH para o estado LOW. ⇒⇒⇒⇒ PLHt : O intervalo de tempo transcorrido entre um instante especificado no pulso de entrada da porta e o instante correspondente no pulso de saída, para a situação em que a saída da porta está efetuando a transição do estado LOW para o estado HIGH. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica DigitalCap. IV por F.C.C. De Castro 7 Figura 9: Definição dos propagation delay times , PHLt e PLHt , em uma porta lógica. Input significa “entrada” e output significa “saída”. Em geral os instantes de referência localizam-se a 50% do tempo de duração das bordas dos pulsos. 2.8 Fan-Out •••• Existe um limite máximo de entradas de portas lógicas que podem ser conectadas simultaneamente à saída de uma porta lógica. Este limite máximo é denominado de fan-out. Figura 10: Porta NAND acionando 3 portas OR com entradas invertidas. Cada uma das 3 portas OR consome uma parcela da corrente de saída da porta NAND. Portanto, haverá um limite máximo de portas que poderão ser acionadas, sob pena de danificar a porta acionadora (driving gate) por excesso de corrente. •••• Por exemplo, o fan-out típico de uma porta TTL padrão é 10, para uma porta Low-Power Schottky (LS) o fan-out é 20. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 8 •••• Uma porta CMOS possui um fan-out bem maior que uma porta TTL, mas deve-se manter em mente que o fan-out da família CMOS é dependente da freqüência de operação devido ao inerente efeito capacitivo nas entradas das portas CMOS: Figura 11: Carga capacitiva apresentada à porta acionadora para CIs da família CMOS. (a) Carga do capacitor. (b) Descarga do capacitor. Quanto maior a freqüência de operação mais ciclos carga-descarga do capacitor ocorrem por unidade de tempo, e, portanto, maior o valor RMS da corrente na saída da porta acionadora. •••• CIs TTL não apresentam efeito capacitivo nas entradas de suas portas, de modo que a carga de uma porta TTL é puramente resistiva: Figura 12: Carga resistiva apresentada à porta acionadora para CIs da família TTL. (a) Fornecimento de corrente à carga. (b) Absorção de corrente da carga. •••• Embora o fan-out da família TTL seja independente da freqüência, ocorre problema de redução da margem de ruído quando temos muitas portas conectadas em paralelo como carga e a porta acionadora encontra-se com sua saída em estado HIGH: PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 9 Figura 13: A corrente I fornecida pela porta acionadora aumenta à medida que aumentamos o número de portas utilizadas como carga. A medida que corrente I aumenta, aumenta a queda ôhmica de tensão interna na porta acionadora. Isto faz com que OHV eventualmente caia abaixo de ( )minOHV , reduzindo a margem de ruído NHV (ver Figura 5). •••• Para um CI TTL o fator limitante do fan-out é a absorção de corrente das portas utilizadas como carga, situação que ocorre quando a porta acionadora encontra-se com sua saída em estado LOW: Figura 14: Absorção de corrente das portas utilizadas como carga quando a porta acionadora encontra-se com sua saída em estado LOW. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 10 3 Portas da Família CMOS •••• O elemento básico de uma porta CMOS é o transistor MOSFET (Metal-Oxid Semiconductor Field Effect Transistor): Figura 15: Símbolo gráfico dos dois tipos de transistores MOSFET: canal N e canal P. Operação como uma chave (switch) LIGA-DESLIGA (ON-OFF). Figura 16: Símbolo gráfico simplificado de um MOSFET, tendo sido abstraída a polaridade do canal. Nesta representação é assumido que a polaridade do canal é identificada pelo contexto do circuito do qual o MOSFET faz parte. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 11 Figura 17: Circuito interno típico de uma porta NOT da família CMOS. Figura 18: Operação de uma porta NOT da família CMOS. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 12 Figura 19: Operação de uma porta NAND da família CMOS. Figura 20: Operação de uma porta NOR da família CMOS. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 13 3.1 Portas Dreno-Aberto (op en-drain) •••• Quando um CI CMOS é designado como open drain isto significa que suas portas internas vem de fábrica com o terminal de dreno de seu transistor de saída desconectado. A conexão do transistor de saída à CCV deve ser feita através de um resistor externo denominado resistor pull-up: Figura 21: Porta open drain da família CMOS. 3.2 Portas Tristate •••• Uma porta tristate possui um terceiro estado em sua saída além dos estados H e L. Quando este terceiro estado é acionado, ocorre uma total desconexão entre o pino de saída da porta e o seu circuito interno. Por este motivo, este terceiro estado é denominado HIGH-Z (alta impedância). •••• Todas as famílias lógicas possuem portas lógicas na versão tristate , além da versão convencional. •••• Portas tristate são úteis, por exemplo, quando vários periféricos, cada um com seu endereço próprio, compartilham o mesmo barramento de dados de um controlador que utiliza um microprocessador. O microprocessador troca dados com um periférico X acionando o periférico X através de seu endereço. Os demais periféricos não devem influenciar na operação, e, como compartilham o mesmo barramento, suas portas de saída devem permanecer em HIGH-Z enquanto o microprocessador troca dados com o periférico X. Figura 22: Símbolo e operação de uma porta NOT tristate. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 14 Figura 23: Circuito interno típico de uma porta NOT tristate da família CMOS. 3.3 Precauções no uso de CIs CMOS •••• Todas os dispositivos CMOS são sujeitos a serem danificados por eletricidade estática. Em função disto é recomendado que: ⇒⇒⇒⇒ Todos os CIs CMOS devem envolvidos em espuma plástica condutora para efeito de transporte. Quando removidos da espuma protetora, os pinos do CI não devem ser tocados. ⇒⇒⇒⇒ Os CIs devem ser depositados com os pinos para baixo sobre um superfície metálica aterrada, quando removidos da espuma protetora. Não deposite CIs CMOS sobre qualquer material plástico devido às cargas elétricas estáticas que inevitavelmente são geradas por este material. ⇒⇒⇒⇒ Todas as ferramentas, equipamentos de teste e bancadas de metal devem ser aterradas. Quando o ambiente de trabalho é tal que o ar atmosférico é muito seco, somente deve-se manusear os CIs CMOS com uma pulseira presa ao pulso ou antebraço, pulseira que deve ser conectada à terra através de um resistor de aproximadamente KΩ100 . O resistor evita choque maior caso a pessoa toque em uma fonte de tensão e, ao mesmo tempo, decarrega as cargas elétricas acumuladas durante o manuseio. ⇒⇒⇒⇒ Os CIs devem ser inseridos em seus soquetes somente quando a tensão de alimentação estiver desligada. ⇒⇒⇒⇒ Todas os terminais de entrada que não forem utilizados devem ser conectados à CCV ou terra. Se deixados abertos serão influenciados por cargas elétricas estáticas na vizinhança, o que provocará o funcionamento errático do circuito: PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 15 Figura 24: Conexão de entradas não utilizadas em um CI da família CMOS. 4 Portas da Família TTL •••• O elemento básico de uma porta TTL é o transistor bipolar NPN: Figura 25: Símbolo gráfico de um transistor bipolar NPN. Figura 26: Operação de um transitor bipolar NPN como uma chave (switch) LIGA-DESLIGA (ON-OFF). Figura 27: Circuito interno típico de uma porta NOT da família TTL. A maneira como os transistores Q4 e Q3 interligam-se entresi (encontram-se “empilhados” como em um totem indígena) dá a este circuito de saída o nome de totem pole (mastro de totem). PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 16 Figura 28: Operação de uma porta NOT da família TTL. Figura 29: Operação de uma porta NAND da família TTL. Figura 30: Diodos internos de um transistor bipolar NPN com múltiplos terminais “emissor”. ⇒⇒⇒⇒ Observe com o auxílio da Figura 30, que o circuito da Figura 29 implementa a tabela-verdade: A B ABY = L L H L H H H L H H H L PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 17 4.1 Portas Coletor-Aberto (o pen-collector) •••• Quando um CI TTL é designado como open collector isto significa que suas portas internas vem de fábrica com o terminal de coletor de seu transistor de saída desconectado. A situação é idêntica à de uma porta open drain da família CMOS. A conexão do transistor de saída à CCV é feita através de um resistor pull-up: Figura 31: Porta NOT open collector da família TTL. Figura 32: Um losango com um traço inferior desenhado no interior do símbolo de uma porta TTL indica que a porta é open collector . PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 18 4.2 Portas Tristate •••• Conforme já vimos uma porta tristate possui um terceiro estado em sua saída denominado HIGH-Z (alta impedância). Quando este terceiro estado é acionado, ocorre uma total desconexão entre o pino de saída da porta e o seu circuito interno: Figura 33: Circuito interno típico de uma porta NOT tristate da família TTL. Quando LEnable = , Q2→OFF e o circuito de saída opera como um totem pole usual formado pelos transistores Q4 e Q5. Quando HEnable = ,Q2→ ON. Nesta situação, o segundo emissor de Q1 está com um nível de tensão L , fazendo com que Q3→OFF e Q5→OFF. Ainda, nesta mesma situação, o diodo D1 está diretamente polarizado, fazendo com que Q4→OFF. Estando ambos Q4 e Q5 em estado OFF, a porta está em estado HIGH-Z. Figura 34: Circuito equivalente quando a porta está em estado HIGH-Z. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 19 4.3 Corrente de Entrada Figura 35: (a) Quando a saída da porta acionadora está em estado H ela fornece uma corrente IHI à entrada da porta conectada como carga. (b) Quando a saída da porta acionadora está em estado L ela absorve uma corrente ILI da entrada da porta conectada como carga. Nota: ILI é no máximo 1.6 mA para uma porta TTL padrão, valor que é usualmente indicado em manuais como um valor negativo porque é uma corrente que sai do terminal de entrada da porta conectada como carga. 4.4 Operação Wired-AND •••• A operação Wired-AND constitui uma forma de baixo custo de implementarmos o AND lógico entre um grande número de variáveis, sem necessariamente termos que utilizar um grande número de portas AND. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 20 •••• A operação AND fica implícita pela ligação em paralelo da saída de portas open collector : Figura 36: Operação Wired-AND DCBAX = implementada com 4 portas NOT open collector. Figura 37: Funcionamento dos circuitos internos da operação Wired-AND mostrada na Figura 36. (a) Quando um ou mais de um transistor de saída está ON, a saída é L. (a) Quando todos os transistores de saída estão OFF, a saída é H. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 21 Figura 38: Operação Wired-AND ABCDEFGHX = implementada com 4 portas AND open collector. Figura 39: A tentativa de implementar a operação Wired-AND com portas padrão ao invés de portas open collector resulta em uma altíssima corrente I de curto circuito entre portas cujas saídas estejam em estados distintos, fato que inevitavelmente destruirá as portas. 4.5 Acionamento de Cargas Externas •••• A máxima corrente de saída de uma porta TTL ocorre quando a saída está em estado LOW (portanto está absorvendo corrente) e é mA(max)OL 16=I para uma porta TTL padrão e mA(max)OL 8=I para uma porta LS. •••• É necessário, portanto, o uso de drivers open collector ou outros dispositivos que aumentem a capacidade de corrente quando deseja-se acionar cargas que demandem correntes maiores: PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 22 Figura 40: (a) Acionamento de um LED e (b) de uma lâmpada piloto. 4.6 Conexão de Entradas não Utilizadas Figura 41: (a) Conexão de entradas não utilizadas com a entrada em uso. Este método implica em aumentar a corrente de carga da porta acionadora. (b) Conexão a CCV através de um resistor de KΩ1 para entradas de portas AND e NAND e conexão à terra para entradas de portas OR e NOR. (c) Conexão através de uma porta não utilizada. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 23 5 Interface entre TTL e CMOS Figura 42: Porta acionadora TTL e carga CMOS. O resistor de KΩ.33 minimiza a incompatibilidade gerada por V .(min)OH 42=V na saída de uma porta TTL e o V .(min)IH 53=V necessário na entrada de uma porta CMOS. Ver Figura 43. Para reduzir ao máximo o tempo de comutação da porta CMOS (função do processo de carga-descarga do capacitor em sua entrada) o resistor pode ser reduzido até Ω330 . Figura 43: Tensões de saída TTL comparadas com as tensões de entrada CMOS. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 24 Figura 44: Devido a baixa capacidade de corrente de CIs CMOS, a maneira mais segura de acionar uma ou mais portas TTL através de uma porta CMOS é utilizar um buffer CMOS, como o 74C902 , o CD4049A (porta NOT bufferizada), o CD4050A, etc. Um buffer é um CI que é projetado com uma capacidade de corrente de saída maior que os CIs padrão. 6 Comparação de Performance entre Famílias Lógicas Figura 45: Comparação entre sub-famílias das famílias TTL e CMOS. A família BiCMOS é uma família híbrida que utiliza lógica CMOS com transistores de saída na configuração totem pole da familia TTL. A legenda para as sub- famílias é: F-fast, LS-Low Power Schottky, ALS-Advanced Low Power Schottky, ABT-Advanced BiCMOS, HC-High Speed CMOS, AC-Advanced CMOS, AHC-Advanced High Speed CMOS, LV-Low Voltage, LVC- Low Voltage CMOS, ALVC- Advanced Low Voltage CMOS. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 25 Figura 46: Comparação entre famílias TTL e ECL. 7 Data Sheets Figura 47: Data Sheet parcial para o TTL 75LS00. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. IV por F.C.C. De Castro 26 Figura 48: Data Sheet parcial para o CMOS 74HC00A. PUCRS – Faculdade de Engenharia Elétrica – Departamento de Engenharia Elétrica Eletrônica Digital Cap. V por F.C.C. De Castro 1 Capítulo V Sistemas Numéricos 1 Introdução Em capítulos anteriores estudamos diversas funções lógicas. No próximo capítulo veremos que operações aritméticas como soma e subtração de números binários podem ser implementadas através da combinação de funções lógicas. Estas funções lógicas aritméticas, quando reunidas em um único CI, constituem uma Unidade Lógica e Arimética (ULA) ou, em inglês, ALU (Arithmetic and Logic Unit). Uma ULA
Compartilhar