Prévia do material em texto
Eletrônica Digital ACESSE AQUI O SEU LIVRO NA VERSÃO DIGITAL! Me. Emerson Charles Martins da Silva Me. Luiz Sperandio Esp. Larissa Vilxenski Calsavara https://apigame.unicesumar.edu.br/qrcode/3411 FICHA CATALOGRÁFICA C397 CENTRO UNIVERSITÁRIO DE MARINGÁ. Núcleo de Educação a Distância. SILVA, Emerson Charles Martins da; SPERANDIO, Luiz; CALSAVARA, Larissa Vilxenski. Eletrônica Digital. Emerson Charles Martins da Silva; Luiz Sperandio; Larissa Vilxenski Calsavara. Maringá - PR.: Unicesumar, 2020. 216 p. “Graduação - EaD”. 1. Eletrônica 2. Digital 3. Engenharia. 4. EaD. CDD - 22 ed. 621.38 CIP - NBR 12899 - AACR/2 ISBN 978-65-5615-166-3 Impresso por: Bibliotecário: João Vivaldo de Souza CRB- 9-1679 Fotos: Shutterstock Pró Reitoria de Ensino EAD Unicesumar Diretoria de Design Educacional Equipe Produção de Materiais NEAD - Núcleo de Educação a Distância Av. Guedner, 1610, Bloco 4 Jd. Aclimação - Cep 87050-900 | Maringá - Paraná www.unicesumar.edu.br | 0800 600 6360 DIREÇÃO UNICESUMAR Reitor Wilson de Matos Silva Vice-Reitor Wilson de Matos Silva Filho Pró-Reitor de Administração Wilson de Matos Silva Filho Pró-Reitor Executivo de EAD William Victor Kendrick de Matos Silva Pró-Reitor de Ensino de EAD Janes Fidélis Tomelin Presidente da Mantenedora Cláudio Ferdinandi EXPEDIENTE BOAS-VINDAS Reitor Wilson de Matos Silva Neste mundo globalizado e dinâmico, nós trabalhamos com princípios éticos e profissionalismo, não somente para oferecer educação de qualidade, mas também, acima de tudo, gerar a conversão integral das pessoas ao conhecimento. Baseamo-nos em quatro pilares: intelectual, profissional, emocional e espiritual. Assim, iniciamos a Unicesumar em 1990, com dois cursos de graduação e 180 alunos. Hoje, temos mais de 100 mil estudantes espalhados em todo o Brasil, nos quatro campi presenciais (Maringá, Londrina, Curitiba e Ponta Grossa) e em mais de 500 polos de educação a distância espalhados por todos os estados do Brasil e, também, no exterior, com dezenas de cursos de graduação e pós-graduação. Por ano, produzimos e revisamos 500 livros e distribuímos mais de 500 mil exemplares. Somos reconhecidos pelo MEC como uma instituição de excelência, com IGC 4 por sete anos consecutivos e estamos entre os 10 maiores grupos educacionais do Brasil. A rapidez do mundo moderno exige dos educadores soluções inteligentes para as necessidades de todos. Para continuar relevante, a instituição de educação precisa ter, pelo menos, três virtudes: inovação, coragem e compromisso com a qualidade.Por isso, desenvolvemos para os cursos híbridos, metodologias ativas, as quais visam reunir o melhor do ensino presencial e a distância. Tudo isso para honrarmos a nossa missão, que é promover a educação de qualidade nas diferentes áreas do conhecimento, formando profissionais cidadãos que contribuam para o desenvolvimento de uma sociedade justa e solidária. Meu nome é Emerson Charles Martins da Silva, passei a infância numa cidade bem pequena, aproximadamente, na época, uns 3 mil habitantes, e esta história se inicia em meados da década de 80, apro- ximadamente, em 1985 (com dez anos de idade), eu já era um garoto muito curioso, desmontava as coisas em casa, quando es- tragadas, tentava consertar, às vezes, aca- bava estragando coisas boas, mas a curio- sidade era muito grande e, nessa época, não existiam as informações disponíveis de hoje, então, tinha que me contentar com os livros da escola, muitas vezes, já antigos e com poucas informações novas para aquela época. Então, sentia que ne- cessitava de mais conhecimento. Foi aí que, em 1988, com, aproximadamen- te, 12 anos de idade, vi um anúncio em uma revista de um curso de eletrônica, rá- dio e TV por correspondência. Meu pai me presenteou com o curso, todo mês bus- cava as apostilas na agência dos correios e íamos estudando, logo, se tivéssemos dúvida em relação ao material, tínhamos que mandar uma carta lá para a sede do curso e essa carta demorava, às vezes, 30, 60 dias para voltar com a resposta. Aqui você pode conhecer um pouco mais sobre mim, além das informações do meu currículo. MEU CURRÍCULO MINHA HISTÓRIA Saltando para minha adolescência, quando ganhei um computador, foi mais um mun- do de conhecimento que se apresentava a mim. Mais uma vez, aprendi a usar, a es- tragar, a desmontar e a consertar. Foi nes- ta época (por volta de 2002), que tive meu primeiro contato com a programação. Foi utilizando uma plataforma de chat online chamada mIRC, na qual os comandos para configurar, acessar salas e iniciar bate-pa- pos eram muito semelhantes a linhas de código de programação. Então, eu descobri que o código-fonte do script (nome dado ao programa da plataforma mIRC) era aberto e totalmente editável. Gastei horas e horas abrindo e editando arquivo por arquivo, criando, assim, um script personalizado. Mais adiante, ao concluir o Ensino Médio, essas duas áreas de interesse (eletricidade e computação) foram decisivas nas minhas escolhas acadêmicas: automação industrial e engenharia elétrica. Deixando o passado de lado, hoje, sou pro- fessor em cursos de engenharia e entusias- ta quando o assunto é tecnologia. Adoro ler, conhecer e usar tecnologia em geral (TVs, aparelhos de som, computadores, videoga- mes, celulares, microcontroladores, auto- mação etc.). Sou bebedor assíduo de tereré e kombucha, sendo, um dos meus hobbies atuais, a produção artesanal de kombucha. Outros hobbies são pilotar motocicleta, pe- dalar, cozinhar, afiar facas (experimente, é terapêutico, além de que ninguém merece cozinhar com facas sem fio) e jogar RPG. Um dia, aprenderei música e violão, mas ainda não consegui paciência para isso. Aqui você pode conhecer um pouco mais sobre mim, além das informações do meu currículo. MEU CURRÍCULO MINHA HISTÓRIA Quem é Luiz Sperandio. Como diz meu psicólogo, “para entender- mos quem é, temos que conhecer quem era”. Um garoto inquieto, que gostava de ler, entender as coisas, e fazer algo com cada compreensão nova. Adorava Lego e construir novos brinquedos a partir de outros quebrados (às vezes, de forma proposital, só para desmontar e usar as peças – que meus pais não leiam isto). Já nesta época, uma coisa me fascinava: a eletricidade. Era a maior diversão mexer com fios, pilhas, lâmpadas, interruptores, motores elétricos etc. De forma lúdica e empírica, acredito que aprendi muita coi- sa sobre isso. em computadores, já que gamers preci- sam de boas máquinas para rodar seus jogos. Como sempre gostei muito de ficção científica também, aos 17 anos, me mudei para Florianópolis para cursar engenha- ria de controle e automação na UFSC. Um curso que tinha eletrônica, programação, inteligência artificial e robótica na grade curricular me pareceu ideal. Durante minha graduação, tive a opor- tunidade de fazer um estágio na Airbus, na França. Isto despertou outros interes- ses que nem imaginava que teria, como aeronáutica e a própria língua e cultura francesas. Esta experiência, apesar de ter agregado muito conhecimento profissio- nal, mudou para sempre quem eu sou e a forma como vejo o mundo. Hoje, continuo com meus games e o inte- resse em computadores de ponta. Sempre que sai uma placa nova da Nvidia, me dá vontade de jogar dinheiro na tela do com- putador (apesar de ser muito pão-dura para, realmente, fazer isso). E gosto muito de estudar também, isto é algo que acre- dito que nunca devemos parar de fazer e, atualmente, meus interesses são data science e big data, que nada mais são do que uma categoria de inteligência artificial. Não sei onde isso vai me levar, mas sei que pretendo nunca parar de aprender Aqui você pode conhecer um pouco mais sobre mim, além das informações do meu currículo. MEU CURRÍCULO MINHA HISTÓRIA Meu nome é Larissa Vilxenski Calsava- ra, sempre gostei de videogames. Em casa, eu jogava Super Mario com meu irmão e, na casa da minha amiga, jogá- vamos Sonic.Na época, computadores pessoais não eram comuns, mas, depois de alguns anos, migrei para jogos de PC como World of Warcraft e Minecraft. Isto despertou em mim muito interesse REALIDADE AUMENTADA: sempre que encontrar esse ícone, esteja conectado à internet e inicie o aplicativo Unicesumar Experience. Aproxime seu dispositivo móvel da página indicada e veja os recursos em Realidade Aumentada. Explore as ferramentas do App para saber das possibilidades de interação de cada objeto. PODCAST: professores especialistas e convidados, ampliando as discussões sobre os temas. PÍLULA DE APRENDIZAGEM: uma dose extra de conhecimento é sempre bem-vinda. Posicionando seu leitor de QRCode sobre o código, você terá acesso aos vídeos que complementam o assunto discutido. PENSANDO JUNTOS: ao longo do livro, você será convidado(a) a refletir, questionar e transformar. Aproveite este momento! EXPLORANDO IDEIAS: com este elemento, você terá a oportunidade de explorar termos e palavras-chave do assunto discutido, de forma mais objetiva. EU INDICO: enquanto estuda, você pode acessar conteúdos online que ampliaram a discussão sobre os assuntos de maneira interativa usando a tecnologia a seu favor. Quando identificar o ícone de QR-CODE, utilize o aplicativo Unicesumar Experience para ter acesso aos conteúdos online. O download do aplicativo está disponível nas plataformas: Google Play App Store IMERSÃO RECURSOS DE APRENDIZAGEM CAMINHOS DE 11 57 35 83 10 Sistemas de Numeração Circuitos Combinacionais na Prática Lógica Combinacional Simplificação de circuitos lógicos 1 3 2 4 PROVOCAÇÕES INICIAIS APRENDIZAGEM CAMINHOS DE 151 111 197 131 173 Circuitos Sequenciais II Circuitos aritméticos somadores e subtratores Dispositivos Lógicos Programáveis Circuitos Sequenciais I Contadores 7 5 9 6 8 INICIAIS PROVOCAÇÕES Você já teve a necessidade de ligar para o atendimento automático de algum banco para verificar serviços, saldos, extratos ou outros assuntos? Em caso positivo, já se perguntou como os sistemas de atendimento telefônico automático identificam as teclas digitadas? Os sistemas de atendimento automático reconhecem as teclas digitadas por meio de um conversor de frequência único e universal que representa cada tecla pressionada. Você pode fazer o teste ligando para uma central de uma empresa de telefonia, por exemplo, o sistema pedirá para digitar algumas teclas, em que poderá confirmar se a tecla digitada corresponde à tecla pedida pela gravação. Após a experiência, note que, ao digitar alguma tecla, você ouve um som, este som é aquele que a central identifica como o som único de cada tecla, basicamente, todos os equipamentos que utilizam essa técnica trabalham com este decodificador. A eletrônica digital, entre outras aplicações, faz a tradução da linguagem humana para a linguagem de máquina, dessa forma, podemos nos comunicar com qualquer equipamento eletrônico digital. O campo da engenharia estuda, em grande escala, o desenvolvimento de máquinas para as mais diversas áreas, desde a indústria de eletrodomésticos até computadores, aviões, equipamentos médicos etc. O engenheiro tem, como atribuição, desenvolver máquinas que desenvolvam funções análogas aos huma- nos e, com isso, essas máquinas devem ter a capacidade de interagir com sistemas combinacionais e sequenciais, relacionando a combinação de estado de sensores, temporização e contagem sincronizadas, por exemplo. Agora que sabemos um pouco da aplicação da eletrônica digital, você já se sente preparado(a) ou curio- so(a) para seguirmos os estudos? Antes de iniciarmos a imersão no mundo da Eletrônica Digital, você seria capaz de listar dez exemplos de máquinas e equipamentos que você utiliza em casa e no trabalho que realizam tarefas automáticas que dependem da combinação de eventos, por exemplo, o pressionar de um botão ou a temporização para finalizar uma tarefa? ELETRÔNICA DIGITAL 1 OPORTUNIDADES DE APRENDIZAGEM Sistemas de Numeração Me. Emerson Charles Martins da Silva Nesta unidade, você terá a oportunidade de aprender como as calculadoras, os computadores e as diversas máquinas digitais fazem operações com sistemas de numeração diferentes internamente, como fazem para trans- formar, em linguagem de máquina, dados inseridos, executar as operações e devolver o resultado de forma legível para o usuário. 12 UNICESUMAR D IÁ R IO D E B O R D O Você já deve ter ouvido falar que as máquinas eletrônicas, os equipamentos digitais, entendem somente os números 0 e 1, mas já se perguntou como eles fazem as operações com números decimais? Como eles fazem a contagem de produtos passando, um a um, por uma linha de produção? Ou como a calculadora faz ope- rações com 0 e uns? Como ela faz a operação com 0 e uns e nos mostra o resultado em números decimais? Os sistemas eletrônicos digitais são desenvolvidos com circuitos ou blocos lógicos conversores de siste- mas de numeração ou códigos. Um sistema de numeração é uma forma de representar números, dados ou valores de forma consistente e que consigamos apresentar dados que representam valores únicos e possamos, também, fazer operações com esses valores, tais como as operações matemáticas algébricas e lógicas. Dessa forma, os circuitos digitais possuem a capacidade de fazer operações em diferentes sistemas de numeração. Faremos um teste utilizando a internet. Em qualquer site de busca, digite: “calculadora de conversão de bases”, serão mostrados alguns sites gratuitos para conversão de bases online. Em qualquer uma dessas calculadoras, digite um número decimal qualquer e peça para a calculadora transformar em binário, depois, em hexadecimal, depois, em octal. Serão mostrados números que representam a quantidade que você digitou em decimal, mas agora, em um sistema de numeração diferente. Anote os resultados desses números, eles serão úteis até o final dos estudos desta unidade. Após esta experiência com a calculadora online, vimos que um dado pode ser representado em sistemas diferentes, mas representa sempre o mesmo valor quantitativo. Em eletrônica digital, este recurso de conver- são entre bases é utilizado devido às características do sistema e, muitas vezes, por causa da dificuldade que os sistemas digitais têm de manipular dados que são corriqueiros para o mundo analógico dos humanos. Assim, a escolha do tipo de tecnologia de um projeto digital passa, também, pelo tipo de dado que o sistema manipulará. Agora que sabemos um pouco onde podemos aplicar a eletrônica digital, você já se sente preparado(a) ou curioso(a) para seguirmos nos estudos? Conforme citado anteriormente, os circuitos digitais fazem, também, as operações entre sistemas de numeração, dessa forma, precisamos, agora, conhecer os sistemas de numeração mais utilizados na área de eletrônica digital e como fazer transformações de um sistema para o outro. Conforme nos aprofundar- mos nos estudos, aprenderemos, também, como os sistemas digi- tais trabalham esta transforma- ção de um sistema qualquer para outro. Aprenderemos, primeiramen- te, os quatro sistemas de numera- ção mais utilizados, como eles são formados e como podemos fazer transformações de um sistema para o outro, de forma que um valor em um deles represente a mesma grandeza em outro siste- ma de numeração. 13 UNIDADE 1 SISTEMA DE NUMERAÇÃO DECIMAL O sistema decimal, para nós, é muito familiar. Quando crianças, aprendemos a quantificar algumas coisas, como mostrar nos dedos da mão a nossa idade, quantas balas ganhamos, tudo isso sem saber- mos, ainda, ler e escrever, logo, o sistema decimal já nos é conhecido. O sistema decimal é formado por dez números distintos, são eles: 0,1, 2, 3, 4, 5, 6, 7, 8 e 9. Todos os outros números são formados pela combinação desses dez, não existe nenhum outro número, no sistema decimal, que não seja a combinação desses números apresentados. Dessa forma, em caso de um número formado por mais de um desses, só precisamossaber o quanto cada um representa dentro de um valor, ou seja, se for um número decimal formado pela combinação desses dez números, cada número representará determinado grau de importância dentro desse valor. Cada número representa uma parcela maior ou menor desse valor, assim, chamamos o sistema de numeração decimal de sis- tema de base 10. Vamos, agora, a um exemplo de como os números são formados na base 10, mas esse exemplo representa a formação de um número para qualquer base. O valor total é apresentado pela soma dos números (individuais), multiplicados pela (base elevada à posição dele no número), sendo que a posição sempre começa com 0, da direita para a esquerda. Vamos ao exemplo do número 35910 (lê-se 359 na base 10). Dá para notar que o número 3 tem um significado maior no número 359, ou seja, ele, quando mul- tiplicado pela base elevada à posição, representa 300, dizemos, então, que ele é o algarismo mais sig- nificativo. O número 9 representa a menor parte do número 359, ele, quando multiplicado pela base elevada à posição, representa somente o 9, dizemos, então, que ele é o algarismo menos significativo. SISTEMA DE NUMERAÇÃO BINÁRIO O sistema binário é o sistema mais utilizado para operações lógicas, é o sistema mais utilizado pelas máquinas digitais. O sistema binário é formado por apenas dois números distintos, são eles: 0 e 1. Todos os outros números são formados pela combinação desses dois, não existe nenhum outro número, no sistema binário, que não seja a combinação desses números apresentados. Dessa forma, em caso de um nú- mero formado por mais de um desses, só precisamos saber o quanto cada número representa dentro de um valor, ou seja, se for um número binário formado pela combinação desses dois números, cada um representará determinado grau de importância dentro desse valor. Cada número representa uma 3x102+5x101+9x100 Leia-se: 3 x base 10 elevada à posição 2 + 5 x base 10 elevada à posição 1 + 9 x base 10 elevada à posição 0. Então, temos: (3 x 100) + (5 x 10) + (9 x 1) = 300 + 50 + 9 = 359. 14 UNICESUMAR No sistema binário, cada dígito recebe o nome de bit (binary digit), o conjunto de 4 bits recebe o nome de nibble, e o grupo de 8 bits recebe o nome de byte, termos que são utilizados, com muita frequência, na área da informática. Fonte: Capuano e Idoeta (2011). parcela maior ou menor desse valor, chamamos o sistema de numeração binário de sistema de base 2. Vamos, agora, a um exemplo de como os números são formados na base 2. O valor total é apresentado pela soma dos números (individuais) multiplicados pela (base elevada à posição dele no número), sendo que a posição sempre começa com 0, da direita para a esquerda. Vamos ao exemplo do número 1012 (lê-se 101 na base 2). Então, temos: (1 x 4) + (0 x 2) + (1 x 1) = 4 + 0 + 1 = 510. V Dá para notar que o número 1 da posição dois tem um significado maior no número 510, ou seja, ele, quando multiplicado pela base elevada à posição, representa 4, dizemos, então, que ele é o algarismo mais significativo. O número 1 da posição 0 representa a menor parte do número 510, ele, quando multiplicado pela base elevada à posição, representa somente 1, dizemos, então, que ele é o algarismo menos significativo. Essa formação do número binário, ou formação de qualquer base, já faz a transformação da base para um número decimal, ou seja, o número 1012 na (base 2) representa o mesmo valor que o número 510 (base 10). SISTEMA DE NUMERAÇÃO OCTAL O sistema octal, apesar de ser o menos utilizado, tem sua importância dentro dos sistemas digitais. Ele é formado por oito números distintos, são eles: 0,1, 2, 3, 4, 5, 6 e 7. Todos os outros números são formados pela combinação desses oito, não existe nenhum outro número, no sistema octal, que não seja a combinação desses apresentados. Dessa forma, em caso de um número formado por mais de um desses, só precisamos saber o quanto cada número repre- senta dentro de um valor, ou seja, se for um número octal formado pela combinação desses oito, cada um representará determinado grau de importância dentro desse valor. Cada número representa uma parcela maior ou menor desse valor, chamamos o sistema de numeração octal de sistema de base 8. Quer ter mais informações sobre os assuntos que estamos estu- dando? Preparei um podcast especial que vai te ajudar a entender melhor sobre eletrônica digital, vamos lá? Vamos, agora, a um exemplo de como os números são formados na base 8, mas esse exemplo representa a formação de um número para qualquer base. 15 UNIDADE 1 É possível notar que o número 1 tem um significado maior do número 10110, ou seja, ele, quando multiplicado pela base elevada à posição, representa 64, dizemos, então, que ele é o algarismo mais sig- nificativo. O número 5 representa a menor parte do número 10110, ele, quando multiplicado pela base elevada à posição, representa somente o 5, dizemos, então, que ele é o algarismo menos significativo. SISTEMA DE NUMERAÇÃO HEXADECIMAL Por último, conheceremos o sistema hexadecimal. Este é formado por 16 caracteres distintos, em que são utilizados números e letras para representar um valor, são eles: 0,1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Todos os outros números hexadecimais são formados pela combinação desses 16 caracteres, não existe nenhum outro número no sistema hexadecimal que não seja a combinação desses números e letras apresentados. Dessa forma, em caso de um número formado por mais de um desses, só precisamos saber o quanto cada número representa dentro de um valor, ou seja, se for um número hexadecimal formado pela combinação desses 16 números/letras, cada número/letra representará determinado grau de importância dentro desse valor. Cada número representa uma parcela maior ou menor desse valor, chamamos o sistema de numeração hexadecimal de sistema de base 16. Vamos, agora, a um exemplo de como os números são formados na base 16, mas esse exemplo representa a formação de um número para qualquer base. O valor total é apresentado pela soma dos números (individuais), multiplicados pela (base elevada à posição dele no número), sendo que a posição sempre começa com 0, da direita para a esquerda. Um detalhe diferente dos outros sistemas apresentados até agora, é que temos, no sistema hexade- cimal, as letras que representam valores numéricos, conforme a tabela a seguir. Tabela 1 - tabela de conversão decimal-hexadecimal VALOR 0 1 2 3 4 5 6 7 8 9 A B C D E F CORRESPONDÊNCIA 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Fonte: o autor. 1x82 + 4x81 + 5x80 Leia-se: 1x base 8 elevada à posição 2 + 4 x base 8 elevada à posição 1 + 5 x base 8 elevada à posição 0. Então, temos: (1 x 64) + (4 x 8) + (5 x 1) = 64 + 32 + 5 = 10110. O valor total é apresentado pela soma dos números (individuais), multiplicados pela (base elevada à posição dele no número), sendo que a posição sempre começa com 0, da direita para a esquerda. Vamos ao exemplo do número 1458 (lê-se 145 na base 8). 16 UNICESUMAR Vamos ao exemplo do número 28916 (lê-se 289 na base 16). 2x162 + 8x161 + 9x160 Leia-se: 2 x base 16 elevada à posição 2 + 8 x base 16 elevada à posição 1 + 9 x base 16 elevada à posição 0. Então, temos: (2 x 256) + (8 x 16) + (9 x 1) = 512 + 128 + 9 = 64910. Ax162 + 2x161 + Fx160 Leia-se: A x base 16 elevada à posição 2 + 2 x base 16 elevada à posição 1 + F x base 16 elevada à posição 0. Dá para notar que o número 2 tem um significado maior do número 64910, ou seja, ele, quando mul- tiplicado pela base elevada à posição, representa 512, dizemos, então, que ele é o algarismo mais signi- ficativo. O número 9 representa a menor parte do número 64910, ele, quando multiplicado pela base elevada à posição, representa somente o 9, dizemos, então, que ele é o algarismo menos significativo. Utilizando um número com letras. Vamos ao exemplo do número A2F16 (lê-se A2F na base 16). Agora, temos um número formado, também, por letras A2F16, em que, consultando a tabela, temos que A = 10 e F=15.Para fazermos o cálculo, devemos substituir essas letras pelos valores numéricos correspondentes da Tabela 1. Dessa forma, temos: (A x 256) + (2 x 16) + (F x 1) = (10 x 256) + (2 x 16) + (15 x 1) = 260710. As informações de algarismo menos significativo e mais significativo são iguais aos outros sistemas de numeração já apresentados. TRANSFORMAÇÃO ENTRE SISTEMAS NUMÉRICOS Vimos, até o momento, que, para transformar um número de uma base qualquer para a base 10, faz-se o somatório dos algarismos multiplicados pela base elevada posição. Veremos, agora, para transformar um número de base 10 para qualquer uma das outras bases, sendo elas binário, octal ou hexadecimal. 17 UNIDADE 1 MÉTODO DAS DIVISÕES SUCESSIVAS O método para transformar um número de base 10 para qualquer base consiste no que chamamos de divisões sucessivas. O que é isso? Consiste em dividir o número da base 10, sucessivamente, por aquela que está querendo transformar, sendo que o quociente tem de ser inteiro e nunca pode ser um número igual ou maior que o valor da base (divisor) que se pretende. Ao chegar o momento quando não dá mais para fazer uma divisão in- teira, a divisão é cessada e pega-se os restos dela, incluindo o último quociente no sentido da última divisão para a primeira divisão efetuada, assim, esse número representará o valor na base desejada que representa o valor da base 10. TRANSFORMAÇÃO DE UM NÚMERO DE BASE 10 PARA BASE 2 Primeiramente, faremos a transformação de um número decimal, no caso, número 5710, em que representaremos ou transformaremos esse número em um número da base 2 pelo método das suces- sivas divisões. 5710 para base 2: 2 2 2 2 2 57 28 14 7 3 11 1 1 0 0 Conforme explicado, foram efetuadas sucessivas divisões do número 57 por 2 (base requerida), utilizando sempre divisões inteiras até o ponto onde não se consegue mais dividir e ter, como resultado, um número inteiro. Em vermelho, estão os valores dos restos das divisões que devem ser sempre menores do que o divisor. Conforme explicado, então, temos que o nú- mero 5710 = 1110012. TRANSFORMAÇÃO DE UM NÚMERO DE BASE 10 PARA BASE 8 Faremos, agora, a transformação de um número decimal, no caso, número 6510, em que represen- taremos esse número na base 8, pelo método das sucessivas divisões. 6510 para base 8: 65 8 88 10 1 Efetuamos sucessivas divisões do número 65 por 8 (base requerida), utilizando, sempre, divisões inteiras até o ponto onde não se consegue mais di- vidir e ter, como resultado um número inteiro. Em vermelho, estão os valores dos restos das divisões que devem ser sempre menores do que o divisor. Conforme explicado, então, temos que o nú- mero 6510 = 1018. 18 UNICESUMAR TRANSFORMAÇÃO DE UM NÚMERO DE BASE 10 PARA BASE 16 Faremos, agora, a transformação de um número decimal no caso número 67510, em que represen- taremos esse número na base 16, pelo método das sucessivas divisões. 67510 para base 8: 675 16 1642 2A 3 675 16 1642 210 3 Efetuamos, então, sucessivas divisões do número 675 por 16 (base requerida), utilizando sempre divisões inteiras até o ponto onde não se consegue mais dividir e ter, como resultado, um número inteiro. Em vermelho, estão os valores dos restos das divisões que devem ser sempre menores do que o divisor. Neste caso, devemos substituir por letras os números entre 10 e 15 que possam aparecer, por ser um sistema hexadecimal, dessa forma, temos que o número 67510 = 2A316. TRANSFORMAÇÃO DE UM NÚ- MERO DE BASE 8 PARA BASE 2 A transformação de um número da base 8 (base octal) para base 2 (base binária) consiste em sepa- rar os algarismos da base 8 e representar, cada um deles, em números binários de três bits da direita para esquerda, ou seja, esses números de três bits podem variar entre 0002 e 1112, que seriam nú- meros de 0 até 7. 2 3 7 010 011 111 37 (010)(011)(111)(000) (101)(101) 0 6 5 5 Exemplo de transformação de números da base 8 para a base 2: Transformação do número 2378 para base 2: Logo, o número 2378 representa o número 100111112, pois os zeros à esquerda podem ser desprezados, neste caso. TRANSFORMAÇÃO DE UM NÚ- MERO DE BASE 2 PARA BASE 8 A transformação do número da base 2 (número binário) para a base 8 (octal) consiste em separar o número binário em grupos de três bits, da direita para a esquerda, e cada número desse será repre- sentado por um número octal. Como é separado em números de três bits, esse número pode variar entre 000 e 111, ou seja, de 0 a 7, que são todas as possibilidades de combinações da base octal. Vamos a um exemplo de transformação de um número da base 2 para base 8. 01110111101011012 para base 8: Veja que, para dividir, sempre em grupos de três, foram acrescentados mais dois zeros à esquerda, dessa forma, temos: 01110111101011012 = 7366558. 19 UNIDADE 1 O bit menos significativo de um número binário recebe o nome de LSB (do inglês Least Significant Bit), e o bit mais significa- tico, de MSB (do inglês Most Significant Bit). Fonte: adaptado de Capuano e Idoeta (2011). TRANSFORMAÇÃO DE UM NÚMERO DE BASE 16 PARA BASE 2 A transformação de um número da base 16 (he- xadecimal) para a base 2 (binária) consiste em separar os algarismos da base 16 e representar, cada um deles, em números binários de quatro bits, ou seja, esses números de quatro bits podem variar entre 00002 e 11112, que seriam números de 0 até 15 (lembrando que, a partir do número 10, temos as letras). Exemplo de transformação de números da base 16 para base 2. Transformação do número 4A5816 para base 2: Logo, o número 4A5816 equivale a 1001010010110002 (desprezando zeros à esquerda). TRANSFORMAÇÃO DE UM NÚMERO DE BASE 2 PARA BASE 16 A transformação do número da base 2 (número binário) para a base 16 (hexadecimal) consiste em separar o número binário em grupos de quatro bits, da direita para esquerda, e cada número desse será representado por um número hexadecimal. Como são separados em números de quatro bits, esse número pode variar entre 0000 e 1111, ou seja, de 0 a 15, que são todas as possibilidades de combina- ções da base hexadecimal (lembrando que, a partir do número 10, temos as letras). Vamos a um exemplo de transformação de um número da base 2 para a base 16. 110110010011101111101011012 para base 16. (0100)(1110)(1111)(1010)(1101)(0110)(0011) 3 6 4 E F A D 4 A 5 8 0100 1010 0101 1000 Logo, o número 110110010011101111101011012 equivale à 364EFAD16. Obs: para representar o núme- ro binário, sempre em quatro bits, da direita para esquerda, foram acrescentados dois zeros à esquerda. 20 UNICESUMAR OPERAÇÕES ARITMÉTICAS COM NÚMERO BINÁRIOS Os circuitos digitais são capazes de realizar opera- ções lógicas e aritméticas, durante nossos estudos, veremos a diferença entre essas operações. Antes de estudarmos os circuitos que fazem as opera- ções aritméticas, aprenderemos, então, de forma manual, e, no decorrer dos estudos, aprenderemos a desenvolver os circuitos digitais que realizam essas operações. Dentre elas, estão as operações de adição, subtração, divisão e multiplicação, cuja operação de divisão é a mais complexa de ser rea- lizada por um circuito digital. OPERAÇÃO DE ADIÇÃO NO SISTEMA BINÁRIO Como citamos anteriormente, os circuitos digitais fazem as operações lógicas e aritméticas, na maioria dos casos, no sistema binário, dessa forma, nesse pri- meiro caso, aprenderemos a operação de adição com todas as possíveis combinações para o sistema biná- rio, que são elas: (0+0), (0+1), (1+0) e (1+1), onde: 0 0 0 + Vemos que, na soma 0 + 0, temos, como resultado, um número 0, ou seja, um resultado com apenas um bit, dessa forma, não temos necessidade de transportar nenhum valor para a próxima coluna. 0 1 1 + Vemos, também, que, na soma 0 + 1, temos, como resultado, um número 1, ou seja, um resultado com apenas um bit, dessa forma, não temos ne- cessidade de transportar nenhum valor para a próxima coluna. Da mesma forma, na soma 1 +0, temos, como resultado, um número 1, também, um resulta- do com apenas um bit, dessa forma, não temos necessidade de transportar nenhum valor para a próxima coluna. 1 0 1 + 1 1 0 + 1 1 bi t d e tr an sp or te b t Dentro da operação de adição, a única combina- ção que teremos que analisar com mais cuidado é a soma de 1 + 1, se fossem números decimais, teríamos, como resultado, o número 2, na operação com números binários, esse resultado tem de ser o mesmo, mas, para representar o número dois em binário, necessitamos de dois dígitos. Assim, na operação 1 + 1, o resultado é 0 e vai um bit de transporte (bt) para ser somado na próxima coluna da esquerda. Como, para este exemplo, não temos número na próxima coluna, o mesmo “desce” para o valor do resultado, conforme a solução. Temos, então, como resultado da soma 1 + 1, o número 102, que representa o número 2 em decimal. Vamos a um exemplo de soma de números de mais de um bit: 11012+10002 1 1 0 1 1 1 0 + 0 0 0 1 0 1 1 Verificamos que surgiu um bt somente a partir da coluna quatro (direita para esquerda), dessa forma, temos, como resultado, 101012, que pode ser com- provado se transformarmos em decimal, assim, te- mos soma 1101 (1310) + 1000(810) = 10101 (2110). 21 UNIDADE 1 OPERAÇÃO DE SUBTRAÇÃO NO SISTEMA BINÁRIO A operação de subtração no sistema binário segue os mesmos princípios da matemática básica com algumas observações que temos para os sistemas digitais, para que eles consigam efetuar uma opera- ção de subtração. Para nós, humanos, é muito simples ver que uma operação resultou em um valor negativo, mas, para um sistema digital, isso é uma tarefa um pouco mais trabalhosa. Em uma operação de subtração efetuada por um sistema digital, a primeira operação é verificar se o subtraendo é maior que o minuendo, por um circuito comparador. Se o subtraendo for maior que o minuendo, essa operação resultará em um valor negativo, e o sistema digital necessita fazer, neste caso, uma representação desse número negativo para que o sistema possa entender e realizar as ope- rações. Uma das técnicas que temos para representar um número negativo é o complemento de dois, ou seja, quando detectado, pelo circuito comparador, que o resultado é negativo, o circuito necessita fazer uma conversão, o complemento de dois é umas das maneiras de representar um valor negativo. Outras serão adicionadas mais à frente, tais como os circuitos digitais que executam as tarefas de operações algébricas. 1 0 1 - 11 0 - 0 1 1 -1 1 0 0 0 - Na operação de subtração no sistema binário, temos, então, as quatro possibilidades, são elas: Vemos que, na subtra- ção 0 - 0, temos, como resultado, número 0, ou seja, um resultado com apenas um bit, dessa forma, não temos necessidade de transportar nenhum valor para a próxima coluna. Vemos, também, que, na subtração 1 - 0, temos, como resultado, um número 1, ou seja, um resultado com apenas um bit, dessa forma, não temos necessidade de transportar nenhum valor para a próxima coluna. Da mesma forma, na subtração 1 - 1, temos, como resultado, o número 0, também um resultado com apenas um bit, dessa forma, não temos necessidade de transportar nenhum valor para a próxima coluna. Dentro da operação de subtração, a única combinação que teremos que analisar, com mais cuidado, é a subtração de 0 - 1. A operação 0 - 1 resulta em 1 e temos um bit 1 de transporte, que vai para a próxima coluna da direita para esquerda, mas, na posição abaixo da linha do minuendo, demonstraremos isso com mais clareza na subtração de números de mais de um bit. Sabemos que, em uma operação com números decimais qua (1 – 0) = -1, mas pode-se observar que, na subtração representada aqui, aparece o valor 11, que, em binário, representa o número 3, dessa forma, teremos que representar essa valor em complemento de 1, quando necessário. 22 UNICESUMAR Faremos, então, dois exemplos de subtração: Exemplo: a) subtração com minuendo maior que o subtraendo, resultando em um valor positivo. 11002-10012. Explicando, então, a operação, começando da pri- meira coluna da direita para esquerda, chamare- mos de coluna 0: • Temos, na coluna 0, 0 (minuendo) - 1 (sub- traendo), que resulta em 1 (no resultado principal) e transporta 1 para a coluna 1 na posição entre o minuendo e o subtraendo. • Próxima operação: na coluna 1, temos 0 (do minuendo) - 1 (bit de transporte da operação anterior), que resulta, então, em 1, e transporta 1 para coluna 2, dessa for- ma, esse resultado 1 subtrai o 0 (subtraen- do coluna 1), resultando em 1 no resultado principal da coluna 1. • Agora, na coluna 2, temos 1 (do minuen- do) - 1 (bit de transporte anterior) que re- sulta em 0, assim, fazemos esse 0 - 0 (do subtraendo coluna 2), resultando em 0 no resultado principal da coluna 2. • Por último, na terceira coluna, temos 1 (do minuendo) - 1 (do subtraendo) resultando em 0 no resultado principal coluna 2. Logo, então, temos que 11002 - 10012 = 00112, se transformarmos em decimal, temos que 1210- 910=310. Exemplo: b) operação com subtraendo maior que o minuendo, dessa forma, teremos um resul- tado negativo. - 1 1 1 0 0 1 0 0 1 1 0 0 1 1 3 2 1 0 colunas minuendo subtraendo resultado principal 10012 - 11112. Explicando o procedimento, temos: • Na coluna 0, temos: 1 (minuendo) - 1 (subtraendo), resultando em 0 no resul- tado principal da coluna 0, sem bt para a próxima coluna. • Na coluna 1, temos: 0 (minuendo) - 1 (sub- traendo), resultando em 1 no resultado principal da coluna 1 e com 1 de trans- porte para coluna 2, entre o minuendo e o subtraendo. • Na coluna 2, temos: 0 (minuendo) - 1 (bt da operação anterior), resultando em 1 e já transportando bt para coluna 3, daí temos 1 (resultado dessa operação - 1 (subtraen- do coluna 2), resultando em 0 no resultado principal da coluna 2. • Na coluna 3, temos 1 (minuendo) - 1 (bt que veio da operação anterior) = 0, esse 0, então, subtrai 1 do subtraendo da terceira coluna que dá no resultado principal 1 (ter- ceira coluna) e envia um bt para a quarta coluna, como nela não tem nenhum valor, “desce” o 1 para o resultado principal da coluna 4. Dessa forma, temos que 10012 - 11112 = 110102, se transformarmos em decimal, temos 910 - 1510 = 2610, veja, então, em decimal, teríamos que possuir o valor - 610 e não 2610, assim, agora, aprenderemos a representar esse número 2610 em valor que representa, numericamente, o valor verdadeiro negativo. - 1 1 0 0 1 1 1 1 1 1 1 0 1 0 3 2 1 0 colunas minuendo subtraendo resultado principal 1 1 23 UNIDADE 1 MULTIPLICAÇÃO NO SISTEMA BINÁRIO A operação de multiplicação com números bi- nários é efetuada, exatamente, como no sistema decimal, em que multiplicamos número a número e, a cada resultado da multiplicação, deslocamos os valores à esquerda, ao final das multiplicações, somamos as colunas uma a uma, utilizando as propriedades de adição com números binários, conforme o exemplo a seguir. 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 x 1 1 0 1 1 1 0 Neste exemplo, temos o número 11012( 1310) mul- tiplicado por 11002(610), temos, como resultado, 10011102, que equivale a 78 no sistema decimal. DIVISÃO SEM SINAL NO SISTE- MA BINÁRIO A operação de divisão para sistemas digitais é a mais complexa de todas, pois envolve o processo de deslocamento de bits comparação e subtração. Nos sistemas que utilizam a linguagem de programa- ção, a operação de divisão utiliza bastante espaço de memória, pois uma divisão simples para nós, é um processo bem complexo para o sistema digital. Na prática, o processo de deslocamento é exe- cutado por um circuito digital chamado shift- -register, o processo de comparação é realizado por outro circuito digital comparador e o pro- cesso de subtração é realizado por um circuito subtrator, estes podem também serencontrados em circuitos integrados com funções específicas de deslocamento, de comparação e de subtração. Para aprendermos o método de divisão de cir- cuitos digitais, utilizaremos o exemplo a seguir com números binários: Na divisão para sistemas binários, utilizaremos sem- pre valores inteiros. Veja que temos, acima, o número 10 (dividendo em decimal) dividido por 3 (divisor em decimal) temos o quociente 3 (em decimal) e o resto 1 (em decimal). Para realizar esta tarefa, segui- remos uma sequência de operações conforme os pas- sos, aqui, apresentados, para operações de números de quatro bits (PEDRONI, 2010). 1. Durante a inicialização, o dividendo é car- regado na metade direita do registrador de resto. 2. O vetor inteiro é deslocado uma posição para a esquerda, com um 0 preenchendo a posição vazia (extrema direita). 3. O divisor é subtraído da metade esquerda do resto. 4. Se o resultado for negativo, o divisor é so- mado de volta ao resto, restaurando seu valor, então, é realizado um shift para a esquerda e, novamente, a posição vazia é preenchida com 0. 5. Ao contrário, se o resultado for positivo, o resultado da subtração deverá ser co- locado na parte esquerda do registrador do resto e o mesmo deverá ser deslocado completo para a esquerda e a posição vazia é preenchida com um 1. Os passos 4 e 5 são realizados de acordo com o resultado da operação do passo 3, ou seja, faz um ou outro, nunca os dois. 1 0 1 0 1 1 1 1 1 divisor quociente dividendo resto 24 UNICESUMAR Dica rápida de como verificar se o resultado de uma subtração foi negativo: se o resultado da subtração estourou, ou seja, se apareceu um bit 1 à esquerda, a mais que o valor do minuendo ou subtraendo (o que for maior), então, a subtração resultou em valor negativo. 6. Os passos de 2 a 4 ou 5 deverão ser realizados quatro vezes para dividendo de quatro bits. 7. Após a última iteração, a metade esquerda do registrador do resto deve ser deslocada para a direita, e a posição vazia da extrema esquerda preenchida com 0. 8. O quociente aparecerá na metade direita do registrador do resto. 9. O resto verdadeiro aparecerá em sua metade esquerda. Vamos, então, à solução dos exemplos, utilizando os passos de 1 a 9. Passo 1 – Resto = 00001010. Passo 2 – Desloca o resto para a esquerda e preenche, com 0, a posição extrema direita. Resto = 00010100 Passo 3 – Em seguida, o divisor (com quatro bits) é subtraído da metade esquerda do resto anterior. 0 0 1 0 1 0 0 1 1 1 1 1 1 1 1 11 Novamente, resultado negativo. Desloca o resto para esquerda e acrescenta 0 à direita, repetimos Neste caso, o resultado foi negativo, então, o di- visor é somado de volta ao resto, restaurando seu valor, ou seja, despreza a subtração realizada e dá um shift para a esquerda e, novamente, no regis- trador de resto, e a posição vazia é preenchida com 0. Resto = 00101000 Vamos repetir, mais três vezes, os passos 2 a 4 (ou 5). Metade esquerda – Divisor. os passos por mais duas vezes. Resto = 01010000 Metade esquerda – Divisor 0 1 0 1 0 0 1 1 0 0 1 0 1 Temos, agora, um resultado positivo, então, rea- lizamos o passo 5. O resultado da subtração é substituído na parte esquerda do resto, então, desloca-se uma posição à esquerda e acrescenta 1 na extrema direita: Substituindo, temos = 00100000 25 UNIDADE 1 Agora, desloca para a esquerda e acrescenta 1 na direita. 01000001 Repetimos, na última vez, os passos 2 a 4 (ou 5). Metade esquerda – Divisor 0 1 0 0 0 0 1 1 0 0 0 1 1 1- Temos, agora, mais uma vez, resultado positivo, então, realizamos o passo 5. O resultado da subtração é substituído na parte esquerda do resto. Substituindo, temos = 00010001 Agora, desloca para a esquerda e acrescenta 1 na direita. Resto = 00100011 Esta foi a última iteração, então, a metade esquer- da do registrador do resto deve ser deslocada para a direita, e a posição vazia, preenchida com 0. Resto = 00010011 O quociente aparecerá na metade direita do registrador do resto. Quociente = 0011 = 3 em decimal. O resto verdadeiro aparecerá em sua metade esquerda. Resto verdadeiro = 0001 = 1 em decimal. Logo, se analisarmos o resultado convertendo para decimal, temos que 10 dividido por 3 será o quociente igual a 3, e o resto, igual a 1. REPRESENTAÇÃO DE UM NÚMERO NEGATIVO EM COMPLEMENTO DE 2 A representação de um número negativo em complemento de 2 consiste em fazer duas operações, primeiramente, fazer o complemento de 1 desse número, depois, com o resultado, soma-se uma uni- dade a esse complemento de 1, a este resultado final, então, damos o nome de complemento de 1, essa forma de apresentar o número em complemento de 2 representa o valor negativo do número. Vejamos dois exemplos, supondo que sabemos que esses dois valores são negativos: 11012. 0 0 1 0 0 0 0 1 0 0 0 1 + 1 1 0 1 número principal complemento de 1 soma uma unidade ao complemento de 1 complemento de 2 Explicando: • Primeiramente, faz-se o complemento de 1, essa tarefa é efetuada trocando os números 0 por 1 e os números 1 por 0, resultando em um valor com todos os bits complementados. • Segunda tarefa é somar 1 somente ao complemento de 1. • O resultado da soma do complemento de 1 com 1 nos dá o complemento de 2. Neste exemplo, então, se tiver- mos o valor negativo 11012, em complemento de 2, ele será re- presentado por 00112 ou 112. Voltando ao caso da subtra- ção 10012 - 11112, que resultou em valor negativo, faremos o complemento de dois de 110102. 26 UNICESUMAR Temos, agora, o resultado representado em complemento de 2, dessa forma, temos 001102, que equivale a 610, ou seja, para um circuito digital é o valor -610, que confirma o valor correto da subtração 910-1510. Você anotou os números e os resultados da experiência proposta no início desta unidade, aquela que você fez conversões na calculadora online. Faça, agora, a transformação passo a passo dos números inseridos para as bases requeridas, se os valores foram os mesmos, você entendeu, corretamente, como a calculadora fez para mostrar os resultados. 0 0 1 0 1 0 0 0 1 1 0 0 0 1 0 + 1 1 0 1 0 número principal complemento de 1 soma uma unidade ao complemento de 1 complemento de 2 1 Deter o conhecimento de eletrônica digital, para o(a) engenheiro(a) das áreas de eletroeletrônica, automação e informática, é a maneira única e eficaz de se comunicar com as máquinas e, assim, projetá-las, repará-las, entendê-las e, também, ser entendido(a) por elas. 27 M A P A M EN TA L O mapa, a seguir, mostra uma relação de entradas de dados à esquerda, em um sistema digital ao centro, e algumas saídas de dados que podem ser obtidas de operações aritméticas. Faça você, também, seu mapa mental, utilizando as mesmas entradas em um sis- tema digital, mostrando mais possibilidades de saídas. SISTEMA DECIMAL SISTEMAS DIGITAIS SISTEMA BINÁRIO SISTEMA OCTAL SISTEMA HEXADECIMAL ATENDIMENTO AUTOMÁTICO TELEFÔNICO PAINEL DE DISPLAYS RELÓGIO E CALCULADORAS SISTEMA DE SENHA DE SEGURANÇA SISTEMA DECIMAL SISTEMAS DIGITAIS SISTEMA BINÁRIO SISTEMA OCTAL SISTEMA HEXADECIMAL SISTEMA DECIMAL SISTEMAS DIGITAIS SISTEMA BINÁRIO SISTEMA OCTAL SISTEMA HEXADECIMAL 28 M A P A M EN TA L A G O R A É C O M V O C Ê 29 1. Sobre o sistema de base 10, que é o mais utilizado no cotidiano das pessoas, pode-se afirmar que: a) É composto pelos números 0,1, 2, 3, 4, 5, 6, 7, 8, 9 e 10. b) Pode ser representado, também, por letras. c) As máquinas digitais não necessitam fazer nenhuma conversão desse sistema para outro, pois já fazem operações com facilidade no sistema decimal, que aprendemos desde crianças. d) Possui dez algarismos diferentes, de 0 a 9. e) O valor total do número decimal é apresentado pela soma dos números (individuais), multipli- cados pela base(elevada à posição dele no número), sendo que a posição sempre começa com 0, da esquerda para direita. 2. Sobre o sistema de base 2, também conhecido como binário, pode-se afirmar que: a) Não é possível representar valores negativo nesse sistema. b) Para transformar um número binário em decimal, basta fazer sucessivas divisões. c) A transformação do número da base 2 (número binário) para a base 8 (octal) consiste em separar o número binário em grupos de três bits da direita para esquerda. d) Não são utilizados em equipamentos (máquinas) digitais. e) Para representar um número binário negativo, uma das maneiras é utilizar a representação em complemento de 2, então, basta somar o valor 2 ao número que se deseja representar. 3. Para acessar um local de segurança que possui uma porta com sistema de senha, a pessoa de- verá digitar os números decimais 4,9,3 em sequência. Para que seja liberada a porta, o sistema deverá entender quais números binários de quatro bits na sequência correta? a) 10012,11012 e 00112. b) 10012,10012 e 01012. c) 01002,01112 e 00112. d) 01002,10012 e 00112. e) 01002, 10012, e 10112. A G O R A É C O M V O C Ê 30 4. Quando digitamos valores para uma operação em uma calculadora, a mesma faz a conversão dos números decimais digitados para números binários, faz a operação e fornece o resultado, novamente, em números decimais. Se inserimos os números decimais 39 e 12, respectivamente, qual seria o resultado da soma e da subtração desses números, respectivamente, na memória da calculadora, ou seja, ainda na base 2? a) 1000112 e 0111112. b) 1100112 e 0110112. c) 1100112 e 1110112. d) 1100012 e 1110102. e) 0110112 e 1100112. C O N FI R A S U A S R ES P O ST A S 31 1. D. O sistema de numeração decimal é formado por 10 algarismos diferentes, de 0 a 9, qualquer outro número formado além desses é combinação dos mesmos. 2. C. A transformação do número da base 2 (número binário) para a base 8 (octal) consiste em separar o número binário em grupos de três bits da direita para esquerda e representa-los com algarismos de 0 a 7. 3. D. O sistema terá de fazer conversão dos números decimais para números binários por meio de divisões sucessivas por dois, conforme solução a seguir. 4. B. O sistema terá de fazer conversão dos números decimais para números binários por meio de divisões sucessivas por 2, em seguida realizar a soma e a subtração dos números conforme solução a seguir. R EF ER ÊN C IA S 32 CAPUANO, F. G.; IDOETA, I. V. Elementos de eletrônica digital. São Paulo: Érica, 2011. PEDRONI, V. A. Eletrônica Digital Moderna e VHDL. Rio de Janeiro: Elsevier, 2010. 33 M EU E SP A Ç O 34 M EU E SP A Ç O 2 OPORTUNIDADES DE APRENDIZAGEM Lógica Combinacional Me. Emerson Charles Martins da Silva Nesta unidade, aprenderemos como as máquinas tomam algumas decisões, como elas se comportam quando recebem dados digitais e os processam para emitir resultados em função das informações disponibilizadas nas entradas. Dessa forma, podemos elaborar máquinas para executar tarefas de acordo com nossa necessidade. 36 UNICESUMAR D IÁ R IO D E B O R D O Em nossas atividades diárias, tomamos decisões que, geralmente, são intuitivas e automáticas, e, também, são em função de algum acontecimento ou de alguma informação que recebemos. Mas e as máquinas digitais? Você sabe como elas tomam decisões? Como elas conseguem nos dar uma resposta em função de uma informação? Pois bem, o matemático George Boole (1815-1864) modelou e criou uma forma de representação do comportamento dos sistemas digitais, dessa forma, seremos capazes de entender essas informações. Os sistemas digitais estão em muitas situações do nosso dia a dia, como elevadores, prensas, cancelas de esta- cionamento e em muitos outros sistemas que, muitas vezes, não paramos para pensar como funcionam. Podemos, então, fazer um teste. Ao utilizar um elevador, você pode pressionar qualquer andar no teclado, mas verá que o elevador só se movimentará se a porta estiver totalmente fechada e, caso esteja aberta ou alguém ou algo obstruir o fechamento total, mesmo recebendo comando para se movimentar, o elevador não deve se mover. É este tipo de análise que o sistema digital faz, ele verifica se todas as condições necessárias foram atendidas, para este caso, a única condição que analisamos foi a porta fechada, o sistema verifica se ela está fechada ou não e toma a decisão ou de se locomover ou se movimentar ou de ficar parado. Para nós, humanos, é óbvio que o elevador só pode se movimentar com a porta fechada ou se estivermos analisando a cancela de estacionamento, por exemplo, para nós, também é óbvio que a cancela só pode fechar quando não há um carro embaixo dela. Em uma prensa de uma indústria, ela só deverá fechar se, embaixo, não houver nada além da peça a ser prensada, mas o sistema digital tem de ser informado destas condições, então, sensores são colocados ao longo das máquinas para informar se esta ou aquela condição está ou não sendo atendida, dessa forma, sempre que desenvolvemos o sistema digital, precisamos dar todas as informações que ele necessita para o correto funcionamento, mesmo que, para nós, sejam informações intuitivas. 37 UNIDADE 2 Não podemos falar de sistemas digitais sem falar em lógica combinacional. Ela é uma ferramen- ta que faz o processamento das informações de entrada de um sistema, levando em consideração so- mente as combinações das mesmas, ou seja, não faz análise de tempo ou da sequência de como essas combinações acontecem, ficando implícito, neste momento dos estudos, que todas as modificações nas entradas acontecem ao mesmo tempo. Dessa forma, a saída pode ter seu valor alterado em fun- ção, simplesmente, da combinação das entradas, por isso, damos o nome lógica combinacional. Três elementos serão abordados, aqui, para o entendimento inicial de como descrever o comportamento combinacional de um circuito, são eles: funções lógicas, portas lógicas e tabela verdade. A função E ou AND transporta, para saída, o valor verdadeiro sempre que todas as entradas forem verdadeiras. Considerando, neste momento, um valor verdadeiro como 1 e valor falso como 0, toda vez que as entradas de uma função AND forem verdadeiras, a saída será verdadeira, basta que uma das entradas seja falsa para que a saída também seja falsa. Teoricamente, podemos adotar uma lógica AND com infinitas entradas, mas, na utilização prática, devemos nos atentar aos dispositivos disponíveis no mercado que têm o número de portas e entradas limitadas para que sejam utilizadas em um projeto. Para um primeiro exemplo, temos um bloco lógico AND com duas entradas A e B, e uma saída S, conforme a Figura 1. Figura 1 - bloco lógico AND de duas entradas Fonte: o autor. A função lógica que representa o bloco AND é mostrada na função 1: S AxB= � (1) que também pode ser escrito como a função 2: S A B= . (2) em ambos os casos das equações 1 e 2, lê-se: A and B ou também A e B. As portas lógicas são os elementos que executam as funções lógicas. Temos três portas lógicas básicas e, pela combinação delas, obtemos os circuitos combinacionais. Apresentaremos todas as possibilidades de combinações das entradas e a resposta que teremos na saída em função do tipo de lógica que será executada, internamente, ao circuito. A B S& 38 UNICESUMAR A porta lógica que representa a função lógica AND é apresentada na Figura 2: Figura 2 - Porta lógica AND Fonte: o autor. A tabela verdade citada é uma tabela que deverá conter todas as possibilidades das entradas, de preferência, em ordem crescente, e o valor da saída em função das combinações das entradas de acordo com a Tabela 1. A B S Tabela 1 - Tabela verdade: lógica AND A B S 0 0 0 0 1 0 1 0 0 1 1 1 Fonte: o autor. Vimos, na Tabela 1, que basta que uma das entradas esteja em nível lógico 0 para que a saída tenha valor 0, não importando o número de entradas existentes. Veja, na Figura3, o exemplo de uma porta lógica de três entradas, sua função lógica e sua tabela verdade. Figura 3 - Tabela verdade, função e porta lógica AND Fonte: o autor. Uma lógica AND pode ser implementada em um sistema de acionamento de uma serra, por exemplo, para garantir a segurança do operador, a serra (saída) só será acionada se dois botões (entradas) loca- lizados separados e longe da serra, forem pressionados ao mesmo tempo, se acaso o operador tirar a mão de um dos botões, a serra deverá parar. A função OU ou OR transporta para a saída o valor verdadeiro, desde que, pelo menos, uma das entradas seja verdadeira, considerando o valor verdadeiro 1 e o valor falso, 0. Para a função OU, a saída só será falsa se todas as entradas forem falsas. A função OU pode ser escrita como a função 3: S A B� �� (3) lê-se: A ou B ou também A or B. A B S C S = A . B . C A B C S 0 0 0 0 0 0 0 0 0 0 1111 1 1 1 1 0 0 0 0 00 0 0 1 1 1 1 1 0 39 UNIDADE 2 A Figura 4 mostra a porta lógica que representa a função lógica OU. Figura 4 - Porta lógica OU Fonte: o autor. Temos, então, todas as possibilidades de combinação de entradas da porta lógica OU de duas entradas na Tabela 2. A B S Tabela 2 - Tabela verdade porta OU A B S 0 0 0 0 1 1 1 0 1 1 1 1 Fonte: o autor. Teoricamente, podemos adotar portas OU de infinitas entradas, mas, ao iniciar um projeto, devemos nos atentar às limitações físicas dos componentes eletrônicos a serem utilizados no projeto. A Figura 5 nos mostra a tabela verdade e a porta lógica para a função lógica OU de três entradas. Figura 5 - Tabela verdade, porta lógica e função OU Fonte: o autor. A função não, not ou inversora é a única que possui somente 1 entrada. Só temos duas possibilidades de entrada, ou seja, se a entrada for 0, a saída será 1, se a entrada for 1, a saída será 0. Se tivermos um bloco inversor com entrada A e saída S, a função que representa a lógica inversora corresponde à função 4: S A= � (4). A barra em cima de uma variável, ou uma função, representa a inversão do valor, ou seja, a complemen- tação. Se a variável é 1, ela barrada é 0, se a variável é 0, ela barrada é 1, se a função está toda barrada, logo, o resultado final de toda função será complementado. S = A + B + C A B C S 0 0 0 0 1 1 1 1 1 1 1111 1 1 1 1 0 0 0 0 00 0 0 1 1 1 1 1 0 A B S C 40 UNICESUMAR Veja, na Figura 6, a porta lógica que representa a função inversora: Figura 6 - Porta lógica inversora Fonte: o autor. A tabela verdade da porta inversora é a mais simples, pois tem somente duas combinações de entradas, conforme a Tabela 3: A S Tabela 3 - Tabela verdade função not A S 0 1 1 0 Fonte: o autor. No desenvolvimento de projetos digitais, geralmente, necessitamos de circuitos mais complexos do que somente uma porta lógica, dessa forma, aprenderemos, agora, a montar circuitos combinacio- nais, retirar suas funções, montar tabelas verdades e, assim, resolvermos algumas situações práticas utilizando estas ferramentas. A seguir, temos um circuito combinacional que também chamamos de porta lógica. O circuito da Figura 7 é uma combinação de uma porta AND com uma porta NOT, do lado direito da igualdade, temos a porta NAND, utilizada nos circuitos. A esta combinação, damos o nome de função NÃO E, NE ou NAND. Retiraremos dela a tabela verdade e a função lógica. Figura 7 - Porta NAND Fonte: o autor. Pela Figura 7, vemos que o resultado da saída da função AND é aplicado na entrada da porta inversora, dessa forma, temos que a saída da porta inversora é o valor da saída da porta AND invertida, ou seja, complementada, assim, temos a função NAND mostrada na função 5: A S A B S B S A B= . (5) para este sistema, então temos que a Tabela 4 a seguir: Tabela 4 - Tabela verdade função NAND A B S 0 0 1 0 1 0 1 0 0 1 1 0 Fonte: o autor. Dá para verificar que é a tabela verdade da lógica AND, mas com todas saídas invertidas. Se combinarmos, agora, uma porta lógica OU com uma porta lógica NOT, teremos o circuito combinacional, ou porta lógica NÃO OU ou NOR ou também chamado de NOU. 41 UNIDADE 2 A porta lógica NOR apresenta, na saída, os valores da porta lógica OR invertidos. Podemos repre- sentar a porta NOR pela função 6: S A B� � (6) a Tabela 5 mostra todas as possíveis combinações para a lógica NOR de duas entradas. Tabela 5 - Tabela lógica NOR de duas entradas A B S 0 0 1 0 1 0 1 0 0 1 1 0 Fonte: o autor. Verificando a Tabela 5, vemos que ela representa a tabela da lógica OR com todos os valores de saídas in- vertidos. A Figura 8 apresenta o bloco lógico NOR e, também, a porta utilizada para representação. Figura 8 - Bloco lógico e porta lógica NOR Fonte: o autor. O circuito combinacional ou exclusivo (XOR) faz parte de tipos de circuitos especiais que apare- cem sempre nos sistemas digitais. É um circuito combinacional que, por meio da combinação de duas portas AND, uma porta OU e duas portas INVERSORAS que fornecem, para a saída, um sinal verdadeiro (1), sempre que as entradas forem diferentes em um sinal falso (0) e sempre que as entradas forem iguais (TOCCI; WIDMER; MOSS, 2011). Este tipo de circuito lógico só existe com duas entradas, caso se queira fazer operação, ou A B S A B exclusivo com mais de uma de duas variáveis, de- ve-se utilizar circuitos de duas entradas em cascata. A função lógica que representa o circuito XOR é mostrada na função 7: S AB AB� � (7) mas a equação simplificada que mais utilizamos em circuitos digitais é apresentada na função 8: S A B� � (8) nos dois casos das funções 7 e 8, lê-se A ou ex- clusivo B. O circuito combinacional XOR é construído pela seguinte combinação de portas, conforme a Figura 9: Figura 9 - Bloco lógico ou exclusivo Fonte: o autor. A B 42 UNICESUMAR A Tabela 6 mostra todas as possíveis combinações para o circuito combinacional XOR. Tabela 6 - Tabela verdade XOR A B S 0 0 0 0 1 1 1 0 1 1 1 0 Fonte: o autor. Em softwares de programação em blocos ou também em cir- cuitos integrados dedicados, encontraremos a representa- ção do bloco lógico ou exclusi- vo, como o da Figura 10, que se parece com a representação de portas lógica. Figura 10 - Circuito XOR ou exclusivo Fonte: o autor. Outro circuito especial que encontramos bastante em sistemas digitais é o NOU exclusivo, também conhecido como XNOR ou comumente chamado circuito coincidência. É um circuito também combinacional formado por portas lógicas OU, AND e INVERSORA, que produz, na saída, um sinal verdadeiro, sempre que as entradas forem iguais, e um sinal falso sempre que as entradas forem diferentes (TOCCI; WIDMER; MOSS, 2011), dá para verificar que a tabela verdade desse circuito combinacional é igual à tabela verdade no circuito XOR com os valores invertidos. Temos, então, na Tabela 7, os valores de entradas e saídas possíveis para a lógica XNOR, esse circuito também só existe com duas entradas e, caso tenhamos que fazer uma lógica XNOR com mais de duas variáveis, devemos fazê-la de duas em duas, em cascata. A B S Tabela 7 - Tabela verdade lógica XNOR A B S 0 0 1 0 1 0 1 0 0 1 1 1 Fonte: o autor. A função lógica que representa o circuito combinacional é mostrada na função 9: S AB A B� � . (9) Temos, porém, uma forma mais simplificada de representar a função coincidência, que é pela função 10: S A B� � (10) lê-se A coincidência B. 43 UNIDADE 2 A Figura 11 apresenta o circuito combinacional COINCIDÊNCIA. Figura 11 - Circuito combinacional COINCIDÊNCIA Fonte: o autor. Esse circuito combinacional também é encontrado em softwares de programação em blocos ou em circuitos integrados dedicados com uma forma representativa mais simplificada, conforme a Figura 12. A B S Figura 12 - Bloco circuito XNOR Fonte: o autor. Exemplos resolvidos 1. Para as duas funções a seguir, apresente o circuito lógico equivalente. a) S A BC D� � � � � b) S A C B D� � � � �. Solução: a) Uma dica é você separar, em soma de produtos, e tratar o que está dentro de parêntesescomo um termo só. Verificamos que temos três parcelas separadas por sinais de +, que representa a lógica OU, dessa forma, temos uma porta OU de três entradas, fazendo a lógica com as três parcelas, ao mesmo tempo, da seguinte forma: Figura 13 - Circuito lógico do exercício A Fonte: o autor. A B.C D A+(B.C)+D A B C D 44 UNICESUMAR b) Da mesma forma, separaremos em três parcelas para aplicar na porta OU, essa maneira cha- ma-se soma de produtos. Figura 14 - Circuito lógico do exercício B Fonte: o autor. 2. Para o circuito lógico da Figura 15, apresente a função lógica. A B.D C A B C D S= A+C+(B.D) Figura 15 - Circuito lógico Fonte: o autor. Solução: Primeiramente, retiraremos a saída de cada parcela. Dessa forma, temos: • As variáveis C e D são entradas da porta NAND, e X é a saída da porta NAND, logo: X C D= . • A variável A, entra na porta inversora, logo na saída da porta inversora, temos: Y A= • Por fim, as variáveis B e C são entradas da porta AND, dessa forma, a saída da porta AND é: Z BC= . • A saída S é uma porta lógica NOR de três entradas, sendo a equação de saída: S X Y Z� � � • Substituindo os valores de X, Y e Z, temos, então, a saída S em função das entradas A, B, C e D na forma: S C D A BC� � � � �. ( . ) X Y A B C D Z S 45 UNIDADE 2 3. Exemplo resolvido de como retirar uma fun- ção lógica de uma tabela verdade qualquer. a) Para a Tabela 8, a seguir, retira-se a função lógica equivalente. Tabela 8 - Tabela de exemplo Linha A B C S 0 0 0 0 1 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 0 7 1 1 1 0 Fonte: o autor. Solução: • Para retirarmos a função lógica da saída S, temos que retirar a soma dos produtos cujos resul- tados em S sejam iguais a 1, os que são resultados iguais a 0 não nos interessam. Consideramos, também, para as variáveis A, B e C que, onde os valores delas foram iguais a 0, então, essa variável será barrada, e onde ela assume o valor 1, ela será representada sem barra. • Notamos que temos S=1 somente nas linhas 0, 3 e 5, então, somaremos somente os produtos dessas linhas, assim temos: b) S A BC A BC A BC� � � � � � �( . . ) . . . . c) Para a Tabela 9, retirar a função lógica equivalente. Tabela 9 - Tabela de exemplo Linha A B C S 0 0 0 0 0 1 0 0 1 1 2 0 1 0 1 3 0 1 1 1 4 1 0 0 0 5 1 0 1 0 6 1 1 0 1 7 1 1 1 1 Fonte: o autor. Solução: Usando os mesmos critérios do exercício anterior, utilizaremos somente as combinações de entrada onde a saída S é igual a 1, colocando barra nas variáveis de entrada com valor 0. Então, temos: S A BC A BC A BC A BC A BC� � � � � � � � � � � � � � �. . . . . . . . . . , utilizamos somente os valores das linhas 1, 2, 3, 6 e 7. • A primeira parcela se re- fere à linha 0, colocando barra nas três variáveis que são 000, a segunda parcela corresponde à li- nha 3, colocando barra somente na variável A, pois temos 011, e, na ter- ceira parcela, colocamos barra somente na variá- vel B, pois temos o valor 101 nessa combinação. 46 UNICESUMAR 4. Agora, apresentaremos um circuito lógico e retiraremos a tabela verdade desse circuito. a) Monte a tabela verdade do circuito da Figura 16. Figura 16 - Circuito do exercício A Fonte: o autor. A B s Solução: Primeiramente, temos que montar a tabela ver- dade com todas as possibilidades de entrada de acordo com o número de variáveis. Neste exem- plo, temos somente as variáveis A e B, o cálculo para tabela com duas é dado por 2n, em que n é o número de variáveis. Dessa forma, temos 22 combinações = 4 possibilidades diferentes. Tabela 10 - Tabela do exemplo A A B S 0 0 1 0 1 1 1 0 0 1 1 1 Fonte: o autor. Preencher os valores de S. Deveremos colocar todas as combinações de entradas para os valores de A e B, são eles: 00,01,10 e 11 e, assim, para cada combinação dessas, teremos um valor de S. Então, temos a Tabela 10: Passo 1: colocando A = 0 e B = 0, no circuito da Figura 16, teremos 0 na saída da porta AND, assim, esse 0 entra na porta OU. Na entrada da porta inversora, temos o valor 0, mas, na saída dela, teremos valor 1, assim, teremos, na porta OU, os valores 0 e 1, relembrado que, para uma porta OU, basta que uma das entradas seja 1 que a saída será 1, então, vamos lá na tabela e preencher 1 para a combinação de A = 0 e B = 0. Passo 2: A = 0 e B = 1, nas entradas da porta AND, temos 0 e 1, como em uma porta AND, basta que uma das entradas seja 0 para que ela assuma valor 0 na saída, dessa forma, teremos 0 na primeira entrada da porta OU. Na porta inversora, temos 0 na entrada, o que faz com que tenhamos 1 na saída, assim, temos, novamente, nas entradas da porta OU, 0 e 1, fa- zendo com que tenhamos 1, novamente, na saída S, vamos, então, na tabela e preenchemos as com- binações 01 com S = 1. Passo 3: A = 1 e B = 0, nas entradas da porta AND, temos 1 e 0, o que nos mostra, na saída, o va- lor 0, que vai para uma das entradas da porta OU. Na entrada da porta inversora, temos 1, então, teremos 0 na saída da porta inversora e, assim, 0 na outra entrada da porta OU. Com as duas entradas da porta OU em 0, então, teremos 0 na saída S também, valor que preencheremos na Tabela 10. Passo 4: a última combinação é A = 1 e B = 1, assim, temos na saída da porta AND, o valor 1 que vai para a primeira entrada da porta OU. Na entrada da porta inversora, temos 1, o que dá, na saída dela, o valor 0, então, nas entradas da porta OU, temos 1 e 0, que faz com que tenhamos 1 na saída da porta OU, que é a saída S. Preenche- remos, então, o último valor da Tabela 10 com 1. 47 UNIDADE 2 b) Para o circuito da Figura 17, apresenta a tabela verdade: Passo 1: para a combinação de entrada 000, temos, na saída da porta inversora 1 e na saída da porta OU, o valor 0, assim, temos na entrada do circuito combinacional XNOR (circuito coinci- dência) os valores 1 e 0, relembrando que, para a lógica XNOR, sempre que os valores de entradas forem diferentes, a saída é 0. Passo 2: para a combinação de entrada 001, temos, na saída da porta inversora 1 e na saída da porta OU, o valor 1, assim, temos, na entrada do circuito combinacional XNOR (circuito coinci- dência), os valores 1 e 1, sempre que as entradas da XNOR forem iguais, a saída será 1. Passo 3: para a combinação de entrada 010, temos, na saída da porta inversora 1 e na saída da porta OU, o valor 1, assim, temos, na entrada do circuito combinacional XNOR (circuito coinci- dência), os valores 1 e 1, sempre que as entradas da XNOR forem iguais, a saída será 1. Passo 4: para a combinação de entrada 011, temos, na saída da porta inversora 1 e na saída da porta OU, o valor 1, assim, temos, na entrada do circuito combinacional XNOR (circuito coinci- dência), os valores 1 e 1, sempre que as entradas da XNOR forem iguais, a saída será 1. Passo 5: para a combinação de entrada 100, temos, na saída da porta inversora 0 e na saída da porta OU, o valor 0, assim, temos, na entrada do circuito combinacional XNOR (circuito coinci- dência), os valores 0 e 0, sempre que as entradas da XNOR forem iguais, a saída será 1. Passo 6: para a combinação de entrada 101, temos, na saída da porta inversora 0 e na saída da porta OU, o valor 1, assim, temos, na entrada do circuito combinacional XNOR (circuito coin- cidência), os valores 0 e 1, para a lógica XNOR, sempre que os valores de entradas forem diferen- tes, a saída é 0. Passo 7: para a combinação de entrada 110, temos, na saída, da porta inversora 0 e na saída da porta OU, o valor 1, assim, temos, na entrada do circuito combinacional XNOR (circuito coin- cidência), os valores 0 e 1, para a lógica XNOR, sempre que os valores de entradas forem diferen- tes, a saída é 0. Passo 8: para a combinação de entrada 111, temos, na saída da porta inversora 0 e na saída da porta OU, o valor 1, assim, temos, na entrada do circuito combinacional XNOR (circuito coin- cidência), os valores 0 e 1, para a lógica XNOR, sempre que os valores de entradas forem diferen- tes, a saída é 0. Figura 17 - Circuitode exemplo B Fonte: o autor. Solução: Utilizaremos o mesmo método do exercício anterior, mas, agora, temos três variáveis de entrada, então, calculando o número de combinações, temos 2n = 23 = 8 possíveis combinações, conforme tabela. A B s C 48 UNICESUMAR Substituindo os valores, agora, na Tabela 11, temos: As portas lógicas e os circuitos combinacionais (AND, OR, NOT, NAND, NOR, XOR e XNOR) podem ser encontrados em circuitos integrados específicos para essas funções, o que facilita bastante o desen- volvimento dos circuitos digitais. Agora que aprendemos as funções lógicas, portas lógicas e alguns circuitos combinacionais, notamos que os sistemas digitais têm sua linguagem própria e necessitamos saber como nos comunicar nessa linguagem para que o sistema realize as funções da maneira correta. Tabela 11 - Tabela exemplo B A B C S 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 Fonte: o autor. Para que servem os circuitos integrados lógicos? Antes da invenção destes, os circuitos eram grandes, utilizando dezenas, centenas e até milhares de componentes eletrônicos. Com o advento do circuito integrado, conseguimos desenvolver circuitos complexos otimizan- do o tempo e o tamanho dos circuitos. Isso veio ao encontro das necessidades dos engenheiros, pois, a partir daí, foram possíveis equipamentos com mais capacidade de processamento, menores em tamanho, com menos consumo de energia e, consecutivamente, menos custos de produção e comercialização. 49 M A P A M EN TA L No mapa mental, a seguir, fiz uma análise resumida das lógicas AND e OR e de como elas funcionam. ENTRADAS A e B LÓGICA OR LÓGICA AND BASTA QUE UMA DAS ENTRADAS ESTEJA EM “0”, QUE A SAÍDA SERÁ “0” BASTA QUE UMA DAS ENTRADAS ESTEJA EM “1”, QUE A SAÍDA SERÁ “1” ENTRADAS A e B LÓGICA OR LÓGICA AND ENTRADAS A e B LÓGICA OR LÓGICA AND Baseado no mapa apresentado, preencha o mapa, a seguir, com uma análise simples do comportamento das lógicas XOR E XNOR. 50 M A P A M EN TA L A G O R A É C O M V O C Ê 51 1. Se reportando, agora, à retirada de um circuito lógico a partir de uma função lógica, apresente o circuito lógico equivalente das duas funções a seguir. a) b) 2. A tabela, a seguir, mostra o comportamento de um sistema qualquer. Assinale a alternativa da função que corresponde ao comportamento correto da tabela. A B C S 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 a) S A B C A B C A B C A B C� � � � � � � � � � � �. . . . . . . . b) S A BC A BC A BC A BC� � � � � � � � � � � �. . . . . . . . c) S A BC A BC A BC A B C� � � � � � � � � � � �� �. . . . . . d) S A BC A BC A BC A BC� � � � � � � � � � � �. . . . . . . . e) S A BC A BC A BC A BC� � � � � � � � � � � �. . . . . . . . 3. A lógica XNOR é um circuito combinacional formado por algumas portas lógicas. Se referindo a ela, assinale a alternativa correta. a) Sempre que as entradas forem de valores iguais, a saída recebe estado lógico 0. b) A equação da função XNOR é: S A B A B� �. . c) É também chamada de circuito coincidência. d) A equação da função XNOR é: S A B A B� �. . e) É conhecida como circuito diferenciador. A G O R A É C O M V O C Ê 52 4. Para o circuito da figura a seguir, apresente os valores da saída S por meio do preenchimento da tabela. A B C S 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 A B C S C O N FI R A S U A S R ES P O ST A S 53 1. a. Precisamos fazer a soma dos produtos, desenhando cada parcela separada pelo sinal de +, conforme a sequência a seguir, e executar a lógica OU com todas elas. A B C S A+B B+C Saída da porta XOR, lógica entre os produtos b. Aqui, devemos fazer a lógica XOR entre os produtos, desenhando cada parcela separada pelo sinal de +, conforme a sequência a seguir, e aplicar a lógica XOR com todas elas. A B C S D A B.C D.B Saída da porta OU, soma de produtos 2. D. Para retirar a função lógica da tabela verdade, nos preocupamos somente com as combinações em que a saída S é igual a 1, sabendo que as entradas (ABC), quando barradas, são nível lógico 0 e não barradas nível lógico 1. Assim, separamos as parcelas com o sinal de + e temos, neste caso, apenas quatro combi- nações com a saída S em 1. 3. C. É também chamada de circuito coincidência, pois sempre que as entradas coincidirem de serem iguais, 0 ou 1, a saída será verdadeira, ou seja, igual a 1. C O N FI R A S U A S R ES P O ST A S 54 4. Temos que colocar todas as oito combinações possíveis nas entradas (ABC) e analisar a lógica das portas até a saída S. Caso 000: Na saída da porta NOR, temos 1, na saída da porta OR, temos 0, dessa forma, valores diferentes entrando em uma porta XOR, temos 1 na saída. Caso 001: Na saída da porta NOR, temos 0, na saída da porta OR, temos 0, dessa forma, valores iguais entrando em uma porta XOR, temos 0 na saída. Caso 010: Na saída da porta NOR, temos 0, na saída da porta OR, temos 1, dessa forma, valores diferentes entrando em uma porta XOR, temos 1 na saída. Caso 011: Na saída da porta NOR, temos 0, na saída da porta OR, temos 1, dessa forma, valores diferentes entrando em uma porta XOR, temos 1 na saída. Caso 100: Na saída da porta NOR, temos 1, na saída da porta OR, temos 1, dessa forma, valores iguais entrando em uma porta XOR, temos 0 na saída. Caso 101: Na saída da porta NOR, temos 0, na saída da porta OR, temos 1, dessa forma, valores diferentes entrando em uma porta XOR, temos 1 na saída. Caso 110: Na saída da porta NOR, temos 0, na saída da porta OR, temos 1, dessa forma, valores diferentes entrando em uma porta XOR, temos 1 na saída. Caso 111: Na saída da porta NOR, temos 0, na saída da porta OR, temos 1, dessa forma, valores diferentes entrando em uma porta XOR, temos 1 na saída. Assim, basta preencher a tabela com os valores de saída. A B C S 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 R EF ER ÊN C IA S 55 TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais: princípios e aplicações. São Paulo: Pearson Prentice Hall, 2011. 56 M EU E SP A Ç O 3 OPORTUNIDADES DE APRENDIZAGEM Circuitos Combinacionais na Prática Agora, nesta unidade, criaremos algumas situações hipotéticas parecidas com as que temos em nosso dia a dia, traduziremos o cotidiano numa lin- guagem digital, de maneira que possamos fornecer as informações para o sistema digital e, assim, ele resolva o problema real, nos dando uma resposta em função do que informamos a ele. Me. Emerson Charles Martins da Silva 58 UNICESUMAR Você sabe como o sistema de ar-condicionado opera para manter a temperatura sempre próxima do valor que você define? A combinação de sentenças de entrada no estágio de controle de um aparelho de ar-condicionado utiliza termostatos e pressostatos para entender a diferença entre o valor desejado e o valor atual da temperatura, combinando suas sentenças. Mas como a lógica combinacional dessas sentenças pode definir a tomada de decisão para ligar ou desligar o aparelho? Na ciência, especialmente na física e/ou na matemática, os pesquisadores passam a vida tentando modelar os acontecimentos e fenômenos cotidianos em modelos matemáticos e tentam descrever uma regra geral para eles. Na eletrônica digital, também é possível transformar algumas situações ou alguns comportamentos em letras e números e criar algumas regras de solução para situações corriqueiras. No caso do controle de temperatura baseado em um sistema de ar-condicionado, quando a pressão ou a temperatura atinge determinados valores, contatos associados aos elementos sensíveis (à pressão dentro de um capilar ou à temperatura) mudam de estado e sua combinação pode inferir em aciona- mento do compressor do sistema de resfriamento. 59 UNIDADE 3 Agora que já sabemos manipular números biná- rios, faça o teste no forno micro-ondas: digite cada número e repare que o painel sempre lhe fornece um valor decimal. Esta unidade lhe mostrará a maneirade fazer esta conversão, também cha- mada codificação/decodificação, para melhorar nossa interação com os equipamentos digitais. Vamos fazer esta experiência? Iniciaremos nossa escrita com circuitos combinacionais, mas com a intenção de explorá-los na prática, ok? Existem várias maneiras de traduzir um problema prático do nosso mundo real para um sistema digital, mas todas elas se resumem a um processo que consiste em você criar um sistema e descobrir, no seu problema, quais são as entradas e quais são as saídas para esse sistema. As entradas são os dados que você oferecerá a ele, as saídas apresentarão os resultados das operações que esse sistema fará com os dados fornecidos na entrada. No momento, estamos tratando de um sistema combina- cional que não envolve nem temporização, nem contagem, o sistema combinacional fará as operações lógicas com os dados das entradas e apresentará o resultado na saída (CAPUANO; IDOETA, 1997). Com certeza, você já viu esses painéis de chamada de senha nas salas de espera de diversos estabelecimentos, como aqueles painéis em que você retira uma senha e aguarda atendimento. Como o sistema, por exemplo, mostra, no painel, o número 7, em decimal, se, dentro de sua memória, esse número está na base 2, que, neste caso, seria 1112? Em sua residência, deve ter algum equipamento que faça essa conversão, verifique, novamente, o forno micro-ondas. Verificou? Quando você digita o tempo de cozimento, ele mostra os valores sempre em decimal, correto? Caro(a) estudante, você usa isso sempre, nem se deu conta do que acontece lá. D IÁ R IO D E B O R D O 60 UNICESUMAR A representação do sistema combinacional, neste momento, poderá ser feita da seguinte forma: ENTRADAS SAÍDASSISTEMA DIGITAL Figura 1 - Representação de um sistema digital combinacional Fonte: o autor. Uma maneira clássica de resolver um problema de lógica combinacional é, depois de distinguir as entradas e as saídas, colocar esses dados em uma tabela verdade, de forma organizada, em que teremos todas as possíveis combinações de entrada e, de acordo com o seu problema, a previsão do que deverá ter na saída em função dessas combinações e, assim, retirar dessa tabela verdade a função lógica e o circuito lógico que realizará a tarefa (CAPUANO; IDOETA, 1997). Resolveremos, então, alguns problemas hipotéticos para nos familiarizarmos com esta maneira de solucionar problemas combinacionais. Caso 1 – Guilhotina Em uma empresa gráfica, temos uma guilhotina de corte de papel, conforme a Figura 2: Figura 2 - Guilhotina de papel 61 UNIDADE 3 Temos, então, que fazer algumas convenções de acordo com o funcionamento que desejamos da máquina. Vamos a elas: • Nesse sistema, temos uma saída (cilindro atuador) que avança a guilhotina, o chama- remos de G. De acordo com a combinação de entrada, teremos o acionamento ou não de G. • O recuo de G é automático, sem que ne- cessite de nenhum comando, o mesmo será recuado por uma mola. • Para o avanço de G, o sistema tem que en- viar 1 para saída, caso o sistema envie 0, G retorna ao estado inicial (recuado, para cima). • Por motivos de segurança do operador da máquina, a guilhotina somente deverá avançar se o operador pressionar o botão A e o botão B (que estão em locais separados) ao mesmo tempo, pois isso evitará que o operador esteja com a mão embaixo da guilhotina ajustando os papéis, e a prensa seja acionada, provocando um acidente. • Adotaremos a convenção de que, quan- do o botão estiver pressionado, enviará ao sistema o nível lógico 1, quando estiver li- berado, enviará ao sistema o nível lógico 0. • Caso o operador retire a mão de um dos botões, o sistema desativará a guilhotina. • Dividiremos a tarefa em três passos, são eles: elaboração da tabela verdade, reti- rada da função lógica oriunda da tabela verdade, apresentação do circuito lógico que realizará a tarefa. 1º passo: elaboração da tabela verdade: • Temos duas entradas: botão A e botão B. • Temos apenas uma saída que o sistema deverá acionar ou não, é a guilhotina G. • Logo, teremos uma tabela verdade com duas entradas e uma saída, vamos a ela: Tabela 1 - Tabela verdade guilhotina A B G Caso 0 0 0 0 Caso 1 0 1 0 Caso 2 1 0 0 Caso 3 1 1 1 Fonte: o autor. Caso 0: No caso 0, temos 0 para A e 0 para B, pelas nossas convenções, ambos os botões estão libera- dos, logo, a guilhotina estará recuada, recebendo nível lógico 0. Caso 1: No caso 1, temos botão A em 0 (liberado) e botão B em 1 (pressionado), mas, por motivos de segurança, a guilhotina deverá estar recuada, recebendo 0 do sistema. Caso 2: No caso 2, temos botão A em 1 (pressionado) e botão B em 0 (recuado), então, a guilhotina deverá estar recuada por motivos de segurança. Caso 3: No caso 3, temos botão A em 1 (pressionado) e botão B também em 1 (pressionado), dessa forma, as mãos do operador estão acionando os botões ao mesmo tempo e, assim, a guilhotina deverá descer e cortar os papéis de forma segura. 2º passo: retirada da função lógica oriunda da tabela verdade: Recordando a Unidade 2, sabemos que, na tabela verdade, o que nos interessa são as saídas com resultados em 1, neste caso, somente com as entradas A e B em nível lógico 1 (as duas sem barra) é que teremos a saída acionada (1). 62 UNICESUMAR Assim, a função lógica da saída será representada pela função 1: G AB= . (1) 3º passo: a apresentação do circuito lógico que realizará a tarefa está na Figura 3: A B G Figura 3 - Lógica sistema de guilhotina Fonte: o autor. Notamos que, para esse sistema, apenas uma porta lógica AND resolve o problema. Caso 2 – Misturador de tintas Apresentamos, agora, mais um caso hipotético: o de um mis- turador de tintas que as fabrica nas cores secundárias a partir das cores primárias. Vamos, então, às conven- ções para o desenvolvimento do sistema que fabricará as cores. As cores primárias são: amarelo, azul e vermelho, as cores secundárias são: laranja, violeta e verde. Para a obtenção de cores secundárias, temos que mis- turar, na mesma proporção, as primárias, de acordo com a cor secundária que se deseja, assim, temos: Laranja = amarelo + vermelho. Violeta = azul + vermelho. Verde = amarelo + azul. Nosso sistema é representado pela Figura 4: TANQUES DE TINTAS PRIMÁRIAS AMARELO AZUL VERMELHO VAm VAz Vm TANQUE MISTURADOR VL VIOL VD Vdesc Figura 4 - Misturador de tintas Fonte: o autor. 63 UNIDADE 3 Vamos às convenções de funcionamento adotadas para esse sistema: • As válvulas VAm, VAz e Vm são manuais e manuseadas pelo operador. Para a escolha da tinta a ser fabricada, adotamos que, sempre que estiverem abertas (deixando passar a tinta), estarão em nível lógico 1, e sempre que estiverem fechadas, estarão em nível lógico 0. • As válvulas VL (laranja), VIOL (violeta) e VD (verde) são válvulas de saídas das cores secundárias que são acionadas pelo sistema para direcionar a tinta fabricada para seu destino específico. Adotamos que, sempre que estiverem abertas (passando tinta), estarão em nível lógico 1, e sempre que estiverem fechadas, estarão em nível lógico 0. • A válvula Vdesc é, também, saída, e acionada pelo sistema, é a válvula de descarte que descartará a tinta fabricada sempre se algum motivo ou erro for diferente das três cores secundárias. • Para que tenhamos a fabricação de apenas uma tinta de cada vez, adotaremos a seguinte hie- rarquia: • Quando nenhuma válvula das tintas primárias estiver acionada, todas as saídas das tintas se- cundárias e as da Vdesc estarão fechadas. • Se apenas uma das tintas primárias estiver aberta, todas as saídas das tintas secundárias estarão fechadas, e a da Vdesc, aberta para descarte. • Se todas as tintas primárias estiverem abertas, a válvula de descarte (Vdesc) deverá estar aberta, pois a tinta fabricada será a mistura de todas as tintas, não originando uma tinta secundária, e as válvulas das tintas secundárias deverão estar fechadas. • Para fabricar a tinta laranja,deverão estar acionadas as tintas amarela e vermelha, desde que a azul esteja fechada. • Para fabricar a tinta violeta, deverão estar acionadas as tintas azul e vermelha, desde que a amarela esteja fechada. • Para fabricar a tinta verde, deverão estar acionadas as tintas azul e amarela, desde que a vermelha esteja fechada. Vamos, então, aos três passos para resolver esse sistema, relembrando-os: montagem da tabela verdade, retirada da função ou das funções lógicas das saídas, montagem do circuito lógico. Temos, agora, um sistema com três entradas (cores primárias) e quatro saídas (cores secundárias + válvula de descarte): 1º passo: elaboração da tabela verdade. A Tabela 2 representa o funcionamento do sistema: Tabela 2 - Tabela verdade: misturador de tintas VAm VAz Vm VL VIOL VD Vdesc Caso 0 0 0 0 0 0 0 0 Caso 1 0 0 1 0 0 0 1 Caso 2 0 1 0 0 0 0 1 Caso 3 0 1 1 0 1 0 0 Caso 4 1 0 0 0 0 0 1 Caso 5 1 0 1 1 0 0 0 Caso 6 1 1 0 0 0 1 0 Caso 7 1 1 1 0 0 0 1 Fonte: o autor. 64 UNICESUMAR Análise dos oito casos possíveis das combinações das entradas: Caso 0: todas as entradas fe- chadas. Conforme nossas con- venções, todas as saídas deverão estar fechadas. Caso 1: somente a tinta pri- mária vermelha está aberta. Conforme convenções, as saí- das secundárias deverão estar fechadas e somente a válvula de descarte aberta. Caso 2: somente a tinta pri- mária azul está aberta. Confor- me convenções, as saídas secun- dárias deverão estar fechadas e somente a válvula de descarte aberta. Caso 3: estão abertas as tin- tas azul e vermelha, logo, será fabricada a cor violeta (VIOL ligada) e desligada a Vdesc. Caso 4: somente a tinta primária amarela está aberta. Conforme convenções, as saí- das secundárias deverão estar fechadas e somente a válvula de descarte aberta. Caso 5: estão abertas as tin- tas amarela e vermelha, logo, será fabricada a cor laranja (VL ligada) e desligada a Vdesc. Caso 6: estão abertas as tin- tas azul e amarela, logo, será fa- bricada a cor verde (VD ligada) e desligada a Vdesc. Caso 7: todas as entradas abertas. Conforme convenções, as saídas secundárias deverão estar fechadas e somente a vál- vula de descarte aberta. 2º passo: retirada da função lógica oriunda da tabela verdade. Neste caso, temos quatro saídas, dessa forma, teremos quatro funções ló- gicas, uma para cada saída, assim, utilizaremos as combinações de entradas onde a respectiva saída assume nível lógico 1. Vamos a elas: Função da saída da cor laranja (VL): A função 2 apresenta o único caso em que teremos a fabricação da cor laranja, dessa forma, a função de VL é: VL VAmVAzVm= . . (2). A função 3 apresenta o único caso em que teremos a fabricação da cor violeta: VIOL VAmVAzVm= . . (3). A função 4 apresenta o único caso em que teremos a fabricação da cor verde: VD VAmVAzVm= . . (4). A função 5 apresenta os casos em que teremos a saída de descarga ativada, que são quatro casos. Temos de fazer essa soma de quatro produtos. Vdesc VAmVAzVm VAmVAzVm VAmVAzVm VAmVAzVm� � � �( . . ) ( . . ) ( . . ) ( . . ) (5). 3º passo: apresentação do circuito lógico que realizará a tarefa. De- senhamos cada função separada, conforme mostrado na Figura 5. VAm VAz Vm VL VIOL VD Vdesc Figura 5 - Circuito lógico do misturador de tintas Fonte: o autor. 65 UNIDADE 3 No início desta unidade, mencionamos os painéis de chamadas de senha, também falamos sobre o display do forno micro-ondas. Trataremos, agora, do assunto codificação de decodificação para display de 7 segmentos, construídos por meio de leds, para entendermos, ainda mais, como os sistemas digitais nos fornecem as informações. A Figura 6 mostra um display de 7 segmentos de uso comum, presente em vários equipamentos eletrônicos. Figura 6 - Display de 7 segmentos O display da Figura 6 é um dispositivo eletrônico formado por um conjunto de leds, são 8 leds formando os 7 segmentos e o ponto decimal. Existem dois tipos de displays numéricos, os de ânodo comum e os de cátodo comum, a diferença entre eles está no nível lógico que devemos fornecer para que ele seja aceso ou apagado (TOCCI; WIDMER, 2003). O led (diodo emissor de luz) é o componente básico na formação do display, no momento, o que necessitamos saber sobre o led é: um dispositivo da família dos semicondutores que possui uma junção que separa um material do tipo N (negativo) e do tipo P (positivo). Esse dispositivo, quando alimentado por uma tensão que consegue vencer a barreira de potencial dessa junção, que é de, aproxi- madamente, 2,0 volts (podendo variar muito este valor de acordo com a aplicação do led), emitirá luz. Esta luz se difere em função das características de fabricação e podemos ter leds de várias cores diferentes, como também bicolores, tricolores e de alto brilho. Os leds, há muito tempo, são utilizados na iluminação residencial, de ruas, de veículos, nos televisores a leds e muitas outras aplicações. O símbolo do led é apresentado na Figura 7, em que temos o terminal ânodo (A) e o terminal cátodo (K). Para que o led emita luz, o mesmo deve ser polarizado diretamente, ou seja, o ânodo tem que ser polarizado positivamente em relação ao cátodo, dessa forma, sempre que o ânodo for mais positivo que o cátodo ao ponto de a diferença de potencial ser maior que a tensão de ruptura da junção, os elétrons saltarão de um material para outro, vencendo barreira de potencial e, assim, emitindo luz (MALVINO, 1995). Figura 7 - Led comum: imagem e símbolo 66 UNICESUMAR A imagem do led da Figura 7 (vermelho) mostra o mais comum encontrado no mercado, mas os leds são fabricados de muitas formas e tamanhos diferentes, logo, podem ser utilizados nas mais variadas aplicações. Como a corrente do led é pequena, no momento da energização, devemos saber suas características para podermos aplicar a tensão ideal e, assim, ele trabalhar sem exceder sua corrente a ponto de queimar. Dessa forma, utilizamos, sempre, um resistor limitador de corrente para que o led possa ser alimentado com valores de tensão maiores do que o indicado, mas o resistor, além de limitar a corrente, também divide a tensão total aplicada com o led, fa- zendo com que o mesmo trabalhe dentro de suas características (MALVINO, 1995). O display de 7 segmentos, então, na verdade, é formado por um conjunto de leds que, de acordo com a polarização, se ânodo ou cátodo comum, deve ser forne- cido 0 ou 1 para ser acionado (CAPUANO; IDOETA, 1997). O display de ânodo co- mum é um tipo de display que tem todos os ânodos do con- junto de leds interligados, e, para acionarmos cada led, de- vemos aplicar tensão 0V (que, no momento, trataremos como nível 0) nos terminais cátodos dos leds e uma tensão positiva no comum (ânodos +v), que trataremos como nível lógico 1, conforme a Figura 8 mostra. Figura 8 - Led ânodo comum Fonte: o autor. ÂNODO ÂNODO f g a b e d DC c a b c d e f g Na Figura 8, vemos, também, que cada segmento que forma o caractere 8 (que seriam todos os leds acesos) tem uma letra (mi- núscula). Esta representa cada led de a até g, dessa forma, para mostrarmos um caractere, te- mos que ligar os leds referentes à combinação de determinado caractere que se deseja mostrar. 67 UNIDADE 3 Para mostrar o número 2, temos que acionar os leds a, b, g, e, d e apagar os leds f, c. Como, na Figura 8, temos um display do tipo ânodo comum precisamos aplicar o nível 0V nos segmentos que desejamos acender e o nível +V (nível 1) nos segmentos que desejamos apagar, como também aplicar +V (nível 1) no ânodo comum dos leds. O display tipo cátodo comum é um tipo que tem todos os cátodos do conjunto de leds interligados. Para acionarmos cada led, devemos aplicar tensão +V (nível 1) nos terminais ânodos dos leds e uma tensão 0V (nível 0) no comum (ânodos 0V), conforme a Figura 9 mostra (TOCCI; WIDMER, 2003). 01 EXEMPLO CÁTODO f g a b e d DC c a b c d e f g CÁTODO Figura 9 - Display decátodo comum Fonte: o autor. Para mostrar o número 3, no display da Figura 9, temos que acionar os leds a, b, c, d, g e apagar os leds f, e. Como, na Figura 9, temos um display do tipo cátodo comum, precisamos aplicar novel +V (nível 1) nos segmentos que desejamos acender e nível 0V (nível 0) nos segmentos que desejamos apagar, como também aplicar 0V no cátodo comum dos leds. Agora, para resgatar alguns conceitos abordados no início desta unidade, entenderemos como funciona um decodificador binário para sete segmentos. Começamos assim: Primeiro, desenvolvemos um sistema de três entradas A, B, C, que, de acordo com as oito combinações possíveis (0 a 7), em bi- nário, o sistema decodifique essas combinações e mostre, em um display de sete segmentos, os números de 0 a 7, em decimal. Neste exemplo, não utilizaremos o ponto decimal; o bloco representativo é mostrado na Figura 10. 68 UNICESUMAR Figura 10 - Bloco do decodificador 7 segmentos Fonte: o autor. 1º passo: elaboração da tabela verdade. Para esse sistema, pela Figura 10, temos 3 entradas (A, B, C) e temos 7 saídas (a, b, c, d, e, f, g), dessa forma, nossa tabela verdade é apresentada na Tabela 3: Tabela 3 - Tabela verdade: decodificador A B C a b c d e f g Caso 0 0 0 0 1 1 1 1 1 1 0 Caso 1 0 0 1 0 1 1 0 0 0 0 Caso 2 0 1 0 1 1 0 1 1 0 1 Caso 3 0 1 1 1 1 1 1 0 0 1 Caso 4 1 0 0 0 1 1 0 0 1 1 Caso 5 1 0 1 1 0 1 1 0 1 1 Caso 6 1 1 0 0 0 1 1 1 1 1 Caso 7 1 1 1 1 1 1 0 0 0 0 Fonte: o autor. Analisaremos, então, todas as oito possibilidades de combinações das entradas. • Caso 0: entradas ABC = 000. Neste caso, queremos que o display mostre, em decimal, o número 0, assim, temos que ligar todos os leds, exceto o led g, assim, o display mostrará o número 0. • Caso 1: entradas ABC = 001. Neste caso, queremos que o display mostre, em decimal, o número 1, assim, temos que ligar somente os leds “b”, “c” e apagar os outros. • Caso 2: entradas ABC = 010. Neste caso, queremos que o display mostre, em decimal, o número 2, assim, temos que apagar os leds “c” e “f ” e ligar os demais. • Caso 3: entradas ABC = 011. Neste caso, queremos que o display mostre, em decimal, o número 3, assim, temos que apagar os leds “e” e “f ” e ligar os demais. • Caso 4: entradas ABC = 100. Neste caso, queremos que o display mostre, em decimal, o número 4, assim, temos que apagar os leds “a”, “d e “e”, mas ligar os demais. 69 UNIDADE 3 • Caso 5: entradas ABC = 101. Neste caso, queremos que o display mostre, em decimal, o número 5, assim, temos que apagar os leds “b” e “e”, mas ligar os demais. • Caso 6: entradas ABC = 110. Neste caso, queremos que o display mostre, em decimal, o número 6, assim, temos que apagar os leds “a” e “b” e ligar os demais. • Caso 6: entradas ABC = 111. Neste caso, queremos que o display mostre, em decimal, o número 7, assim, temos que acender os leds “a”, “b”, “c” e apagar os demais. 2º passo: retirada da função lógica oriunda da tabela verdade. Dessa forma, teremos uma função lógica para cada saída, de um total de 7. Pela tabela verdade, utilizaremos somente as combinações onde a saída assume valor 1. A função 6 que representa a saída de letra a: a A BC ABC A BC A BC A BC� � � � �. . . . . . . . . . (6). A função 7 que representa a saída b: b A BC A BC A BC ABC A BC A BC� � � � � �. . . . . . . . . . (7). A função 8 que representa a saída c: c A BC A BC A BC A BC A BC A BC A BC� � � � � � �. . . . . . . . .. . . . . . (8). A função 9 que representa a saída d: d A BC A BC ABC A BC A BC� � � � �. . . . . . . . (9). A função 10 que representa a saída e: e A BC A BC A BC� � �. . . . . . (10). A função 11 que representa a saída f: f A BC A BC A BC A BC� � � �. . . . . . . . (11). A função 12 que representa a saída g: g A BC ABC A BC A BC A BC� � � � �. . . . . . . . (12). 3º passo: apresentação do circuito lógico que realizará a tarefa do decodificador. Teremos que retirar um circuito para cada função lógica. 70 UNICESUMAR A Figura 11 mostra o circuito da saída da letra a. Figura 11 - Circuito da saída a Fonte: o autor. A Figura 12 mostra o circuito da saída b. Figura 12 - Circuito saída b Fonte: o autor. A Figura 13 mostra o circuito da saída c. Figura 13 - Circuito da saída c Fonte: o autor. A Figura 14 mostra o circuito da saída d. Figura 14 - Circuito da saída d Fonte: o autor. A Figura 15 mostra o circuito da saída e. Figura 15: Circuito da saída e. Fonte: o autor. 71 UNIDADE 3 A Figura 16 mostra o circuito da saída f. Figura 16 - Circuito da saída f Fonte: o autor. A Figura 17 mostra o circuito da saída g. Figura 17 - Circuito da saída g Fonte: o autor. Podemos, também, mostrar algumas mensagens com letras nos displays de 7 segmentos e, devido à limitação na disposição dos leds, não temos como formar todas as letras do alfabeto, mesmo assim, dá para usar este recurso sempre que possível, dada a facilidade de manuseio deste componente. Agora, mostraremos uma mensagem com letras no display de 7 segmentos, do tipo cátodo comum. Desenvolveremos um decodificador de 2 entradas, em que, de acordo com as combinações de 00 a 11, em binário, teremos a mensagem PARE, conforme a Figura 18. Figura 18 - Mensagem mostrada no display de 7 segmentos Fonte: o autor. As letras serão apresentadas uma de cada vez, de acordo com a combinação de entrada, como mostra a Tabela 4. Tabela 4 - Combinações da mensagem PARE Casos Comb A B a b c d e f g 0 P 0 0 1 1 0 0 1 1 1 1 A 0 1 1 1 1 0 1 1 1 2 R 1 0 0 0 0 0 1 0 1 3 E 1 1 1 0 0 1 1 1 1 Fonte: o autor. 72 UNICESUMAR Para preencher a Tabela 4, devemos analisar as quatro combinações de entradas, como segue: • Caso 0: entradas AB = 00. Neste caso, queremos que o display mostre a letra P, assim, temos que desligar os segmentos “c” e “d” e ligar os demais. • Caso 1: entradas AB = 01. Neste caso, queremos que o display mostre a letra A, assim, temos que desligar somente o segmento “d”, mas ligar os demais. • Caso 2: entradas AB = 10. Neste caso, queremos que o display mostre a letra “r” em minúsculo, conforme a Figura 18, assim, temos que ligar os segmentos “e” e “g” e desligar os demais. • Caso 3: entradas AB = 11. Neste caso, queremos que o display mostre a letra E, assim, temos que desligar os segmentos “b” e “c”, mas ligar os demais. Após montarmos a Tabela 4, vamos ao segundo passo, que é retirar as funções lógicas da tabela verdade. Temos, novamente, 7 saídas, uma para cada segmento, de “a” até “g”. Como já sabemos, para montar as funções lógicas, só nos interessam as situações das saídas que estão em nível lógico 1. Logo, as saídas serão: a A B A B AB� � �. . (13) b A B A B� �. . (14) c A B= . (15) d A B= . (16) e A B A B A B AB� � � �. . . (17) f A B A B AB� � �. . (18) g A B A B A B AB� � � �. . . (19) Sempre que uma tabela verdade apresentar, para as saídas, nível lógico 0 em todas as com- binações, podemos ligar essa saída para o GND do circuito, e o oposto também é válido, ou seja, sempre que uma saída estiver em nível 1 na tabela verdade em todas as combinações, podemos ligar essa saída diretamente para +Vcc da alimentação do circuito. Fonte: o autor. 73 UNIDADE 3 Antes de montarmos o circuito lógico, analisaremos as funções lógicas obtidas. Temos duas situações interessantes para simplificar nosso circuito lógico, são elas: • Situação 1: as funções das saídas “a” e “f ” são iguais, isso significa que as duas saídas, “a” e “f ”, serão ligadas e desligadas sempre ao mesmo tempo, dessa forma, podemos interligá-las, eco- nomizando, assim, algumas portas lógicas. • Situação 2: as saídas “e”, assim como as saídas “g”, estão ligadas em todas as combinações, vejam que, na tabela, para qualquer combinação, estas duas estarão sempre em 1, dessa forma, pode- mos ligá-las à alimentação do circuito, ou seja, podemos ligar para +Vcc do circuito, já que, em qualquer situação, as mesmas estarão acionadas. Nesta condição, também podemos representar,simplesmente, como e = g = 1. O terceiro passo, agora, é montar o circuito lógico de acordo com as funções lógicas, o mesmo é apre- sentado na Figura 19. Figura 19 - Circuito lógico da mensagem PARE Fonte: o autor. 74 UNICESUMAR Os equipamentos eletrônicos estão, há muito tempo, fazendo parte do cotidiano da maioria das pessoas, equipamentos tais como smar- tphones, computadores, televisores digitais e muitos outros. Todos eles, sem exceção, têm, dentro de seus chips, as lógicas digitais estu- dadas, aqui, nesta unidade. Sem elas, você, futuro(a) engenheiro(a), não conseguiria desenvolver equipamentos cada vez mais versáteis e/ou avançar em novos possibilidades tecnológicas em sua profissão. No caso do sistema de controle de ar-condicionado, que uti- liza as sentenças de entradas combinadas para atuar na saída em um compressor, temos um exemplo de aplicação prática, porém, há inúmeros equipamentos que utilizam esta tecnologia para sua operação, como eletrodomésticos, máquinas industriais, sistemas de proteção eletrônicos, acionamentos elétricos etc. Agora, antes de finalizar este assunto, observe, ao final do exer- cício do decodificador da mensagem PARE, que ocorreram duas situações em que tivemos funções repetidas. Isto nem sempre acon- tece, mas devemos, sempre, analisar as funções lógicas para tentar encontrar essas situações e, assim, simplificar o circuito. 75 M EU E SP A Ç O O mapa, a seguir, mostra uma relação de entradas e saídas em um sistema digital, se re- ferindo ao que construímos juntos, nesta unidade. Faça você, também, seu mapa mental, utilizando as mesmas entradas em um sistema digital, mostrando mais possibilidades de saídas para decodificadores de 7 segmentos. Vamos lá? A G O R A É C O M V O C Ê 76 1. Em engenharia, um profissional deve analisar cada combinação de sentenças para propor uma solução lógica que resolva o problema dado. No caso da solução de um problema com lógica combinacional, quais passos devem ser seguidos? a) Conversão dos dados para hexadecimal. b) Conversão dos dados para sistema binário. c) Montagem da tabela verdade, retirada da função ou das funções lógicas das saídas, montagem do circuito lógico. d) Somente montagem da tabela verdade. e) Somente retirada das funções lógicas 2. O acionamento de máquinas industriais pode utilizar a combinação de elementos de entrada, como botões e sensores. Para a tabela, a seguir, assinale a alternativa correta que apresenta a função lógica de saída: A B S 0 0 1 0 1 0 1 0 1 1 1 0 a) S A B A B� �. . . b) S A B A B� �. . . c) S A B A B� �. . . d) S A B A B� �. . . e) S =1 . 3. Para formar o caractere “S” (conforme a figura), em um dis- play de 7 segmentos do tipo ânodo comum, quais segmentos devemos acionar? E em qual nível lógico devemos colocá-lo? a) Devemos apagar os segmentos c” e “f”, colocando-os em 1, e acender os demais segmentos, colocando-os em 0. b) Devemos apagar os segmentos “b” e “e”, colocando-os em 0, e ligar os demais segmentos, colo- cando-os em 1. c) Devemos acender os segmentos “e” e “g”, colocando-os em 1, e apagar os demais segmentos, colocando-os em 0. d) Devemos apagar os segmentos “b” e “e”, colocando-os em 1, e acender os demais segmentos, colocando-os em 0. e) Devemos acender os segmentos “b” e “e”, colocando-os em 0, e apagar os demais segmentos, colocando-os em 1. A G O R A É C O M V O C Ê 77 4. O display de led é um recurso luminoso que permite a exibição de valores numéricos e alfanu- méricos, de acordo com a necessidade e do tipo do display. Em um display de 7 segmentos do tipo cátodo comum, desejamos mostrar a mensagem SIGA, como segue: Cada letra será mostrada no display, separadamente, de acordo com as combinações de entradas que são mostradas a seguir: comb A B a b c d e f g S 0 0 1 0 1 1 0 1 1 I 0 1 0 1 1 0 0 0 0 G 1 0 1 0 1 1 1 1 1 A 1 1 1 1 1 0 1 1 1 Apresente: a) A funções lógicas para as saídas de “a” até “g” da tabela. b) O circuito combinacional que realizará a tarefa re- presentada pela tabela. C O N FI R A S U A S R ES P O ST A S 78 1. C. Primeiramente, é necessário analisar o problema e, então, montar a tabela verdade, obter a função (ou funções) lógica(s) das saídas e, finalmente, montar o circuito lógico correspondente. 2. B. Temos duas situações cuja saída tem valor 1, neste caso, em que temos a combinação 00, assim, as duas entradas AB são barradas, e o segundo caso é para a combinação de entrada 10, dessa forma, somente a entrada B é barrada. 3. D. Trata-se de um display ânodo comum, em que, para acender um segmento, necessita de 0, assim, apa- gando os segmentos “b” e “e”, e acendendo os demais, temos a combinação da letra S. 4. Vemos, pela tabela, que as saídas “a”, “f” e “g” são ligadas e desligadas juntas, dessa forma, são iguais, assim, temos: a f g A B A B A B� � � � �. . . , as três saídas “a”, “f” e “g” são iguais e podem ser interligadas. b A B A B� �. . . c =1 - como a saída “c” está ligada em todas as combinações de entrada, podemos simplesmente ligá-la para +Vcc, ou seja, c = 1. d A B A B� �. . . e A B A B� �. . . O circuito combinacional fica: R EF ER ÊN C IA S 79 CAPUANO, F. G.; IDOETA, I. V. Elementos de eletrônica digital. 26. ed. São Paulo: Érica, 2007. MALVINO, A. P. Eletrônica. v. 1. São Paulo: Makron Books, 1995. TOCCI, R. J.; WIDMER, N. S. Sistemas digitais: princípios e aplicações. São Paulo: Pearson, 2003. 80 M EU E SP A Ç O 81 M EU E SP A Ç O 82 M EU E SP A Ç O 4 OPORTUNIDADES DE APRENDIZAGEM Simplificação de circuitos lógicos Nesta unidade, aprenderemos algumas técnicas de simplificação de cir- cuitos. Isto nos levará a desenvolver circuitos que executem a função que pretendemos, por meio de um hardware menor, possibilitando agilidade no desenvolvimento, menos complexidade e, também, menos consumo de energia quando implementado. Me. Emerson Charles Martins da Silva 84 UNICESUMAR Você já reparou no tamanho de um televisor TRC (tubos de raios catódicos) da década de 90, como ele era grande na me- dida de profundidade? Se com- pararmos com os televisores de plasma, led ou LCD, veremos grande diferença no tamanho se nos referirmos à profundidade. E nos celulares e smartpho- nes: reparou o quanto o tama- nho e a funcionalidade dos apa- relhos celulares evoluíram com o passar dos anos? A diminuição em tamanho e consumo dos equipamentos eletrônicos tem a ver com, ba- sicamente, duas estratégias da engenharia. A primeira é de- senvolver componentes e cir- cuitos com tecnologias cada vez melhores nestes requisitos, a segunda é trabalhar com circui- tos otimizados, ou seja, de for- ma que se possa simplificar os hardwares e softwares a ponto de eliminar situações repetidas, deixando o sistema mais leve e com menos consumo. Quando os processos produtivos avançam, a complexidade também aumenta, e analisar seu com- portamento dinâmico requer ferramentas que permitam, rapidamente, o entendimento de cada inte- ração em uma máquina com diversas sentenças de entradas e de saídas, por exemplo. Sabendo desta necessidade é que a análise dos sistemas digitais requer simplificação de suas expressões, para permitir a interpretação e implementação de recursos. Para simplificar a combinação de sentenças de entrada e a resposta na saída de sistemas de controle, por exemplo, é possível utilizar ferramentas de análise algébrica capazes de traduzir a relação combina- cional de entradas em poucas variáveis agrupadas. Este processo requer o uso de conceitos de álgebra de Boole, técnica que descreve as regras para a manipulação das variáveis lógicas em um sistema digital. 85 UNIDADE 4 Neste momento, sugiro que você, futuro(a) engenheiro(a), faça duas experiências. Caso não tenha, em casa, um telefone celular do início da década de 90 ou um televisor desta mesma época, vá a uma assistência técnica de eletrônica/celulares e peça para ver um equipamento destes: peguena mão, fique atento(a) a cada detalhe: estrutura, peso, por exemplo. Compare com os que você tem em casa e anote as diferenças. Se achar necessário, fotografe os equipamentos, ao retornar da experiência, responda à pergunta: por que alguns aparelhos smartphones modernos possuem rádio FM integrado e não rádio AM (analise esta situação em termos de hardware)? Após a experiência de comparação dos equipamentos da década de 90, você deve ter chegado à conclu- são da diferença em tamanho e complexidade dos equipamentos. As fontes de alimentação utilizadas pelas centrais telefônicas das décadas de 80 e 90, com capacidade de 2000 W, por exemplo, pesavam em torno de 50 kg, ocupavam 1 m³ de volume e produziam ruído audível ao ouvido humano. A partir do ano 2000, novas tecnologias permitiram a miniaturização de suas dimensões. Para a mesma potência de 2000 W, o conversor tinha 2 kg e media o mesmo que um caderno universitário de dez matérias. A evolução nos permite melhorar o custo e o tempo de desenvolvimento desses equipamentos, mas as funções e as lógicas exigidas não são suprimidas, elas existem e estão, ainda, nos equipamentos, mas implementadas de uma forma otimizada. Dadas as experiências que a evolução tecnológica trouxe, como você, estudante, acredita que serão os dispositivos eletrônicos nos próximos dez anos, em termos de smartphones e computadores? D IÁ R IO D E B O R D O 86 UNICESUMAR Agora, aprenderemos a simplificar circuitos lógicos, inclusive os que desenvolvemos nas unidades anteriores. Temos várias técni- cas de simplificação e a primeira que veremos é a simplificação por mapa de Karnaugh, também conhecida por diagramas de Veitch-Karnaugh. Estes mapas ou diagramas permitem a simplificação, de maneira mais rápida, dos casos extraídos de tabelas verdade, obtidas de situa- ções quaisquer (CAPUANO; IDOETA, 2011). Notaremos, por meio de exemplos de simplificação (quando possíveis), que os circuitos já desenvolvidos ficarão menores, o que nos possibilitará, em caso de montagem dos mesmos, um circuito eletrônico menor e menos complexo. Aprenderemos a extrair os valores de uma tabela verdade de duas variáveis de entrada e colocá-los no mapa de Karnaugh. Temos, então, a Tabela 1, que nos apresenta todas as com- binações de entradas. Enume- ramos as posições das saídas de forma que os valores que constam nessas posições sejam transportados para o mapa de Karnaugh da Figura 1. Tabela 1 - Tabela para duas variáveis de entrada A B S 0 0 S0 0 1 S1 1 0 S2 1 1 S3 Fonte: o autor. O mapa de Karnaugh para 2 variáveis é apresentado, na Figura 1, da seguinte forma: No mapa da Figura 1, a posição de saída S0 corresponde, simultaneamente, às entradas A e B , dessa forma, o valor que for, na saída, referente às entradas A=0 e B=0, transportaremos para a posição S0 do mapa. A posição de saída S1 corresponde, simulta- neamente, às entradas A e B , dessa forma, o valor que for, na saída, referente às entradas A=0 e B=1, transportaremos para a posição S1 do mapa. A posição de saída S2 corresponde, simulta- neamente, às entradas A e B , dessa forma, o valor que for, na saída, referente às entradas A=1 e B=0, transportaremos para a posição S2 do mapa. Figura 1 - Mapa de Karnaugh para 2 variáveis Fonte: o autor. Vamos entender o mapa: temos que analisar, sem- pre, a quais entradas uma saída pertence simulta- neamente, assim, descrevemos todas as situações, a seguir, para o mapa de 2 variáveis de entradas. S0 S1 S2 S3 A A B B 87 UNIDADE 4 0A A B B 1 1 1 A posição de saída S3 correspon- de, simultaneamente, às entra- das A e B , dessa forma, o valor que for, na saída, referente às en- tradas A=1 e B=1, transportare- mos para a posição S3 do mapa. Para confirmar nosso enten- dimento de como transportar os dados da tabela verdade para o mapa, transportaremos os valo- res de saída da Tabela 2 para o mapa da Figura 2. Tabela 2 - Tabela do exemplo A B S 0 0 0 0 1 1 1 0 1 1 1 1 Fonte: o autor. Transportando os valores da Tabela 2 para o mapa da Figura 2, temos: Figura 2 - Mapa do exemplo Fonte: o autor. Vamos, então, retirar a função lógica da tabela verdade (Tabela 2) pelo método que sabemos até agora, sem simplificação, para, depois, podermos comparar se o circuito admite ou não simplifica- ção e, caso positivo, se teve uma redução signifi- cativa do circuito. Extraindo, então, da Tabela 2, as saídas com valores em 1, temos: S A B A B A B� � �. . . (1) O circuito da função lógica (1), ainda sem simpli- ficação, é mostrado na Figura 3: Figura 3 - Circuito da função (1) Fonte: o autor. Agora, aprenderemos como retirar os termos co- muns, para que possamos tentar simplificar as fun- ções. Para os mapas de 2 variáveis, primeiramente, procuramos os valores de saídas em 1 dos vizinhos na horizontal ou na vertical, nunca na diagonal. Na Figura 4, temos o mapa do exemplo com as marcações dos vizinhos na horizontal e na verti- cal, neste caso, temos os dois. 88 UNICESUMAR Figura 4 - Termos vizinhos marcados Fonte: o autor. A marcação em vermelho junta dois vizinhos na horizontal, então, temos que analisar à qual va- riável de entrada esses dois vizinhos são comuns. Dá para notar que essas duas saídas são comuns à entrada A, assim, esse termo todo fica somente A. A marcação em amarelo junta dois vizinhos na vertical. Analisando as duas saídas associadas, vemos que elas são comuns somente à entrada B, dessa forma, esse termo todo fica somente B. Temos que fazer isso até que não sobre nenhu- ma saída em 1 a ser associada, neste caso, nosso trabalho termina aqui, pois sobrou somente um 0, que não nos interessa nesta simplificação. Agora, é somar as parcelas simplificadas dos temos mar- cados, temos, então: S A B� � (2) O circuito referente à função (2) fica: 0A A B B 1 1 1 A B S Figura 5 - Circuito da função (2) Fonte: o autor. Comparando o circuito da Figura 5 com o circuito da Figura 3, vemos que houve uma simplifica- ção significativa, isso quer dizer que eliminamos os casos repetidos do circuito, agora, podemos montar um mais simples, deixando claro que o funcionamento dos dois circuitos é exatamente igual, visto que a Tabela 2 do exemplo se resume à tabela verdade, à lógica OR já estudada. Agora, analisaremos a lógica XOR, estudada na Unidade 2 e representada na Tabela 3: Tabela 3 - Tabela lógica XOR A B S 0 0 0 0 1 1 1 0 1 1 1 0 Fonte: o autor. Transportando para o mapa de Karnaugh, temos a Figura 6. 0A A B B 1 1 0 Figura 6 - Mapa da função XOR Fonte: o autor. Notamos, neste caso, que não temos vizinhos nem na vertical, nem na horizontal, dessa forma, a função XOR está entre os casos que não admi- tem simplificação. Logo, a função lógica continua a mesma estudada na Unidade 2. Neste mesmo raciocínio, analisaremos a função lógica XNOR, estudada, também, na Unidade 2, e apresentada na Tabela 4, a seguir. 89 UNIDADE 4 Tabela 4 - Tabela função XNOR A B S 0 0 1 0 1 0 1 0 0 1 1 1 Fonte: o autor. Transportando para o mapa de Karnaugh, temos a Figura 7. 0A A B B 1 10 Figura 7 - Mapa de Karnaugh para a lógica XNOR Fonte: o autor. Notamos, também, neste caso, que não temos vi- zinhos nem na vertical, nem na horizontal, des- sa forma, a função XNOR está, também, entre os casos que não admitem simplificação. Logo, a função lógica continua a mesma estudada na Unidade 2. Agora, aprenderemos a simplificar diagramas com 3 variáveis de entrada. Primeiramente, veri- ficaremos todas as possibilidades de entrada de uma tabela de 3 variáveis de entrada, e nomear as saídas. A Tabela 5 mostra este caso. Tabela 5 - Tabela com 3 variáveis de entrada e saídas no- meadas A B C S 0 0 0 S0 0 0 1 S1 0 1 0 S2 0 1 1 S3 1 0 0 S4 1 0 1 S5 1 1 0 S6 1 1 1 S7 Fonte: o autor. O mapa de Karnaugh para 3 variáveis de entrada é um pouco diferente de 2 entradas, o mesmo é mostrado na figura a seguir: Figura 8 - Mapa de Karnaugh para 3 variáveis Fonte: oautor. O primeiro passo é aprendermos a transportar os valores da tabela verdade para o mapa de Karnaugh, respeitando as posições corretas, então, analisare- mos todos os casos. Temos que analisar sempre à quais entradas uma saída pertence, simultanea- mente, assim, descrevemos todas as situações a seguir para o mapa de 3 variáveis de entradas. A A B B S0 C C C S1 S3 S2 S4 S5 S7 S6 90 UNICESUMAR No mapa da Figura 8, a posição de saída S0 corresponde, simultaneamente, às entradas A e B e C , dessa forma, o valor que for, na saída, referente às entradas A=0 e B=0 e B= 0, transpor- taremos para a posição S0 do mapa. • A posição de saída S1 corresponde, simul- taneamente, às entradas A e B e C , dessa forma, o valor que for, na saída, referente às entradas A=0 e B=1 e C = 1, transportare- mos para a posição S1 do mapa. • A posição de saída S2 corresponde, simul- taneamente, às entradas A e B e C , des- sa forma, o valor que for, na saída, referente às entradas A=0 e B=1 e C = 0, transporta- remos para a posição S2 do mapa. • A posição de saída S3 corresponde, simul- taneamente, às entradas A e B e C , des- sa forma, o valor que for, na saída, referente às entradas A=0 e B=1 e C = 1, transporta- remos para a posição S3 do mapa. • A posição de saída S4 corresponde, simul- taneamente, às entradas A e B e C , des- sa forma, o valor que for, na saída, referente às entradas A=1 e B=0 e C = 0, transporta- remos para a posição S4 do mapa. • A posição de saída S5 corresponde, simul- taneamente, às entradas A e B e C , des- sa forma, o valor que for, na saída, referente às entradas A=1 e B=0 e C = 1, transporta- remos para a posição S5 do mapa. • A posição de saída S6 corresponde, simul- taneamente, às entradas A e B e C , des- sa forma, o valor que for, na saída, referente às entradas A=1 e B=1 e C = 0, transporta- remos para a posição S6 do mapa. • A posição de saída S7 corresponde, simul- taneamente, às entradas A e B e C , des- sa forma, o valor que for, na saída, referente às entradas A=1 e B=1 e C = 1, transporta- remos para a posição S7 do mapa. Para chegarmos ao melhor patamar de simplifica- ção, temos que tentar associar o maior número de elementos comuns (em 1) possíveis. Para o mapa de 3 entradas, temos 8 possíveis combinações, ou seja, 8 posições para agruparmos da seguinte forma: • Devemos agrupar o maior número de ter- mos comuns (em 1) possíveis, começando com 8 (se houver), depois 4 (se houver) e por fim 2 elementos; • Não é possível agrupar qualquer outro nú- mero de elementos diferentes destes citados. • No caso de apenas 2 elementos, não pode- mos agrupar na diagonal, somente vertical e horizontal. Temos, agora, uma tabela aleatória para que pos- samos analisar e colocar em prática a ferramenta de simplificação por mapa de Karnaugh de 3 va- riáveis. Veja a Tabela 6 a seguir. Tabela 6 - Tabela verdade A B C S 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Fonte: o autor. Então, executaremos passos organizados para simplificar um circuito de 3 entradas, são eles: c) Extrair a função lógica antes da simplifi- cação da Tabela 6. d) Montar o circuito sem a simplificação da Tabela 6. e) Transportar os dados de saída da Tabela 6 para o mapa de Karnaugh da Figura 10. f) Retirar a função lógica simplificada do mapa da Figura 9. g) Montar o circuito simplificado da função lógica simplificada. 91 UNIDADE 4 a) Como já sabemos, neste caso, nos preocupamos apenas com as combinações onde as saídas estão em nível lógico 1. Temos, então, a função lógica da Tabela 6. S A BC A BC A BC A BC A BC A BC� � � � � �. . . . . . . . . . . . (3) b) Da função lógica (3) retiramos o circuito lógico equivalente, mostrado na Figura 9. Figura 9 - Circuito equivalente da função lógica (3) Fonte: o autor. c) Transportando os dados da Tabela 6 para o mapa da Figura 10. A A B B C C C 1 1 1 1 1 1 0 0 Figura 10 - Mapa de Karnaugh da Tabela 6 Fonte: o autor. d) Agora, retiraremos a função lógica sim- plificada, associando os vizinhos, come- çando com o número de 4 elementos vi- zinhos, se houver. • Temos, primeiramente, 4 vizinhos na horizontal e na vertical, conforme a Figura 11. Figura 11 - Termos vizinhos Fonte: o autor. • Todos os elementos vizinhos pertencem, simultaneamente, à região B, logo, esta as- sociação fica somente B. • Temos, ainda, mais duas posições em 1, devemos associar todos os elementos 1 do mapa. Um elemento, mesmo que tenha sido utilizado em uma associação, pode ser utilizado novamente, se for para me- lhor simplificação da função lógica. Dessa forma, agruparemos o elemento S5 com o vizinho S7, conforme a Figura 12. A A B B C C C 1 1 1 1 1 1 0 0 A A B B C C C 1 1 1 1 1 1 0 0 Figura 12 - Segundo agrupamento de elementos Fonte: o autor. 92 UNICESUMAR • Vemos que, agora, os elementos agrupados pertencem, ao mesmo tempo, à região A e, também, à região C, dessa forma, esta parcela fica A.C. • Temos, ainda, o elemento S0 para associar. Veja que ele não tem vizinho na vertical e na horizontal, mas o mapa de Karnaugh nos permite, neste caso, fechar o mapa em forma de cilindro, de forma que as duas posições mais à esquerda fiquem vizinhas das 2 posições mais à direita, fazendo com que as posições S0 e S4 fiquem vizinhas das posições S2 e S6, conforme marcado em azul, na Figura 13. A A B B C C C 1 1 1 1 1 1 0 0 Figura 13 - Terceiro passo do agrupamento Fonte: o autor. Os 2 elementos S0 e S2 são vizinhos na horizon- tal e pertencem, simultaneamente, às regiões A e C , dessa forma, temos esta parcela da função como AC. . Podemos, agora, somar todas as parcelas sim- plificadas para formar a função lógica equivalente simplificada. Temos, então: S B AC AC� � �. . (4) Neste caso, ainda dá para verificar mais uma sim- plificação. Sabendo que AC AC. .+ é a expressão da função lógica XNOR, podemos substituir na função lógica final. A B S C S B A C� � �( ) (5) e) Por último, apresentamos o circuito sim- plificado da função (5) na Figura 14. Figura 14 - Circuito simplificado Fonte: o autor. Comparando o circuito da Figura 9 com o da Figura 14, notamos que, para este exemplo, tivemos um nível de simplificação enorme, o que, na prática, nos dará facilidade de montagem, um circuito menor em dimensões e, também, com menos consumo de energia, pois diminuiu muito o número de portas lógicas e, consecutivamente, de circuitos integrados. Simplificaremos, então, o circuito do exemplo 3-b da Unidade 2. Para aquele exemplo, temos a Tabela 7: 93 UNIDADE 4 A A B B C C C 1 1 1 1 1 0 0 0 Tabela 7 - Tabela do exemplo 3-b da Unidade 2 A B C S 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 Fonte: o autor. E a função lógica da Tabela 7, que é: S A BC A BC A BC A BC A BC� � � � �( . . ) ( . . ) ( . . ) ( . . ) ( . . ) (6) Assim, transportaremos os dados de saída da Tabela 7, simplificar por Karnaugh e confirmar se deu ou não simplificação. Os dados transportados para o mapa de Karnaugh são apresentados na Fi- gura 15. Figura 15 - Mapa de Karnaugh da Tabela 7 Fonte: o autor. Vamos, agora, às simplificações: • Começando, sempre, com o maior número de termos, neste caso, temos 4 termos vizinhos marcados em amarelo, esses termos pertencem, simultaneamente, à região B, logo, esta parcela da função fica somente B, conforme a Figura 16. 94 UNICESUMAR Figura 16 - Agrupamentos de termos da Tabela 7 Fonte: o autor. • A seguir, temos um termo sozinho (S1) que está vizinho com S3, na horizontal, devemos associar os dois, onde marcamos em verme- lho. Dessa forma, os dois pertencem, simul- taneamente, às regiões A e C, assim, a outra parcela fica AC. , conforme a Figura 17. Agora, aprenderemos a simplificar diagramas com quatro variáveis de entrada, primeiramente, verificaremos todas as possibilidades de entrada de uma tabela de 4 variáveis de entrada e nomear as saídas. A Tabela 8 mostra este caso. Tabela8 - Tabela para 4 variáveis de entrada A B C D S 0 0 0 0 S0 0 0 0 1 S1 0 0 1 0 S2 0 0 1 1 S3 0 1 0 0 S4 0 1 0 1 S5 0 1 1 0 S6 0 1 1 1 S7 1 0 0 0 S8 1 0 0 1 S9 1 0 1 0 S10 1 0 1 1 S11 1 1 0 0 S12 1 1 0 1 S13 1 1 1 0 S14 1 1 1 1 S15 Fonte: o autor. O mapa de Karnaugh para tabelas de 4 variáveis de entrada deve possuir 16 posições (S0 a S15), o que engloba todas as possibilidades de combina- ções de entrada. A Figura 18 mostra o mapa com todas as posi- ções numeradas. Repare que a metade de baixo do mapa se parece com a metade de cima, espelhada. A A B B C C C 1 1 1 1 1 0 0 0 Figura 17 - Termos associados Fonte: o autor. Finalmente, podemos apresentar a função lógica final, somando as 2 parcelas retiradas do mapa de Karnaugh, da seguinte forma: S B AC� � . (7) Comparando, agora, a função (6) com a função (7), notamos, também, um grande grau de simpli- ficação. Montando o circuito da função 7, teremos uma economia bem considerável de tempo, har- dware e consumo de energia. A A B B C C C 1 1 1 1 1 0 0 0 A A B B S0 C C D S1 S3 S2 S4 S5 S7 S6 B D D S12 S13 S15 S14 S8 S9 S11 S10 Figura 18 - Mapa de Karnaugh para 4 variáveis de entrada Fonte: o autor. 95 UNIDADE 4 • No mapa da Figura 18, a posição de saída S0 corresponde, simultaneamente, às entra- das A e B e C e D , dessa forma, o valor que tiver na saída referente às entradas A=0 e B=0 e B=0 e D=0, transportaremos para a posição S0 do mapa. • A posição de saída S1 corresponde, simul- taneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, refe- rente às entradas A=0 e B=0 e B= 0 e D=1, transportaremos para a posição S1 do mapa. • A posição de saída S2 corresponde, simul- taneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, refe- rente às entradas A=0 e B=0 e B= 1 e D=0, transportaremos para a posição S2 do mapa. • A posição de saída S3 corresponde, simul- taneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, refe- rente às entradas A=0 e B=0 e B= 1 e D=1, transportaremos para a posição S3 do mapa. • A posição de saída S4 corresponde, simul- taneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, refe- rente às entradas A=0 e B=1 e B= 0 e D=0, transportaremos para a posição S4 do mapa. • A posição de saída S5 corresponde, simul- taneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, refe- rente às entradas A=0 e B=1 e B= 0 e D=1, transportaremos para a posição S5 do mapa. • A posição de saída S6 corresponde, simul- taneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, refe- rente às entradas A=0 e B=1 e B= 1 e D=0, transportaremos para a posição S6 do mapa. • A posição de saída S7 corresponde, simul- taneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, refe- rente às entradas A=0 e B=1 e B= 1 e D=1, transportaremos para a posição S7 do mapa. • A posição de saída S8 corresponde, simul- taneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, refe- rente às entradas A=1 e B=0 e B= 0 e D=0, transportaremos para a posição S8 do mapa. • A posição de saída S9 corresponde, simul- taneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, refe- rente às entradas A=1 e B=0 e B= 0 e D=1, transportaremos para a posição S9 do mapa. • A posição de saída S10 corresponde, si- multaneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, referente às entradas A=1 e B=0 e B= 1 e D=0, transportaremos para a posição S10 do mapa. • A posição de saída S11 corresponde, si- multaneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, referente às entradas A=1 e B=0 e B= 1 e D=1, transportaremos para a posição S11 do mapa. • A posição de saída S12 corresponde, si- multaneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, referente às entradas A=1 e B=1 e B=0 e D=0, transportaremos para a posição S12 do mapa. • A posição de saída S13 corresponde, si- multaneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, Novamente, aprenderemos a transportar os valores da tabela verdade para o mapa de Karnaugh, res- peitando as posições corretas. Assim, analisaremos todos os casos. Temos que analisar, sempre, à quais entradas uma saída pertence, simultaneamente, assim, des- crevemos todas as situações, a seguir, para o mapa de 4 variáveis de entradas. 96 UNICESUMAR referente às entradas A=1 e B=1 e B=0 e D=1, transportaremos para a posição S13 do mapa. • A posição de saída S14 corresponde, si- multaneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, referente às entradas A=1 e B=1 e B=1 e D=0, transportaremos para a posição S14 do mapa. • A posição de saída S15 corresponde, si- multaneamente, às entradas A e B e C e D , dessa forma, o valor que for, na saída, referente às entradas A=1 e B=1 e B=1 e D=1, transportaremos para a posição S15 do mapa. Para chegarmos ao melhor patamar de simplifica- ção, temos que tentar associar o maior número de elementos comuns possíveis (em 1). Para o mapa de 4 entradas, temos 16 possíveis combinações, ou seja, 16 posições para agruparmos da seguinte forma: • Devemos agrupar o maior número de ter- mos comuns (em 1) possíveis, começando com 16 (se houver), depois, 8 (se houver), depois, 4 (se houver) e, por fim, 2 elementos. • Não é possível agrupar qualquer outro nú- mero de elementos diferentes destes citados. • No caso de apenas 2 elementos, não pode- mos agrupar na diagonal, somente na ver- tical e horizontal. Agora, colocaremos, em prática, o que foi explanado sobre simplificação, utilizando o mapa de Karnaugh para uma tabela verdade de 4 variáveis de entrada. Veja a Tabela 9 a seguir: Tabela 9 - Tabela de exemplo com 4 variáveis de entrada A B C D S 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 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 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 Fonte: o autor. 97 UNIDADE 4 A Figura 19, a seguir, mostra o mapa de Karnaugh com os valores da Tabela 9 transportados. Note que mantivemos a marcação das posições para facilitar a identificação. A A B B S0 C C D S1 S3 S2 S4 S5 S7 S6 B D D S12 S13 S15 S14 S8 S9 S11 S10 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 A A B B S0 C C D S1 S3 S2 S4 S5 S7 S6 B D D S12 S13 S15 S14 S8 S9 S11 S10 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 A A B B S0 C C D S1 S3 S2 S4 S5 S7 S6 B D D S12 S13 S15 S14 S8 S9 S11 S10 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 Figura 19 - Mapa com os valores transportados Fonte: o autor. Agora, aplicaremos as associações dos elementos para a simplificação. Podemos começar com qual- quer uma das possíveis associações, neste caso, será com as posições S0, S1, S2, S3 (marcadas em amare- lo). Notamos que elas estão vizinhas na horizontal e em número de 4, que é permitido para associação. A Figura 20 mostra esta primeira associação. Figura 20 - Primeira associação Fonte: o autor. Temos, então, que verificar, na associação da Fi- gura 20, à quais entradas elas pertencem, simul- taneamente. A parcela da função resultante da Figura 20 fica: A B. , pois os 4 elementos perten- cem, ao mesmo tempo, apenas a estas duas regiões. Olhando, agora, temos mais uma associação de 4 elementos, são eles: S10, S11, S14 e S15 (mar- cados em verde). Dessa forma, podemos associar conforme a Figura 21, veja: Figura 21 - Segunda associação de elementos Fonte: o autor. Os 4 elementos marcados em verde, na Figura 21, pertencem, ao mesmo tempo, às regiões AC. , que é mais uma parcela da nossa função lógica final. Mapa de Karnaugh é um método de sim- plificação gráfico criado por Edward Veit- ch (1952) e aperfeiçoado pelo engenheiro de telecomunicações Maurice Karnaugh. Por esse método, podemos mapear os valores de umatabela verdade e extrair a função lógica simplificada. https://pt.wikipedia.org/wiki/Edward_Veitch https://pt.wikipedia.org/wiki/Edward_Veitch https://pt.wikipedia.org/wiki/Maurice_Karnaugh 98 UNICESUMAR Por último, verificamos que sobrou, ainda, sem associar, os elementos S4 e S5. Eles são vizinhos na horizontal, mas note que temos, também, os elementos S0 e S1, os quais são vizinhos deles na vertical. Elementos com valores em 1 podem ser utilizados, novamente, para reduzir, ainda mais, a função, ou seja, se associarmos somente S4 e S5, teremos uma parcela da função maior do que se associarmos S0, S1, S4 e S5, pois, quanto maior o número de elementos, menor fica nossa função. Dito isso, temos marcado em azul, na Figura 22, a última associação para este exemplo. Esta parcela, fica, então, AC. . A A B B S0 C C D S1 S3 S2 S4 S5 S7 S6 B D D S12 S13 S15 S14 S8 S9 S11 S10 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 A A B B S0 C C D S1 S3 S2 S4 S5 S7 S6 B D D S12 S13 S15 S14 S8 S9 S11 S10 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 Assim, podemos apresentar a função reduzida da Tabela 9 pela função 8, a seguir: S A B AC AC� � �. . . (8) Faremos mais três considerações sobre esse exem- plo. A primeira delas é que, se tivéssemos feito a associação somente dos elementos S4 e S5, confor- me a Figura 23 (marcado em azul), nossa última parcela ficaria A BC. . , onde aparece um termo B na parcela, ficando um pouco maior. Figura 22 - Última associação Fonte: o autor. A segunda observação é que, na função 8, a segunda e a terceira parcela ( AC AC. .+ ) nos lembram algo já estudado, que é a lógica XNOR. Dessa forma, nossa função 8 pode ser resumida e apresentada pela função 9. S A B A C� � �. ( ) (9) A terceira observação é a comparação da função lógica (10) retirada da tabela verdade sem a simpli- ficação, com a função (9). Veja que tivemos um nível grande de simplificação. S A BC D ABC D ABC D ABC D ABC D ABC D ABC D � � � � � � �( . . . . . . . . . . . . . . . . . . . . . �� � �A BC D ABC D ABC D. . . . . . . . . ) (10) Figura 23 - Outra possibilidade de associação Fonte: o autor. 99 UNIDADE 4 O diagrama de Karnaugh é uma das ferramen- tas para simplificação de circuitos lógicos, ele é muito eficaz quando temos uma tabela verdade já preenchida, como vimos nos exemplos, mas exis- tem outras maneiras de simplificação. A seguir, aprenderemos mais uma ferramenta de simplifi- cação de funções lógicas, que é também conhecida como álgebra de Boole. As funções lógicas podem, também, ser chama- das de funções booleanas. Por meio da álgebra de Boole, podemos reduzir funções lógicas completas ou incompletas, sem a necessidade de montar uma tabela verdade. É uma tarefa não muito fácil, pois, às vezes, é difícil saber se já chegamos ao melhor resultado da simplificação. Para isso, conheceremos algumas ferramentas que nos ajudarão nessa tarefa, que são os postulados, as propriedades e os teore- mas (CAPUANO; IDOETA, 2011). Vamos a eles: Nem sempre é possível simplificar um circuito digital, pois existem circuitos que não admitem simplificações e já estão em sua forma mínima, mas devemos fa- zer a análise da simplificação em todos os circuitos, pois isso nos dará a certeza de que o circuito montado é o melhor e mais otimizado para o caso. Note, também, que, quanto maior o número de elementos associados, menor fica a parcela da função lógica e, consecutiva- mente, menor será o circuito. Postulado da complementação: • Se A=1, logo, A = 0 , e se A=0, logo, A =1. Dessa forma, se barrarmos 2 vezes uma variável, ela terá o valor inicial (sem barra). • Postulado da adição: analisando as 4 possibilidades de adição, temos: 0 0 0 0 1 1 1 0 0 1 1 1 � � � � � � � � � � � � � � � • Dessa forma, podemos adotar as identidades: A A A A A A A A � � � � � � � � � � � � � � � 1 1 0 1 . • Para provar, é só substituir A por 0 ou por 1, que confirmaremos o resultado. • Postulado da multiplicação: analisando as 4 possibilidades de multiplicação, temos: 0 0 0 0 1 0 1 0 0 1 1 1 . . . . � � � � � � � � � � � , deste postulado, podemos retirar as seguintes identidades: A A A A A A A A . . . . 0 0 1 0 � � � � � � � � � � � . 100 UNICESUMAR Podemos, também, utilizar algumas das propriedades da álgebra matemática, são elas: • Propriedade comutativa: podemos utilizar na adição e na multiplicação. Dessa forma, temos: A+B = B+A e, também, A.B = B.A. • Propriedade associativa na adição: A+(B+C) = (A+B)+C = (A+C)+B = A+B+C. • Propriedade associativa na multiplicação: A.(B.C) = (A.B).C = (A.C).B = A.B.C. • Propriedade distributiva: A.(B+C) = A.B+A.C. Não existe uma regra de qual ferramenta aplicar primeiro, devemos analisar cada caso individual- mente e podemos até chegar a resultados um pouco diferentes, mas o nível de simplificação sempre será o mesmo e, se aplicarmos os valores 0 e 1 na função final, obrigatoriamente, devemos ter o mesmo resultado de saída para tabela verdade. A melhor maneira de aprender os conceitos for- necidos é na prática, vamos, então, a alguns exem- plos. Para a função lógica (11), a seguir, apresente a função reduzida aplicando álgebra de Boole. Temos dois teoremas que são chamados de teo- remas de De Morgan, são eles: 1. O complemento do produto é igual à soma dos complementos. • A B A B. � � . 2. O complemento da soma é igual ao pro- duto dos complementos. • A B A B� � . S A BC AC A B� � �. . . . (11) Primeiramente, podemos isolar a variável A, que é comum a todas as parcelas, aplicando a proprie- dade distributiva. S A BC C B� � �( . ) (12) Notamos, agora, entre parênteses, que podemos aplicar o teorema de De Morgan, em que a soma do complemento é o complemento do produto. S A BC BC� �( . . ) (13) Fazendo BC X. = , logo, teremos S A X X� �( . ) (14) Aplicando, agora, entre parênteses, a identidade de S X X� � �1 . Assim, finalmente, temos que S A= .( )1 , ou seja, S A= (15) 101 UNIDADE 4 O que significa S=A? significa que o valor da saída depende somente da variável “A”. Se A=1, logo S=1 e se A=0, logo S=0 independente dos valores de B e C. Vamos a mais um exemplo de redução de ex- pressão utilizando álgebra booleana. S AC B D C ACD� � � �( ) .( ) (16) Quando temos barras passando por toda função, ou parte dela, podemos utilizar os teoremas de De Morgan para separar essas barras, dessa forma, quando temos barras em cima de barras, podemos começar a eliminar aquelas de baixo. Aplicaremos, então, De Morgan no primeiro parênteses somen- te em AC. e no segundo parêntese todo. • Primeiramente, utilizando que o complemento do produto é igual à soma dos complemen- tos. Assim, temos: S A C B D C A C D� � � � � � �( ) .( ) (17) Temos uma barra no primeiro parêntese, podemos aplicar De Morgan, novamente, e “quebrar essa barra” (o complemento da soma é igual ao produto dos complementos), ao mesmo tempo, aplicaremos a propriedade distributiva na segunda parcela. S AC B D C A C C C D� � � �. . . . . . (18) • Aplicando que A A= e que C C. = 0 , temos: S AC B D C A C D� � �. . . . . (19) • Aplicando distributiva nos termos comuns, temos: S C A C D AB� � �. ( . )( )1 (20) • Aplicando que A+1=1, ou seja, (qualquer coisa)+1=1, temos, então. S C A C D� �. ( . )( )1 (21) Logo, na expressão booleana final, fica: S C A C D� �. . ou até mesmo S C A D� �.( ) (22) 102 UNICESUMAR Você deve ter notado, no decorrer desta unidade, que, de uma ideia inicial de um sistema digital, passamos por uma análise de sim- plificação de nosso hardware. Notamos, também, que, em quase todos os casos, conseguimos um nível de redução significativo e, consecutivamente, de custos de um projeto digital. Essa tarefa tem de ser inerente ao engenheiro que venha a trabalhar com sistemas digitais, um grande diferencial na área de projetos. Quanto à comparação entre a tecnologia de tubos de raios cató- dicos (TRC) utilizada nos televisores antigos e as utilizadas,atual- mente, nos modernos smartphones, notamos uma brutal mudança graças às tecnologias inovadoras que surgiram após novos materiais serem desenvolvidos pela ciência, o que permitiu o aumento da frequência de chaveamento dos circuitos internos dos dispositivos. Com isso, tivemos a miniaturização de diversos dispositivos, como computadores, telefones celulares, televisores, rádios, fontes de alimentação etc. Fato que responde, também, à questão rela- tiva ao rádio FM integrado em pequenos dispositivos, como os smartphones, por exemplo. A onda de rádio que atua na faixa de MHz (alta frequência), assim, pode operar com componentes pe- quenos, possíveis de serem fabricados com os materiais que temos na atualidade. Já a faixa de AM opera em kHz, baixa frequência, o que exige componentes de maiores dimensões, não integráveis em equipamentos tão reduzidos. 103 M A P A M EN TA L DIMINUIÇÃO DE TAMANHO DIMINUIÇÃO DE CONSUMO SIMPLIFICAÇÃO DE EXPRESSÕES MAPA DE KARNAUGH ÁLGEBRA DE BOOLE A partir deste momento, resgataremos o conhecimento acumulado até aqui para ve- rificar características do processo de simplificação de expressões. No mapa, a seguir, são apresentadas duas vantagens conseguidas com a simplificações das expressões. Apresente, no seu mapa, mais duas vantagens consegui- das com a simplifi- cação de expressões booleanas. SIMPLIFICAÇÃO DE EXPRESSÕES MAPA DE KARNAUGH ÁLGEBRA DE BOOLE A G O R A É C O M V O C Ê 104 1. Um processo de controle lógico foi decodificado e a expressão que o descreve é dada a seguir. Pelo método de simplificação por álgebra de Boole, simplifique a expressão dada: S A B C D C B� �� ��� �� � �� ��� ��. . 2. Em uma máquina com entradas A, B, C e uma saída S, dada na tabela a seguir, apresente: A B C S 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0 a) A expressão lógica antes da simplificação. b) O circuito lógico antes da simplificação. c) Expressão lógica simplificada por meio do diagrama de Karnaugh. d) O circuito lógico equivalente simplificado por Karnaugh. 3. Os displays de 7 segmentos podem mostrar alguns caracteres diferentes de números, como já vimos na Unidade 3, neste momento, se reportando à figura a seguir: Vamos desenvolver um sistema digital decodificador para 7 segmentos, de 2 entradas, que mostra a palavra PARE, conforme a combinação de entradas da tabela a seguir: casos comb A B a b c d e f g 0 P 0 0 1 1 0 0 1 1 1 1 A 0 1 1 1 1 0 1 1 1 2 R 1 0 0 0 0 0 1 0 1 3 E 1 1 1 0 0 1 1 1 1 Dessa forma, por meio da ferramenta de simplificação de diagrama de Karnaugh, apresente os seguintes itens: • Dica: para cada saída, deve-se fazer um diagrama de Karnaugh. a) Funções lógicas simplificadas por Karnaugh (uma para cada saída de “a” até “g”). b) Circuito lógico simplificado por diagrama de Karnaugh. A G O R A É C O M V O C Ê 105 4. A utilização de ferramentas de simplificação de expressões lógicas permite a otimização de códigos e circuitos lógicos. Sobre a simplificação por diagrama de Karnaugh, assinale a alternativa correta: a) Existem casos que não permitem simplificação, tais como lógica XOR e OR. b) Podemos associar 2 elementos na vertical e diagonal para simplificar os termos. c) Em um mapa de Karnaugh de 4 entradas, podemos associar 16, 8, 6, 4 e 2 elementos por vez, começando, sempre, pelo maior. d) Os elementos de um mapa de Karnaugh que já foram associados podem ser utilizados, nova- mente, em outra associação, para simplificar, ainda mais, a expressão. e) A lógica XNOR é também simplificada por diagrama de Karnaugh, apresentando bom nível de simplificação. C O N FI R A S U A S R ES P O ST A S 106 1. S A B C D C B� �� ��� �� � �� ��� ��. . . Aplicando De Morgan nos dois colchetes, temos: S A B C D C B� � ��� �� � � �� ��� ��( ) . Aplicando De Morgan nos dois parênteses, temos: S A B C D C B� � � �( . ) ( . ) . Aplicando a propriedade distributiva no termo comum C , temos: S A B C B D� � � �( . ) ( )1 . Como 1 1� �B , temos: S A B C D� � �( . ) . 2. a) Como nos preocupamos onde a saída é 1, temos a expressão completa antes da simplificação. S A BC A BC A BC� � �. . . . . . . b) c) A A B B C C C 1 0 0 1 1 0 0 0 • Veja que, no mapa de Karnaugh da questão 2, não temos 1 vizinhos nem na horizontal, nem na vertical, logo, esse circuito não admite simplificação por diagrama de Karnaugh. d) O mesmo circuito da letra B, pois não admite simplificação por Karnaugh. C O N FI R A S U A S R ES P O ST A S 107 a) Simplificação por Karnaugh • Função do segmento “a” simplificado por Karnaugh: A A B B 1 10 1 a) A A B B 1 10 1 b) a A B� � . A função da saída “f” é igual à função da saída “a”, logo, as duas podem ser interligadas, pois são acionadas e desacionadas sempre ao mesmo tempo. Logo, temos: f A B� � . • Função do segmento “b” simplificado por Karnaugh: A A B B 1 10 1 c) • Função do segmento “b” simplificado por Karnaugh: b A= . • Função do segmento “c” simplificado por Karnaugh: c A B= . . C O N FI R A S U A S R ES P O ST A S 108 • Função do segmento “d” simplificado por Karnaugh: d A B= . . • Função do segmento “e” e “g” simplificado por Karnaugh: • Os segmentos “e” e “g” estão em nível lógico 1 em todas as combinações de entrada, logo, os mesmos podem ser ligados ao +Vcc do circuito. 3. b) Circuito lógico simplificado. A A B B 10 d) 0 0 A A B B 1 e) e g) 1 1 1 4. D. Podemos associar um elemento mais de uma vez, para simplificar a expressão. R EF ER ÊN C IA S 109 CAPUANO, F. G.; IDOETA, I. V. Elementos de eletrônica digital. São Paulo: Érica, 2011. 110 M EU E SP A Ç O 5 OPORTUNIDADES DE APRENDIZAGEM Circuitos aritméticos somadores e subtratores Nesta unidade, o(a) estudante terá a oportunidade de aprender como implementar os circuitos somadores e subtratores digitais utilizados em circuitos lógicos combinacionais e sequenciais, com implementação prática de portas lógicas às operações aritméticas de soma e subtração estudadas nas unidades anteriores. Este estudo permitirá entender como ocorre a sequência de operações necessárias para realizar a soma e a subtração de números binários em circuitos lógicos digitais. Me. Emerson Charles Martins da Silva 112 UNICESUMAR Você sabe como a sua calculadora faz para realizar operações de soma e subtração quando dois valores são digitados? Esta operação é muito útil no processamento de dados quando operações lógicas e aritméticas devem ser realizadas por um cir- cuito eletrônico, por exemplo, as tomadas de decisões automáticas que controladores digitais devem indicar para acionar dispositivos, mostradores digitais de grandezas quantitativas, como peças produ- zidas em uma linha de produção, número de giros de um eixo etc. Você sabe como realizar essas operações utilizando elementos de eletrônica digital? Os circuitos dos dispositivos eletrônicos modernos utilizados na indústria são capazes de tomar decisões importantes que dependem da interação entre valores de entrada, como: o número de giros de um eixo, a quantidade de peças que passam por uma esteira ou mesmo a quantidade de bits de um trem de pulsos em uma comunicação entre dispositivos. Os modernos smartphones e computadores pessoais têm compo- nentes dedicados a processar dados com rapidez e volume, permitin- do a execução de programas pesados e de arquivos complexos, com a relação entre hardware e softwares adequados, porém, com o mesmo princípio funcional lógico que você, estudante, aprenderá agora. Nesta unidade, você entenderá como montar, com portas lógicas, um circuito capaz de realizar soma e/ou subtração. Aquelas mesmas portas lógicas que estudamos em unidades anteriores, colocando, na prática, a simplificação por diagrama de Karnaugh e outras ferra- mentas muito importantes. Como você está entrando no mundo da eletrônica digital, dos somadores e subtratores, podemos rea- lizar umadinâmica importante para o seu aprendizado. Gostaria que você listasse cinco dispositivos que conheça e que necessitam de operações de soma e subtração. Vejamos, a seguir, dois exemplos: • Uma máquina de enrolar transformadores que deve realizar a soma de enrolamentos de uma bobina com a outra para acumular o total de espirais enroladas. • Máquina de embalagens que possui 200 caixas e, à medida que o processo automático retira caixas de uma pilha, o valor é decrementado do total para que, ao final das 200 unidades, uma lâmpada seja acionada, informando o momento da inserção de mais caixas. E aí, conseguiu pensar em mais alguns exemplos para efetivar o seu exercício? 113 UNIDADE 5 Como seria possível determinar, automaticamente, o momento correto quando um atuador robótico deve interromper seu funcionamento, chegando ao fim de sua trajetória de solda, sem o uso de estru- turas de incremento e decremento eletrônicas? Os robôs de solda utilizam servomecanismos que são acionados para atuar em trajetórias predefinidas, em que cada grau de liberdade realimenta a base de controle com sua posição atual, podendo, assim, posicionar a ferramenta em qualquer posição do espaço tridimensional limitado pelas suas dimensões (GENTILIN, 2020). Para que o posicionamento possa ocorrer, entretanto, cada servoatuador deve realizar um movimento finito, que depende de um número de graus variante no tempo. Um encoder absoluto ou incremental informa ao circuito de controle pulsos que correspondem a cada grau de giro do eixo. O movimento de cada atuador tem um valor total de pulsos a serem executados pelo curso do eixo até o fim de sua trajetória. Esta, quando tem início, deve incrementar ou decrementar de sua posição atual o valor total a ser cumprido. Pensando neste exemplo, como seria possível incrementar ou decrementar valores a ponto de de- terminar a posição do eixo da máquina, utilizando elementos de eletrônica digital? D IÁ R IO D E B O R D O 114 UNICESUMAR Agora, implementaremos um circuito que soma dois números bi- nários de 1 bit apenas. Seja um número “a”, seja um número “b”, conforme já estudamos, teremos um número “s” como resultado, podendo ou não ter 1 bit de transporte que, a partir de agora, cha- maremos de carry out (CO). Dessa forma, podemos montar uma tabela verdade de acordo com todas as combinações de soma entre o número “a” e o número “b”, resultando em uma saída “s” e, também, em uma saída “CO” quando houver o bit de transporte, conforme visto nas operações aritméticas. A Tabela 1 nos apresenta todas as possibilidades de soma de “a” + “b”. Tabela 1 - Tabela de soma de números de 1 bit A B S CO 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Fonte: o autor. Agora que sabemos simplificar expressões por diagrama de Karnaugh, podemos retirar expres- sões simplificadas para as saídas “S” e “CO”. Transportando, então, a saída “S” para o mapa de Karnaugh, temos, na Figura 1: A A B B 1 1 0 1 s) Figura 1 - Tabela verdade para saída “S” Fonte: o autor. Notamos, pela Figura 1, que não temos vizinhos nem na horizontal, nem na vertical, somente na diagonal, logo, não podemos associar os termos em 1, dessa forma, temos que escrever a expres- são lógica dos dois termos que apresentamos na expressão 1 a seguir. S A B A B� �. . (1) Mas a expressão 1 nos lembra um dos casos que não admitem simplificação e, também, nos lembra a função do circuito combinacional XOR, dessa forma, podemos substituir a expressão 1 por: S A B� � (2) Agora, transportaremos os dados da saída CO para o mapa de Karnaugh, conforma a Figura 2. Figura 2 - Dados da saída CO no mapa de Karnaugh Fonte: o autor. Na Figura 2, temos apenas um termo em “1”, assim, também não temos simplificação. Temos, então, que escrever a expressão completa desse termo em 1, que fica: CO AB= . (3) A A B B 1 0 1 co) 0 115 UNIDADE 5 Podemos, agora, montar o circuito que faz a ope- ração de adição com números de apenas 1 bit (mostrado na Figura 3). A este tipo de circuito damos o nome de meio somador ou também utilizamos o termo em inglês half adder. A B S COAND XOR Figura 3 - Circuito meio somador Fonte: o autor. Para verificar se o circuito faz a soma correta de dois números de 1 bit, faremos, então, a prova. Colocaremos todas as possibilidades de entrada da tabela verdade (Tabela 1) no circuito da Figura 3 e veremos os resultados. • Combinação A=0 e B=0. Em uma porta XOR, sempre que as entradas forem iguais, as saídas assumem nível lógico “0”, logo, a saída S=0. Em uma porta lógica AND, sempre que temos, pelos menos, uma das entradas em “0”, a saída assume nível lógico “0”, dessa forma, a saída CO=0. • Combinação A=0 e B=1. Em uma porta XOR, sempre que as entradas forem diferen- tes, as saídas assumem nível lógico “1”, logo, a saída S=1. Em uma porta lógica AND, sempre que temos, pelos menos, uma das entradas em “0”, a saída assume nível lógico “0”, dessa forma, a saída CO=0. • Combinação A=1 e B=0. Em uma porta XOR, sempre que as entradas forem diferen- tes, as saídas assumem nível lógico “1”, logo, a saída S=1. Em uma porta lógica AND, sempre que temos, pelos menos, uma das entradas em “0”, a saída assume nível lógico “0”, dessa forma, a saída CO=0. • Combinação A=1 e B=1. Em uma porta XOR, sempre que as entradas forem iguais, as saídas assumem nível lógico “0”, logo, a saída S=0. Em uma porta lógica AND, sempre que temos as duas entradas em “1”, a saída assume nível lógico “1”, dessa forma, a saída CO=1. Confirmamos, então, que os resultados da análise das combinações conferem a tabela verdade do circuito meio somador. Para uma simplificação, podemos representar o circuito da Figura 3 em um bloco, mostrando apenas suas entradas e saídas, deixando implícito o que tem dentro do bloco, conforme a Figura 4. b a co s MEIO SOMADOR Figura 4 - Bloco do circuito meio somador Fonte: o autor. O circuito meio somador faz a soma de números de apenas 1 bit, mas isso nem sempre é suficiente. Agora, aprenderemos como somar números de mais de 1 bit, mas, para isso, desenvolveremos um circuito capaz de realizar esta tarefa e, com a junção de vários destes, podemos somar números de “n” bits. 116 UNICESUMAR Para somar o número de A com o número B de 2 bits da Figura 5, estudaremos o somador com- pleto, também chamado, em inglês, de full adder. Figura 5 - Soma de dois números de dois bits Fonte: o autor. Primeiramente, analisaremos os dados da Figura 5. Vemos que o número A tem o bit “0” (A0) mais à direita, e o bit “1” (A1), mais à esquerda. Do mesmo modo, temos o número B com o bit “0” (B0) mais à direita, e o bit”1” (B1), mais à esquerda. Temos, agora, também, mais um termo, que é o transporte de entrada CI (carry in) que pode ou não aparecer na entrada da soma a partir da coluna 1. A B S A B S + 1 1 1 0 0 0 CI1 CO1 CO0 Conforme fazemos na aritmética, somamos bit a bit, da direita para a esquerda; a soma de A0 com B0 resulta em S0 e pode ou não ter 1 bit de trans- porte CO0 (saída). Na coluna 1, temos a soma de A1 com B1 e, como resultado, a soma S1, podendo ter ou não o bit de transporte CO0, lembrando que, em caso de resultar 1 bit de transporte da coluna “0” (saída CO), esse bit será transportado para a entrada da coluna 1, somando-se a A1 e B1. Como na entrada da soma da coluna “0” não tem nenhum dado somando com A0 e B0, não te- mos um carry in, dessa forma, a soma da coluna “0” pode ser realizada com o meio somador estudado. Montaremos, então, a tabela verdade para o circuito somador completo. Temos que somar o número A com o número B, levando em conside- ração que podemos ter 1 bit carry in na entrada da soma e, também, que teremos as saídas S e o bit de transporte de saída CO. Com o objetivo de melhorar o entendimento para montar a tabela verdade, apresentaremos, pri- meiramente, na Figura 6, o bloco para um circuito somador completo. b a Ci co s SOMADOR COMPLETO Figura 6 - Blocodo somador completo Fonte: o autor. Como um sistema de freio ABS atua sem que o veículo em movimento sofra um deslizamento ocasionado pelo travamen- to das rodas durante a frenagem? Este sistema, geralmente, utiliza um disco per- furado que modula a passagem da luz de um acoplador óptico para informar se há ou não movimento no eixo e, assim, realizar a frenagem sem o travamento das rodas. Mas como esse processo de detecção automática ocorre no que tange aos somadores e subtratores? 117 UNIDADE 5 Observando a Figura 6, verifi- camos que existem 3 entradas e 2 saídas, assim, nossa tabela verdade (Tabela 2) terá 8 pos- síveis combinações de entrada. O valor de S e Co, em cada li- nha da Tabela 2, é o resultado de A+B+Ci da linha respectiva, soma esta que aprendemos na Unidade 1. Tabela 2 - Tabela para somador completo A B Ci S Co 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Fonte: o autor. Transportaremos os valores da Tabela 2 para o mapa de Karnaugh, sendo um para a saída S, e outro, para a saída Co. A Figura 7 apresenta o mapa para saída S: Figura 7 - Dados da saída S transportados para mapa de Karnaugh Fonte: o autor. Notamos, no mapa da Figura 7, que não possuímos termos em 1 vizinhos, logo, não temos como sim- plificar com associação. Escreveremos, então, a expressão lógica completa e verificaremos se há alguma simplificação por fatoração. A função 4 mostra a expressão lógica completa da saída “S”. • A expressão 4 mostra a soma dos termos das posições (S1+S2+S4+S7) do mapa de Karnaugh (TOCCI; WIEDMER, 2003). S A BCi A BCi A BCi A BCi� � � �. . . . . . . . (4) Por fatoração, simplificaremos a expressão (4). Primeiramente, evidenciaremos nos termos onde for comum e, também , assim, temos: S Ci A B A B Ci A B A B� � � �.( . . ) .( . . ) (5) A A B B ci 1 1 10 0 s) cici 1 0 0 118 UNICESUMAR Resolvendo os parênteses, notamos que aparecem as funções XNOR e XOR, respectivamente, da es- querda para a direita, assim, temos: S Ci A B Ci A B� � � �.( ) .( ) (6) Sabemos, também, que A B A B� � � (7) Reescrevendo, temos: S Ci A B Ci A B� � � �.( ) .( ) (8) Fazendo S A B X A B X� � � � �, (9) Substituindo, temos: S Ci X Ci X� �. . (10) Assim, podemos escrever S Ci X� � (11) Retomando o valor de X, temos, então, a expressão final para o circuito somador completo. S Ci A B� � � , reorganizando: S A B Ci� � � (11) A A B B ci 1 0 0 co) cici 1 1 1 0 0 Agora, transportaremos os dados da Tabela 2 da saída Co para o mapa de Karnaugh, conforme Figura 8. Figura 8 - Dados da saída Co da Tabela 2 Fonte: o autor. 119 UNIDADE 5 Da Figura 8 temos 3 pares que podemos associar, marcados de cores diferentes, em que: Em amarelo, temos dois termos “1” comuns às regiões: BCi. Em vermelho, temos dois termos “1” comuns às regiões: A B. Em azul, temos dois termos “1” comuns às regiões: ACi. Logo, nossa expressão lógica para saída Co fica: Co A B ACi BCi� � �. . (12) Agora, já temos as expressões de saída para o somador com- pleto, então, podemos montar o circuito que realiza esta tarefa, mostrado na Figura 9. A B S Ci Co Figura 9 - Circuito somador completo Fonte: o autor. Agora que desenvolvemos o meio somador e o somador completo, podemos fazer um circuito para a soma de 2 números de 3 bits, mas este exemplo pode ser estendido e utilizado para desenvolver um somador de “n” bits. Para ficar mais simples, faremos o esque- ma em blocos com o objetivo de identificar todas as entradas e saídas, em seguida, faremos o circuito com portas lógicas para um somador de 3 bits. A Figura 10 apresenta o somador de 3 bits em blocos. Note que o bit de transporte de saída do meio somador (Co0, bloco mais à direita) fornece o dado para o bit de transporte de entrada (Ci1) do somador completo logo à esquerda, Veja, também, que o bit de transporte de saída do segundo bloco (Co1) fornece dado para o bit de transporte de entrada do próximo bloco (Ci2) e isso se repetirá para n blocos que forem adicionados. 120 UNICESUMAR Figura 10 - Esquema em blocos para somador de 3 bits Fonte: o autor. Para montarmos o circuito lógico do somador de 3 bits da Figura 10, temos que nos atentar para o número de entradas (temos 8) e de saídas (temos 6) e aplicar nas expressões lógicas do meio somador e do somador completo. Dessa forma, temos o circuito lógico na Figura 11 (CAPUANO; IDOETA, 1997). SOMADOR COMPLETO B2 SOMADOR COMPLETO A2 Ci2 CO2 S2 CO1 S1 B1 A1Ci1 B0 A0 MEIO SOMADOR CO0 S0 Ci2 B2 A2 Ci1 B1 A1 BO AO S0 Co0 S1 Co1 S2 Co2 Figura 11 - Circuito somador de 3 bits com portas lógicas Fonte: o autor. 121 UNIDADE 5 Agora, aprenderemos como implementar a função de subtração com números binários. Na Unidade 1, aprendemos a fazer a opera- ção manualmente, mas, nessa parte dos estudos, desenvolveremos um circuito com portas lógicas que pode executar uma operação de subtração de n bits. A subtração entre 2 números de bit resulta em 2 saídas, o resultado da subtração “S” e o bit de transporte de saída quando houver “Co”. Vamos, então, ao primeiro e mais simples circuito, que é o meio subtrator. O circuito meio subtrator é um circuito capaz de reali- zar a subtração de números de apenas 1 bit, dessa forma, temos de analisar todas as possíveis combinações de subtração utilizando “0” e “1”, como vimos na Unidade 1. A Tabela 3 nos mostra todas as possíveis combinações para subtração e, como fizemos na adição, chamaremos os bits de transporte de saída de Carry out (Co), e os bits de transporte de entrada, de Carry in (Ci). Tabela 3 - Combinações de subtração de apenas 1 bit A B S Co 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 Fonte: o autor. Primeiro passo é transportar os dados da Tabela 3 para o mapa de Karnaugh da Figura 12 (saí- da S) e verificar se temos algu- ma simplificação. Faremos isso para as duas saídas “S” e “Co”. Figura 12 - Mapa de Karnaugh para saída S Fonte: o autor. A A B B 0 0 1 s) 1 Pelas regras de simplificação por diagrama de Karnaugh, vemos, na Figura 12, que não temos vizinhos nem na hori- zontal, nem na vertical, somente na diagonal, o que não permite associação para simplificação, dessa forma, temos que retirar a expressão completa e ver se tem alguma simplificação por fato- ração. A função 13 apresenta a expressão lógica completa: S A B A B� �. . (13) A expressão lógica 13 nos, lembra mais uma vez, de um circuito combinacional conhecido, a XOR, logo, podemos reescrever 13 como: S A B� � (14) Agora, transportaremos os dados da saída Co para o mapa de Karnaugh, conforme a Figura 13. 122 UNICESUMAR Figura 13 - Mapa de Karnaugh para saída Co Fonte: o autor. Temos somente um termo em 1, logo, não é possível a simplificação, dessa forma, tomaremos a expressão completa para a saída Co, como segue: Co A B= . (15) Agora que já temos as expressões para as saídas S e Co, montaremos o circuito lógico que executa essa tarefa. O mesmo é apresentado na Figura 14. A A B B 0 0 1 co) 0 A B S CO XOR AND Figura 14 - Circuito lógico meio subtrator Fonte: o autor. Verificaremos, também, se o circuito faz a subtração correta de dois números de 1 bit. Aplicaremos todas as possibilidades de entrada da tabela verdade (Tabela 3) no circuito da Figura 14 para aferirmos os resultados. 123 UNIDADE 5 • Combinação A=0 e B=0. Em uma porta XOR, sempre que as entradas forem iguais, as saídas assumem nível lógico “0”, logo, a saída S=0. Em uma porta lógica AND, sempre que temos, pe- los menos, uma das entradas em “0” (entrada B), a saída assume nível lógico “0”, dessa forma, a saída CO=0. • Combinação A=0 e B=1. Em uma porta XOR, sempre que as entradas forem diferentes, as saídas assumem nível lógico “1”, logo, a saída S=1. Em uma porta lógica AND, sempre que temos as duas entradas em “1”, que é o caso, agora, pois o “0” de A é aplicado em uma inversora, a saída assume nível lógico “1”,dessa forma, a saída CO=1. • Combinação A=1 e B=0. Em uma porta XOR, sempre que as entradas forem diferentes, as saí- das assumem nível lógico “1”, logo, a saída S=1. Em uma porta lógica AND, sempre que temos, pelos menos, uma das entradas em “0” (entrada B), a saída assume nível lógico “0”, dessa forma, a saída CO=0. • Combinação A=1 e B=1, em uma porta XOR, sempre que as entradas forem iguais, as saídas assumem nível lógico “0”, logo, a saída S=0. Em uma porta lógica AND, sempre que temos, pe- los menos, uma das entradas em “0” (entrada B), a saída assume nível lógico “0”, dessa forma, a saída CO=0. Confirmamos, então, que os resultados da análise das combinações conferem a tabela verdade do circuito meio subtrator. Para uma simplificação, podemos representar o circuito da Figura 14 em um bloco, mostrando apenas suas entradas e saídas, deixando implícito o que tem dentro do bloco, conforme a Figura 15: b a MEIO SUBTRATOR co s Figura 15 - Bloco do circuito meio subtrator Fonte: o autor. O circuito meio subtrator é também conhecido, no inglês, como half- subtractor – (HS). O circuito meio subtrator faz a subtração de números de apenas 1 bit, mas isso nem sempre é su- ficiente. Para efetuarmos subtração de números de “n” bits, temos que desenvolver um circuito capaz de realizar essa tarefa, dessa forma, estudaremos, agora, o circuito subtrator completo, também conhecido, no inglês, como full subtractor (FS). 124 UNICESUMAR Em engenharia, normalmente, utilizamos calculadoras eletrônicas para auxiliar nos cálculos que dimensionam elementos e permitem a execução de diferentes dispositivos, além de estudar a natureza matemática das funções numéricas, tudo a partir de operações de soma e subtração e demais instruções lógicas existentes nas uni- dades lógicas aritméticas dos microcontroladores embarcados em sua estrutura. Os somadores e subtratores digitais são utilizados sempre que temos valores a serem incrementados ou decrementados, como: número de rotações do um eixo de uma máquina que posiciona peças automaticamente, quando há a necessidade de calcular valores entre entidades binárias e tomadas de decisões lógicas que envolvem sentenças numéricas binárias. Um dos usos mais comuns desta tecnologia é nos circuitos de controle discreto, na comunicação de dados e, até mesmo, no incremento e decremento de objetos que são adicionados em uma esteira de transporte industrial. 125 M A P A M EN TA L Chegamos ao final desta unidade e realizaremos o resgate de todos os principais conceitos que são fundamentais para seu aprendizado. Analise o mapa conceitual dado a seguir: Com base no mapa conceitual e nos termos relacionados ao somador/subtrator, preencha seu mapa conceitual, inserindo o significado de cada termo. A G O R A É C O M V O C Ê 126 1. Em uma máquina utilizada para envasar refrigerantes, um sensor de proximidade detecta a pre- sença das garrafas que passam por uma esteira de transporte. O líquido refrigerante é envasado até que o volume contido no tanque de armazenamento atinja 10%, momento em que o envase deve ser interrompido. Sobre o uso de somador e subtrator no circuito de controle de envase, assinale a alternativa correta: a) O somador permite que o número de garrafas seja incrementado e o envase possa ser inter- rompido quando o volume total envasado for equivalente a 90% do total do tanque. b) O subtrator pode subtrair o volume de refrigerante de cada garrafa do total armazenado no tanque, pois utiliza a estrutura carry on simétrico. c) O subtrator pode incrementar a quantidade de garrafas finalizada. d) Uma garrafa que passa pelo sensor representa o decremento do total de garrafas. e) O volume de refrigerante de cada garrafa é monitorado pelo sensor de proximidade descrito na questão. 2. Em operações lógicas binárias, é muito comum a soma de bits que podem ocorrer entre duas variáveis, “a” e “b”. Com base na técnica de soma de 2 números binários de 1 bit apenas, assinale a alternativa correta: a) A soma de um número “a” e um número “b” produz, como resultado, o número “s”, em que é opcional ter 1 bit de transporte, conhecido como carry out, que determina a paridade do sinal. b) A soma de um número “a” e um número “b” produz, como resultado, o número “s”, em que sem- pre haverá 1 bit de transporte, conhecido como carry on. c) A soma de um número “a” e um número “b” produz, como resultado, o número “s”, em que a sobra do índice é conhecida como carry in. d) A soma de um número “a” e um número “b” produz, como resultado, o número “s”, em que é necessário ter 1 bit de desvio, conhecido como latch. e) A soma de um número “a” e um número “b” produz, como resultado, o número “s”, em que é possível ou não ter 1 bit de transporte, conhecido como carry out. 3. A soma de bits é uma operação utilizada por diversas tecnologias, sobretudo em cálculos e comparações entre bits. Para testar se o circuito faz a soma correta de dois números de 1 bit é necessário: a) A combinação A=0 e B=0. Em uma porta XOR, as saídas assumem nível lógico “1”, logo, a saída S=0. b) A combinação A=0 e B=0. Em uma porta XOR, as saídas assumem nível lógico “0”, logo, a saída S=1. c) A combinação A=0 e B=0. Em uma porta XOR, as saídas assumem nível lógico “0”, logo, a saída S=0. d) A combinação A=0 e B=0. Em uma porta XOR, as saídas assumem nível lógico “1”, logo, a saída S=2. e) A combinação A=0 e B=0. Em uma porta XOR, as saídas assumem nível lógico “1”, logo, a saída S=3. C O N FI R A S U A S R ES P O ST A S 127 1. A. Quando o total de garrafas atingir 90%, significa que o tanque está em 10% de seu volume. 2. E. Ao somar 2 números binários, podemos ter 1 bit de transporte denominado carry out. 3. C. A operação de “a” e “b” aplicada a uma porta XOR resulta que as saídas assumem nível lógico “0”, logo, a saída S=0. R EF ER ÊN C IA S 128 CAPUANO, F. G.; IDOETA, I. V. Elementos de Eletrônica Digital. 26. ed. São Paulo: Érica, 1997. GENTILIN, F. A. Automação Industrial. Maringá: Unicesumar, 2020. TOCCI, R. J.; WIDMER, N. S. Sistemas Digitais: Princípios e Aplicações. São Paulo: Pearson, 2003. 129 M EU E SP A Ç O 130 M EU E SP A Ç O 6 OPORTUNIDADES DE APRENDIZAGEM Circuitos Sequenciais I Me. Luiz Carlos Campana Sperandio Nesta unidade, você terá a oportunidade de entender a diferença entre um sistema síncrono e um sistema assíncrono, aprender como o elemento mais básico de memória assíncrona funciona e como ele é empregado em circuitos digitais. 132 UNICESUMAR Nos circuitos que trabalhamos até o momento, em Eletrônica Digital, empregamos apenas a lógica combinacional, na qual a saída do sistema é gerada por meio de certa combinação dos estados atuais das entradas do sistema, porém há situa- ções em que a sequência de eventos pode definir a lógica de operação de um processo. E se precisarmos criar uma solução cuja saída dependa não apenas do estado atual das entradas do sistema, mas também do estado atual da própria saída? Este tipo de problema é solucionado por meio de circuitos sequenciais. Basicamente, eles são compostos por circuitos combinacionais associa- dos a elementos de memória. A parte combinacional recebe tanto os esta- dos das entradas externas quanto os estados das saídas dos elementos de memória responsáveis por armazenar estados de saídas do circuito com- binacional, gerando, então, as saídas externas do sistema digital. Assim, as saídas a serem geradas pelo sistema dependem tanto das entradas exter- nas atuais quanto das próprias saídas atuais. Note que esta é uma característica muito cla- ra no circuito sequencial: a realimentação, ela é muito presente em sistemas de controle. O ter- mo sequencial foi escolhido devido aos sistemas deste tipo apresentarem uma sequência temporal de entradas, saídas e estados internos. Ademais, existe uma infinidade de produtos utilizados por você que, certamente, fazem uso de circuitos se- quenciais, comocalculadoras, câmeras digitais, controladores de semáforos, cronômetros, entre outros. A ilustração, a seguir, mostra este arranjo básico que compõe um circuito sequencial. D IÁ R IO D E B O R D O 133 UNIDADE 6 Vamos, agora, fazer um experimento mental, pro- posto por Vahid (2008), com situações práticas para entendermos a diferença de um circuito com- binacional e de um circuito sequencial? Na primeira situação, trata-se do acionamento de uma campainha residencial. Imagine que você chega à casa de seu colega e aperta o botão da campainha, então, ela toca. Se você apertar novamente, a campa- inha tocará novamente e, quantas vezes você apertar, tantas vezes a campainha tocará (a menos que você quebre o botão de tanto apertar). Seu colega abre a porta para lhe receber, um tanto enfurecido pela quantidade de vezes que você tocou a campainha. Na segunda situação, trata-se do acionamento de um portão eletrônico. Você e seu colega irão de carro, hoje, à universidade. A garagem da casa dele possui portão eletrônico, assim, para saírem com o carro, seu colega aperta o botão do controle de acionamento remoto do portão, que, então, come- ça a abrir. No meio do processo de abertura, ele aperta, acidentalmente, o botão de novo, e o portão Figura 1 - Circuito sequencial Fonte: Tocci, Widmer e Moss (2011, p. 175). para no meio do percurso. Seu colega, então, aper- ta novamente o botão, e o portão começa a fechar. Vamos refletir sobre a primeira situação ex- perimentada. Note que, para a campainha tocar, basta você apertar o botão, independentemente de quantas vezes você já apertou, ou mesmo, há quanto tempo apertou pela última vez. Perceba que não há um elemento de memória neste sis- tema, a saída depende, unicamente, da entrada. Assim, trata-se de um circuito combinacional. Agora, analisaremos a segunda situação. Perce- ba que, cada vez que o botão era pressionado, uma ação diferente era feita, levando em consideração as ações anteriores. Note que há uma sequência das ações a serem executadas e, para isso, faz-se necessário o uso de elementos de memória para guardar quais foram as ações anteriores. Assim, trata-se de um circuito sequencial. Entendido o que são os circuitos sequenciais e suas aplicações, estudaremos os conceitos e as teorias acerca desses circuitos. 134 UNICESUMAR Caro(a) estudante, você compreendeu, por meio de exemplos simples e corriqueiros, qual a dife- rença entre um sistema combinacional e um sis- tema sequencial. Você estudou os sistemas combi- nacionais nas unidades anteriores, certo? Agora, o foco será nos sistemas sequenciais. Para começar, primeiramente, devemos entender o comporta- mento temporal dos circuitos sequenciais e, para tal, tais circuitos são classificados em dois grupos: síncronos e assíncronos. Segundo Güntzel e Nascimento (2001), em um circuito sequencial assíncrono, a saída gerada é atualizada assim que ocorre uma mudança de estado em uma ou mais entradas. Assim, o atraso entre a mudança na entrada e a mudança na saída está associado ao tempo de propagação pelas por- tas lógicas tanto do trecho combinacional quanto da própria memória (que, logo mais, veremos que também é composta por portas lógicas). Apesar de parecer uma característica simples e com pouco impacto, o tempo de propagação dos componentes nem sempre é fixo, podendo apresentar variações por diversos motivos. Este fato dificulta e muito a realização de projetos de circuitos sequenciais assíncronos, por isso, sempre que possível, são evitados. De forma a contornar esta dificuldade com os circuitos assíncronos, foram, então, desenvolvidos os circuitos sequenciais síncronos. Este tipo de circuito controla a troca de estados por meio de um sinal de relógio (mais conhecido pelo termo em inglês, clock). Trata-se de um sinal periódico (se repete ao longo do tempo), os parâmetros mais importantes de um sinal de clock são: borda de subida, borda de descida, nível baixo, nível alto, período e frequência. A Figura 2 ilustra um sinal de clock, apresentando seus principais parâmetros. 135 UNIDADE 6 Figura 2 - Exemplo de sinal de clock Fonte: Güntzel e Nascimento (2001, p. 2). O período, denotado pela letra T, é o tempo que o sinal leva para se repetir, e sua unidade de medida é o segundo (s). Ou seja, trata-se do tempo entre duas bordas de subida (ou descida) sucessivas. A partir do período, deriva-se outro parâmetro igualmente útil e importante: a frequência. Denotada pela letra f, é definida como o inverso do período, e sua unidade de medida é o hertz (Hz). Matematicamente falando: f T = 1 Ainda, o sinal de clock determina quando os elementos de memória registrarão os valores presentes em suas entradas e, para que isso ocorra, de forma adequada, o atraso no trecho combinacional deve ser inferior ao período do sinal de clock. Vamos ao Exemplo 1 para fixar estes conceitos de tempo de atraso e sinal de clock. Um certo sistema digital síncrono é controlado por um sinal de clock de 500 MHz. Qual é o maior atraso permitido no circuito combinacional para que o sistema fun- cione adequadamente? Resolução Como vimos anteriormente, para pleno funcionamento do sistema, o atraso deve ser inferior ao período do sinal de clock. Assim: T f � � � � � �� 1 1 500 10 2 10 26 9 s ns Temos, então, que o atraso no circuito combinacional deve ser inferior a 2 ns. Agora, entenderemos, por meio de um exemplo didático, como funciona a análise das entradas e saídas de um sistema digital controlado por um sinal de clock. Utili- zaremos um sistema do tipo caixa-preta, isto é, não sabemos como é formado, quais circuitos o compõem, mas sabemos como serão as saídas para cada entrada possível, e é isso que nos interessa neste momento. EXEMPLO01 136 UNICESUMAR Consideraremos que esse sistema possui duas entradas, nomeadas A e B, e apenas uma saída, nomeada X. Seu comportamento é descrito da seguinte forma: somente quando as duas entradas estiverem em nível alto é que a saída será colocada tam- bém em nível alto, e a saída só é atualizada a cada borda de subida do sinal de clock. Cientes disso, é injetado um sinal na entrada A e outro na entrada B, gerando um sinal na saída X. Estes três sinais, juntamente com o sinal de clock, estão apresentados na Figura 3 a seguir. Figura 3 - Sinais de clock, entradas e saída do sistema digital empregado Fonte: o autor. Ao analisar o comportamento da saída X, na Figura 3, repare que, em vários momen- tos, as entradas A e B estiveram, simultaneamente, em nível alto, entretanto, em alguns deles, a saída X permaneceu em nível baixo. Mas por que isso, caro(a) aluno(a)? Lembra que a saída é atualizada somente na borda de subida do sinal de clock? Pois, então, somente nos instantes de borda de subida do sinal de clock é que as entradas A e B estão em nível alto, simultaneamente, a saída X comuta para nível alto. Ao passar por nova borda de subida do sinal de clock, uma entrada (ou ambas) está em nível baixo, então, a saída comuta para nível baixo. Este exemplo serviu para ilustrar como é o comportamento típico das saídas de sistemas digitais síncronos e que será muito explorado daqui em diante. Os mais atentos devem ter se familiarizado com o comportamento do sistema empregado, nada mais é do que a operação lógica AND controlada por um sinal de clock. 137 UNIDADE 6 Vamos dar sequência ao conteúdo! Quando iniciamos nosso estudo dos circuitos sequenciais, vimos que se tratam de circuitos combinacionais associados a elementos de memória. Agora, estu- daremos o primeiro elemento de memória: o latch. De acordo com Floyd (2007), o latch é um dispositivo de memória temporária que apresenta dois estados estáveis (biestável), podendo permanecer em um dos estados estáveis usando realimentação cruzada, em que as saídas são conectadas de volta às entradas opostas. Tratam-se dos elementos de memória mais básicos e simples existentes. Antes de apresentar as configuraçõesde latches, entenderemos o que são estados estáveis. Estes estados referem-se à saída do dispo- sitivo: quando a saída está em nível alto, então, está no estado SET; quando a saída está em nível baixo, então, está no estado RESET (também chamado de CLEAR). Aqui, trabalharemos com três configurações distintas de latches. A primeira delas é o latch SR (ou RS, dependendo da referência literária). Pergunta aos atentos: o que significa SR? É claro, refere-se a SET e RESET. Este dispositivo apresenta duas entradas ( S e R ) e duas saídas ( Q e Q ). Em condições normais, Q é sempre o oposto (ou o complemento) de Q . Quando nos referirmos ao estado do latch, estamos nos referindo ao estado da saída Q . Um latch SR é composto por duas portas NOR de duas entradas cada, interligadas com realimentação cruzada, conforme é apresentado na Figura 4. (a) (b) R S Q Q Q QS R Figura 4 - Latch SR: diagrama lógico (a) e símbolo lógico (b) Fonte: adaptada de Floyd (2007). 138 UNICESUMAR Tomando por base o que sabemos sobre por- tas NOR e o arranjo apresentado na Figura 4, analisaremos o comportamento do latch SR. Considere inicialmente, que as entradas R e S , e também a saída Q , estão em nível baixo. A operação lógica NOR de Q = 0 e S = 0 resulta em Q =1 , já a operação lógica NOR de R = 0 e Q =1, resulta em Q = 0 . Note que o latch não apresenta mudança de estado enquanto per- manecer nestas condições. Agora, alteraremos a entrada S para nível alto. A operação lógica NOR de Q = 0 e S =1 resulta em Q = 0 , na sequência, a operação lógica NOR de R = 0 e Q = 0 resulta em Q =1. Assim, aplicando nível alto na entrada S e nível baixo na entrada R , estamos colocando o latch em estado SET. Agora, retornaremos a entrada S para ní- vel baixo. A operação lógica NOR de Q =1 e S = 0 resulta em Q = 0 , na sequência, a ope- ração lógica NOR de R = 0 e Q = 0 resulta em Q =1 . Note que, mesmo levando a entrada S , novamente, a nível baixo, o latch continua sus- tentando o estado SET. Levaremos a entrada R a nível alto. A ope- ração lógica NOR de R =1 e Q = 0 resulta em Q = 0 , na sequência, a operação lógica NOR de Q = 0 e S = 0 resulta em Q =1 . Assim, apli- cando nível alto na entrada R e nível baixo na entrada S , estamos colocando o latch em estado RESET. Agora, retornaremos a entrada R para nível baixo. A operação lógica NOR de R = 0 e Q =1 resulta em Q = 0 , na sequência, a operação lógica NOR de Q = 0 e S = 0 resulta em Q =1 . Note que, mesmo levando a entrada R , novamente, a nível baixo, o latch continua sustentando o estado RESET. Por fim, levaremos tanto R quanto S a nível alto. A operação lógica NOR de R =1 e Q =1 resulta em Q = 0 , na sequência, a operação lógica NOR de Q = 0 e S =1 resulta em Q = 0 . Note que, tanto Q quanto Q estão em nível baixo. Mas lembra-se que Q é o oposto de Q ? Temos aí a chamada condição inválida, na qual o estado do latch é imprevisível, por isso, não deve ser apli- cada. Deve-se ter isso claro na mente ao utilizar latch SR: não pode ocorrer a condição inválida! Como futuros(as) engenheiros(as), gostamos mesmo é de números, tabelas e gráficos, certo? Então, reuniremos todos esses dados de nosso ex- perimento mental com o latch SR em uma tabela verdade. Ela está apresentada na Tabela 1. Tabela 1 - Tabela verdade do latch SR Entradas S R Saídas Q Q Comentários 0 0 NC NC Mantém estado atual 1 0 1 0 SET 0 1 0 1 RESET 1 1 1 1 Condição inválida Fonte: adaptada de Floyd (2007). Você consegue identificar por que o latch é um dispositivo de memória? Devido à si- tuação em que, se ambas as entradas fo- rem para nível baixo, será mantida a saída atual (armazenado o estado) até que uma das entradas seja alterada. Lembra como é formada uma informação digital? É por meio de códigos binários (arranjos de 0s e 1s). Então, note que podemos armazenar informações por meio de latches, em que cada um armazena um bit da informação. 139 UNIDADE 6 Dadas na Figura 5, as formas de onda dos sinais aplicados nas entradas S e R de um latch SR, determine a forma de onda gerada na saída Q , considerando que, ini- cialmente, o latch está em estado RESET. S R Figura 5 - Formas de onda nas entradas de um latch SR no Exemplo 2 Fonte: adaptada de Floyd (2007). Resolução Como, inicialmente, o latch SR está em estado RESET, isto significa que, inicial- mente, Q = 0 . Assim, basta traçar a forma de onda da saída Q , que está apre- sentada na Figura 6. S R Q Figura 6 - Formas de onda nas entradas e saída de um latch SR no Exemplo 2 Fonte: adaptada de Floyd (2007). Concluído o estudo do latch SR, agora, entenderemos como funciona o latch SR controlado. Este dispositivo, caro(a) aluno(a), apresenta o mesmo comportamen- to do latch SR comum, com as mesmas interações entre as entradas, de forma a gerar a saída. Segundo Floyd (2007), a diferença é que possui uma entrada de habilitação, denotada EN (do inglês, enable), que controla quando a saída será ou não atualizada. É como se fosse uma chave liga/desliga: enquanto EN estiver em nível baixo, o estado do latch não se alterará; enquanto EN estiver em nível alto, aí o latch funcionará como um latch SR comum. A Figura 7 apresenta a estrutura do latch SR controlado. EXEMPLO02 140 UNICESUMAR (a) (b) R S Q Q Q Q EN Figura 7 - Latch SR controlado: diagrama lógico (a) e símbolo lógico (b) Fonte: adaptada de Floyd (2007), Güntzel e Nascimento (2001). Como a interação entre as entradas S e R com a saída Q é a mesma do latch SR comum, pularemos a análise estado a estado, partindo para a construção da tabela verdade. A diferença nesta tabela verdade é o emprego da entrada de habilitação EN , enquanto esta permanece em nível baixo, o estado da saída continua o mesmo. A tabela verdade do latch SR controlado é apresentada na Tabela 2. Tabela 2 - Tabela verdade do latch SR controlado Entradas Saídas Comentários EN S R Q Q 0 X X NC NC Mantém estado atual 1 0 0 NC NC Mantém estado atual 1 1 0 1 0 SET 1 0 1 0 1 RESET 1 1 1 1 1 Condição inválida Fonte: adaptada de Güntzel e Nascimento (2001). Dadas, na Figura 8, as formas de onda dos sinais aplicados nas entradas EN , S e R de um latch SR controlado, determine a forma de onda gerada na saída Q , con- siderando que, inicialmente, o latch está em estado RESET. S R EN Figura 8 - Formas de onda nas entradas de um latch SR controlado no Exemplo 3 Fonte: adaptada de Floyd (2007). EXEMPLO03 141 UNIDADE 6 Resolução Como, inicialmente, o latch SR controlado está em estado RESET, isto significa que, inicialmente, Q = 0 . Assim, basta traçar a forma de onda da saída Q , que está apre- sentada na Figura 9. S R Q EN Figura 9 - Formas de onda nas entradas e saída de um latch SR controlado no Exemplo 3 Fonte: adaptado de Floyd (2007). Concluída a análise do latch SR controlado, conheceremos o último tipo de latch que estudaremos: o latch D controlado. Este possui apenas uma entrada, denotada D , além da entrada de habilitação EN . Internamente, trata-se do latch SR controlado, mas com a entrada R conectada à entrada S por meio de uma porta lógica inversora. A vantagem deste arranjo é que ele elimina a condição inválida, visto que o sinal em R é sempre o oposto do sinal em S (FLOYD, 2007). A Figura 10 apresenta o diagrama lógico e o símbolo lógico do latch D controlado. (a) (b) D EN Q Q Q Q D EN Figura 10 - Latch D controlado: diagrama lógico (a) e símbolo lógico (b) Fonte: adaptada de Floyd (2007), Güntzel e Nascimento (2001). 142 UNICESUMAR Analisaremos, agora, o comportamento do latch D controlado. Note que, quando as entradas D e EN estão em nível alto, o latch está no estado SET (a saída Q está em nível alto). Quando a entrada D está em nível baixo e a entrada EN está em nível alto, o latch está no estado RESET (a saída Q está em nível baixo). Quando a en- trada EN está em nível baixo, independente- mente da entrada D , o latchmantém o estado atual. Simplificando, quando a entrada EN está em nível alto, a saída Q segue a entrada D . A tabela verdade do latch D controlado está apresentada na Tabela 3. Tabela 3 - Tabela verdade do latch D controlado Entradas Saídas Comentários EN D Q Q 0 X NC NC Mantém estado atual 1 1 1 0 SET 1 0 0 1 RESET Fonte: adaptada de Güntzel e Nascimento (2001). Dadas, na Figura 11, as formas de onda dos sinais aplicados nas entradas EN e D de um latch D controlado, determine a forma de onda gerada na saída Q , considerando que, inicialmente, o latch está em estado RESET. D EN Figura 11 - Formas de onda nas entradas de um latch D controlado no Exemplo 4 Fonte: adaptada de Floyd (2007). Resolução Como, inicialmente, o latch D controlado está em estado RESET, isto significa que, inicialmente, Q = 0 . Assim, basta traçar a forma de onda da saída Q , que está apre- sentada na Figura 12. S Q EN Figura 12 - Formas de onda nas entradas e saída de um latch SR controlado no Exemplo 4 Fonte: adaptada de Floyd (2007). EXEMPLO04 143 UNIDADE 6 Como todo(a) engenheiro(a), você deve estar, ago- ra, se questionando: “certo, mas para que servem esses latches?”. Como vimos, os latches são ele- mentos básicos de memória e suas aplicações giram em torno disso. A computação é uma área que faz amplo uso de tais componentes. Um bom exemplo é o emprego do latch D na multiplexação de dados em um barra- mento. Barramentos são vias de comunicação com- partilhadas em diversos dispositivos. Assim, cada envio de informação é feito um dispositivo por vez. Para conversar um pouco mais a respeito das aplicações dos cir- cuitos sequencias, em especial dos latches, teremos um convidado especial para participar do podcast desta sexta unidade. Tenho certeza que nossa conversa lhe ajudará a abrir, ainda mais, a sua mente e visão a respeito deste assunto. Dê o play! Para receber uma informação pelo barramento, um dispositivo fica conectado a ele por meio de um latch D. Quando esse dispositivo deseja receber um dado do barramento, então, sua entrada EN vai para nível alto e, assim, o dado presente na entrada D (conectada ao barramento) é replicado na saída Q A partir daí, a entrada EN retorna a nível baixo, liberando o barramento para que outro dispositivo o utilize, e o dado coletado continua armazenado na saída Q pelo tempo que for necessário (eis, aqui, a capacidade de memória do latch!), (FLOYD, 2007). Caro(a) aluno(a), assim concluímos o estudo dos latches e, também, demos nossos primeiros pas- sos no mundo dos circuitos digitais sequenciais. Na próxima unidade, conversaremos a respeito dos flip-flops, que são dispositivos baseados nos latches, mas controlados por um sinal de clock. Como vimos, os circuitos digitais sequenciais têm, como característica fundamental, a realimentação do estado atual junto às entradas, de forma que o próximo estado será definido a partir das entradas e do estado atual. Note que há uma sequência de estados que o circuito assumirá, ou seja, uma atuação temporal. Este comportamento nos permite utilizar circuitos sequenciais quando precisamos de me- mória de estado ou de bit para a solução de determinado problema. Este é o caso, por exemplo, da operação do portão eletrônico que analisamos no início da unidade. Cada vez que apertamos o botão do controle remoto, uma ação é realizada considerando as entradas (botão e sensores fim-de-curso) e o estado atual. Se você parar para pensar, verá que este tipo de comportamento é aplicado em soluções e equipamentos dos mais diversos tipos, como o botão liga/desliga de um eletroeletrônico, o botão abrir/fechar da porta de elevador, entre outros. 144 M A P A M EN TA L Chegamos ao fim de mais uma unidade e, como de costume, temos novos conteúdos e aprendizados a compreender e a fixar. Para orientar e facilitar este processo, propo- nho a você preencher o mapa mental da unidade, alimentando-o com as informa- ções mais importantes que estudamos. Desafio você a dar, “de cabeça”, sequência ao preenchimento do mapa, ou seja, sem consultar o texto. Ao concluir, aí sim, consulte o texto para verificar se faltou alguma informação relevante ou se entendeu, de forma equivocada, algum ponto. La tc h SR La tc he s La tc h SR c on tr ol ad o CI RC U IT O S SE Q U EN CI A IS I Sí nc ro no s e A ss ín cr on os La tc h D c on tr ol ad o A G O R A É C O M V O C Ê 145 1. Dadas as formas de onda aplicadas nas entradas S e R de um latch SR, determine a forma de onda da saída Q , considerando que o estado inicial é de nível baixo. S Q R Formas de onda aplicadas nas entradas S e R de um latch SR Fonte: adaptada de Floyd (2007). 2. Dadas as formas de onda aplicadas nas entradas EN , S e R de um latch SR controlado, deter- mine a forma de onda da saída Q , considerando que o estado inicial é nível baixo. S Q R EN Formas de onda aplicadas nas entradas EN , S e R de um latch SR controlado Fonte: adaptada de Floyd (2007). A G O R A É C O M V O C Ê 146 3. Dadas as formas de onda aplicadas nas entradas EN e D de um latch D controlado, determine a forma de onda da saída Q , considerando que o estado inicial é nível baixo. Q D EN Formas de onda aplicadas nas entradas EN e D de um latch D controlado Fonte: adaptada de Floyd (2007). C O N FI R A S U A S R ES P O ST A S 147 1. S Q R 2. S Q R EN 3. R EF ER ÊN C IA S 148 FLOYD, T. L. Sistemas digitais: fundamentos e aplicações. 9. ed. Porto Alegre: Bookman, 2007. GÜNTZEL, J. L.; NASCIMENTO, F. A. Introdução aos Sistemas Digitais. Florianópolis: UFSC, 2001. TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais: princípios e aplicações. 11. ed. São Paulo: Pearson Prentice Hall, 2011. VAHID, F. Sistemas digitais: projeto, otimização e HDLs. Porto Alegre: Bookman, 2008. 149 M EU E SP A Ç O 150 M EU E SP A Ç O 7 OPORTUNIDADES DE APRENDIZAGEM Circuitos Sequenciais II Nesta unidade, você terá a oportunidade de entender como é feito o con- trole por meio de um sinal de clock e a diferença em relação ao controle assíncrono, visto na unidade anterior. Além do mais, você aprenderá como funciona o elemento mais básico de memória síncrona e como ele é em- pregado em circuitos digitais. Me. Luiz Carlos Campana Sperandio 152 UNICESUMAR Na unidade anterior, estudamos os latches, que são dispositivos básicos de memória. Dentre eles, vimos versões controladas, nas quais o estado do latch só é atualizado enquanto a entrada EN estiver em nível alto. Esta é uma característica muito interessante e útil, porém pode ser um problema em determinadas aplicações, não é mesmo? Agora, pergunto a você: como fazer para controlar um sistema com vários desses dispositivos? Ou pior, como controlar a transfe- rência do dado de um dispositivo para outro? Caro(a) aluno(a), situações e necessidades como estas estimula- ram o desenvolvimento dos circuitos sequenciais síncronos. Como vimos na unidade anterior, neste tipo de sistema, os dispositivos são controlados por meio de um sinal de clock. Este sinal é uma forma de onda periódica, que apresenta largura de pulso, amplitude e frequência bem definidas. A grande vantagem no emprego do sinal de clock é que, em dado sistema, é necessário gerar apenas um único sinal, o qual, além de controlar todos os dispositivos que fizerem uso dele, garantirá que esses dispositivos estejam operando em sincronismo, e isso é essencial na grande maioria dos sistemas digitais modernos. Vamos compreender isso tudo de forma prática? Chame uma pessoa para lhe ajudar em uma experiência, dividiremos nossa atividade em duas etapas. Em um primeiro momento, vocês devem contar, em silêncio, mentalmente, 60 segundos, sem olhar no relógio, iniciando a con- tagem quando você falar “já”. Ao terminar a contagem, você e seu ajudante devem falar “eureca”. Feito isso, na sequência, procure e acesse, na internet,um me- trônomo online. Ao digitar o termo “metrônomo” no Google, será exibido um nesta página, bastante simples e funcional. Configure o metrônomo para 60 bpm e, então, você e seu ajudante devem contar 60 segundos, um segundo a cada batida do metrônomo, novamente, iniciando ao você falar “já” e, ao final da contagem, ambos devem falar “eureca”. Em um segundo momento, faça uma bolinha de papel e sente-se de frente com o seu ajudante. Com o metrônomo desligado, de olhos fechados e sem falar, vocês devem passar, alternadamente, a bolinha um para o outro. Agora, liguem o metrônomo em 40 bpm e repitam este mesmo processo, entregando/recebendo a bolinha a cada batida do metrônomo. Por fim, ajuste o metrônomo para 80 bpm e repitam o processo. 153 UNIDADE 7 E aí, como foi a experiência? Ao realizarem a primeira parte do experimento, tenho certeza que um de vocês falou “eureca” primeiro. Acertei? Isto aconteceu porque nenhum de vocês tinha uma referência, então, contaram conforme a própria percepção do tempo. Já na segunda parte, acredito que tenham falado “eureca” juntos. Isto se deve a vocês terem utilizado a mesma referência de tempo, que era a batida do metrônomo. Mas e o segundo experimento? Neste, vocês devem ter sentido certas dificul- dade e lentidão para realizar a primeira parte, sem o uso do metrônomo, pois um não sabia quando o outro tomaria uma ação. Contudo, ao ligar o metrônomo e agirem a cada batida, como tinham a mesma referência, sabiam o momento exato quando o outro estava agindo. Por fim, ao acelerarem as batidas no metrônomo, conseguiram acelerar, tam- bém, o processo de entregar/receber a bolinha. Note, ao trabalhar com dois ou mais elementos distintos em um processo, como ter uma referência é essencial para que os elementos trabalhem em sincro- nismo e seja possibilitado, inclusive, o aumento da velocidade de trabalho. Este é o papel do clock, sobre o qual estávamos conversando, e veremos, a seguir, como uma referência para o controle dos dispositivos de um sistema digital síncrono. D IÁ R IO D E B O R D O 154 UNICESUMAR Para iniciar nosso estudo dos circuitos sequenciais síncronos, conheceremos seu dispositivo mais elementar: o flip-flop. Segundo Güntzel e Nascimento (2001), os flip-flops são circuitos derivados dos latches controlados, apresentando uma diferença simples, mas muito significativa, em comparação com tais latches: ao invés de permanecerem ativos durante todo o intervalo em que o sinal de controle estiver em nível alto, os flip-flops são ativos apenas no curtíssimo intervalo quando há a mudança de nível do sinal de controle, com isso, a troca de estado do flip-flop só pode ocorrer dentro desse intervalo da transição. Entre uma transição e outra do nível do sinal de controle, o flip-flop se mantém desativado, mantendo o último estado adquirido. Caro(a) aluno(a), quando falamos de flip-flops ou outros circuitos e dispositivos síncronos, o controle destes é feito por meio de um recém-conhecido nosso: o sinal de clock. Como vimos, o sinal de clock é periódico, ou seja, alterna de nível baixo para nível alto (e vice-versa) em um intervalo de tempo constante, de forma que o sinal seja um “trem” de pulsos de mesma largura. Há pouco, dissemos que o flip-flop é ativo na transição do nível do sinal de clock, certo? A este processo damos o nome de disparo pela borda. Repare, então, que existem dois tipos de transição: disparo pela borda de subida (nível baixo para nível alto) e disparo pela borda de descida (nível alto para nível baixo). A definição de um flip-flop é disparada pela borda de subida ou pela borda de descida, não é configurável ou algo pareci- do, mas é definida pela construção do flip-flop. A indicação do tipo de disparo do flip-flop é feita por meio de símbolos na entrada de controle (C): se houver apenas um triângulo dentro do bloco, então, o disparo é por borda de subida; se houver um círculo junto ao triângulo, então, o disparo é por borda de descida. Esta simbologia é apresentada na Figura 1. Figura 1 - Flip-flop D disparado por boda de subida (a) e disparado por borda de descida (b) Fonte: Floyd (2007, p. 394). 155 UNIDADE 7 Assim como os latches (inclusive por serem derivados deles), existem modelos distintos de flip-flops, e os estudaremos a partir de agora. Para começar, vamos ao flip-flop SR. O símbolo lógico do flip-flop SR é apresentado na Figura 2. Segundo Floyd (2007), o flip-flop SR apresenta as mesmas funções lógicas do latch SR controlado. Quando S = 0 e R = 0 , o flip-flop não muda de estado, permanecendo a mesma saída anterior, ou seja, Q Q= 0 . Quando S =1 e R = 0 , então, na borda de disparo, o flip-flop vai para o estado SET, ou seja, Q =1 . Quando S = 0 e R =1 , então, na borda de disparo, o flip-flop vai para o estado RESET, ou seja, Q = 0 . Por fim, quando S =1 e R =1 , ocorre a condição inválida, não sendo possível dizer qual será o estado do flip-flop, por isso, deve ser evitada. Como de costume, reuniremos estes dados na tabela verdade do flip-flop SR, apresentada na Tabela 1. Tabela 1 - Tabela verdade do flip-flop SR disparado por borda de subida Entradas Saídas Comentários C S R Q Q ≠↑ X X Q0 Q0 Mantém estado atual ↑ 0 0 Q0 Q0 Mantém estado atual ↑ 1 0 1 0 SET ↑ 0 1 0 1 RESET ↑ 1 1 1 1 Condição inválida Fonte: adaptada de Güntzel e Nascimento (2001). Figura 2 - Símbolo lógico do flip-flop SR com disparo pela borda de subida Fonte: Floyd (2007, p. 395). Q Q S C R 156 UNICESUMAR A Tabela 1 apresenta os dados referentes ao flip-flop SR disparado pela borda de subida (↑), mas es- tes são válidos para o modelo disparado por borda de descida (↓). Para compreender melhor e fixar, vamos ao Exemplo 1. EXEMPLO01 Dadas, na Figura 3, as formas de onda dos sinais aplicados nas entradas C , S e R de um flip-flop SR com disparo na borda de subida, determine a forma de onda ge- rada na saída Q , considerando que, inicialmente, o flip-flop está em estado RESET. Resolução Como, inicialmente, o flip-flop SR está em estado RESET, isto significa que, inicial- mente, Q = 0 . Assim, basta traçar a forma de onda da saída Q , que está apresentada na Figura 4. Figura 3 - Formas de onda nas entradas de um flip-flop SR no Exemplo 1 Fonte: adaptada de Floyd (2007). Figura 4 - Formas de onda nas entradas e saída de um flip-flop SR no Exemplo 1 Fonte: adaptada de Floyd (2007). 654321CLK S R 1 0 1 0 1 0 654321CLK S R 1 0 1 0 1 0 Q 1 0 157 UNIDADE 7 Compreendido o funcionamento do flip-flop SR, caro(a) aluno(a), então, analisaremos o flip-flop D. De acordo com Floyd (2007), este flip-flop apresenta apenas uma entrada lógica e a entrada de con- trole, sendo usado para o armazenamento de um único bit de dado. De forma simplificada e análoga ao que ocorre com o latch D, o flip-flop D pode ser construído a partir de um flip-flop SR, bastando deixar a entrada S como a entrada lógica e, então, conectar a entrada R à entrada S por meio de um inversor. Esta estrutura lógica e o símbolo lógico do flip-flop D estão apresentados na Figura 5. Como você já deve suspeitar, o flip-flop D apresenta as mesmas funções lógicas do latch D. Quando D =1 , então, na borda de disparo, o flip-flop vai para o estado SET, ou seja, Q =1 . Quando D = 0 , então, na borda de disparo, o flip-flop vai para o estado RESET, ou seja, Q = 0 . A tabela verdade do flip-flop D é apresentada na Tabela 2. Tabela 2 - Tabela verdade do flip-flop D disparado por borda de subida Entradas Saídas Comentários C D Q Q ≠↑ X Q0 Q0 Mantém estado atual ↑ 1 1 0 SET ↑ 0 0 1 RESET Fonte: adaptada de Güntzel e Nascimento (2001). Essa tabela que acabamos de ver apresenta os dados referentes ao flip-flop D disparado pela borda de subida (↑), mas, novamente, os mesmos são válidos para o modelo disparado por borda de descida (↓). Apesar da aplicação deste flip-flop ser mais simples que a do flip-flop SR, ainda assim, vamos ao Exemplo 2 para fixar. Figura 5 - Estrutura lógica(a) e símbolo lógico (b) do flip-flop D com disparo pela borda de subida Fonte: Floyd (2007, p. 398-399). Q Q S C R (a) (b) Q Q S C R D CLK 158 UNICESUMAR Dadas, na Figura 6, as formas de onda dos sinais aplicados nas entradas C e D de um flip-flop D com disparo na borda de subida, determine a forma de onda gerada na saída Q , considerando que, inicialmente, o flip-flop está em estado RESET. EXEMPLO02 Figura 6 - Formas de onda nas entradas de um flip-flop D no Exemplo 2 Fonte: adaptada de Floyd (2007). Resolução Como, inicialmente, o flip-flop D está em estado RESET, isto significa que, inicial- mente, Q = 0 . Assim, basta traçar a forma de onda da saída Q , que está apresentada na Figura 7. Figura 7 - Formas de onda nas entradas e saída de um flip-flop D no Exemplo 2 Fonte: adaptada de Floyd (2007). CLK D CLK D Q 159 UNIDADE 7 Por último, caro(a) aluno(a), trataremos, agora, do flip-flop JK, que não possui um latch com com- portamento análogo a ele. Segundo Floyd (2007), as letras J e K que denotam suas entradas foram atribuídas em homenagem a Jack Kilby, inventor do circuito integrado. O símbolo lógico do flip-flop JK é apresentado na Figura 8. O flip-flop JK apresenta as mesmas funções lógicas do flip-flop SR, mas com a grande vantagem de não possuir a condição inválida quando ambas as entradas estão em nível alto. Quando J = 0 e K = 0 , o flip-flop não muda de estado, permanecendo a mesma saída anterior, ou seja, Q Q= 0 . Quando J =1 e K = 0 , então, na borda de disparo, o flip-flop vai para o estado SET, ou seja, Q =1 . Quando J = 0 e K =1 , então, na borda de disparo, o flip-flop vai para o estado RESET, ou seja, Q = 0 . Por fim, quando J =1 e K =1 , então, na borda de disparo, o flip-flop inverte o estado, operação esta chamada de toggle. Reunimos estes dados na tabela verdade do flip-flop JK, apresentada na Tabela 3. Tabela 3 - Tabela verdade do flip-flop JK disparado por borda de subida Entradas Saídas Comentários C S R Q Q ≠↑ X X Q0 Q0 Mantém estado atual ↑ 0 0 Q0 Q0 Mantém estado atual ↑ 1 0 1 0 SET ↑ 0 1 0 1 RESET ↑ 1 1 Q0 Q0 Toggle Fonte: adaptada de Güntzel e Nascimento (2001). A tabela anterior apresenta os dados referentes ao flip-flop JK disparado pela borda de subida (↑), mas os mesmos são válidos para o modelo disparado por borda de descida (↓). Para compreender melhor, vamos ao Exemplo 3. Figura 8 - Símbolo lógico do flip-flop JK com disparo pela borda de subida Fonte: Floyd (2007, p. 402). Q Q J C K CLK 160 UNICESUMAR Dadas, na Figura 9, as formas de onda dos sinais aplicados nas entradas C , J e K de um flip-flop JK com disparo na borda de descida, determine a forma de onda gerada na saída Q , considerando que, inicialmente, o flip-flop está em estado RESET. EXEMPLO03 Figura 9 - Formas de onda nas entradas de um flip-flop JK no Exemplo 3 Fonte: adaptada de Floyd (2007). Resolução Como, inicialmente, o flip-flop JK está em estado RESET, isto significa que, inicial- mente, Q = 0 . Assim, basta traçar a forma de onda da saída Q , que está apresentada na Figura 10. 54321 CLK S K 1 0 1 0 1 0 Q 1 0 Toggle Repouso Reset Set Set Figura 10 - Formas de onda nas entradas e saída de um flip-flop JK no Exemplo 3 Fonte: adaptada de Floyd (2007). 54321 CLK J K 1 0 1 0 1 0 161 UNIDADE 7 Agora que sabemos como é o funcionamento lógico dos flip-flops, caro(a) aluno(a), desenvolveremos um projeto empregando o flip-flop D e as portas lógicas, trata-se de um sistema de chamada de aeromoça em voos comerciais. O projeto é composto por quatro elementos: o botão “chamar”, o botão “cancelar”, a lâmpada azul de sinalização e o sistema de chamada. Este arranjo está apresentado na Figura 11. Uma aplicação muito útil de flip-flops é como divisor de frequência de uma onda periódica retangular. Quando este tipo de onda é aplicada na entrada de clock de um flip-flop JK na configuração toggle ( J=K=1), na saída Q , será gerada uma onda do mesmo tipo, porém com metade da frequência do sinal de clock. Concatenando mais um flip-flop JK na configuração toggle, mas aplicando, na entrada de clock, a saída Q do flip-flop anterior, teremos mais uma divisão por 2 na frequência da onda, ou seja, a frequência da onda original sofreu uma di- visão por 4. Podemos seguir concatenando um após o outro, de forma que a frequência da onda gerada no último flip-flop será uma divisão por 2n da frequência original, em que n é a quantidade de flip-flops concatenados. Botão “chamar” Botão “cancelar” Lâmpada azul Sistema de botão de chamada de aeromoça Figura 11 - Diagrama de blocos do sistema de chamada de aeromoça Fonte: Vahid (2008, p. 124). O sistema deve funcionar da seguinte forma: se o botão “chamar” for pressionado, a lâmpada deve acender; se o botão “cancelar” for pressionado, a lâmpada deve apagar; se nenhum dos botões for pres- sionado, a lâmpada deve manter seu estado. Precisamos, agora, converter este funcionamento descritivo em um sistema digital, utilizando, como dispositivo principal, um flip-flop D. Assim, o que precisamos definir é o circuito combinacional que determina a entrada D do flip-flop. Para isso, lembra-se qual o primeiro passo? Tenho certeza de que você falou “montar a tabela verdade do problema”! Vamos a ela! 162 UNICESUMAR Primeiramente, definiremos as entradas e saídas desse circuito combinacional. Os elementos que temos são: botão “chamar”, botão “cancelar”, lâmpada, entrada D e saída Q do flip-flop. Pense comigo: como a lâmpada é ligada no sistema? Já que o sistema é comandado pelo flip-flop, então, a lâmpada está ligada na saída Q. Assim, os elementos “lâmpada” e “Q” são redundantes! Então, descartaremos “lâmpada”, restaram: “chamar”, “cancelar”, “D” e “Q”. Como o circuito combinacional determinará “D”, esta é a saída, e “chamar”, “cancelar” e “Q” são as entradas. A tabela verdade preen- chida é apresentada na Tabela 4. Tabela 4 - Tabela verdade do circuito combinacional que determina D Chamar Cancelar Q D 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Fonte: Vahid (2008, p. 124). Como você já está craque em simplificar expressões booleanas, deixarei contigo esta tarefa. Você en- contrará a seguinte equação: D = Chamar + Cancelar Q⋅ Que simplicidade se tornou, não? É lindo demais! Analisando a equação, precisaremos, então, para montar o sistema, além do flip-flop D, de uma porta lógica OR (OU) de duas entradas, uma porta lógica AND (E) de duas entradas e uma porta NOT (inversora). A implementação do sistema é apre- sentada na Figura 12. Botão “chamar” Botão “cancelar” Lâmpada azul Clk D Q Q´ Figura 12 - Implementação do sistema de chamada de aeromoça Fonte: Vahid (2008, p. 124). 163 UNIDADE 7 Vimos, até aqui, os flip-flops e as suas entradas síncronas, as quais têm seu efeito sobre a saída do flip- -flop sincronizado com o sinal de clock. Entretanto, segundo Tocci, Widmer e Moss (2011), os flip-flops também possuem entradas assíncronas que atuam independentemente das síncronas e do clock, são também chamadas de entradas de sobreposição, visto que podem ser usadas para sobrepor todas as outras. É como se essas entradas assíncronas tivessem mais prioridade sobre a saída que as entradas síncronas, podendo colocar o flip-flop em estado alto ou baixo em qualquer instante. Normalmente, estão presentes duas entradas assíncronas: PRESET e CLEAR . A barra em cima do nome não é à toa: essas entradas são ativas em nível baixo. A Figura 13 apresenta o símbolo lógico do flip-flop JK com tais entradas assíncronas. Para conversar um pouco mais a respeito das aplicações dos cir- cuitos sequencias síncronos, em especial dos flip-flops, ouça este podcast, que trará um(a) convidado(a) especial. Tenho certeza de que a nossa conversa lhe ajudará a abrir, ainda mais, as suas mente e visão a respeito deste assunto. Dê o play! Figura 13 - Símbolo lógico do flip-flop JK com entradas PRESET e CLEAR Fonte: Floyd (2007, p.402). Q Q J C K CLR PRE 164 UNICESUMAR Dadas, na Figura 14, as formas de onda dos sinais aplicados nas entradas C , PRE e CLR de um flip-flop JK com disparo na borda de subida, e que J K= =1 , determine a forma de onda gerada na saída Q , considerando que, inicialmente, o flip-flop está em estado RESET. EXEMPLO04 CLK PRE CLR 321 4 5 6 7 8 9 Figura 14 - Formas de onda nas entradas de um flip-flop JK no Exemplo 4 Fonte: Floyd (2007, p. 403). Resolução Como, inicialmente, o flip-flop JK está em estado RESET, isto significa que, inicial- mente, Q = 0 . Assim, basta traçar a forma de onda da saída Q , que está apresentada na Figura 15. 54321 CLK Q 6 7 8 9 CLR PRE Preset Toggle Clear Figura 15 - Formas de onda nas entradas e saída de um flip-flop JK no Exemplo 4 Fonte: Floyd (2007, p. 403). 165 UNIDADE 7 Caro(a) aluno(a), aqui encerramos o nosso estudo sobre o funcio- namento dos flip-flops, em que aprendemos a analisar o compor- tamento de cada um dos três modelos explorados, as suas entradas síncronas, assíncronas e as suas saídas. Pudemos ver, também, al- gumas aplicações destes dispositivos tão importantes em circuitos digitais. Nas próximas unidades, você estudará mais aplicações dos cir- cuitos sequenciais, como registradores e contadores. Como vimos, os flip-flops possuem um comportamento muito semelhante ao dos latches (na verdade, são baseados nos latches) es- tudados na unidade anterior. A principal diferença está no controle, pois os latches são ativos pelo nível do sinal de controle (durante todo o nível alto ou todo o nível baixo). Já os flip-flops são ativos somente na transição de nível (no instante da borda de subida ou no instante da borda de descida). Isto torna a aplicação dos flip-flops mais estável, não suscetível às variações nas entradas, já que fez a leitura apenas no instante da borda. Retomando o exemplo da co- municação no barramento que vimos lá no início, esta característica é fundamental para garantir a integridade dos dados transmitidos/ armazenados, visto que o receptor só deve fazer a leitura do dado no mesmo instante quando foi transmitido a ele, caso contrário, estaria fazendo a leitura de um dado destinado a outro dispositivo. Nas próximas unidades, veremos mais aplicações dos flip-flops, por exemplo, em registradores e contadores. 166 M A P A M EN TA L Chegamos ao fim de mais uma unidade e, como de costume, temos novos conteú- dos e aprendizados a compreender e a fixar. Para orientar e facilitar este processo, proponho a você que preencha o mapa mental desta unidade, alimentando-o com as informações mais importantes que estudamos. Para facilitar o início da construção do mapa mental, esbocei a estrutura básica com tópicos a se trabalhar. Mas isto não sairá de graça: desafio você a dar sequência, “de cabeça”, ao preenchimento do mapa, sem consultar o texto. Ao concluir, aí sim, consulte o texto para verificar se faltou alguma informação relevante ou se entendeu, de forma equivocada, algum ponto. Agora vai lá, mão na massa! Flip-�op SR Flip-�ops Flip-�op D Flip-�op JK Circuitos sequenciais II Entradas assíncronas 167 M A P A M EN TA L A G O R A É C O M V O C Ê 168 1. A saída Q de um flip-flop SR disparado por borda é mostrada em relação ao sinal de clock, na figura a seguir. Determine as formas de onda nas entradas S e R que são necessárias para produzir essa saída, sabendo que o flip-flop é do tipo disparado por borda de subida. Saída Q de um flip-flop SR disparado por borda em relação ao sinal de clock Fonte: adaptada de Floyd (2007). 2. Desenhe a saída Q em relação ao clock para um flip-flop D com as entradas, conforme mostra a figura a seguir. Considere a entrada de clock ativa na borda de subida e a saída Q , inicialmente, em nível baixo. CLK D Q Saída Q em relação ao clock para um flip-flop D com as entradas Fonte: adaptada de Floyd (2007). A G O R A É C O M V O C Ê 169 3. Determine a forma de onda de Q em relação ao clock se os sinais mostrados, na figura a seguir, forem aplicados nas entradas do flip-flop JK. Considere a saída Q , inicialmente, em nível baixo. Q Q J C K PRE K Q J CLK CLR CLR PRE Forma de onda de Q em relação ao clock Fonte: adaptada de Floyd (2007). C O N FI R A S U A S R ES P O ST A S 170 1. CLK S R Q 2. CLK D Q 3. CLK J Q K PRE CLR R EF ER ÊN C IA S 171 FLOYD, T. L. Sistemas digitais: fundamentos e aplicações. 9. ed. Porto Alegre: Bookman, 2007. GÜNTZEL, J. L.; NASCIMENTO, F. A. Introdução aos Sistemas Digitais. Florianópolis: UFSC, 2001. TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais: princípios e aplicações. 11. ed. São Paulo: Pearson Prentice Hall, 2011. VAHID, F. Sistemas digitais: projeto, otimização e HDLs. Porto Alegre: Bookman, 2008. 172 M EU E SP A Ç O 8 OPORTUNIDADES DE APRENDIZAGEM Contadores Esp. Larissa Vilxenski Calsavara Nesta unidade, uniremos tudo o que você aprendeu nas unidades anteriores para montar as estruturas úteis e utilizadas em quase todos os compo- nentes eletrônicos: contadores. Estes são importantes não somente para armazenar informação, mas também para inserir tempo, sincronia e lógica sequencial entre elementos. 174 UNICESUMAR Você já parou pra pensar como funcionam os relógios eletrônicos? Ao final desta unidade, você será capaz de montar o seu próprio relógio que mostra as horas, os minutos e os segundos! Mas você sabe qual é o principal componente que viabilizará este projeto? Aposto que você acertou: o componente é o flip-flop. Mais espe- cificamente, sequências de flip-flops conectados entre si, e a chave é a entrada chamada clock, que, não coincidentemente, significa “relógio”, em inglês. O mais interessante é que a quantidade de flip-flops que você utilizar, sequencialmente, será o número de bits que o seu contador será capaz de processar! Cada flip-flop representa um bit, então, com 3, em sequência, você seria capaz de contar de 0 a 7 (1 1 1 em binário). Com 4, em sequência, é possível contar de 0 a 15, e assim sucessivamente. Você tem um relógio digital perto de você? Pode ser o relógio do micro-ondas, do painel do carro, o relógio que você usa no pulso. Agora, responda à seguinte pergunta: para cada um dos 6 dígitos de um relógio digital de 12 horas, até qual número cada um dos dígitos tem que contar? 175 UNIDADE 8 Primeiro, analisaremos as horas: este relógio é de 12 horas, ou seja, aqueles no formato AM/PM e não os que contam até 24 horas. Então, os 2 dígitos das horas devem contar de 0 até 12, certo? Assim, o primeiro dígito, que representa as dezenas, deve contar de 0 a 1, enquanto o segundo dígito deve contar de 0 a 9. Já para os minutos e os segundos, eles devem contar de 0 a 59. Isto quer dizer que o dígito das dezenas deve contar de 0 a 5, enquanto o dígito das unidades deve contar de 0 a 9. Assim, obtemos a tabela completa da contagem de cada dígito de um relógio digital, veja: Tabela 1 - Contagem de dígito Horas/Dezena 0 a 1 Horas/Unidade 0 a 9 Minutos/Dezena 0 a 5 Minutos/Unidade 0 a 9 Segundos/Dezena 0 a 5 Segundos/Unidade 0 a 9 Fonte: o autor. Agora, mantenha estas informações em mente, pois elas serão necessárias para que possamos concluir esta unidade! D IÁ R IO D E B O R D O 176 UNICESUMAR Contadores são circuitos digitais que variam os seus estados, de acordo com um sinal de clock e respeitando uma sequência. São utilizados, principalmente, para contagens, divisão e medição de frequência e tempo, geração de formas de onda e conversão de analógico para digital (CAPUANO; IDOETA, 2012). Eles fazem isso por meio de flip-flops ligados entre si, em que cada flip-flop tem um estado de saída com valor de 0 ou 1. Isto quer dizer que o número de bits de um contador corresponde ao número de flip-flops, por exemplo, dois flip-flops teriam as possibilidades de estado 00, 01, 10 e 11, ou seja, contariam de 0 a 3. Mas,além de registrar números, os contadores também dependem de outro fator, que é o sinal de clock, os valores das saídas de cada flip-flop são atualizados conforme recebem pulsos desse sinal. Os contadores podem ser divididos em assíncronos e síncronos, e começaremos aprendendo o primeiro tipo. Esta classificação está relacionada a como os flip-flops recebem o pulso de clock. No caso dos as- síncronos, eles têm este nome porque os flip-flops não mudam de estado ao mesmo tempo em que o sinal de clock. Então, agora, entenderemos, com detalhes, como esses contadores funcionam. Observe a figura que mostra um contador de 2 bits. Figura 1 - Contador assíncrono de 2 bits Fonte: Floyd (2007, p. 444). O sinal de clock (CLK) é aplicado somente ao primeiro flip-flop (FF0) na entrada C. O segundo flip-flop (FF1) receberá o seu sinal de clock da saída Q0 de FF0. O FF0 muda de estado na borda positiva de cada pulso de clock, ou seja, na descida, enquanto FF1 muda somente quando houver uma transição positiva de Q0 do FF0 (FLOYD, 2007). O flip-flop que recebe o clock (FF0, neste exemplo) sempre representará o bit menos significativo (LSB), enquanto o último representará o bit mais significativo (MSB). Perceba que os sinais de disparo de clock não acontecerão, simultaneamente, nos dois flip-flops, já que há um tempo inerente de propagação. Apesar de muito rápido, esse tempo não é diferente de 0 e, quanto mais flip-flops, mais significativo será esse tempo. Por isso, esta configuração é chamada de assíncrona. Agora, analisaremos o diagrama de temporização para entender melhor o que está acontecendo. Na Figura 2, temos 4 pulsos de clock em FF0, representados na primeira linha, abaixo dela, as mudanças de estado das saídas Q de cada flip-flop. nível ALTO CLK FF0 FF1 Q 0 Q 0 0 0J C K 1 J C 1 K Q 1 177 UNIDADE 8 Figura 2 - Diagrama de temporização para o contador da Figura 2 Fonte: Floyd (2007, p. 444). Este diagrama mostra as formas de onda das saídas Q0 e Q1 em relação aos pulsos de clock. As transições estão sendo mostradas como simultâneas para simplificar, mas lembre-se de que este con- tador é assíncrono, então, sempre haverá um pequeno atraso entre os pulsos Q0 e Q1. Perceba que a frequência de pulsos de Q1 é a metade da frequen- cia de Q0. Por isso, o FF1 representa o bit mais significativo e, tam- bém, os contadores podem funcionar para a divisão de frequência e a geração de formas de onda (CAPUANO; IDOETA, 2012). Observe, também, que esse contador tem quatro possíveis esta- dos, o que já era de se esperar para um contador de 2 bits (2n, onde n = 2 é igual a 4). A sequência de estados é representada na tabela, a seguir, e, depois de chegar ao valor 3, o contador volta ao seu estado original. Dizemos, também, que ele é reciclado. CLK 1 2 3 4 Q 0 Q 0 (LSB) Q 1 (MSB) Saídas Tabela 2 - Sequência de estados biná- rios para o contador da Figura 2 PULSO DE CLOCK Q1 Q0 Valor inicial 0 0 1 0 1 2 1 0 3 1 1 4 (recicla) 0 0 Fonte: Floyd (2007, p. 445). Mas, pensando no nosso projeto de fazer um relógio, contar de 0 a 3 não será o suficiente, não é mes- mo? Então, aumentaremos nossa sequência de flip-flops para 4 bits: Figura 3 - Contador assíncrono de 4 bits Fonte: Capuano e Idoeta (2012, p. 281). CK CLR 1 Q 0 Q 1 Q 2 Q 3 Q 3T 3Q 2T 2T1 Q 1T 0 Q 0 CLR Q 0 CLR Q 1 CLR Q 2K 2 CLR Q 3 178 UNICESUMAR As saídas são representadas por Q0, Q1, Q2 e Q3, como você deve imaginar, Q0 representa o bit menos significativo, enquanto Q3 representa o bit mais significativo. Então, esse contador terá a seguinte tabela de estados: Tabela 3 - Sequência de estados binários para o contador da Figura 4 DESCIDAS DE CLOCK Q0 Q1 Q2 Q3 1º 0 0 0 0 (Estado inicial, imposto por CLR = 0). 2º 1 0 0 0 (Após a 1º descida de clock: Q0 = 1). 3º 0 1 0 0 (Após a 2º descida: Q0 = 0 e Q1 = 1, obtido pela descida de Q0). 4º 1 1 0 0 (Q0 = e Q1 permanecem igual a 1). 5º 0 0 1 0 (Q0 = 0 = > Q1 = 0 = > Q2 = 1). 6º 1 0 1 0 (Q0 = 1, Q1 e Q2 permanecem). 7º 0 1 1 0 (Q0 = 0 => Q1 = 1). 8º 1 1 1 0 (Q0 = 1). 9º 0 0 0 1 (Q0 = 0 = > Q1 = 0 = > Q2 = 0 = > Q3 =1). 10º 1 0 0 1 (Q0 = 1). 11º 0 1 0 1 (Q0 = 0 = > Q1 = 1). 12º 1 1 0 1 (Q0 = 1). 13º 0 0 1 1 (Q0 =0 = > Q1 = 0 = > Q2 = 1). 14º 1 0 1 1 (Q0 = 1). 15º 0 1 1 1 (Q0 =0 = > Q1 = 1). 16º 1 1 1 1 (Q0 = 1). 17º 0 0 0 0 (Q0 = 0 = > Q1 = 0 = > Q2 = 0 = > Q3 = 1). Fonte: Capuano e Idoeta (2012, p. 282). Isto quer dizer que, agora, fizemos um contador que representa números de 0 a 15 em um ciclo, ou seja, com 16 estados. Isto faz sentido, já que 24 = 16. Finalmente, temos a representação gráfica de todas as saídas em relação ao pulso de clock na Figura 4: 179 UNIDADE 8 Figura 4 - Diagrama de temporização do contador da Figura 4 Fonte: Capuano e Idoeta (2012, p. 282). Um efeito que acontece nos contadores assíncronos é o atraso de propagação, por isso, eles também são conhecidos como contadores ondulantes (ripple counters). Isto ocorre porque o pulso de entrada do clock é “sentido” pelo primeiro flip-flop, mas este efeito não chega, imediatamente, ao segundo flip-flop por causa do tempo até o primeiro flip-flop processar a informação e disparar o pulso para o segundo flip-flop, o que acontece, sucessivamente, em todos os flip-flops, causando uma propagação do atraso (FLOYD, 2007). Para comparação, pense em um semáforo que está vermelho em uma rua com muitos carros parados. Quando o sinal muda para o verde, o primeiro carro acelerará para atravessar o cruzamento, mas o carro que está atrás dele não começará, imediatamente, a acelerar também, terá um tempo até perceber que o carro da frente está andando. Isso acontecerá de carro em carro, até que você, aluno(a), que está lá na sexta posição, pegará o sinal fechado de novo, porque os carros não começam a se movimentar todos ao mesmo tempo, no momento em que o semáforo mudou para o estado “verde”. Para ilustrar este efeito de clock ondulante, observe a imagem, a seguir, que representa um contador assíncrono de 3 flip-flops. CLOCK 1º 2º 3º 4º 5º 6º 7º 8º 9º 10º 11º 12º 13º 14º 15º 16º 17º 0Q 0 1 10 0 1 0 1 0 1 0 0 0 01 1 1 0 0 1 1 0 0 1 1 1 1 1 10 0 0 0 0Q 1 Q 2 Q 3 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 Figura 5 - Atrasos de propagação em um contador assíncrono Fonte: Floyd (2007, p. 446). CLK Q Q 0 1 Q2 Q2(CLK a ) t PLH t PHL t PLH 0(CLK a )Q ( a )Q0Q 1 t PHL 0(CLK a )Q t PLH ( a )Q0Q 1 t PLH ( a )Q1Q 2 1 2 3 4 180 UNICESUMAR A transição do nível baixo para o nível alto de Q0 ocorre com um tempo de atraso, representado pela sigla tPLH. Perceba que esse tempo se acumula a cada mudança de estado do contador e, ao chegar ao bit mais significativo, teremos o valor de tPLH multiplicado por 3, como atraso. Este atraso cumulativo é uma grande desvantagem, pois limita a taxa na qual o contador pode rece- ber pulsos de clock. Isso porque o atraso acumulado máximo (o que acontece no bit mais significativo) tem que ser menor do que o período da onda de clock (FLOYD, 2007). Retirado do livro Sistemas Digitais, de Floyd (2007): um contador binário assín- crono de 4 bits é mostrado na figura a seguir. Cada flip-flop é disparado por borda negativa e tem um atraso de propagação de 10 ns. Determine o tempo de atraso de propagação total a partir da borda de disparo de um pulso de clock até a mudança correspondente que pode ocorrer no estado de Q3. Determine, também, a frequência máxima de clock na qual o contador pode operar. 01 EXEMPLO Figura 6 - Contador assíncrono de 4 bits Fonte: Floyd (2007, p. 447). Solução: Para o tempo de atraso total, o efeito de CLK8 (ou CLK16) tem que propagar por meio de quatro flip-flops antes da mudança de Q3, assim: t ns nsp tot( ) � � �4 10 40 J C K CLK nível ALTO Q0 FF0 0 0 FF1 Q1 C J1 K1 C J2 K2 FF2 Q2 FF3 Q3 C J3 K3 (a) CLK Q0 Q1 Q2 Q3 (b) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16181 UNIDADE 8 A frequência de clock máxima é: f t ns MHz p tot max ( ) = = = 1 1 40 25 f MHzmax ,� � � �� 1 4 24 10 10 49 Agora que você já entendeu as limitações causadas pelo efeito de atraso de propa- gação, falaremos sobre a solução deste problema, que são os contadores síncronos. Conforme vimos anteriormente, os contadores podem ser classificados como assíncro- nos e síncronos, então, agora, aprenderemos o segundo tipo. Os contadores síncronos, como o próprio nome sugere, têm os flip-flops agindo de forma sincronizada. Eles são usados para os mesmos tipos de aplicações que os contadores assíncronos, mas como não têm o problema do atraso propagado, são mais robustos em situações em que é necessária uma frequência de clock elevada. Para isso, eles têm uma diferença em sua configuração: a entrada de clock de todos os flip-flops está ligada, em um curto-circuito, ao sinal de clock original. Isto quer dizer que todos eles receberão o sinal para a mudança de estado, ao mesmo tempo. Observe, na Figura 7, um contador síncrono de 2 bits: Figura 7 - Contador síncrono de 2 bits Fonte: Floyd (2007, p. 452). As entradas de clock de ambos os flip-flops estão ligadas ao mesmo sinal, conforme des- crevemos na definição do contador síncrono. Mas esta não é a única diferença, perceba, também, que as entradas J e K do segundo flip-flop estão usando a saída Q do flip-flop anterior como entrada, e não um nível alto comum, como era feito no assíncrono. Agora, analisar a operação desse contador com mais detalhes, considerando que es- tamos no estado inicial, com o contador resetado. Ao receber o primeiro sinal de clock, FF0 comuta e a saída Q0 vai para o nível alto. O que acontecerá, então, com FF1, quando suas entradas J1 e K1 receberem este sinal? Como existe um atraso de propagação entre a entrada e a saída do primeiro flip-flop (FF0), o segundo flip-flop (FF1) só terá uma mudança de estado, em sua saída, quando acontecer o segundo pulso de clock. C K CLK nível ALTO Q0 FF0 0 FF1 Q1J1 C K1 J0 Q1 182 UNICESUMAR Na figura, a seguir, temos a representação mais detalhada desta operação: Figura 8 - Detalhes da temporização do flip-flop síncrono de 2 bits Fonte: Floyd (2007, p. 453). Mas você, estudante, deve estar se perguntando: como assim, atraso? O objetivo do contador síncrono não era, justamente, acabar com este problema? Não exatamen- te. Esse atraso ainda acontece entre um flip-flop e outro, mas a grande diferença é que esse atraso não se propagará e acumulará quanto maior for a sequência de flip-flops. Analisaremos, mais uma vez, o nosso diagrama de temporização. Perceba que ele é igual ao diagrama do contador assíncrono, porque, como os tempos de atraso são pequenos, não os consideraremos nestes diagramas, mas tenha estes efeitos em mente quando estiver trabalhando com componentes de alta performance, em que o seu efeito pode ser relevante. Figura 9 - Diagrama de temporização do contador da Figura 9 Fonte: Floyd (2007, p. 453). Então, avançaremos um pouco mais e analisaremos um contador síncrono de 3 bits, com a configuração representada na Figura 10: CLK1 Q0 Q1 (a) 1 0 0 Atraso de propagação de FF0 CLK2 1 0 1 0 Q0 Q1 (b) Atraso de propagação de FF0 Atraso de propagação de FF1 1 0 1 Atraso de propagação de FF0Q0 Q1 (c) CLK3 (d) Q0 Q1 1 0 1 0 Atraso de propagação de FF0 Atraso de propagação de FF1 CLK4 CLK Q Q 0 1 1 2 3 4 183 UNIDADE 8 Figura 10 - Contador síncrono de 3 bits Fonte: Floyd (2007, p. 454). Para facilitar o entendimento, também analisaremos a sequência de estados desse contador, na tabela a seguir: Tabela 4 - Sequência de estados binários para o contador da Figura 10 PULSO DE CLOCK Q2 Q1 Q0 Estado inicial 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 8 (reciclagem) 0 0 0 Fonte: Floyd (2007, p. 454). Primeiro, analisaremos Q0. Ele mudará de estado a cada pulso de clock, já que é o bit menos significativo. Para que isto aconteça, suas entradas J0 e K0 precisam ser mantidas no nível alto o tempo todo. Ao observarmos Q1, perceba que seu estado mudará toda vez que a saída Q0 for nível 1, o que acontece nos pulsos de clock 2, 4, 6 e 8. Lembrando que Q0 está conectado às duas entradas do segundo flip-flop (FF1). J C K CLK nível ALTO Q0 FF0 0 0 FF1 Q1 C J1 K1 C J2 K2 FF2 Q2 (a) CLK Q0 Q1 Q2 1 2 3 4 5 6 7 8 Q1Q0 184 UNICESUMAR Analisaremos o terceiro flip-flop, o FF2. Você deve ter percebido que tem algo a diferente: temos uma porta lógica AND que não tinha aparecido antes! Por que ela está aí? Para que o terceiro flip-flop mude de estado na hora certa para respeitar a se- quência binária do nosso contador, é necessário que tanto Q0 quanto Q1 estejam no nível alto. Esta condição é detectada, justamente, pela porta lógica AND. Se ela não estivesse ali, Q2 mudaria de estado a cada 3 pulsos de clock, e não a cada 4 pulsos, que é o desejado para nós. Finalmente, analisaremos a última configuração de contador que precisamos, antes de motar nosso relógio: o contador síncrono de 4 bits. Figura 11 - Contador síncrono de 4 bits Fonte: Floyd (2007, p. 455). Perceba que, desta vez, temos duas portas lógicas AND, pelo mesmo motivo que as tínhamos no contador de 3 bits. Queremos que o flip-flop FF3 mude de estado so- mente quando os outros 3 flip-flops anteriores estiverem no nível alto. Por isto, temos, como entradas dessa porta AND, a saída Q2 do flip-flop anterior ao FF3 e, também, a saída da outra porta AND, que testava se os dois primeiros flip-flops estavam em nível alto. Desta forma, garantimos que o contador respeitará a tabela de estados a seguir: Q0 J C K CLK nível ALTO Q0 FF0 0 0 FF1 Q1 C J1 K1 C J2 K2 FF2 Q2 Q1Q0 Q3 FF3Q1Q0 Q2 G1 G2 J3 K3 C (a) CLK Q1 Q2 Q3 (b) Q1Q0 Q1Q0 Q2 Q1Q0 Q1Q0 Q2 185 UNIDADE 8 Tabela 5 - Sequência de estados binários para o contador da Figura 11 Descidas do pulso de clock Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 1º 0 0 0 0 0 X 0 X 0 X 1 X 2º 0 0 0 1 0 X 0 X 1 X X 1 3º 0 0 1 0 0 X 0 X X 0 1 X 4º 0 0 1 1 0 X 1 X X 1 X 1 5º 0 1 0 0 0 X X 0 0 X 1 X 6º 0 1 0 1 0 X X 0 1 X X 1 7º 0 1 1 0 0 X X 0 X 0 1 X 8º 0 1 1 1 1 X X 1 X 1 X 1 9º 1 0 0 0 X 0 0 X 0 X 1 X 10º 1 0 0 1 X 0 0 X 1 X X 1 11º 1 0 1 0 X 0 0 X X 0 1 X 12º 1 0 1 1 X 0 1 X X 1 X 1 13º 1 1 0 0 X 0 X 0 0 X 1 X 14º 1 1 0 1 X 0 X 0 1 X X 1 15º 1 1 1 0 X 0 X 0 X 0 1 X 16º 1 1 1 1 X 1 X 1 X 1 X 1 Fonte: Capuano e Idoeta (2012, p. 295). Você se lembra do nosso desafio, proposto no início desta unidade, de determinar quais os números possíveis em cada dígito de um relógio? Então, você deve ter percebido que o máxi- mo que cada dígito conta é de 0 a 9, ou seja, precisamos de 10 estados. Mas nosso contador vai de 0 a 15, já que ele tem 4 bits. Precisamos, assim, adaptá-lo ao que chamamos de um contador de década. Observe a tabela de estados da figura seguinte. Para que nosso contador conte somente até 9, ele deve parar na décima linha da tabela, contando de 0000 a 1001 somente, e “pulando” os valores de 1010 até 1111, que representam os valores de 10 a 15. A seguir, podemos observar como fazer isso, adicionando algumas portas lógicas AND e OR ao nosso circuito original do contador de 4 bits: 186 UNICESUMAR Q FF0 C BCD/7-seg BCD/7-seg BCD/7-seg BCD/7-seg BCD/7-seg BCD/7-seg 1 Hz Contador de horas Contador de minutos (divisor por 60) Contador de segundos (divisor por 60) (0-1) (0-9) (0-5) (0-9) (0-5) (0-9) Horas Minutos Segundos EN CTR DIV 10 C EN CTR DIV 6 C C C EN EN EN CTR DIV 10 CTR DIV 6 CTR DIV 10 Q FF0 C BCD/7-seg BCD/7-seg BCD/7-seg BCD/7-seg BCD/7-seg BCD/7-seg 1 Hz Contador de horas Contador de minutos (divisor por 60) Contador de segundos (divisor por 60) (0-1) (0-9) (0-5) (0-9) (0-5) (0-9) Horas Minutos Segundos EN CTR DIV 10 C EN CTR DIV 6 C C C EN EN EN CTR DIV 10 CTR DIV 6 CTR DIV 10 Figura 12 - Contador de década síncrono Fonte: Floyd (2007, p. 456). O que este circuito fazé entrar no modo reciclagem após atingir o estado 1001. A equação para esta situação é: J3 = K3 = Q0Q1Q2 + Q0Q3 que é implementada por meio das portas lógicas AND e OR conectadas às entradas J3 e K3 do flip-flop FF3. Finalmente, chegamos à etapa final de nosso projeto, pois já temos em mãos todas as informações necessárias para montar nosso relógio, que podemos observar na próxima figura. Figura 13 - Diagrama lógico para um relógio digital de 12 horas Fonte: Floyd (2007, p. 481). J C K CLK nível ALTO Q0FF0 0 0 FF1 Q1 C J K1 C J2 K2 FF2 Q2 FF3 Q3 G2 Q0 Q1 Q2 Q3 Q3 J1 C J3 K3 CLK 1 2 3 4 5 6 7 8 9 10 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 187 UNIDADE 8 Q1 Para o próximo contador Q3 Q2 Q0 Q1Q3 Q2 Q0 Decodi�cação do estado 59 TC = 59 Para habilitar o próximo CTR Decodi�cação do estado 6 dezenasunidades nível ALTO CLK SR O primeiro aspecto que definiremos é nosso sinal de clock. Sua frequência será de 1 Hz, formando uma onda com período de 1 segundo. Os contadores de minutos e segundos são formados, cada um, por dois contadores: um para as unidades, que conta até 9 (representado pela caixa CTR DIV 10), e um para as dezenas, que conta até 5 (representado pela caixa CTR DIV 6). Na Figura 14, podemos ver, em mais detalhes, esses dois contadores: Figura 14 - Diagrama lógico de um contador que divide por 60 Fonte: Floyd (2007, p. 482). A parte que divide por 10, você já sabe como funciona, pois, ele foi discutido na parte dos contadores de década. O contador que divide por 6 faz algo semelhante: ele usa um contador de década com uma sequência truncada, por meio de um decodificador da contagem 6, para resetar o contador de forma assíncrona. A contagem final (59) também é decodificada para habilitar o próximo contador da cadeia (FLOYD, 2007). O contador de horas é formado por um contador de década para as unidades e somente um flip- -flop para as dezenas. O contador de década avança passando por todos os estados de 0 a 9 e, no pulso de clock, que o recicla de volta para 0, o flip-flop das dezenas é setado em J = 1 e K = 0. Assim, temos o número 1 no display das dezenas. A contagem total, agora, é 10, já que o contador das unidades se encontra zerado. Em seguida, a contagem total avança para 11 e, em seguida, para 12. No estado 12, a saída Q2 do contador de década é nível alto, o flip-flop ainda está setado e, assim, a saída da porta decodificadora do estado 12 é nível baixo, isto ativa a entrada PE do contador de década. No próximo pulso de clock, o contador de década é presetado para o estado 1, por meio das entradas de dados, e o flip-flop é resetado para J = 0 e K = 1. Desta forma, o contador resetará de 12 para 1 ao invés de retornar a 0. A próxima figura ilustra este funcionamento com mais detalhes. 188 UNICESUMAR Figura 15 - Diagrama lógico de um contador que divide por 12 Fonte: Floyd (2007, p. 482). Agora, veremos os diagramas de conexões para os CIs (circuitos integrados) dos contadores que vimos nesta unidade. Figura 16 - Diagrama de conexões de circuitos integrados Fonte: Floyd (2007, p. 485). A seguir, uma imagem de como um circuito destes é vendido, em que cada uma destas saídas é um dos pinos que conectamos à placa do dispositivo que estamos elaborando. Para o display das unidades de horas Para o display das dezenas de horas Decodi�cação do estado 9 Decodi�cação do estado 12 8 4 2 1 8 4 2 1 CLK PE 0 0 0 1 D3 D2 D1 D0 Q3 Q2 Q1 Q0 Q CI contador binário assíncrono de 4 bits 74LS93 Q0 Q3 Q1C C CTR DIV 16 Q2 RO(1) RO(2) 14 13 12 11 10 9 8 1 2 3 4 5 6 7 CI contador de década BCD síncrono com clear assíncrono 74F162 CI contador binário síncrono de 4 bits com clear assíncrono 74HC161 CI contador binário síncrono de 4 bits com clear síncrono 74HC163 CI contador de década crescente/decrescente síncrono 74HC190 (G é o habilitador de contagem) Q0 Q3Q1TC CTR DIV 10 PE 16 15 14 12 10 9 1 2 3 4 5 6 7 8 13 11 SR Q2 CET C D D D D0 31 2 CEP Q0 Q3Q1RCO CTR DIV 16 LOAD 16 15 14 12 10 9 1 2 3 4 5 6 7 8 13 11 CLR Q2 ENT C D D D D0 31 2 ENP Q0 Q3Q1RCO CTR DIV 16 LOAD 16 15 14 12 10 9 1 2 3 4 5 6 7 8 13 11 CLR Q2 ENT C D D D D0 31 2 ENP D0 RCO CTR DIV 10 D 16 15 14 12 10 9 1 2 3 4 5 6 7 8 13 11 CLR Q Q G Q0 2 3 C MAX/MIN D2LOAD Q3DN/UP 189 UNIDADE 8 Figura 17 - Protoboard com um circuito integrado Normalmente, os circuitos integrados vêm com um documento chamado datasheet. Nele, está espe- cificado, com detalhes, o que cada entrada e saída faz no componente, para que você consiga montar corretamente. Estudante, nesta unidade, ao unir todos os conceitos das unidades anteriores, conseguimos criar um relógio. Isto quer dizer que você, como futuro(a) engenheiro(a), agora, possui todos os conhecimentos necessários para implementar um dispositivo deste tipo! Você também é capaz de usar contadores de flip-flops para diversas outras aplicações. Uma delas é o frequencímetro, um circuito que pode medir e mostrar a frequência de um sinal, outra aplicação é com os circuitos integrados de registradores. Há, também, outro exemplo de aplicação: em semáforos. Você pode usar os contadores para simular cada um dos possíveis estados de um semáforo e enviar sinais elétricos ao sistema. Você também percebeu que a reflexão que fizemos no início da unidade, a qual, na hora, deve ter parecido estranha, foi fundamental para conseguirmos projetar os contadores divisores de décadas, de 60 e de 12. Ser engenheiro(a) também é isso: olhar para elementos do dia a dia com outros olhos, se perguntar como eles funcionam, qual a lógica digital que está por trás dos equipamentos que nos cercam e, depois de estudar eletrônica digital, o funcionamento dos equipamentos eletrônicos não é mais um mistério. É mais uma peça de conhecimento que, agora, você tem para montar este quebra-cabeças que é a engenharia. Quanto mais peças você tiver, mais clara será a imagem de como o mundo funciona. Eu aposto que você, estudante, tem bastante interesse em com- ponentes eletrônicos. Por isso, tenho certeza que você gostará do podcast desta unidade, em que eu e o professor convidado conversamos sobre o processo de fabricação de circuitos integrados e sobre a produção, a pesquisa e o desenvolvimento de CIs no Bra- sil. Vamos ouvir? 190 M A P A M EN TA L Para ver se você realmente aprendeu os conceitos des- ta unidade, proponho que complete o mapa mental, a seguir, da seguinte forma: para cada tipo de contador nos balões vazios, desenhe os flip-flops e as portas lógi- cas. Ao desenhar, você me- morizará muito mais do que somente olhar para as figu- ras que estavam prontas! Se quiser, pode, também, fazer outros exemplos que não estejam no diagrama. A ss ín cr on os Co nt ad or es Sí nc ro no s 3 bi ts 5 bi ts 2 bi ts 2 bi ts 191 M A P A M EN TA L A G O R A É C O M V O C Ê 192 1. Você, estudante de engenharia que mora no Brasil, prefere trabalhar com relógios de 24 horas e não com os de 12 horas, como aprendemos nesta unidade. Por isso, seu primeiro desafio será usar flip-flops JK e qualquer outra lógica necessária para construir um contador assíncrono de módulo 24. Adaptado de Tocci, Widmer e Moss (2003). 2. Estudante, imagine que você queira que o seu relógio também funcione como um temporizador que faz contagem decrescente. Isto é possível de fazer utilizando os contadores! Então, nesta atividade, implemente, usando flip-flops e portas lógicas, um contador crescente-decrescente de 3 bits, que realize a seguinte contagem: 0 1 2 3 4 5 6 7 6 5 4 3 2 1 0 Um contador deste tipo terá uma entrada extra além do clock: um estado que diz se ele está no modo crescente ou decrescente. O modo crescente tem nível alto, enquanto o decrescente tem nível baixo. Dica: analise a tabela, a seguir, da contagem de 0 a 7, pensando nos estados de cada saída du- rante a subida e durante a descidae, também, nas transições. Pulso de clock Cresc. Q2 Q1 Q0 Decr. 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 1 7 1 1 1 Sequência crescente-decrescente para um contador de 3 bits Fonte: Floyd (2007 p. 460). A G O R A É C O M V O C Ê 193 3. Contadores assíncronos são o tipo mais simples de contadores binários porque podem ser mon- tados com poucos componentes. Entretanto eles têm uma grande desvantagem, que é o tempo de atraso de propagação. Essa desvantagem limita a frequência máxima que um contador pode ter, por isso, é importante saber calcular este valor. Diagramas de temporização Fonte: Tocci, Widmer e Moss (2003, p. 289). Responda às seguintes questões: a) Qual é a frequência máxima que o contador apresentado pode ter? b) Considerando um contador assíncrono com tempo de atraso de propagação de 24 ns com 4 flip-flops em sequência, qual seria a frequência máxima permitida para esta configuração? #1 #2 #3 #4 #5 Entrada 1000 ns 50 ns A B C 150 ns 100 ns Entrada #1 #2 #3 #4 #5 100 ns A B C 50 ns 50 ns 150 ns C O N FI R A S U A S R ES P O ST A S 194 1. São necessários 5 flip-flops: Q0– Q4 sendo Q4 o bit mais significativo. Concecte as saídas de Q3 e Q4 em uma porta NAND, cuja saída deve ser conectada em todos os CLRs. 2. As condições de entrada e saída de cada um dos flip-flops são as seguintes: J K J K Q CRESCENTE Q DECRESCENTE J K Q Q CR 0 0 1 1 0 0 2 2 0 1 1� � � � � � � ( ) ) ( EESCENTE Q Q DECRESCENTE) ( )� 0 1 A figura, a seguir, representa a implementação do contador crescente-decrescente: CLK C J2 K2 FF2 Q2 Q2Q1 Q1 Q0 Q0 Q0 • DECRESCENTE FF1 Q0 • CRESCENTE DECRESCENTE CRESCENTE/ DECRESCENTE CRESCENTE FF0 HIGH C J1 K1 C J0 K0 Implementação do contador crescente-decrescente de 3 bits Fonte: Floyd (2007, p. 461). 3. Conforme aprendemos, a frequência máxima é dada pela fórmula a seguir: f n tPD max � � 1 Então substituindo os valores, temos que: a. f MHzmax ,� � � �� 1 3 50 10 6 69 b. f MHzmax ,� � � �� 1 4 24 10 10 49 R EF ER ÊN C IA S 195 CAPUANO, F.; IDOETA, I. Sistemas Digitais: Circuitos combinacionais e sequenciais. 41. ed. São Paulo: Érica, 2012. FLOYD, T. L. Sistemas digitais: fundamentos e aplicações. 9. ed. Porto Alegre: Bookman, 2007. TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais: princípios e aplicações. 8. ed. São Paulo: Pearson Prentice Hall, 2003. 196 M EU E SP A Ç O 9 OPORTUNIDADES DE APRENDIZAGEM Dispositivos Lógicos Programáveis Se você chegou até aqui, já aprendeu muitos dos conceitos e componentes básicos que formam os dispositivos eletrônicos que tanto usamos em nosso dia a dia. Agora, ao estudar a nossa unidade final, você entenderá o fun- cionamento dos dispositivos lógicos programáveis, conseguirá descrever o que são um SPLD e um CPLD e, também, como um SPLD realiza operações de soma e multiplicação. Esp. Larissa Vilxenski Calsavara 198 UNICESUMAR Estudante, você já sabe como funcionam os seus aparelhos eletrônicos? O seu computador e o seu celular são formados por diversos componentes, eletrônicos ou não. Mas todos eles têm uma peça fundamental que poderíamos comparar ao nosso cérebro. Você sabe qual é essa peça? Estamos falando do processador ou CPU (unidade central de processamento). Um processador nada mais é do que uma combinação de portas lógicas, transistores e outros componentes básicos, todos juntos em um só circuito. Nesta unidade, faremos uma introdução a este tipo de dispositivo. Nesta unidade, você começará a entender como processadores fun- cionam. Nas oito unidades anterio- res, foram aprendidos os conceitos e componentes básicos que, juntos, formam o que conhecemos como chip (ou circuitos integrados). A seguir, você entenderá como os circuitos integrados podem ser montados de forma que o usuário consiga programar e reprogramar as funções de acordo com o uso desejado. Isso quer dizer que, ago- ra, você será capaz de programar funções mais complexas de forma muito mais simples, rápida e com- pacta com o uso dos dispositivos lógicos programáveis. 199 UNIDADE 9 A proposta de experimento desta unidade tem, como objetivo, apresentar um pouco da história dos computadores e processa- dores. Nas últimas décadas, estes dispositivos apresentaram um crescimento exponencial em capacidade de processamento, e é isso que ilustraremos, a seguir. Então, começaremos pesquisando a CPU (unidade central de processamento, ou seja, o processador) do seu computador. Quais as características dele? Quantos transistores ele tem? O transistor é uma das principais peças dentro do processador. Ele é um semicondutor que amplifica ou troca sinais elétricos. O processador AMD Epyc Rome, lançado em 2019, possui 39 bilhões de transistores. O tamanho de cada um deles varia entre 7 e 12 nanômetros. (BROEKHUIJSEN, 2019, on-line). Já o proces- sador Intel 4004, de 1971, tem 2250 transistores. Uma das razões desta diferença de quantidade de transistores é o tamanho deles e, se você pesquisou sobre o seu computador, como ele se classifica em relação ao AMD, em termos de quantidade de transistores? John Bardeen, Walter Brattain e William Shockley são os físicos que criaram o primeiro transistor, em 1947. O transistor revolucio- nou o campo da eletrônica e abriu caminho para rádios, calcula- doras e computadores menores e mais baratos, entre outros, e está na lista de marcos do IEEE (Instituto de Engenheiros Eletricistas e Eletrônicos), em eletrônica, e Bardeen, Brattain e Shockley dividi- ram o Prêmio Nobel de Física, em 1956, por sua conquista. Figura 1 - Lâmpada de transistor antiga, seguida de um transistor moderno Na Figura 1, temos um exemplo de transistor antigo. Perceba o tamanho dele em relação à mão de quem está segurando. Em seguida, temos um transistor mais recente. 200 UNICESUMAR Por que estamos falando dos transistores e processadores? Para contextualizar você, estudante, sobre o fato de que os projetos digitais das antigas gerações apresentavam um grande número de chips contendo portas básicas (AND e OR), mas, com o avanço da tecnologia, os projetos passaram a usar circuitos de alta densidade, incluindo dispositivos mais complexos, como contadores, controladores, registradores e decodificadores, o que permitiu mais flexibilidade nas implementações com o uso de módulos programáveis (CODÁ, 2014). Um tipo de componente que auxiliou este avanço são os dispositivos lógicos programáveis (PLDs), que permitem uma quantidade muito maior de portas lógicas e de outros componentes, em um espaço muito menor e com custo reduzido. É exatamente isso que aprenderemos a seguir. D IÁ R IO D E B O R D O 201 UNIDADE 9 Os dispositivos lógicos programáveis (PLD) são, como o próprio nome já diz, circuitos programáveis pelo usuário. Isto quer dizer que eles não possuem uma função lógica definida até serem configurados, eles possuem uma grande quantidade de portas lógicas (AND, OR, NOT), flip-flops e de registradores e todos fazem parte do mesmo circuito integrado (CI). A programação é feita por meio de campos elétricos induzidos no dispositivo (CODÁ, 2014). A estrutura interna de um PLD é formada por um array que conecta vários barramentos aos blocos lógicos do circuito, entradas e saídas e blocos de memória. Os PLDs podem ser divididos em duas categorias: os simples e os complexos, ou SPLD e CPLD. Então, começaremos aprendendo o funcionamento do SPLD. Os dispositivos SPLD são subdi- vididos em dois tipos: PAL e GAL. PAL quer dizer Lógica de Arranjo Programável e GAL quer dizer Lógica de Arranjo Genérico. Os SPLD do tipo PAL são programáveis somente uma vez, então depois de inserir a lógica desejada, o seu dispositivo sempre funcionará daquela maneira. Já os do tipo GAL podem ser reprogramados. Um dispositivo PAL nada mais é que um conjunto de portas AND conectadas a um arranjo específico de portas OR. Normalmente, eles são conectadospor fusíveis e, por isso, são programáveis somente uma vez, pois, uma vez que o fusível é queimado, não pode voltar. A Figura 2 ilustra as conexões de um dispositivo PAL com os fusíveis intactos: A A _ B B _ B Figura 2 - Estrutura AND/OR de um dispositivo PAL Fonte: Floyd (2007, p. 622). 202 UNICESUMAR Esta estrutura permite qualquer lógica de soma e produto, limitada a uma quantidade de variáveis de acordo com o tamanho do dispositivo. Conforme vimos nas unidades anteriores, qualquer expressão pode ser representada por uma combinação de portas lógicas AND e OR. Por isso, essa configuração é versátil, ou seja, programável. Esta imagem está representando um dipositivo PAL com duas entradas e uma saída, mas, normal- mente, eles contêm bem mais entradas e saídas. Um arranjo programável é, basicamente, uma matriz de condutores que formam linhas e colunas com uma conexão programável em cada ponto do cruza- mento, onde cada uma dessas conexões é um fusível. Ao programar a ausência ou a presença de cada fusível, qualquer combinação das variáveis de entrada (e suas versões barradas) pode ser aplicada a uma porta AND para formar qualquer produto desejado. As portas AND são conectadas a uma porta OR criando uma saída de soma de produtos (FLOYD, 2007). EXEMPLO01 Implemente a lógica, a seguir, em um dispositivo PAL com duas entradas e uma saída: X AB AB AB� � � Solução: Na primeira porta AND, faremos o produto AB . Na segunda, o AB , na terceira, o AB . No final, estes três produtos serão somados na porta OR. Perceba, na imagem, a seguir, que os fusíveis que representam essas operações permanecem intactos, enquanto todos os outros são queimados. A A _ B B _ X = A B + A B + A B _ _ _ Figura 3 - Implementação de uma expressão soma de produtos Fonte: Floyd (2007, p. 623). 203 UNIDADE 9 Agora, falaremos sobre o outro tipo de SPLD, o GAL : conforme falamos anteriormente, este dispositivo permite que você o programe mais de uma vez, com lógicas diferentes. Ele tem a mesma organização do dispositivo PAL, mas ao invés de usar fusíveis, ele usa tecnologias reprogramáveis, como uma EEPROM (E2CMOS), conforme a Figura 4: A A _ B B _ +v +v +v +v Figura 4 - Arranjo de um dispositivo GAL Fonte: Floyd (2007, p. 623). Mas afinal, o que é uma EEPROM? Para res- ponder a esta pergunta, primeiro, entenderemos o que é uma PROM. A memória PROM (Memórias de Apenas Leitura Programáveis) é como um grande deco- dificador de endereços representado por portas AND de múltiplas entradas. De acordo com as saídas dessas portas AND conectadas às portas OR, determina-se se a saída será 0 ou 1. S 0 +Vcc Fusível D 0 Figura 5 - Célula de uma PROM Fonte: Codá (2014). 204 UNICESUMAR Mas como já percebemos, fusíveis não podem ser reprogramáveis, o que pode ser inconveniente para certas aplicações. Por isso, foi criada a EPROM, que usa transistores do tipo MOS com gate flutuante (CODÁ, 2014). “gate” não �utuante “gate” �utuante D 0 S 0 DD Figura 6 - Transistor MOS Fonte: Codá (2014). Esses transistores conduzem eletricidade ou não utilizando armazenamento de carga. Se você se lem- bra de nossa discussão no início desta unidade, este tipo de dispositivo é essencial em todos os nossos eletrônicos, justamente por esta característica de reprogramabilidade. Para encerrar o nosso programa, continuaremos a conversa com um convidado falando sobre a história dos dispositivos eletrônicos. Se encaixam nestas tecnologias desde os acionamentos de válvulas até os computadores mais modernos que temos hoje, como tudo o que você aprendeu neste livro. 205 UNIDADE 9 O nosso foco, neste livro, não é estudar este tipo de componente eletrônico. Isto, você, estudante, apren- derá em disciplinas futuras. Mas, claro, se já estiver ansioso(a) para aprender mais sobre o assunto, fazer uma pesquisa para aprofundar o aprendizado nunca é demais! Voltando, então, à nossa linha de raciocínio: agora, você sabe, superficialmente, o que é uma PROM e uma EPROM. A EEPROM é mais uma evolução da mesma estrutura, que pode ser reprogramada no próprio circuito, sem equipamentos adicionais (apagadores e programadores) (CODÁ, 2014). Analise, novamente, a Figura 3. Ela representa um SPLD que contém somente 2 entradas e 1 saída. Você percebe algum problema nesta representação? Esta figura não é muito “enxuta”. Imagine utilizar este modelo para um dispositivo de 4 entradas e 4 saídas, por exemplo, que é uma configuração bas- tante comum. Conheceremos, então, uma forma mais simplificada de representar este tipo de circuito, na figura a seguir: Bu�er de entrada A A _ B B _ A B AB AB _ 2 2 Linhas de termos-produto AB __ 2 Fusível “queimado” (sem conexão) Fusível intacto (conexão) X = AB + AB + AB _ _ _ Linhas de entrada Conexão �xa Linha única com um corte representando múltiplas entradas na porta AND (nesse caso, 2 entradas) Figura 7 - Notação simplificada de um diagrama PAL Fonte: Floyd (2007, p. 624). As entradas dos dispositivos PAL ou GAL costumam ter buffers para evitar sobrecarga por um gran- de número de entradas de portas AND nas quais elas são conectadas; o símbolo do triângulo, na Fi- gura 7, representa um buffer que gera a variável e o seu complemento. Estes dispositivos têm um grande número de linhas de interconexões programáveis, e cada porta AND tem muitas entradas. As conexões feitas no arranjo deste exemplo são indicadas com um X no ponto de cruzamento para um fusível intacto, e a ausência do X para um fusível aberto. Este exemplo da figura mostra a função ló- gica AB AB AB+ + programada. 206 UNICESUMAR Agora, veremos uma arquitetura um pouco mais complexa de um PLD com 4 entradas e 4 saídas, já que a maioria deles não terá somente uma saída, como nos exemplos anteriores. Entradas D C B A Matriz OR (programável) D C B A DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA DCBA Matriz AND (conexões permanentes) Todos os fusíveis intactos Saídas fusível queimado fusível intacto O O O O3 2 1 0 O3 O1 O0 = = = AB + CD; O = ABC ABCD + ABCD; A + BD + CD 2 O O O O3 2 1 0 Figura 8 - Arquitetura de PLD com 4 entradas e 4 saídas Fonte: Tocci, Widmer e Moss (2003, p. 644). À esquerda, temos o dispositivo intacto antes de ser programado. À direita, temos os fusíveis quei- mados produzindo as seguintes saídas: O0: A BD CD+ + O1: ABCD ABCD+ Y AB AC� � O2: ABC O3: AB CD+ 207 UNIDADE 9 Aprenderemos mais um conceito que será importante para a compreensão dos PLD complexos: as macrocélulas . Uma macrocélula é formada, normalmente, por uma porta OR associada a alguma lógica de saída, ela pode variar em complexidade, dependendo do tipo de PAL ou GAL. Uma macro- célula pode ser configurada para operar com lógica combinacional registrada ou uma combinação dos dois. A lógica registrada utiliza um flip-flop para realizar uma função lógica sequencial (FLOYD, 2007). I1 I2 I3 I4 In Arranjo AND programável PAL: Programável uma vez GAL: Reprogramável Macrocélula Arranjo OR Porta OR Lógica de saída O1 O2 O3 Om Porta OR Porta OR Porta OR Lógica de saída Lógica de saída Lógica de saída Figura 9 - diagrama em bloco de uma macrocélula Fonte: Floyd (2007, p. 626). 208 UNICESUMAR A Figura 10, a seguir, ilustra três tipos básicos de macrocélulas: a parte (a) representa uma macrocélula simples com porta OR e um inversor que se assemelha a um circuito aberto para desconectar, com- pletamente, a saída. A saída do inversor pode ser de nível alto, baixo ou desconectado, na parte (b), observamos uma macrocélula que pode ser entrada ou saída. Quando a saída é usada como entrada, o inversor é desconectado e a entrada vai para o buffer conectado no arranjo AND. Na parte (c), temos uma macrocélula que pode ser programada para ter uma saída de estado ativo alto ou estado ativo baixo ou ela pode ser usada como uma entrada. Uma entrada para uma porta EX-OR pode ser programada para nível altoou baixo. Controle tristate A partir do arranjo de portas AND Saída (a) Saída combinacional (ativa em nível baixo). Uma saída ativa em nível alto seria mostrada sem o pequeno círculo no símbolo da porta tristate. A partir do arranjo de portas AND (b) Entrada/saída combinacional (ativa em nível baixo) Entrada/saída (I/O) (c) Saída com polaridade programável A partir do arranjo de portas AND Entrada/saída (I/O) Fusível programável Figura 10 - Tipos básicos de macrocélulas para lógica combinacional Fonte: Floyd (2007, p. 626). Alan Turing é considerado o pai da computação. Durante a Segunda Guerra Mundial, ele trabalhou para a inteligência britânica em um centro especializa- do em quebra de códigos para conseguir decifrar mensagens enviadas pelos nazistas. Para isso, ele construiu uma máquina que funciona de forma muito semelhante às portas lógicas e componentes que aprendemos ao longo de todo o livro, com a diferença de que, ao invés de circuitos elétricos, ele usou acionamentos de válvulas. O filme O Jogo da Imitação (2014) retrata a história de Alan Turing, inclusive da máquina que ele construiu. Então, fica a recomen- dação de um excelente filme para você assistir e ver um pouco da origem de toda esta tecnologia que faz parte da nossa vida. 209 UNIDADE 9 Falaremos sobre o segundo tipo de dispositivo lógico programável, o CPLD . A letra C significa complexo, porque um CPLD nada mais é do que um arranjo de vários SPLDs com interconexões programáveis. A Figura 11 ilustra a arquitetura de um dispositivo deste tipo. I/O I/O I/O I/O I/O I/O I/O I/O Bloco de arranjo lógico (LAB) SPLD Bloco de arranjo lógico (LAB) SPLD Bloco de arranjo lógico (LAB) SPLD Bloco de arranjo lógico (LAB) SPLD Bloco de arranjo lógico (LAB) SPLD Bloco de arranjo lógico (LAB) SPLD Bloco de arranjo lógico (LAB) SPLD Bloco de arranjo lógico (LAB) SPLD PIA Figura 11 - Diagrama em bloco de um CPLD genérico Fonte: Floyd (2007, p. 629). Esta arquitetura pode variar de acordo com cada fabricante e cada modelo, então, este diagrama que apresentamos é um CPLD genérico. Cada um dos SPLDs, nesta imagem, é chamado de LAB, que significa bloco de arranjo lógico. As interconexões programáveis são chamadas de PIA (arranjo de interconexões programáveis), que alguns fabricantes também chamam de AIM (matriz de interconexões avançadas). Os LABs e suas interconexões são programadas por software, a maioria das CPLDs são reprogra- máveis e usam tecnologia de processo de EEPROM ou SRAM. O consumo de potência pode variar de alguns miliwatts a algumas centenas de miliwatts, as tensões de alimentação CC são, tipicamente, de 2,5 V a 5 V, dependendo do dispositivo. Alguns fabricantes que produzem CPLDs são Altera, Xilinx, Lattice e Cypress (FLOYD, 2007). Quando falamos de PLDs, eles estão presentes em, praticamente, todos os circuitos eletrônicos que utilizamos no nosso dia a dia. Um exemplo simples e mais visual do que ele pode fazer é o mapeamento de teclados. Como entrada, temos as teclas apertadas pelo usuário e esta combinação de teclas deve obedecer uma lógica e gerar uma saída. Se este teclado estiver travando o acesso a uma porta por senha, por exemplo, ela abrirá somente se for digitada a sequência correta. 210 M A P A M EN TA L No mapa mental, a seguir, estão os tópicos e subtópicos que foram estudados nesta unidade. Para cada um deles, tem uma lista vazia para você preencher com os principais conceitos e ideias. Por exemplo, em PAL, o primeiro item dentro do seu balão poderia ser “programável somente uma vez”. D is po si ti vo s ló gi co s pr og ra m áv ei s SP LD G A L CP LD PA L (li st a co m tó pi co s va zi a, a se gu ir, d e ca da um d es te s ba lõ es pa ra o a lu no pr ee nc he r) 211 M A P A M EN TA L A G O R A É C O M V O C Ê 212 1. “Um PLD é um circuito com muitas portas, flip-flops e registradores que estão interconectados no chip. Quando dizemos que um PLD é programável é porque a função específica do circuito pode ser escolhida pelo usuário por meio das conexões que devem ser abertas e das que devem ficar intactas. Este processo pode ser feito pelo fabricante, de acordo com as instruções do cliente, ou pode ser feito pelo próprio cliente Adaptado de Tocci, Widmer e Moss (2003). Sobre os PLDs, analise as afirmações a seguir: I) Existem três tipos de PLDs, que são SPLD, CPLD e PAL. II) Um dispositivo do tipo PAL tem uma estrutura com várias portas AND com conexões progra- máveis e um arranjo de portas OR fixo. III) Os dispositivos do tipo GAL utilizam transistores do tipo MOS ao invés de fusíveis, por isso, são reprogramáveis. IV) Os LABs (blocos de arranjo lógico) e suas interconexões são programadas por software. É correto o que se afirma em: a) II e IV, apenas. b) II, III e IV, apenas. c) I, II e III, apenas. d) I, II e IV, apenas. e) I, II, III e IV. 2. O arranjo da figura, a seguir, representa um dispositivo PAL com alguns fusíveis queimados, representados pelas marcas X. Qual será a expressão de saída gerada por esse dispositivo? A A _ B B _ C C _ X Dispositivo PAL Fonte: adaptado de Floyd (2007, p. 698). A G O R A É C O M V O C Ê 213 3. Na figura, a seguir, temos um dispositivo PAL que ainda não teve nenhuma conexão progra- mada. Você, estudante, deve programá-lo para implementar as funções listadas, a seguir. Para isto, assinale, com um X, a conexão efetuada em cima do desenho. Se necessário, simplifique as expressões para que elas caibam neste arranjo. a) Y ABC ABC ABC� � � A A _ B B _ C C _ X Dispositivo para exercício Fonte: Floyd, (2007, p. 698). b) Y ABC ABC ABC ABC� � � � A A _ B B _ C C _ X Dispositivo para exercício Fonte: Floyd (2007, p. 698). C O N FI R A S U A S R ES P O ST A S 214 1. B. I - Falsa: os dois tipos são PAL e GAL; II - verdadeira; III - verdadeira; V - verdadeira. 2. Ao analisar as conexões do dispositivo PAL representadas pelos X, obtemos a seguinte expressão: ABC BC ABC+ + 3. Para chegar às expressões propostas, será necessário fazer as seguintes conexões: a) A A _ B B _ C C _ X b) Para que a expressão caiba nesse arranjo, é necessário reduzi-la utilizando Karnaugh. A expressão simpli- ficada será: Y AB AC� � R EF ER ÊN C IA S 215 BROEKHUIJSEN, N. AMD’s 64-Core EPYC and Ryzen CPUs Stripped: A Detailed Inside Look. Tom’s Hard- ware, 23 oct. 2019. Disponível em: https://www.tomshardware.com/news/amd-64-core-epyc-cpu-die-desig- n-architecture-ryzen-3000. Acesso em: 12 nov. 2020. CODÁ, L. Dispositivos Lógicos Programáveis. São Paulo: EESC-USP, 2014. FLOYD, T. L. Sistemas digitais: fundamentos e aplicações. 9. ed. Porto Alegre: Bookman, 2007. TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais: princípios e aplicações. 8. ed. São Paulo: Pearson Prentice Hall, 2003. 216 M EU E SP A Ç O Sistemas de Numeração Lógica Combinacional Circuitos Combinacionais na Prática Simplificação de circuitos lógicos Circuitos aritméticos somadores e subtratores Circuitos Sequenciais I Circuitos Sequenciais II Contadores Dispositivos Lógicos Programáveis Botão 3: Button 5: Button 6: Button 8: Button 7: Button 4: Botão 4: