·
Engenharia Eletrônica ·
Sistemas Digitais
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
410
Conteúdo sobre Sistemas Digitais – Prof. Marco Aurélio Seluque Fregonezi
Sistemas Digitais
UNIA
1
Analise de Circuitos Digitais - Funcao e Diagrama de Estado de Contadores
Sistemas Digitais
PUC
1
Sistemas Digitais - Engenharia Eletrica - Material de Estudo
Sistemas Digitais
PUC
2
Avaliação 1-2021 1
Sistemas Digitais
UTFPR
1
Roteiro de Exercícios: Comparador e Somador
Sistemas Digitais
FEI
8
Simulação Funcional e Diagrama de Estados para Sistema em VHDL
Sistemas Digitais
FEI
2
Avaliação 2-2021 1
Sistemas Digitais
UTFPR
2
Trabalho Circuito Monoestavel-2021 1
Sistemas Digitais
UTFPR
1
Circuito e Diagrama Temporal: Análise de Saídas e Frequência
Sistemas Digitais
PUC
Texto de pré-visualização
Hugo Tanzarella Teixeira Marley Fagundes Tavares Rodrigo Vinícius Mendonça Pereira Sistemas digitais 2017 Editora e Distribuidora Educacional SA Avenida Paris 675 Parque Residencial João Piza CEP 86041100 Londrina PR email editoraeducacionalkrotoncombr Homepage httpwwwkrotoncombr Dados Internacionais de Catalogação na Publicação CIP Teixeira Hugo Tanzarella ISBN 9788552202998 1 Computadores digitais I Tavares Marley Fagundes II Pereira Rodrigo Vinícius Mendonça III Título CDD 004 Fagundes Tavares Rodrigo Vinícius Mendonça Pereira Londrina Editora e Distribuidora Educacional SA 2017 184 p T266s Sistemas digitais Hugo Tanzarella Teixeira Marley 2017 por Editora e Distribuidora Educacional SA Todos os direitos reservados Nenhuma parte desta publicação poderá ser reproduzida ou transmitida de qualquer modo ou por qualquer outro meio eletrônico ou mecânico incluindo fotocópia gravação ou qualquer outro tipo de sistema de armazenamento e transmissão de informação sem prévia autorização por escrito da Editora e Distribuidora Educacional SA Presidente Rodrigo Galindo VicePresidente Acadêmico de Graduação Mário Ghio Júnior Conselho Acadêmico Alberto S Santana Ana Lucia Jankovic Barduchi Camila Cardoso Rotella Cristiane Lisandra Danna Danielly Nunes Andrade Noé Emanuel Santana Grasiele Aparecida Lourenço Lidiane Cristina Vivaldini Olo Paulo Heraldo Costa do Valle Thatiane Cristina dos Santos de Carvalho Ribeiro Revisão Técnica Thatiane Cristina dos Santos de Carvalho Ribeiro Editorial Adilson Braga Fontes André Augusto de Andrade Ramos Cristiane Lisandra Danna Diogo Ribeiro Garcia Emanuel Santana Erick Silva Griep Lidiane Cristina Vivaldini Olo Sumário Unidade 1 Introdução aos sistemas digitais Seção 11 Conceitos de circuitos digitais Seção 12 Sistemas numéricos e códigos binários Seção 13 Circuitos lógicos 7 9 26 41 Unidade 2 Álgebra booleana e simplificação de circuitos lógicos Seção 21 Leis e teoremas da álgebra booleana Seção 22 Análise booleana e síntese de circuitos lógicos Seção 23 Simplificação de circuitos lógicos 55 56 67 80 Unidade 3 Lógica combinacional Seção 31 Circuito somador Seção 32 Circuito comparador codificador e decodificador Seção 33 Circuitos multiplexado e demultiplexado 97 99 110 123 Unidade 4 Lógica sequencial Seção 41 Latches e flipflops Seção 42 Contadores e registradores Seção 43 Máquinas de estado finitos 135 136 155 169 Um exemplo de cada tipo é mostrado na Figura 19 Palavras do autor Caro aluno estamos vivendo momentos significativos na história da humanidade Se você nasceu entre a década de 1980 e 1990 pertence a geração Y também conhecida como geração do milênio Essa geração foi a primeira a nascer necessariamente em um mundo completamente tecnológico Esse avanço somente foi possível devido aos significativos avanços da ciência em especial aos avanços na área de microeletrônica Ano após ano observamos saltos tecnológicos em dispositivos como celulares tablets ou computadores pessoais tanto em capacidade de processamento quanto nas aplicações que funcionam nesses sistemas Dessa forma este livro traz uma análise básica porém contemporânea de um tema cada vez mais relevante sistemas digitais O conteúdo aqui exposto guia você para um entendimento aprofundado sobre eletrônica digital e seus conceitos básicos aspectos do sistema de numeração utilizado em sistemas computacionais e suas operações e codificações uma visão geral sobre funções lógicas e portas lógicas e detalhes sobre álgebra booleana e sua simplificação lógica Além disso serão abordados assuntos fundamentais como o diagrama de VeitchKarnaugh flipflops contadores e máquina de estados finitos Todo esse estudo possibilitará que você compreenda pontualmente detalhes sobre os sistemas digitais Isso vai permitir que você ganhe confiança para tratar desse assunto com seus colegas Saiba que o tema é relevante atual e ao mesmo tempo instigante Dessa forma não se limite a este livro mas extrapole procurando outras fontes de informação e principalmente experimentando as abordagens aqui propostas No momento em que você está cursando essa disciplina é evidente o chamado boom do hardware um movimento caracterizado por grandes empresas que inundam o mercado com sistemas completos para desenvolvedores extrapolarem a imaginação Existe um investimento significativo por parte das grandes empresas em ambientes de programação gratuitos com diversas bibliotecas gratuitas e dispositivos dos mais variados preços processamento e aplicação Nós brasileiros somos um povo criativo Já embarcamos nessa nova onda e com boas ideias De leitura fácil e instigante o presente texto é um convite ao estudo sem deixar de lado o contexto atual e a criatividade da juventude Bemvindo ao mundo dos sistemas digitais Fonte Floyd 2007 p 24 Unidade 1 Introdução aos sistemas digitais Convite ao estudo Estimado aluno a partir de agora começaremos a conhecer os circuitos digitais Inicialmente em linhas gerais definiremos os conceitos de circuitos digitais ou seja a construção desse conhecimento se fundamenta em alguns conceitos básicos dos circuitos digitais Em seguida entenderemos os sistemas numéricos e sua importância para os sistemas digitais Por fim falaremos sobre as portas lógicas e sua aplicação Todo esse conhecimento justificase se observarmos o nosso dia a dia No momento em que você lê este texto bilhões de pessoas estão interagindo com algum circuito digital seja ligando o celular seja usando um relógio ou assistindo a um vídeo na internet A quantidade de informação gerada somente na internet rompeu a casa dos zettabytes equivalente a um sextilhão de bytes Portanto circuitos digitais e toda a eletrônica envolvida nesse volume de informação faz parte da revolução dos bytes nos últimos cem anos Você já pensou que faz parte dessa revolução E que você vive um momento da história no qual não existem mais barreiras entre idiomas culturas e conhecimento Todo esse cenário só foi possível porque milhões de cientistas levaram a ciência a um novo patamar criando sistemas e incrementando as tecnologias de forma a facilitar o dia a dia do homem Mas o que é um sistema digital Como ele interage como um sistema analógico Como um circuito com alguns sensores pode ser capaz de tomar uma decisão e acionar um motor Como se dá essa interação Todas essas perguntas podem ser respondidas considerando se os circuitos digitais Portanto gradativamente podemos construir o seu pensamento trabalhando conceitos básicos sobre circuitos digitais e evoluindoo até culminarmos em circuitos mais complexos como para acionamento de motores por exemplo U1 Introdução aos sistemas digitais 8 Para tanto vamos iniciar esta unidade de ensino contextualizando um cenário prático considere que você está iniciando sua carreira na área de microeletrônica Você acaba de ser contratado para fazer parte do time da linha de montagem de uma empresa de desenvolvimento de sistemas embarcados Você é extremamente curioso e não se limita a aprender somente o básico Até onde você pretende chegar Será possível subir de cargo ou mudar de setor Quem sabe em breve você não estará em um time mais desafiador como em um time de PD pesquisa e desenvolvimento Todas essas conquistas são alcançadas com pesquisa estudo e conhecimento da área e dos elementos que compõem seu ambiente de trabalho Como mencionado circuitos digitais fazem parte da nossa vida Conhecer identificar e solucionar problemas em circuitos digitais não é uma tarefa fácil Isso exige muito estudo e dedicação Para chegar ao time de PD você deve seguir uma trilha que passa pelo conhecimento dedicação e profissionalismo Esteja atento a todos os conceitos que serão apresentados aqui Não se contente somente com o conhecimento apresentado neste material Extrapoleo Boa sorte mãos à obra e bons estudos U1 Introdução aos sistemas digitais 9 Seção 11 Conceitos de circuitos digitais Caro aluno esta seção tem o objetivo de direcionar o seu aprendizado de forma mobilizadora através de um contexto muito próximo da sua realidade Todo esse contexto é para conduzir você o mais próximo possível dos conceitos de circuitos digitais Esses conceitos são a base para que futuramente você comece a projetar sistemas digitais Por isso iremos compreender a diferença entre sinais digitais e sinais analógicos Também veremos os conceitos fundamentais sobre circuitos digitais como eles se enquadram em um circuito digital e como toda essa tecnologia evoluiu até os presentes dias Vamos em especial compreender os níveis lógicos e as formas de ondas geradas por um circuito digital básico Por fim analisaremos os conceitos sobre circuitos integrados circuitos lógicos e finalmente sobre sistemas digitais Esta seção apesar de introdutória é fundamental Ela explica conceitos básicos e necessários para o bom entendimento da disciplina Retomando o nosso contexto imagine o seguinte cenário você foi contratado por uma empresa de desenvolvimento de sistemas embarcados para trabalhar com a montagem de produtos O seu trabalho consiste somente em soldar componentes desses produtos À sua frente existe uma mesa muito grande uma iluminação perfeita uma bela estação de solda SMD e diversos componentes e placas de circuitos impressos prontos para serem soldados Mas você está curioso por saber sobre os fundamentos dos circuitos digitais como uma sequência de pulsos elétricos é transformada em código digital Como funcionam essas peças pretas que todos chamam de microchips As perguntas são muitas Além disso você percebe duas caixas de componentes sobre a sua mesa e decide saber mais sobre eles Uma forma é pesquisando na internet sobre a folha de dados ou datasheet Um dos componentes é um conversor analógico para digital e o outros são flipflops tipo D e portas lógicas AND e OR Você agora precisa lidar com alguns questionamentos que lhe vêm à mente Rodrigo Vinícius Mendonça Pereira Diálogo aberto U1 Introdução aos sistemas digitais 10 Querendo saber mais você pesquisa sobre os componentes flip flops tipo D e as portas lógicas AND e OR que estão sobre a sua mesa pesquisa sobre encapsulamentos de circuitos integrados ou CI Qual a diferença de um CI DIP do inglês Dual Inline Package e um CI BGA do inglês Ball Grid Array Todo esse questionamento vai ajudá lo a entender muito como esses circuitos são feitos e como você irá soldálos Ao fim da sua pesquisa organize as novas informações que você adquiriu como uma base de forma a lhe ajudar nas suas pesquisas futuras Lembrese de que esse cenário é um aprofundamento de seu conhecimento sobre circuitos digitais Todo o conhecimento será feito com base em bastante leitura e pesquisa e pode ser usado no futuro no seu dia a dia Nas seções a seguir serão apresentadas a base para esse conhecimento mas conforme já dissemos não fique limitado somente a essa fonte de conhecimento Pesquise converse e troque informações com outras pessoas O mercado está favorável para funcionários proativos e esforçados Boa sorte e bom trabalho Não pode faltar Em 1947 John Bardeen Walter Brattain e William Shockley Figura 11a inventavam no Bell Labs um pequeno dispositivo semicondutor chamado transistor Figura 11b Isso mudaria o mundo MACNEIL 2016 Fonte httpwwwcomputerhistoryorgsiliconengineinventionofthepointcontacttransistor Acesso em 25 set 2017 Figura 11 a Bardeen Brattain e Shockley na capa da Electronics Magazine b primeiro transistor de ponto de contato U1 Introdução aos sistemas digitais 11 Fonte elaborada pelo autor Figura 12 Série temporal a contínua b discreta a b Hoje há trilhões de transistores espalhados pela Terra em cada lugar onde um aparelho eletrônico possa ser encontrado e existem ainda outros bilhões no espaço em satélites e espaçonaves O transistor é o carrochefe da eletrônica e foi o dispositivo que anunciou o início da era digital Indústrias inteiras foram criadas com base nos semicondutores As telecomunicações como as conhecemos não teriam sido possíveis se não fosse pelo transistor BELL sd Podemos dividir os circuitos eletrônicos em duas categorias principais circuitos analógicos e circuitos digitais Enquanto na eletrônica analógica lidase com grandezas de valores contínuos na eletrônica digital nosso objeto de estudo nesta unidade lida com grandezas de valores discretos É importante no entanto que você tenha conhecimento das duas áreas uma vez que diversas aplicações exigem conhecimento de ambas Assimile Uma grandeza analógica pode assumir infinitos valores de amplitude dentro de um intervalo Já uma grandeza digital somente pode assumir determinados valores de amplitude bem definidos dentro de um intervalo Em geral a maior parte do que podemos medir quantitativamente na natureza são exemplos de grandezas analógicas como a temperatura o tempo a pressão a distância e o som Na Figura 12a temos o exemplo de uma série temporal contínua no tempo Ao representar uma série contínua no tempo amostrando o sinal em instantes específicos conforme podemos ver na Figura 12b estaremos convertendo uma grandeza analógica em um formato no qual é possível digitalizar representando cada valor por um código digital É importante perceber no entanto que a Figura 12b não é de fato uma representação digital de uma grandeza analógica U1 Introdução aos sistemas digitais 12 Representar um sinal no formato digital pode ser vantajoso em relação à representação analógica em aplicações eletrônicas uma vez que os dados digitais podem ser processados e transmitidos de forma mais eficiente e confiável que os dados analógicos e são consideravelmente mais simples de armazenar Por exemplo um arquivo de áudio no formato digital pode ser armazenado de forma mais compacta e reproduzido com maior precisão e pureza do que quando está no formato analógico além disso os dados digitais estão menos sujeitos ao ruído Podemos citar como exemplo de aplicação de eletrônica analógica um sistema de amplificação de áudio O diagrama básico da Figura 13 ilustra as ondas sonoras que são de natureza analógica sendo captadas por um microfone e convertidas em uma pequena tensão analógica denominada sinal de áudio Essa tensão varia continuamente de acordo com as variações na amplitude e frequência do som e é aplicada na entrada de um amplificador linear A saída do amplificador que é uma reprodução amplificada da tensão de entrada é enviada para o altofalante que converte o sinal de áudio de volta para o formato de ondas sonoras com um volume muito maior que o das ondas sonoras originais FLOYD 2007 Fonte Floyd 2007 p 21 Figura 13 Esquema básico de um sistema de amplificação de áudio Já ao tocar um mp3 em seu computador ou em um tocador de mp3 são usados circuitos digitais e analógicos O diagrama de blocos simplificado da Figura 14 ilustra o seu princípio básico A música no formato digital é armazenada no disco rígido HD do inglês hard disk Ao tocar a música os dados digitais são transferidos para um conversor digitalanalógico que converte os dados digitais em um U1 Introdução aos sistemas digitais 13 Fonte adaptada de Floyd 2007 p 21 Figura 14 Diagrama de blocos básico de um tocador de mp3 sinal analógico que é uma reprodução elétrica da música original Esse sinal é então amplificado e enviado para o altofalante Ainda que a lógica multinível venha sendo investigada há muito tempo a lógica de dois níveis continua sendo a mais viável Assim a eletrônica digital opera com apenas dois estados possíveis representados por níveis lógicos diferentes um ALTO e um BAIXO Os dois estados também podem ser representados por níveis de corrente bits e ressaltos num CD DVD etc Mesmo que os sinais verdadeiros físicos que correspondem a ALTO ou BAIXO sejam de fundamental importância para os desenvolvedores de tecnologia eles são irrelevantes para os usuários do sistema programadores por exemplo Nos sistemas digitais esses dois estados são combinados formando códigos usados para representar números símbolos caracteres alfabéticos e outros tipos de informações os bits são representados por dois níveis de tensão diferentes Em geral o bit 1 é representado por uma tensão maior a qual chamamos por nível lógico ALTO e o bit 0 é representado por uma tensão menor a qual chamamos de nível lógico BAIXO Quando em um sistema o bit 1 é representado por uma tensão menor ou nível BAIXO e o bit 0 é representado por uma tensão maior ou nível ALTO esse sistema opera no que chamamos de lógica negativa Na teoria um nível único de tensão é usado para representar um nível lógico ALTO e o outro nível de tensão é usado para representar um nível BAIXO Na prática no entanto em um circuito digital os níveis lógicos são representados por um intervalo de tensão entre um valor mínimo e um valor máximo especificados não podendo haver sobreposição entre as faixas aceitáveis para os níveis ALTO e BAIXO música U1 Introdução aos sistemas digitais 14 Considere como nosso padrão 0 volts ou GND ou terra para o dígito 0 e VCC para o dígito um 1 Você percebeu que existe uma infinidade de valores possíveis entre 0 volts e VCC Dessa forma é preciso saber como se dá essa condição intermediária entre 0 e VCC Vamos começar entendendo os níveis de tensão possíveis em circuitos digitais Para tensões de circuitos digitais na entrada é adotada a nomenclatura VIH V Input High para a menor tensão na qual ainda é possível representar o valor 1 A maior tensão na qual ainda é representado o valor 0 na entrada é chamada VIL V Input Low Fato similar ocorre na saída de um circuito digital Os níveis de tensão podem variar entre VCC e VOH V Output High para indicar o valor 1 e entre VOL V Output Low e GND para indicar 0 A Figura 15 ilustra todo esse conceito de representação de uma entrada e uma saída digital e seus respectivos níveis de tensão V High e V Low O valor intermediário entre VIH e VIL entre VOH e VOL são tensões que não são usadas e não são símbolos válidos ou seja um circuito digital deve desconsiderar esses valores Fonte elaborada pelo autor Figura 15 Entrada e saída digitais Ainda a respeito de níveis de tensão existem diferentes tecnologias que se aplicam aos circuitos digitais Existem por exemplo tanto circuitos TTL e CMOS quanto o LTTL Low Power TTL BiCMOS LVC Low Voltage CMOS entre outros Para cada tecnologia existe um padrão de nível de tensão A Figura 16 escalona as tecnologias com relação aos níveis de tensão VCC GND V High e V Low U1 Introdução aos sistemas digitais 15 Fonte elaborada pelo autor Figura 16 Níveis de tensão digitais Definido como os níveis de tensão representam dígitos binários basta agora entender que podemos gerar esses níveis de tensão em forma de onda consistidas em níveis de tensão que comutam entre os níveis lógicos ALTO e BAIXO Na Figura 17a podemos ver um pulso positivo que ocorre quando a tensão ou a corrente passa do nível BAIXO normal para o nível ALTO e em seguida retorna para o nível BAIXO Já na Figura 17b temos um pulso negativo gerado quando a tensão passa do nível ALTO normal para o nível BAIXO e retorna para o nível ALTO Uma forma de onda digital consiste em uma série desses pulsos a b Fonte elaborada pelo autor Figura 17 Pulso ideal a positivo b negativo As transições em um pulso são classificadas como positiva ou borda de subida na Figura 17a ocorre em t0 ou como negativa ou borda de descida na Figura 17a ocorre em t1 U1 Introdução aos sistemas digitais 16 Os pulsos vistos na Figura 17 são ideais porque se considera que as bordas de subida e descida comutam instantaneamente Na prática essas transições não ocorrem no mesmo instante Na Figura 18 estão ilustradas as características que um pulso real pode exibir embora no projeto da maioria dos circuitos digitais consideramos os pulsos ideais Fonte adaptada de Floyd 2007 p 24 Figura 18 Características de um pulso não ideal A sobreelevação do sinal overshoot e oscilações são produzidas algumas vezes por efeitos de indutância e capacitância parasitas A inclinação pode ser causada por capacitância parasita e circuitos resistivos que formam um circuito RC com uma pequena constante de tempo O tempo necessário para um pulso passar do nível BAIXO para o ALTO é denominado tempo de subida tr rise time e o tempo necessário para a transição do nível ALTO para o nível BAIXO é denominado tempo de descida tf fall time A largura de pulso tw pulse width é a medida da duração do pulso e é frequentemente definida como o intervalo de tempo entre os pontos de 50 das bordas de subida e descida FLOYD 2007 Segundo Floyd 2007 a maioria das formas de onda encontradas em sistemas digitais são compostas de uma série de pulsos algumas vezes denominados trem de pulsos podendo ser classificadas como periódicas ou não periódicas Uma forma de onda periódica é aquela que se repete num intervalo fixo denominado de período T A frequência f é a taxa com que ela se repete e é medida em hertz Hz Uma forma de onda não periódica é claro não se repete em intervalos fixos e pode ser composta de pulsos com larguras aleatórias eou intervalos aleatórios de tempo entre os pulsos Podemos dizer que cada circuito digital pode ser descrito por uma função lógica que processa os bits que o circuito recebe Por exemplo considere a e b dois bits recebidos por um certo circuito o qual produz o bit y na saída A seguir damos alguns exemplos de funções binárias básicas y NOT a também representado por y a y a OU b ou y a b em que representa o OU OR lógico e não deve ser confundido com o sinal de adição aritmética y a E b ou y a b em que representa o E AND lógico e não deve ser confundido com o sinal de multiplicação aritmética Na Seção 13 aprofundaremos esse assunto Porém podemos adiantar que a primeira função é denominada inversão ou negação pois é o oposto de a A segunda é denominada função OU porque basta ter uma entrada alta para que a saída seja alta Por fim a terceira função é denominada E porque a saída é alta somente quando todas as entradas forem altas U1 Introdução aos sistemas digitais 18 Reflita No seu cotidiano o que pode ser considerado uma função lógica Por exemplo no café da manhã se você tiver leite e café você toma café com leite se você só tiver café toma somente o café Podemos considerar essas decisões como funções lógicas A vida é feita de circuitos lógicos ou seja de decisões Saiba tomálas com cautela Por fim segundo Vahid 2008 um circuito integrado ou CI microchip ou chip como o ilustrado na Figura 110 consiste em um circuito eletrônico miniaturizado feito basicamente de silício do tamanho de uma unha Fonte httpspixabaycomptcircuitointegradodispositivochip876099 Acesso em 26 set 2017 Figura 110 Circuito integrado com encapsulamento removido Foi a invenção dos circuitos integrados que permitiu o início de toda essa revolução que ocorreu no século XX e ainda ocorre nos dias atuais Já os circuitos lógicos são os circuitos que fazem uso dos blocos lógicos explicados anteriormente A Figura 111 exemplifica uma porta lógica NAND U1 Introdução aos sistemas digitais 19 Fonte National 1989 p 1 Figura 111 Porta NAND a circuito integrado e b esquemático do circuito a b Esses circuitos foram amplamente utilizados no início da eletrônica Atualmente ainda podem ser utilizados mas é mais fácil programar um microcontrolador Portanto eles são importantes mas não muito utilizados no dia a dia Para Tocci 2011 sistemas digitais são uma combinação de dispositivos projetados para manipular informações lógicas ou valores físicos representados no formato digital Podemos citar como sistemas digitais computadores pessoais celulares calculadoras avançadas sistemas de áudio e vídeo Pesquise mais Segundo o MIT Technology Review 2017 existem tendências que poderão afetar diretamente a nossa economia medicina e cultura nos próximos quatro a 15 anos Listamos algumas a seguir 1 Reversão de paralisias através de implantes cientistas pretendem reestabelecer movimentos de pessoas com lesões graves disponível em dez a 15 anos 2 Pagamento através de reconhecimento facial detecção de padrões faciais que autorizam o pagamento de contas já disponível 3 Computadores quânticos na prática Google IBM Intel Microsoft entre outras investem massivamente em sistemas quânticos completos disponível em quatro a cinco anos 4 Selfie 360 câmeras permitem a gravação de imagens em 360 já disponível 5 Terapia genética 20 através de manipulações nos genes das células é possível tratar câncer problemas do coração entre outras doenças já disponível O mais interessante está no fato que essas tecnologias possuem em algum momento alguma relação com a eletrônica digital Pesquise sobre as inovações tecnológicas envolvendo sistemas digitais o assunto é fascinante U1 Introdução aos sistemas digitais 20 Prezado aluno o assunto não se encerra com o conteúdo apresentado aqui Como mencionamos anteriormente pesquise outras fontes e questione os especialistas no assunto Bons estudosI Sem medo de errar Relembrando a situação problemaproposta você foi contratado por uma empresa de desenvolvimento de sistemas embarcados para trabalhar com a montagemsolda de produtos Na sua bancada de trabalho existem diversos componentes e placas de circuitos impressos prontos para serem soldados Todo esse contexto leva você a se questionar sobre os componentes que estão sobre a sua mesa É fundamental saber como encontrar informações sobre eles Na internet pesquise sobre a folha de dados de um CI o 74LS74 Procure da seguinte forma 74LS74 datasheet ou pesquise sobre flipflops tipo D Fique atento a detalhes como a pinagem do CI e as condições de operação Pesquise detalhes como as definições de tempo do componente e as condições de operação recomendadas Para finalizar entenda os vários encapsulamentos possíveis para os componentes que você trabalha Observe a Figura 112 ela descreve muito bem a tecnologia de encapsulamento pela quantidade de pinos do microchip Fonte adaptada de httpbgablogtartangaeusfiles201506Imagen1jpg Acesso em 26 set 2017 Figura 112 Diferentes tipos de encapsulamento U1 Introdução aos sistemas digitais 21 Fonte elaborada pelo autor Figura 113 Portão automático Pesquise o custo entre um mesmo CI mas com diferentes encapsulamentos Quando se usa um e quando se usa outro encapsulamento Relembrando esse cenário é um aprofundamento ao seu conhecimento sobre circuitos digitais Dessa forma todo o conhecimento será feito com base em bastante leitura e pesquisa A ideia aqui é criar uma base sólida e que esse conhecimento seja empregado no futuro no seu dia a dia Não fique limitado somente a esta fonte de conhecimento Pesquise converse e troque informações com outras pessoas Avançando na prática Portão automático Descrição da situaçãoproblema Caro aluno você está adquirindo um conhecimento muito amplo sobre circuitos digitais Inclusive você já começa a observar soluções para problemas cotidianos Você reparou que na casa da sua avó o portão automático pode ser melhorado Ocorre que esse portão não possui um sensor de presença ou seja caso exista alguém debaixo dele ele ignora isso e fecha Observe a Figura 113 Ela possui um sensor e uma chave de fim de curso U1 Introdução aos sistemas digitais 22 Qual seria uma lógica para a seguinte situação 1 Portão no alto chave ativa em 1 a Sensor sem pessoas embaixo do portão em 0 b Portão pode fechar 2 Portão no alto chave ativa em 1 a Sensor com pessoas embaixo do portão em 1 b Portão não pode fechar 3 Portão embaixo chave desativada em 0 a Portão pode abrir Utilize conceitos das funções lógicas trabalhadas na unidade Resolução da situaçãoproblema Caro aluno uma solução aparentemente simples é utilizar uma função lógica AND ou E tendo como entradas a CHAVE DE FIM DE CURSO e o SENSOR de presença A saída seria utilizada na entrada do circuito que controla a subida e descida do portão como mostra a Figura 114 Fonte elaborada pelo autor Figura 114 Portão automático com circuito para controle Existem diversas soluções A princípio esta solução pode resolver o problema Pesquise como fazer esse teste fisicamente U1 Introdução aos sistemas digitais 23 Fonte adaptada de Tocci 2011 Figura 115 Circuitos digitais e os níveis binários 0 e 1 Faça valer a pena 1 Analise a notícia TV Digital veja cronograma de desligamento do sinal analógico nas cidades Até o fim de 2017 oito capitais além do DF passam a receber apenas sinal digital Quem tem TV analógica precisa ter conversor e antena digital Fonte httpsgooglKq7LzS Acesso em 13 out 2017 Com relação a um sinal digital e um sinal analógico podemos afirmar que a O sinal analógico assume valores finitos ou discretos no tempo o sinal digital pode assumir diversos valores no tempo b O sinal analógico sempre assume valores inconstantes no tempo o sinal digital pode assumir diversos valores no tempo c O sinal digital sempre assume valores indeterminados no tempo o sinal analógico é um sinal que pode assumir somente um valor no tempo d O sinal digital nunca assume valores finitos ou discretos no tempo o sinal analógico não pode assumir diversos valores no tempo e O sinal digital sempre assume valores finitos ou discretos no tempo o sinal analógico pode assumir diversos valores no tempo 2 Segundo Tocci 2011 circuitos digitais são dispositivos projetados para produzir tensões de saída entre as faixas VCC VOH e VOL GND para os níveis 1 e 0 respectivamente Também são dispositivos projetados para responder a tensões de entrada entre as faixas VCC VIH e VIL GND para os níveis 1 e 0 respectivamente Para Tocci 2011 o modo como cada circuito digital interage a uma entrada é denominado lógica do circuito ou seja cada circuito segue regras determinadas pelas suas funções lógicas ou portas lógicas implementadas internamente A figura representa um circuito digital cuja entrada Vin produz uma saída Vout Tanto o sinal na entrada quanto a resposta na saída podem ser representados pelas duas formas de onda ao lado Dentro desse circuito existem funções lógicas Essas funções podem representar dois estados somente ligado ou desligado 0 ou 1 aberto ou fechado ou seja tanto na entrada quanto na saída desses blocos lógicos são permitidos somente esses valores Considerando o texto qual será a mensagem dígitos enviada pela porta Vout se for lida na porta a seguinte sequência GND mais significativo VCC VCC GND GND VCC GND VCC menos significativo Considere GND e VCC padronizados no texto a 1 mais significativo 1 1 0 0 0 0 1 menos significativo b 0 mais significativo 1 1 0 0 1 0 1 menos significativo c 1 mais significativo 0 0 0 1 1 0 1 menos significativo d 0 mais significativo 1 0 1 0 1 0 0 menos significativo e 1 mais significativo 1 1 0 0 1 0 1 menos significativo U1 Introdução aos sistemas digitais 25 a A Figura 116a corresponde a uma porta lógica OR A lâmpada ficará acesa se e somente se ambas as entradas forem acionadas A Figura 116b corresponde a uma porta lógica AND A lâmpada ficará acesa eventualmente quando ambas as entradas forem acionadas b A Figura 116a corresponde a uma porta lógica AND A lâmpada ficará acesa se ambas as entradas forem acionadas A Figura 116b corresponde a uma porta lógica OR A lâmpada ficará acesa se A ou B ou ambas entradas forem acionadas c A Figura 116a corresponde a uma porta lógica OR A lâmpada ficará acesa se A ou B ou ambas forem acionadas A Figura 116b corresponde a uma porta lógica AND A lâmpada ficará acesa se e somente se ambas entradas forem acionadas d Tanto a Figura 116a quanto a Figura 116bpodem ligar a lâmpada independentemente da posição na qual estão as portas A e B e Não é possível abstrair portas lógicas observando o desenho O que se conclui é que independentemente da posição das chaves as lâmpadas não serão acesas Fonte elaborada pelo autor Figura 116 Circuito com chaves eletromecânicas a b A B S S B A U1 Introdução aos sistemas digitais 26 Seção 12 Sistemas numéricos e códigos binários Na seção anterior vimos que nos sistemas digitais o sistema de numeração binário e os códigos digitais são de fundamental importância Por exemplo quando pressionamos um número como o 2 no teclado de uma calculadora duas coisas acontecem o número é enviado ao display para que o usuário tenha a certeza de que apertou a tecla correta e o número também é enviado ao circuito responsável pelos cálculos Como sabemos nos sistemas digitais somente são permitidos símbolos com dois valores binários Então como o número 2 é realmente representado nesse sistema binário Um numeral é um símbolo ou grupo de símbolos que representa um número Em nosso cotidiano estamos acostumados a quantificar nossas medidas com números decimais entre 0 e 9 mas será que este é o sistema de numeração mais adequado a todas as medições e sistemas Será que existem outros além do binário e do decimal Quais são as vantagens de cada sistema existente Para entendermos um pouco melhor essa situação devemos retomar nosso contexto você trabalha em uma empresa de desenvolvimento de sistemas embarcados e seu chefe notou sua curiosidade e entusiasmo pelo assunto Por isso pediulhe que você participasse de uma reunião com a equipe de desenvolvimento Eles precisam desenvolver um sistema de contagem de bolas de tênis em uma linha de montagem O sistema é bastante simples de fato as bolas de tênis ao final da produção são colocadas em uma caixa a partir de uma correia transportadora como pode ser visto na Figura 115 Cada caixa é preenchida com nove bolas Diálogo aberto Hugo Tanzarella Teixeira U1 Introdução aos sistemas digitais 27 Fonte adaptada de Floyd 2007 p 67 Figura 115 Problema da contagem de bolas de tênis Você está entusiasmado com a sua oportunidade e quer surpreender a todos na reunião com suas ideias Para ajudálo nesta seção conheceremos o sistema de numeração binário vamos aprender as suas relações com o sistema decimal e também com os outros sistemas de numeração importantes para os sistemas digitais como hexadecimal e octal Com o intuito de fornecer uma base de conhecimento para o entendimento de como os computadores e muitos outros sistemas digitais funcionam vamos aprender algumas operações aritméticas com números binários Por fim introduziremos o conceito de codificação binária Mantenha o foco e bons estudos Não pode faltar O sistema de numeração consiste de um sistema em que um conjunto de números é representado por numerais de forma consistente Você com certeza já está familiarizado com o sistema de numeração decimal porque usa os números decimais todos os dias Embora muito comum a estrutura de pesos dos números decimais não é frequentemente compreendida Nesta seção revisaremos a estrutura dos números decimais o que ajudará você a compreender mais facilmente a estrutura dos sistemas de numeração binário octal e hexadecimal fundamentais no estudo de computadores e eletrônica digital Em um sistema numérico genérico podemos representar um número N qualquer por uma equação geral N dpbp1 dp1bp2 d1b1 d0b0 dq1bq2 dq2bq1 dqbq Neste equação b é a base numérica ou raiz do sistema d corresponde a dígitos singulares possíveis no sistema p é a potência da base correspondente à sua posição relativa aos números inteiros e q é a potência da base correspondente à sua posição relativa aos números fracionários A base ou raiz de um sistema numérico é definida como um número que pode ocorrer em cada posição desse sistema composto de dígitos diferentes SZAJNBERG 2014 Os dígitos de um sistema numérico devem satisfazer a seguinte relação b1 d 0 O sistema de numeração decimal tem base ou raiz 10 e portanto dez dígitos diferentes de 0 a 9 e cada um pode ser usado em qualquer posição do número No sistema decimal p corresponde às unidades dezenas centenas milhares e assim por diante O sistema de numeração binário tem como base o número 2 e portanto apenas dois dígitos 0 e 1 como podemos confirmar resolvendo a equação 12 para b 2 b1 d 0 21 d 0 Os pesos em um número binário são baseados em potência de dois Portanto conforme a fórmula genérica 11 um número na forma binária é apresentado como N dp2p1 dp12p2 d121 d020 dq12q1 dq22q2 dq2q De maneira semelhante ao exemplo anterior um número binário por exemplo 1101011 será representado por um somatório 1011012 1x3 0x2 1x1 1x0 0x1 1x2 1x8 0x4 1x2 1x1 0x0 1x14 8 2 1 1x14 11250 O valor de cada dígito é determinado pela sua posição em relação à vírgula binária O procedimento é idêntico ao realizado no sistema decimal Números binários longos são difíceis de serem lidos e escritos porque é fácil omitir ou trocar um bit Como os computadores entendem apenas os números 0 e 1 é necessário usar esses dígitos quando se programa em linguagem de máquina FLOYD 2007 Portanto tente imaginar como seria escrever uma instrução de dezesseis bits para um sistema microprocessado usando apenas zeros e uns O sistema octal é composto de oito dígitos de 0 a 7 Por isso podemos considerar a contagem em octal bastante similar à contagem em decimal com a exceção de que os dígitos 8 e 9 não são usados Já um número no sistema hexadecimal tem base 16 logo usa 16 dígitos Já que no sistema decimal convencional existem somente 10 dígitos singulares 0 1 2 3 4 5 6 7 8 9 usamos as primeiras seis letras do alfabeto latino A B C D E F para completar a sequência dos 16 dígitos Por exemplo 2352₈ em octal equivale a 15710 em decimal Para entendermos essa conversão basta resolver a equação 11 2352₈ 28²38¹58⁰28¹12824502515725₁₀ Os seus pesos correspondem a potências de 8 conforme ilustrado na Tabela 14 Tabela 14 Pesos do sistema octal Parte inteira Parte fracionária 64 8 1 0125 00156 2 3 5 2 Fonte elaborada pelo autor E o número hexadecimal D10A2₁₆ é 33446328125010 D10A₁₆ 1316² 116¹ 016⁰ 1016¹ 216² 334463281250₁₀ Os seus pesos por sua vez correspondem a potências de 16 conforme pode ser visto na Tabela 15 U1 Introdução aos sistemas digitais 32 Reflita Converta o número decimal 0215 para seu equivalente binário utilizando a técnica descrita Perguntamos o seguinte esse número pode ser representado por um número binário finito exato As conversões do sistema decimal para os sistemas octal e hexadecimal seguem o mesmo método da conversão decimal binária No entanto ao invés de dividir por 2 dividimos por 8 no caso octal e por 16 no caso hexadecimal Faça você mesmo Agora chegou a sua vez de praticar converta 4510 para o sistema octal e 101510 para o sistema hexadecimal A conversão de octal para binário e de hexadecimal para binário é direta cada dígito no sistema octal equivale a uma sequência de três dígitos binários ao passo que cada dígito hexadecimal equivale a uma sequência de quatro dígitos binários conforme vemos na Tabela 16 Fonte elaborada pelo autor Tabela 16 Sistemas de numeração Sistema Decimal Binário Octal Hexadecimal 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F Tabela 15 Pesos do sistema hexadecimal Parte inteira Parte fracionária 256 16 1 00625 000390625 13 1 0 10 2 Fonte elaborada pelo autor A conversão dos sistemas binário octal e hexadecimal para o sistema decimal é simples basta aplicar a equação geral 11 utilizando a potência adequada e resolvendo a somatória como vimos nos exemplos dados até agora Um dos métodos de conversão do sistema decimal para o binário é chamado método de divisões sucessivas e consiste em dividir o número decimal por 2 sucessivamente Como resultado são obtidos quocientes Q e restos R Uma vez que estamos dividindo sempre por 2 o resto será sempre igual a 1 ou a 0 O primeiro resto obtido corresponde ao último dígito do número binário a divisão seguinte fornece o penúltimo e assim sucessivamente até que o quociente seja nulo Os restos em sequência formam o número binário procurado como podemos ver a seguir na conversão do número decimal 84 para a base binária 84242R₀0 42221R₁0 21210R₂1 1025R₃0 522R₄1 221R₅0 120R₆1 O número binário é formado pela sequência R₅R₄R₃R₂R₁R₀10100100 Para converter um número decimal fracionário em seu equivalente binário basta multiplicálo por 2 O produto obtido consiste de uma parte fracionária X e uma parte inteira I que somente será igual a 1 ou 0 Uma multiplicação subsequente por 2 produz uma nova parte fracionária e uma nova parte inteira e assim sucessivamente até que a parte inteira seja igual a zero Os dígitos da parte inteira irão compor o desejado número binário Assim como a divisão binária em que 0 1 0 1 1 1 A operação de divisão por zero também não é permitida aqui Para saber mais sobre as operações aritméticas nos sistemas numéricos leia a Seção 13 no livro Eletrônica digital teoria componentes e aplicações de Szajnberg 2014 disponível na nossa biblioteca virtual em httpsbibliotecavirtualcomdetalhesparceiros5 Acesso em 24 set 2017 Sistemas digitais que representam dados numéricos alfanuméricos enfim todo tipo de dados formam combinações de bits em grupos de 4 6 8 16 32 Um código é construído por uma combinação de bits em uma palavra binária prefixada Alguns códigos são muito conhecidos em sistemas digitais tais como No código numérico BCD decimal codificado em binário do inglês binary coded decimal cada dígito decimal é representado como um código binário Por exemplo os dígitos decimais de 0 a 9 podem ser representados por um código binário de quatro bits Esse tipo de código BCD é chamado de código 8421 a designação 8421 indica os pesos binários dos quatro bits 2³ 2² 2¹ 2⁰ A facilidade de conversão entre os números decimais em código 8421 é sua principal vantagem No código Gray no entanto os bits não têm peso de modo que ele não é considerado um código aritmético A característica que torna o código Gray importante é que nele há a mudança de um único bit entre dois números adjacentes Essa propriedade é importante em muitas aplicações como em codificadores de posição de eixo em que a possibilidade de ocorrerem erros aumenta com o número de mudanças de bits entre números adjacentes em uma sequência A Tabela 19 traz as codificações dos decimais de 0 a 15 em binário Gray e BCD U1 Introdução aos sistemas digitais 35 Fonte elaborada pelo autor Tabela 19 Códigos numéricos Decimal Binário Gray BCD 0 0000 0000 0000 1 0001 0001 0001 2 0010 0011 0010 3 0011 0010 0011 4 0100 0110 0100 5 0101 0111 0101 6 0110 0101 0110 7 0111 0100 0111 8 1000 1100 1000 9 1001 1101 1001 10 1010 1111 0001 0000 11 1011 1110 0001 0001 12 1100 1010 0001 0010 13 1101 1011 0001 0011 14 1110 1001 0001 0100 15 1111 1000 0001 0101 Segundo Floyd 2007 para nos comunicarmos não usamos apenas números mas também letras e outros símbolos Os códigos alfanuméricos representam números e caracteres alfabéticos letras O código ASCII pronunciado askii é a abreviação de American Standard Code for Information Interchange Código Padrão Americano para Troca de Informações é um código alfanumérico aceito universalmente e usado na maioria dos computadores e outros equipamentos eletrônicos Em geral os teclados de computadores são padronizados com o código ASCII Quando digitamos uma letra um número ou um comando de controle o código ASCII correspondente é enviado para o computador O ASCII tem 128 caracteres e símbolos representados por um código de 7 bits Na prática o código ASCII é considerado um código de 8 bits com o bit mais significativo sempre 0 Esse código de 8 bits vai de 00 até 7F em hexadecimal U1 Introdução aos sistemas digitais 36 Pesquise mais Para saber mais sobre códigos digitais leia as Seções 210 211 e 213 no livro Sistemas digitais fundamentos e aplicações de Floyd 2007 disponível na nossa biblioteca virtual httpsbibliotecavirtualcom detalhesparceiros5 Acesso em 24 set 2017 Sem medo de errar Caro aluno seu momento chegou seu chefe impressionado com a sua curiosidade e empenho convidoulhe para participar da reunião com a equipe de desenvolvimento O assunto da reunião é o desenvolvimento de um sistema de contagem da quantidade de bolas de tênis em cada caixa em uma linha de produção Depois de uma pesquisa sobre o assunto você tem a oportunidade de apresentar sua ideia Você propõe o uso de um sistema com um sensor de presença um contador de quatro bits um decodificador BCD sete segmentos e um display de sete segmentos para apresentar a contagem No seu sistema há um contador de quatro bits que conta os pulsos de um sensor que detecta a passagem de uma bola e gera uma sequência de níveis lógicos em cada uma das suas quatro saídas paralelas Cada conjunto de níveis lógicos representa um número binário de quatro bits nível ALTO 1 e nível BAIXO 0 conforme indicado no esquema da Figura 118 Fonte adaptada de Floyd 2007 p 67 Figura 118 Problema da contagem de bolas de tênis À medida que o decodificador recebe essas formas de onda ele decodifica cada conjunto de quatro bits converte no número decimal correspondente e mostra em um display de sete segmentos Quando o contador chega no estado binário 1001 é porque ele contou nove bolas de tênis o display mostra o decimal 9 e uma nova caixa é posicionada sob o transportador Então o contador retorna ao estado zero 0000 e o processo começa novamente U1 Introdução aos sistemas digitais 37 Você ressalta ainda que caso se deseje aumentar o número de bolas em uma caixa basta utilizar um sistema semelhante a esse para fazer a contagem das dezenas A cada vez que o sistema agora para contar as unidades chega a 9 e é reiniciado o sistema das dezenas é incrementado Seu chefe está muito feliz com o seu desempenho Continue assim Avançando na prática Controle de posição de um braço robótico Descrição da situaçãoproblema É muito comum atualmente na indústria a aplicação de técnicas de automação com o objetivo de aumentar a sua eficiência e maximizar a produção com um menor consumo de energia e de matériasprimas O uso de robôs industriais já é uma realidade como podemos ver na Figura 119 Fonte httpscommonswikimediaorgwikiFileFANUCR2000iBAtWorkjpg Acesso em 26 set 2017 Figura 119 Robô industrial em uma linha de produção Você trabalha na equipe de manutenção do processo de montagem de uma grande montadora de carros Na manutenção preventiva você terá que propor a troca dos sensores de posição Justifique sua decisão U1 Introdução aos sistemas digitais 38 Resolução da situaçãoproblema O controle multieixos de um braço robótico é possível com a aplicação direta dos encoders ou codificador de posição de eixo Atualmente os braços da sua linha usam encoders com código binário Para aumentar a precisão sua proposta é trocálos por novos encoders com código Gray Um diagrama simplificado de um mecanismo codificador de posição de eixo de 3 bits é mostrado na Figura 120 No encoder existem três anéis segmentados em oito setores Você explica que a precisão do posicionamento é proporcional à quantidade de setores ou seja quanto mais setores existirem maior será a precisão do posicionamento porém apenas para fins de ilustração está usando nesse exemplo um encoder com oito setores Fonte Floyd 2007 p 105 Figura 120 Encoder de três bits a binário b Gray a b Escovas de contato em um cursor fixo ao longo da superfície dos anéis condutivos girantes 3 bits binário 3 bits código Gray U1 Introdução aos sistemas digitais 39 Cada setor de cada anel é fixado a uma tensão de nível ALTO ou a uma tensão de nível BAIXO para representar uns e zeros 1 é indicado por um setor hachurado e 0 por um setor branco À medida que o eixo gira no sentido antihorário os oito setores se movem sob três escovas produzindo uma saída binária de 3 bits indicando a posição do eixo A Figura 120a representa os encoders usados atualmente Neles os setores são organizados de forma a produzir um padrão binário direto gerando na passagem das escovas a sequência 000 001 010 011 e assim por diante Quando as escovas estão nos setores coloridos a saída é 1 e quando elas estão nos setores brancos a saída é 0 Se uma escova estiver um pouco à frente das outras durante a transição de um setor para o próximo podem ocorrer erros na saída Considere o que acontece quando as escovas estão no setor 111 e entram no setor 000 Se a escova relativa ao bit mais significativo estiver um pouco adiantada a posição 011 seria indicada incorretamente em vez da transição direta de 111 para 000 Nesse tipo de aplicação é praticamente impossível manter um alinhamento mecânico preciso para todas as escovas Portanto alguns erros podem ocorrer em muitas das transições entre setores Sua proposta é a de substituir os atuais encoders para novos que utilizam o código Gray para eliminar problemas de erro que são inerentes ao código binário Conforme podemos ver na Figura 120b o código Gray garante que apenas um bit mude entre setores adjacentes Assim mesmo que as escovas não tenham um alinhamento preciso serão evitados erros na transição Por exemplo vamos considerar o mesmo caso anterior quando as escovas estão no setor 111 e se movem para o próximo setor 101 As duas únicas saídas possíveis durante a transição são 111 e 101 não importando como as escovas estão alinhadas Uma situação similar ocorre na transição de cada um dos outros setores Faça valer a pena 1 O sistema de numeração consiste em um sistema em que um conjunto de números é representado por numerais de forma consistente Converta os números do sistema decimal para o sistema binário I 13 II 356 III 054 IV 7625 U1 Introdução aos sistemas digitais 40 Assinale a alternativa correta a 1001 110011011 0011101 101111 b 1101 101101001 110110 111 c 1101 101100100 110110 111 d 1101 101100100 010001010001 111101 e 1110 1100100 010001 111101 2 O estudo das operações aritméticas no sistema binário é de extrema importância no âmbito da eletrônica digital e dos microcontroladores em que operações são constantemente realizadas Assim saber como elas são realizadas possibilita a otimização e melhor aproveitamento dos componentes Efetue as seguintes operações aritméticas no sistema binário I 10001 10001 II 1100 111 III 1101 111 IV 11110 1100 Assinale a opção correta a 10011001 10011 110 10010 b 11011100 1011 111 11010 c 10011 10011 101 11010 d 10101010 10011 101 10110 e 10011001 10011 101 10110 3 Os sistemas digitais representam dados numéricos alfabéticos alfanuméricos enfim todo tipo de dados Para isso códigos são construídos por uma combinação de bits em uma palavra binária prefixada Nesse contexto avalie as afirmativas a seguir I O código numérico BCD é uma forma de expressar cada dígito decimal com um código binário em que cada dígito decimal de 0 a 9 é representado por um código binário de quatro bits II A designação 8421 indica os pesos binários dos quatro bits 28 24 22 21 e a facilidade de conversão entre os números em código 8421 é a principal vantagem desse código III A característica importante do código Gray é que ele apresenta uma mudança de um único bit quando se passa de uma palavra do código para a seguinte na sequência É correto o que se afirma em a I apenas b I e III apenas c I e II apenas d II apenas e I II e III U1 Introdução aos sistemas digitais 41 Seção 13 Circuitos lógicos Na seção anterior tratamos de diferentes sistemas numéricos bem como a conversão entre esses sistemas Tratamos também sobre a aritmética dos sistemas binários e dos códigos binários Conhecer esses assuntos é muito importante quando lidamos com sistemas digitais Além disso um conhecimento de álgebra booleana é fundamental para o estudo e análise dos circuitos lógicos A álgebra de Boole tem como base o sistema de numeração binário o que permite fazer operações lógicas e aritméticas usando apenas dois dígitos ou dois estados Por isso a álgebra booleana é a ferramenta ideal para representar os circuitos eletrônicos digitais portas lógicas os números caracteres e realizar operações lógicas e aritméticas nos sistemas digitais Sendo assim na Unidade 2 nos aprofundaremos na álgebra booleana e nas técnicas de simplificação de circuitos lógicos mas antes disso nesta seção trataremos de alguns assuntos fundamentais para iniciarmos nossos estudos São eles variáveis lógicas tabela verdade níveis lógicos e portas lógicas Assim para pôr em prática todo esse aprendizado você deve lembrar que trabalha em uma empresa de desenvolvimento de sistemas embarcados Seu empenho em saber mais sobre os sistemas digitais chamou a atenção do seu chefe que lhe convidou para participar de uma reunião da equipe de desenvolvimento Você se preparou e participou ativamente da reunião inclusive dando ideias Um colega da equipe de desenvolvimento notando sua curiosidade e criatividade lhe lançou um desafio criar um somador binário usando apenas portas lógicas Mas o que são portas lógicas Vamos descobrir Diálogo aberto Não pode faltar Segundo Capuano 2014 é denominado de circuito lógico o arranjo de um pequeno grupo de circuitos básicos padronizados Hugo Tanzarella Teixeira U1 Introdução aos sistemas digitais 42 Saiba mais Em 1938 o engenheiro americano Claude Elwood Shannon utilizou as teorias da álgebra booleana para resolver problemas de circuitos de telefonia com relés no seu trabalho Symbolic analysis of relay and switching Esse trabalho praticamente introduziu o campo da eletrônica digital na área tecnológica Uma função lógica admite uma ou mais entradas mas apenas uma saída As variáveis lógicas normalmente representadas por letras podem assumir apenas dois valores mutuamente excludentes chamados níveis lógicos e seu uso permite que se escrevam expressões algébricas que podem ser manipuladas matematicamente dentro da álgebra booleana Exemplificando Na eletrônica digital é comum representarmos os níveis lógicos pelos dígitos binários 0 e 1 O nível lógico 0 pode por exemplo representar a ausência de tensão ou uma chave aberta Nesses casos obrigatoriamente o nível lógico 1 representará a presença de tensão ou uma chave fechada respectivamente Existem três funções lógicas básicas AND OR e NOT e outras que são derivadas destas NAND NOR XOR e XNOR Nesta seção estudaremos as funções lógicas juntamente com suas portas lógicas correspondentes Uma porta AND ou E de duas entradas é mostrada na Figura 122 A saída de uma porta AND é 1 apenas quando todas as entradas forem 1 Quando qualquer uma das entradas for 0 a saída será 0 A Tabela 110 mostra uma tabela verdade da porta lógica AND de duas entradas mas ela pode ser expandida para qualquer número de entradas conhecidos como portas lógicas que realizam funções de lógica digital dentro da eletrônica digital Na prática as portas lógicas são encontradas dentro de circuitos integrados comerciais específicos ou fazem parte da estrutura interna de dispositivos mais complexos tais como microprocessadores microcontroladores e outros circuitos integrados digitais A porta AND é portanto usada para determinar quando certas condições são simultaneamente verdadeiras A operação lógica de uma porta pode ser expressa com uma tabela verdade que apresenta uma coluna para cada entrada mais uma coluna para a saída Nas linhas da tabela verdade são listadas todas as combinações de entrada com as saídas correspondentes de uma porta lógica facilitando a representação e a análise delas A Figura 121 mostra como uma tabela verdade é organizada U1 Introdução aos sistemas digitais 44 Exemplificando Nas aplicações práticas em geral as entradas de uma porta são formas de onda de tensão que variam frequentemente entre os níveis lógicos 1 e 0 Vamos analisar então a operação das portas AND com formas de onda de pulsos nas entradas tendo em mente que uma porta obedece à operação de uma tabela verdade independentemente se as entradas dela são níveis constantes ou níveis que variam entre 1 e 0 Vamos examinar a operação com formas de onda nas entradas de uma porta AND mostrada na Figura 123 observando as entradas uma relativa à outra para determinar o nível de saída num determinado instante Ao lado da porta montamos um diagrama de temporização que mostra as relações entre entradas e a saída Durante os intervalos de tempo t1 e t3 ambas as entradas são 1 portanto a saída também é 1 nesses intervalos Durante os intervalos t2 t4 e t5 pelo menos uma das entradas é 0 e portanto a saída é 0 nesses instantes Fonte adaptada de Floyd 2007 p 135 Figura 123 Exemplo de operação de uma porta AND Uma porta OR ou OU de duas entradas é mostrada na Figura 124 A porta OR ou OU produz uma saída 1 quando qualquer uma das entradas for 1 Apenas quando todas as entradas forem 0 a saída será 0 A Tabela 111 mostra a tabela verdade da porta lógica OR A tabela verdade pode ser expandida para qualquer número de entradas Fonte elaborada pelo autor Fonte elaborada pelo autor Figura 124 Porta lógica OR Tabela 111 Tabela verdade da porta OR A B S 0 0 0 0 1 1 1 0 1 1 1 1 A função lógica OR de duas variáveis é representada matematicamente por S A B Agora que você já conhece o princípio de funcionamento da porta OR analise a operação de uma porta OR com as formas de onda digitais nas entradas mostradas na Figura 125 e desenhe a forma de onda da saída A porta NOT ou NÃO realiza a operação denominada inversão lógica e por isso pode ser chamada também de porta inversora A porta NOT troca um nível lógico para o nível lógico oposto Ou seja em termos de bits ele troca 1 por 0 e 0 por 1 A porta NOT tem apenas uma entrada e seu símbolo lógico é mostrado na Figura 126 enquanto que sua tabela verdade está montada na Tabela 112 A operação de um inversor pode ser expressa como a seguir S A ou S A A variável invertida pode ser lida como A barra ou A negado A porta NAND ou NÃOE é um elemento lógico muito popular e importante pois é considerada uma porta universal ou seja as portas NAND podem ser usadas em diferentes combinações para realizarem operações básicas AND OR ou NOT O termo NAND é U1 Introdução aos sistemas digitais 46 uma contração da NOTAND portanto essa porta funciona como uma porta AND com sua saída negada invertida O símbolo lógico dessa porta é portanto uma combinação entre as portas NOT e AND e está representado na Figura 127 o pequeno círculo na saída indica a inversão do sinal A saída da porta NAND é 0 apenas quando todas as entradas forem 1 a Tabela 113 mostra uma tabela verdade para uma porta NAND de duas entradas Fonte elaborada pelo autor Figura 127 Porta lógica NAND Tabela 113 Tabela verdade da porta NAND Fonte elaborada pelo autor A B S 0 0 1 0 1 1 1 0 1 1 1 0 A função lógica para uma porta NAND de duas entradas é S AB 17 Reflita É inerente à porta NAND o fato que uma ou mais entradas em nível lógico 0 produz uma saída em nível lógico 1 A partir dessa análise é possível concluir que uma porta NAND pode ser usada para implementar de uma certa forma uma operação OR Analise a Tabela 111 e Tabela 113 e conclua como isso é feito Assim como a porta NAND a porta NOR ou NÃOOU é um elemento lógico bastante útil porque ela também é considerada uma porta universal e pode ser usada em determinadas combinações para realizar as operações básicas AND OR e NOT A propriedade universal das portas NAND e NOR será analisada melhor na Unidade 2 deste livro O termo NOR é a contração de NOT e OR e indica que essa porta funciona como uma porta OR com sua saída invertida O símbolo lógico padrão para essa porta está representado na Figura 128 Para uma porta NOR a saída será nível 0 quando pelo menos uma das entradas estiver em nível lógico 1 como pode ser visto na sua tabela verdade na Tabela 114 Figura 128 Porta lógica NOR A função lógica para uma porta XOR de 2 entradas é S A B 19 A função lógica para uma porta XNOR de duas entradas é S A B 110 U1 Introdução aos sistemas digitais 50 Avançando na prática Sensor de porta e janela aberta Descrição da situaçãoproblema Você trabalha em uma empresa de alarmes e precisa instalar um alarme em uma pequena loja comercial O ambiente em questão consiste em duas janelas e uma porta Seu sistema de alarme quando ligado deve disparar quando uma das janelas ou a porta for aberta Proponha um sistema baseado em portas lógicas para o alarme dessa loja Resolução da situaçãoproblema Primeiro você precisa instalar os sensores em cada uma das janelas e na porta Você optou pelo uso de chaves magnéticas Figura 132 baseadas em efeito Hall Elas produzem uma saída em nível ALTO quando abertas e em nível BAIXO quando fechadas Você já possui um módulo para o alarme que é ativado com nível ALTO Fonte httpwwwoneprojectcombrmediauserimagesoriginalsensoresgs7png Acesso em 29 set 2017 Figura 132 Chave magnética de efeito Hall Para montar o seu circuito você precisa construir uma tabela verdade para ele A Tabela 118 mostra tal feito Nela S é a saída que indica a necessidade de disparar o alarme e as entradas P J1 e J2 se referem à porta e a cada uma das janelas respectivamente Tabela 117 Tabela verdade da soma binária U1 Introdução aos sistemas digitais 51 Tabela 118 Tabela verdade do sistema de alarme Fonte elaborada pelo autor P J1 J2 S BAIXO BAIXO BAIXO BAIXO BAIXO BAIXO ALTO ALTO BAIXO ALTO BAIXO ALTO BAIXO ALTO ALTO ALTO ALTO BAIXO BAIXO ALTO ALTO BAIXO ALTO ALTO ALTO ALTO BAIXO ALTO ALTO ALTO ALTO ALTO Observando a Tabela 118 fica bem claro que uma porta OR de três entradas seria suficiente para montar o seu circuito Agora é preciso criar uma parte do circuito para habilitar o alarme somente quando conveniente afinal o alarme não pode ficar ativado o tempo todo A tabela verdade para essa parte do circuito está montada na Tabela 119 As entradas são H que é o sinal que habilita o circuito e S que é a saída do módulo anterior A saída C irá de fato disparar o alarme quando em nível ALTO Tabela 119 Tabela verdade do sistema que habilita o alarme Fonte elaborada pelo autor H S C BAIXO BAIXO BAIXO BAIXO ALTO BAIXO ALTO BAIXO BAIXO ALTO ALTO ALTO Observando a Tabela 119 você logo percebe que essa etapa do circuito é facilmente obtida com uma porta AND de duas entradas Agora só resta montar o esquema do circuito que pode ser visto na Figura 133 Fonte elaborada pelo autor Figura 133 Esquema simplificado do sistema de alarme U1 Introdução aos sistemas digitais 52 Para finalizar fique com um questionamento para reflexão se você somente tivesse acesso a portas lógicas OR de duas entradas como montaria esse circuito Faça valer a pena 1 A operação lógica de uma porta pode ser expressa com uma tabela verdade que apresenta uma coluna para cada entrada mais uma coluna para a saída Monte a tabela verdade para o circuito da Figura 134 lembrando que o pequeno círculo em cada entrada indica a inversão do sinal a b c d Fonte elaborada pelo autor Figura 134 Circuito lógico A B S 0 0 1 0 1 0 1 0 0 1 1 0 A B S 0 0 1 0 1 0 1 0 0 1 1 1 A B S 0 0 0 0 1 0 1 0 0 1 1 1 A B S 0 0 1 0 1 1 1 0 1 1 1 0 U1 Introdução aos sistemas digitais 53 Fonte elaborada pelo autor Fonte elaborada pelo autor Figura 135 Circuito lógico Figura 136 Exemplo de operação de uma porta XOR e A B S 0 0 0 0 1 1 1 0 1 1 1 1 2 É possível que alguns circuitos lógicos sejam equivalentes Uma das maneiras para provar essa equivalência é comparando suas tabelas verdades se elas forem iguais os circuitos são equivalentes O circuito lógico da Figura 135 é equivalente a qual porta lógica Lembrando que o pequeno círculo em cada entrada indica a inversão do sinal 3 Na maioria das aplicações as entradas de uma porta não apresentam níveis estacionários e sim formas de onda de tensão que variam frequentemente entre os níveis lógicos 1 e 0 Analise a operação de uma porta XOR com as formas de onda digitais nas entradas mostradas na Figura 136 e assinale a alternativa que possui a sequência de níveis lógicos na ordem t1 t2 t3 e t4 a AND b OR c XOR d NOR e NAND a 0100 b 1110 c 1001 d 0101 e 1010 U1 Introdução aos sistemas digitais 54 Referências BELL Labs 1956 Nobel Prize in Physics The Transistor Nokia Bell Labs sd Disponível em httpswwwbelllabscomourpeoplerecognition1956transistor Acesso em 25 set 2017 CAPUANO Francisco Gabriel Sistemas digitais circuitos combinacionais e sequenciais São Paulo Érica 2014 144 p FLOYD Thomas Sistemas digitais fundamentos e aplicações 9 ed São Paulo Bookman 2007 888 p IEEE STANDARTS IEEE Standard Graphic Symbols for Logic Functions IEEE Xplore p 1160 1984 LOURENÇO Antônio Carlos et al Circuitos digitais estude e use São Paulo Érica 1997 336 p MACNEIL Jessica First successful test of the transistor December 16 1947 EDN Network Blog 16 dez 2016 Disponível em httpwwwedncomelectronicsblogs ednmoments44260861stsuccessfultestofthetransistorDecember161947 Acesso em 25 set 2017 MIT Technology Review 10 Breakthorough Tecnologies 2017 MIT marabr 2017 Disponível em httpswwwtechnologyreviewcomliststechnologies2017 Acesso em 18 set 2017 NATIONAL Semiconductor 54LS03DM54LS03DM74LS03 Quad 2Input NAND Gates with OpenCollector Outputs datasheet National Semiconductor Corparation 1989 6 p Disponível em httprtellasoncomchipdatadm74ls03pdf Acesso em 18 out 2017 SHANNON Claude Symbolic analysis of relays and switching circuits Dissertação de mestrado Boston Massachusetts Institute of Technology MIT 1937 69 p SZAJNBERG Mordka Eletrônica digital teoria componentes e aplicações Rio de Janeiro LTC 2014 455 p TOCCI Ronald J Sistemas digitais princípios e aplicações 11 ed São Paulo Pearson 2011 840 p VAHID Frank Sistemas digitais projeto otimização e HDLs 1 ed Porto Alegre Bookman 2008 560 p Unidade 2 Álgebra booleana e simplificação de circuitos lógicos Convite ao estudo Vimos até aqui que os circuitos lógicos executam expressões lógicas Na Unidade 1 determinamos esses circuitos através de expressões características extraídas de tabelas verdade Os circuitos gerados por esse processo apesar de corretos geralmente admitem simplificações e consequentemente diminuição de blocos lógicos utilizados na prática Para iniciarmos o estudo de simplificação de circuitos lógicos é preciso conhecer razoavelmente a álgebra de Boole e através das suas leis teoremas e axiomas efetuaremos as mencionadas simplificações Além disso é importante destacar que a teoria de sistemas digitais é fundamentada na álgebra de Boole Vamos imaginar o seguinte contexto você e seus amigos acabaram de se formar e decidem abrir uma empresa de segurança automotiva Vocês sabem que para conquistar o mercado terão que ser criativos e sobretudo econômicos em seus projetos Você está pronto para esse desafio Nesta unidade para auxiliálo apresentaremos os conceitos básicos da álgebra de Boole Além disso por meio de manipulação algébrica é permitida a simplificação de expressões e circuitos lógicos derivados Outra forma de simplificação mais usual também será estudada tratase do uso dos mapas de Karnaugh que na essência utilizam os conceitos de Boole porém arranjados por um método gráfico que permite a simplificação de expressões e tabelas verdade de maneira imediata e menos trabalhosa E então preparado para aprender um pouco mais sobre esse universo digital Mãos à obra e um ótimo estudo U2 Álgebra booleana e simplificação de circuitos lógicos 56 Seção 21 Leis e teoremas da álgebra booleana A álgebra booleana é a matemática dos sistemas digitais conhecê la é fundamental para a análise e síntese de circuitos lógicos No fim da unidade anterior tivemos um primeiro contato com as operações booleanas através de suas relações com as portas NOT AND OR NAND e NOR Nesta seção aprenderemos um pouco mais sobre como aplicar e simplificar os circuitos lógicos que compõem os sistemas digitais Para isso retomaremos o contexto apresentado no início da unidade você acabou de fundar uma empresa de segurança automotiva com seus amigos Atualmente vocês estão se dedicando a um novo projeto de alarme para carros e se depararam com a seguinte situação inicialmente o projeto previa cinco sensores distribuídos pelo carro entre portas janelas e capôs e a entrada que habilita o alarme botão de liga e desliga O primeiro circuito lógico projetado por vocês consistia em uma porta OR de cinco entradas e uma porta AND de duas entradas como pode ser visto na Figura 21 Fonte elaborada pelo autor Figura 21 Primeiro projeto do circuito lógico para o alarme Diálogo aberto O problema é que no estoque de peças só restaram CIs do tipo SN74HC00 Como lidar com essa situação Para ajudálo a resolver esse impasse nesta seção conheceremos as principais leis e teoremas da álgebra booleana bem como o teorema de DeMorgan Fique atento esse conhecimento será muito importante para novos projetos de circuitos lógicos Circuito do alarme U2 Álgebra booleana e simplificação de circuitos lógicos 57 Fonte elaborada pelo autor Figura 22 Porta OR Não pode faltar Em 1854 no trabalho Investigation of the laws of thought on which are founded the mathematical theories of logic and probabilities em português Uma investigação das leis do pensamento sobre as quais são fundadas as teorias matemáticas de lógica e probabilidades Georg Boole fundamentou a álgebra lógica hoje conhecida como álgebra booleana Segundo Floyd 2007 a álgebra booleana traz uma forma conveniente de expressar e analisar a operação de circuitos lógicos de forma sistemática Antes de entrarmos no assunto devemos nos familiarizar com os termos variável complemento e literal Uma variável é um símbolo geralmente uma letra maiúscula em itálico usado para representar uma grandeza lógica Uma variável booleana simples admite apenas dois valores em circuitos lógicos 1 ou 0 O complemento é o inverso de uma variável e é indicado por uma barra sobre a variável Por exemplo o complemento da variável A é A Se A 1 Então A 0 e se A 0 então A 1 Como vimos o complemento de uma variável A é lido como A negado ou A barrado Pode ser usado também para representar um complemento outro símbolo Por exemplo B indica o complemento de B Uma literal é a variável ou o complemento de uma variável Tradicionalmente utilizamos a álgebra booleana para simplificarmos os circuitos lógicos digitais Os métodos que veremos para simplificação e projetos de circuitos lógicos requerem que a expressão esteja na forma de somadeprodutos Sendo assim é fundamental aprendermos um pouco mais sobre as operações de adição e multiplicação booleana A adição booleana é equivalente à operação OR Figura 22 e as regras básicas são ilustradas com suas relações da seguinte forma A B S 0 0 0 0 1 1 1 0 1 1 1 1 U2 Álgebra booleana e simplificação de circuitos lógicos 58 Na álgebra booleana um termo soma é uma soma de literais Em circuitos lógicos um termo soma é produzido por uma operação OR sem o envolvimento de operações AND por exemplo A B A B A B C e A B C D Assimile Assimile Um termo soma será igual a 1 quando uma ou mais das literais no termo for 1 Um termo soma será igual a 0 somente se cada uma das literais for 0 Um termo produto será igual a 1 apenas se cada uma das literais no termo for 1 Um termo produto será igual a 0 quando uma ou mais literais for 0 A multiplicação booleana é equivalente à operação AND Figura 23 e as regras básicas são ilustradas com suas relações da seguinte forma Fonte elaborada pelo autor Figura 23 Porta AND A B S 0 0 0 0 1 0 1 0 0 1 1 1 Na álgebra booleana um termo produto é o produto de literais Em circuitos lógicos um termo produto é produzido por uma operação AND sem o envolvimento de operações OR por exemplo AB AB ABC e ABCD Começaremos o nosso estudo da álgebra boolena pelas suas leis básicas Elas são as mesmas que para a álgebra comum e estão resumidas no Quadro 2 1 Existem ainda os axiomas da comutatividade distributividade e complemento que foram apresentados no Quadro 21 como leis da álgebra booleana Os teoremas por sua vez são afirmações que necessitam de uma prova ou seja todo teorema está associado a uma sequência lógica que leva à sua conclusão Como não estamos interessados no estudo matemático da álgebra booleana e sim na sua aplicação aos sistemas digitais não apresentaremos as provas dos teoremas a seguir 1 Indepotência A A A 23 A A A 2 Aniquilação A 1 1 24 A 0 0 3 Dupla negação Ā A 25 4 DeMorgan A B Ā B 26 A B Ā ĀB Além desses teoremas existe ainda o teorema da associatividade que já foi apresentado no Quadro 21 como duas das leis da álgebra booleana Para facilitar os seus estudos esses axiomas e teoremas bem como algumas combinações importantes deles estão compiladas no Quadro 2 2 Quadro 22 Regras da álgebra booleana A álgebra booleana conta com uma série de axiomas e teoremas que são importantes na manipulação e simplificação de expressões booleanas Os axiomas são proposições que não têm demonstração por serem considerados evidentes Os axiomas da álgebra booleana são 1 Fechamento dado o conjunto de valores binários C 01 AB C A B C A B C 21 Ou seja as operações OR e AND resultam em valores que também são binários 2 Identidade dado o conjunto C 01 A C A 0 A A 1 A 22 Esse axioma introduz os elementos neutros das operações OR e AND A regra 10 do Quadro 22 pode ser provada aplicandose a lei distributiva e as regras 2 e 4 como feito a seguir A B A1 B Fatorando lei distributiva A 1 Regra 2 1 B 1 A Regra 4 A 1 A É possível ainda demonstrar a prova em termos da tabela verdade na Tabela 21 Tabela 21 Tabela verdade da regra 10 A B A B A A B 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 1 Fonte elaborada pelo autor O segundo teorema de DeMorgan afirma que O complemento de uma soma de variáveis é igual ao produto do complemento das variáveis Ou em termos de operações lógicas O complemento de duas ou mais variáveis submetidas a uma operação OR é equivalente a uma operação AND entre os complementos das variáveis individuais A fórmula para a expressão desse teorema para duas variáveis é A B A B A Figura 24a mostra a equivalência de portas para a Equação 27 A Figura 24b mostra a equivalência de portas para a Equação 28 e suas tabelas verdade estão escritas na Tabela 22 Fig 24 Equivalência entre portas lógicas a NAND e OR negativa b NOR e AND negativa Fonte elaborada pelo autor Tabela 22 Tabela verdade a NAND e OR negativa b NOR e AND negativa A B A B A B A B A B A B 0 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 Fonte elaborada pelo autor É importante salientar que os teoremas de DeMorgan também se aplicam a expressões nas quais existem mais do que duas variáveis por exemplo ABC A B C A B C Outro aspecto importante é que cada variável nos teoremas de DeMorgan podem representar uma combinação de outras variáveis Por exemplo A na Equação 27 pode ser igual ao termo XY Z e B pode ser igual ao termo X YZ Assim aplicando o teorema de DeMorgan para a expressão XY ZX YZ obtemos o seguinte resultado XY ZX YZ XY Z X YZ 29 Ainda podemos aplicar 28 no resultado de modo que XY Z X YZ XYZ XYZ 210 Podemos ainda aplicar o teorema de DeMorgan aos termos XY e YZ o que resulta na seguinte expressão XYZ XYZ X YZ XY Z A Expressão 211 ainda pode ser simplificada usandose as leis e regras da álgebra booleana mas não é mais possível aplicar o teorema de DeMorgan Em certo momento desta seção destacamos a importância dos teoremas de DeMorgan para análise e projeto de circuitos lógicos Mas a que se deve tamanha importância A Seção 43 do livro Sistemas digitais fundamentos e aplicações FLOYD 2007 disponível na nossa biblioteca virtual traz diversos exemplos de aplicação do teorema de DeMorgan Consulte e se aprofunde nesse conteúdo FLOYD Thomas L Sistemas digitais fundamentos e aplicações Tradução de José Lucimar do Nascimento 9 ed Porto Alegre Bookman 2007 Sem medo de errar Você e seus amigos acabaram de abrir uma empresa de segurança automotiva e naturalmente já se depararam com um problema o circuito que projetaram previamente é composto de portas AND e OR e para implementar esse circuito vocês só contam com o CI SN74HC00 O seu primeiro passo é saber como esse CI funciona Para isso você pesquisa o seu datasheet e lembra que se trata de um encapsulamento com quatro portas lógicas NAND de duas portas como pode ser visto na Figura 25 Fig 25 Configuração do CI SN74HC00 Fonte adaptada de Texas Instruments 2016 p 3 Portanto agora você sabe que o seu problema consiste em transformar o projeto inicial num equivalente usando apenas portas NAND Da Figura 21 você sabe que C S H e que S S1 S2 S3 S4 S5 portanto C S1 S2 S3 S4 S5H C HS1 HS2 HS3 HS4 HS5 Pelo teorema de DeMorgan você sabe que AB A B que é o mesmo que dizer que a porta NAND é equivalente à porta OR negativa Você sabe também que AA A Com essas possibilidades você tem uma ideia para um arranjo utilizando apenas as portas NAND em cascata como pode ser visto na Figura 26 que você apresentou para os seus amigos H U2 Álgebra booleana e simplificação de circuitos lógicos 66 2 DeMorgan propôs dois teoremas que representam uma parte importante na álgebra booleana que em termos práticos provêm uma verificação de equivalências entre as portas NAND e OR negativa e as equivalências entre as portas NOR e AND negativa Aplique o teorema de DeMorgan na expressão ABC DEF Depois assinale a alternativa que contém a expressão equivalente a A B C D E F b ABCDEF c ABC DEF d A B C D E F e A B C D E F 3 Uma porta XOR de duas entradas realiza uma operação lógica que resulta em 1 se e somente se uma das entradas for 1 A expressão booleana para uma porta XOR é AB A B Assinale a alternativa que apresenta a expressão booleana para uma porta XNOR a AB AB b A B c AB AB d AA BB e A B U2 Álgebra booleana e simplificação de circuitos lógicos 67 Seção 22 Análise booleana e síntese de circuitos lógicos Como vimos podemos usar a álgebra Booleana para expressar a operação de uma porta lógica O mesmo pode ser feito para um circuito lógico que se constitui em uma combinação de portas lógicas de forma que as saídas sejam determinadas como combinações dos valores de entrada Para pôr em prática os conhecimentos desta seção devemos relembrar o nosso contexto você e seus amigos acabaram de se formar e fundaram uma empresa de segurança automotiva Seus projetos envolvem desenvolver dispositivos eletrônicos que melhoram a segurança e o desempenho dos automóveis de alguma forma Em um dos seus novos projetos foi proposto um sistema para monitorar a tensão contínua da bateria de 12 V de um carro O sistema é dividido em dois módulos no primeiro módulo um conversor analógico digital monitora a tensão da bateria e fornece na saída de 4 bits um número binário que corresponde à tensão da bateria em degraus de 1 V o módulo seguinte é um circuito lógico que recebe como entrada as saídas do conversor e fornece uma saída igual a 1 para toda tensão menor ou igual a 6 V Você é capaz de projetar esse circuito lógico Para lhe ajudar com esse projeto nesta seção veremos algumas maneiras de analisar e sintetizar circuitos lógicos através da álgebra booleana Espero que esteja animado para mais este conhecimento Bons estudos Diálogo aberto Não pode faltar Como você já deve ter notado nesse momento um circuito lógico pode ser descrito por uma equação booleana Para circuitos simples é relativamente fácil obter a expressão booleana de um certo circuito lógico Devemos começar a escrever as expressões lógicas para cada porta a partir das entradas mais à esquerda até a saída final do circuito Para entender melhor esse procedimento considere o circuito lógico da Figura 27 AB U2 Álgebra booleana e simplificação de circuitos lógicos 69 Fonte elaborada pelo autor Tabela 23 Tabela verdade do circuito lógico da Figura 27 A B C D S 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 Pesquise mais Para aplicar a álgebra Booleana em geral é necessário simplificar a expressão Esse procedimento depende do conhecimento completo da álgebra booleana e uma considerável prática na sua aplicação além de habilidade e inteligência A Seção 45 do livro Sistemas digitais fundamentos e aplicações FLOYD 2007 disponível na nossa biblioteca virtual traz diversos exemplos de simplificação de expressões booleanas Leia e refaça os exemplos para aumentar sua habilidade FLOYD Thomas L Sistemas digitais fundamentos e aplicações Tradução de José Lucimar do Nascimento 9 ed Porto Alegre Bookman 2007 Qualquer expressão booleana pode ser convertida em qualquer uma das formas padrão chamadas somadeprodutos e produto desomas Essa padronização torna a análise e síntese de expressões booleanas mais sistemática e fácil O termoproduto ou mintermo consiste em um produto de literais em que cada literal aparece apenas uma vez no termo Quando dois ou mais termosproduto são somados temos uma somadeprodutos Como os termos ilustrados a seguir AB ABC ABC ABC ABC Uma expressão de somadeprodutos pode ser implementada usando apenas portas NAND como isso é possível Uma expressão em que todas as variáveis do seu domínio aparecem em todos os seus termosproduto é classificada como uma somadeprodutos padrão como em ABCD ABCD ABCD para um domínio de quatro variáveis Esse tipo de expressão útil na construção de tabelas verdade é muito importante para o método de simplificação utilizando mapa de Karnaugh que será tema da próxima seção É possível transformar qualquer expressão de somadeprodutos em uma forma padrão Os termosproduto em uma expressão que não contêm todas as variáveis do domínio podem ser expandidos para a forma padrão isso pode ser feito em dois passos 1 Uma vez que A A 1 podemos multiplicar cada um dos termosproduto que não estão na forma padrão pela soma de uma variável que não aparece no termo com o seu complemento resultando em dois termosproduto sem que altere o seu valor uma vez que estamos apenas multiplicando o termoproduto por 1 2 O passo 1 deve ser repetido até que todos os termos produtos resultantes contenham todas as variáveis do domínio na forma complementada ou não complementada Vamos converter a expressão ABD CD para a sua forma padrão de somadeprodutos O seu domínio é A B C e D Para facilitar vamos trabalhar com um termo por vez ABDC C ABCD ABCD No segundo termo não aparecem as variáveis A e B Mas precisamos fazer essa conversão por partes Primeiro multiplicamos o termo CD por A A CDA A ACD ACD Nos dois termos resultantes não aparece a variável B Portanto devemos multiplicar os dois termos por B B ACDB B ABCD ABCD 213 ACDB B ABCD ABCD 214 Note que o primeiro termo de 212 e o primeiro termo de 213 são idênticos Portanto não precisam aparecer duas vezes na expressão Assim AB CD ABD ABCD ABCD ABCD ABBCD ABCD 215 Um termoproduto padrão somente será igual a 1 para uma certa combinação de valores das variáveis Por exemplo o termo ABCD é igual a 1 quando A 1 B 1 C 1 e D 1 Uma vez que ABCD 1111 1 é dito que esse termoproduto tem um valor binário 1101 decimal treze Um termoproduto é implementado utilizando uma porta AND e inversores usados quando é necessário o complemento de uma variável A implementação do termo ABCD pode ser vista na Figura 29 O termosoma ou maxtermo consiste em uma soma de literais em que cada literal aparece apenas uma vez no termo Quando dois ou mais termossoma são multiplicados temos um produtodesomas Como os mostrados a seguir A BA B C AB CA B D Em um termosoma cada variável só pode ser complementada individualmente Por exemplo A B C é um termosoma mas A B C não Uma expressão de produtodesomas é implementada usando uma porta AND cujas entradas são as saídas de duas ou mais portas OR Assim como na implementação da somadeprodutos esse tipo de projeto também usa a lógica ANDOR e uma implementação genérica é vista na Figura 210 Uma expressão de produtodesomas pode ser implementada usando apenas portas NOR como isso é possível O produto de somas também possui uma forma padrão Por exemplo na expressão A B CA B CA B C D as variáveis A B C e D constituem o domínio da expressão Note que a variável D não aparece no primeiro termosoma da expressão Em uma expressão de produtodesomas padrão cada termosoma da expressão deve conter todas as variáveis do domínio como em A B C DA B CA B C DA B C D que é uma expressão de produto de somas padrão equivalente à expressão anterior É possível converter qualquer expressão de produtodesomas para a forma padrão usando a álgebra booleana isso pode ser feito em três passos 1 Uma vez que A A 0 podemos somar a cada um dos termosoma que não estão na forma padrão um termo formado pelo produto da variável que não aparece no termo com o seu complemento resultando em dois termossoma sem alterar o valor da expressão uma vez que podemos somar 0 com qualquer coisa sem alterar o seu valor Em seguida podemos aplicar a regra A BC A BA C U2 Álgebra booleana e simplificação de circuitos lógicos 75 Faça você mesmo A partir da tabela verdade na Tabela 24 determine a expressão de somadeprodutos padrão e a expressão de produto de somas padrão equivalente converta o valor binário de cada linha para o termoproduto correspondente Por exemplo o valor binário 1010 é convertido para o termoproduto ABCD Também é possível determinar uma expressão de podutode somas a partir de uma tabela verdade Para isso devese considerar as linhas cujo valor de saída seja 0 e converter o seu valor binário para o termosoma correspondente Agora cada 1 no valor binário corresponde ao complemento da variável por exemplo o valor binário 1010 é convertido para o termosoma A B C D Fonte elaborada pelo autor Tabela 24 Tabela verdade 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 1 Sem medo de errar Você está animado como nunca com os novos projetos da sua empresa Você precisa projetar um circuito lógico que gere uma saída em nível ALTO quando a tensão da bateria for menor ou igual a 6 V As entradas desse circuito lógico são fornecidas por um conversor analógicodigital de quatro bits que fornece como saída um número binário de quatro bits que corresponde à tensão da bateria em degraus de 1 V como pode ser visto no esquema da Figura 212 U2 Álgebra booleana e simplificação de circuitos lógicos 76 Fonte elaborada pelo autor Figura 212 Esquema de funcionamento do circuito Seu primeiro passo para projetar o circuito lógico foi escrever a tabela verdade vista na Tabela 25 em que o X foi usado para quando a saída não importa pois nesse caso não se espera que o circuito receba essas combinações de bits na entrada Fonte elaborada pelo autor Tabela 25 Tabela verdade do circuito lógico A B C D Z 0 0 0 0 0 1 1 0 0 0 1 1 2 0 0 1 0 1 3 0 0 1 1 1 4 0 1 0 0 1 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 0 8 1 0 0 0 0 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 1 0 12 1 1 0 0 0 13 1 1 0 1 X 14 1 1 1 0 X 15 1 1 1 1 X Uma maneira de implementar esse circuito é com uma somadeprodutos Para isso você seleciona todos os termos produtos em que a saída seja 1 Assim a expressão booleana para o circuito lógico do seu projeto é A B C D A B C D Circuito lógico CAD U2 Álgebra booleana e simplificação de circuitos lógicos 77 Z ABCD ABCD ABCD ABCD ABCD ABCD AB D C Ela está sintetizada no circuito lógico da Figura 213 Fonte elaborada pelo autor Figura 213 Circuito lógico Pronto a partir do circuito lógico mostrado na Figura 213 você pode implementar um dispositivo de monitoramento da tensão em corrente contínua de uma bateria Excelente Sua empresa está indo muito bem Faça valer a pena 1 A tabela verdade para uma expressão booleana padrão pode ser facilmente obtida usando valores binários para cada termo na expressão Desenvolva uma tabela verdade para a expressão ABC ABC ABC e assinale a alternativa correta U2 Álgebra booleana e simplificação de circuitos lógicos 78 a b c d e A B C S 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 A B C S 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 A B C S 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 A B C S 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 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 0 2 Qualquer expressão lógica pode ser convertida para o formato de somadeprodutos usando a álgebra booleana Por exemplo a expressão AB C D é convertida para o formato de somadeproduto aplicando a lei distributiva AB C D ABD CD Considerando esse contexto avalie as seguintes asserções e a relação proposta entre elas U2 Álgebra booleana e simplificação de circuitos lógicos 79 3 O termoproduto é um termo que consiste em um produto de literais Quando dois ou mais termosprodutos são somados por uma adição booleana temos uma somadeprodutos Nesse contexto avalie as afirmações a seguir I A expressão AB AB é um exemplo de somadeprodutos II Uma expressão na forma de somadeprodutos pode conter um termo de uma única variável como em ABC ABC C III Uma expressão de somadeprodutos padrão é uma expressão na qual todas as variáveis do domínio aparecem em cada um dos termos produtos na expressão como em ABCD ABCD ABCD É correto o que se afirma em a I apenas b III apenas c I e III apenas d II e III apenas e I II e III I A expressão ABD CD é uma somadeprodutos padrão PORQUE II Todas as variáveis do domínio aparecem em cada um dos termosproduto na expressão A respeito dessas asserções assinale a alternativa correta a As asserções I e II são proposições verdadeiras e a II é uma justificativa da I b As asserções I e II são proposições verdadeiras mas a II não é uma justificativa da I c A asserção I é uma proposição verdadeira e a II é uma proposição falsa d A asserção I e uma proposição falsa e a II é uma proposição verdadeira e As asserções I e II são proposições falsas U2 Álgebra booleana e simplificação de circuitos lógicos 80 Seção 23 Simplificação de circuitos lógicos Como pudemos notar na Seção 22 expressões booleanas diferentes podem produzir o mesmo resultado A consequência disso é que circuitos lógicos diferentes acabam sendo equivalentes Em geral devemos ter em mente que ao implementar uma função lógica é desejável que tanto o número de portas lógicas quanto o número de literais sejam mínimos As expressões booleanas com menor número de operadores lógicos requerem um menor número de portas e um menor número de entradas por porta Isso nos permite portanto projetar circuitos lógicos com menor custo Retomando o nosso contexto você e seus amigos acabaram de se formar e fundaram uma empresa de segurança automotiva Seus projetos envolvem desenvolver dispositivos eletrônicos que melhorem a segurança e o desempenho dos automóveis de alguma forma No seu último projeto você desenvolveu um circuito lógico que recebe como entrada um código binário de quatro bits de um conversor analógicodigital e fornece como saída um sinal em nível ALTO sempre que o valor binário for menor ou igual a 6 0110 ou seja quando a tensão da bateria for menor ou igual a 6 V Um dos seus sócios questiona se a solução apresentada é a mais eficiente Você pode garantir isso Para lhe ajudar a responder essa pergunta nesta seção apresentaremos um método mais fácil e rápido de minimização O método requer a representação gráfica dos termosprodutos da função em um mapa bidimensional Aproveite este momento para adquirir mais conhecimento Diálogo aberto Não pode faltar O mapa de Karnaugh é uma representação gráfica bidimensional de uma tabela verdade e pode ser encarado como um método de simplificação de expressões booleanas ou circuitos lógicos mais simples que a simplificação pela álgebra booleana É possível garantir ainda que as expressões obtidas com esse método sejam as mais simples possíveis por isso chamadas de expressões mínimas U2 Álgebra booleana e simplificação de circuitos lógicos 81 Enquanto a tabela verdade é organizada em linhas e colunas o mapa de Karnaugh é um arranjo de células no qual cada célula representa um valor binário das variáveis de entrada Por exemplo considere a célula mais à esquerda e acima de cada mapa na Figura 214 ela representa AB 00 no mapa para expressões com duas variáveis em a ABC 000 no mapa para expressões com três variáveis em b e ABCD 0000 no mapa para expressões com quatro variáveis em d O mapa de Karnaugh possui 2n células em que n é número de variáveis de entrada Esse número é igual ao número de linhas de uma tabela verdade Fonte elaborada pelo autor Figura 214 Mapa de Karnaugh a duas variáveis b três variáveis c quatro variáveis Assimile A quantidade de células em um mapa de Karnaugh é dada por 2n em que n é a quantidade de variáveis Por exemplo em um mapa de três variáveis a quantidade de células é 2 3 8 Para o mapa de quatro variáveis o número de células é 2 4 16 e para o mapa de cinco variáveis o número de células é 2 5 32 Cada linha da tabela verdade possui sua região própria no mapa como podemos ver na comparação entre a Tabela 26 e a Figura 215 para o caso de três variáveis U2 Álgebra booleana e simplificação de circuitos lógicos 82 Fonte elaborada pelo autor Fonte elaborada pelo autor Tabela 26 Tabela verdade para três variáveis Figura 215 Mapa de Karnaugh de três variáveis A B C Termo 0 0 0 ABC 0 0 1 ABC 0 1 0 ABC 0 1 1 ABC 1 0 0 ABC 1 0 1 ABC 1 1 0 ABC 1 1 1 ABC Os valores binários de A e B possíveis são distribuídos pelo lado esquerdo do mapa enquanto que os valores de C são distribuídos na parte superior Observe a sequência utilizada ela usa o código Gray de modo que apenas 1 bit varie entre células adjacentes Assimile Duas células são adjacentes quando entre elas há mudança de bit em apenas uma das suas variáveis Na prática cada célula é adjacente às suas células vizinhas pelos quatro lados E nesse momento é importante salientar que as células representadas nos limites do mapa são adjacentes às células no outro extremo por exemplo uma célula na coluna mais à esquerda é adjacente à célula mais à direita e uma célula na linha inferior é adjacente à célula correspondente na linha superior Mas uma célula não é adjacente às células que a tocam diagonalmente em qualquer um dos vértices FLOYD 2007 Observe o exemplo da Figura 216 que ilustra a adjacência de células em um mapa de quatro variáveis U2 Álgebra booleana e simplificação de circuitos lógicos 83 Fonte elaborada pelo autor Figura 216 Células adjacentes em um mapa de Karnaugh de quatro variáveis As mesmas regras se aplicam a qualquer mapa de Karnough independentemente do número de variáveis O preenchimento de um mapa de Karnough se dá colocando um bit 1 em cada célula correspondente ao valor de termoproduto na expressão Exemplificando Quando uma expressão de somadeprodutos é completamente inserida no mapa existirá uma quantidade de números 1 no mapa igual ao número de termos produtos na expressão da somadeprodutos padrão Por exemplo para a expressão ABC ABC ABC ABC temos o mapa da Karnaugh da Figura 217 As demais células são os número 0 mas geralmente é interessante suprimir sua representação para não poluir o mapa visualmente Agora é a sua vez faça um mapa de Karnaugh de quatro variáveis para a expressão ABCD ABCD ABCD ABCD ABCD Fonte elaborada pelo autor Figura 217 Inserção de uma expressão de somadeprodutos U2 Álgebra booleana e simplificação de circuitos lógicos 84 Como você já deve ter notado é importante que a expressão booleana esteja na forma padrão para que seja possível montar o mapa de Karnaugh Se expressão não estiver na forma padrão então ela deve ser convertida usando o procedimento indicado na Seção 22 ou através de uma expansão numérica que pode ser mais eficiente uma vez que é preciso avaliar a expressão antes de colocá la no mapa Lembrese de que em um termoproduto não padrão falta uma ou mais variáveis do domínio Por exemplo seja o termo ABC em uma expressão de somadeprodutos de quatro variáveis podemos expandir esse termo numericamente para a forma padrão escrevendo o valor binário das variáveis do termo ABC 000 e em seguida escrevendo todas as combinações possíveis para as variáveis que não aparecem Nesse caso são apenas duas combinações ABCD 0000 e ABCD 0001 Exemplificando Para que o procedimento de inserir uma expressão de somade produtos não padrão em um mapa de Karnaugh fique mais claro vamos montar o mapa para a expressão ABC CD na Figura 218 Como vimos para o termo ABC temos duas combinações possíveis ABCD 0000 e ABCD 0001 Já para o termo CD são quatro combinações possíveis ABCD 0000 ABCD 0100 ABCD 1100 e ABCD 1000 Teste suas habilidades e faça um mapa da Karnaugh para a seguinte expressão de somadeprodutos A AB ABC Considere um domínio de três variáveis para essa expressão Fonte elaborada pelo autor Figura 218 Inserção de uma expressão de somadeprodutos não padrão U2 Álgebra booleana e simplificação de circuitos lógicos 85 Agora que já sabemos como preencher um mapa de Karnaugh adequadamente veremos como simplificar uma expressão booleana utilizando o mapa de Karnaugh Segundo Floyd 2007 esse processo resulta em uma expressão que contém o menor número de termos possível com o menor número de variáveis possíveis e é chamado por razões óbvias de minimização Após a expressão de somadeprodutos ser inserida no mapa uma expressão de somadeprodutos mínima é obtida agrupando se de acordo com certas regras os números 1 e determinando a expressão de somadeprodutos mínima a partir do mapa O objetivo é maximizar o tamanho dos grupos e minimizar a quantidade de grupos As regras de agrupamento de 1s em um mapa são as seguintes 1 Um grupo só pode conter uma quantidade de células que seja uma potência inteira de 2 por exemplo 1 2 4 ou 16 células No caso de um mapa de três variáveis 2 8 3 é o tamanho do maior grupo possível 2 Cada célula em um grupo deve ser adjacente a uma ou mais células do mesmo grupo 3 Sempre inclua o maior número de algarismos 1 em um grupo respeitando a regra 1 4 Cada número 1 no mapa tem que ser incluído em pelo menos um grupo Os números 1 que já fazem parte de um grupo podem ser incluídos num outro grupo enquanto os grupos sobrepostos incluem números 1 não comuns Na Figura 219 vemos alguns exemplos de agrupamentos de células em mapas de três e quatro variáveis Um destaque importante para as Figuras 219b e d ocorrem agrupamentos entre células das fronteiras devido à adjacência cilíndrica U2 Álgebra booleana e simplificação de circuitos lógicos 86 Fonte adaptada de Floyd 2007 p 232 Figura 219 Exemplos de agrupamentos no mapa de Karnaugh a uma e duas células em um mapa de três variáveis b duas e quatro células em um mapa de três variáveis c duas e quatro células em um mapa de quatro variáveis d duas quatro e oito células em um mapa de quatro variáveis Reflita Você consegue notar alguma relação entre os conceitos expansão numérica de um termoproduto e o agrupamento de células descritos Uma expressão de somadeprodutos minimizada contém a menor quantidade possível de termos com a menor quantidade possível de variáveis por termos e geralmente uma somade produtos mínima pode ser implementada com menos portas lógicas que uma expressão padrão FLOYD 2007 U2 Álgebra booleana e simplificação de circuitos lógicos 87 Após preencher adequadamente o mapa de Karnaugh e criar o menor número possível de grupos e que eles englobem o maior número de células possível podemos determinar a expressão de somadeprodutos mínima equivalente conforme as seguintes regras 1 Cada grupo é equivalente a um termoproduto composto por todas as variáveis que o valor não varia dentro do grupo 2 Determine o termo produto mínimo para cada grupo a Para um mapa de três variáveis Um grupo de uma célula resulta em um termo produto de três variáveis Um grupo de duas células resulta em um termo produto de duas variáveis Um grupo de quatro células resulta em um termo de uma variável Um grupo de oito células resulta no valor 1 para a expressão b Para um mapa de quatro variáveis Um grupo de uma célula resulta em um termo produto de quatro variáveis Um grupo de duas células resulta em um termo produto de três variáveis Um grupo de quatro células resulta em um termo produto de duas variáveis Um grupo de oito células resulta em um termo de uma variável Um grupo de 16 células resulta no valor 1 para a expressão 3 Quando se obtém todos os termosprodutos mínimos com o mapa de Karnaugh eles são somados formando uma expressão de somadeprodutos mínima Exemplificando Vamos considerar o mapa da Figura 219d e determinar a expressão de somadeprodutos mínima para ele U2 Álgebra booleana e simplificação de circuitos lógicos 88 Como foi possível criar três grupos teremos uma expressão com três termosproduto sendo um termo com três variáveis devido ao grupo com duas células um termo de duas variáveis devido ao grupo com quatro células e um termo com uma variável devido ao grupo com oito células Assim a expressão em somadeprodutos mínima resultante é dada por ABC BC D Pratique também encontre a expressão em somadeprodutos mínima para os demais mapas da Figura 219 Fonte elaborada pelo autor Figura 220 Inserção de uma expressão de somadeprodutos não padrão Existem alguns casos em que uma determinada combinação de entrada não é permitida Esses estados podem ser tratados como bits não importa é comum também usar a expressão em inglês dont care em relação aos seus efeitos na saída Na prática a existência desses termos permite que os usemos como 0 ou 1 conforme seja conveniente em uma minimização Por exemplo na Figura 221 existe uma saída não importa na posição 010 Se não houvesse a saída não importa nessa célula a expressão mínima resultante desse mapa seria ABC AB BC No entanto como podemos considerálo como 1 para formar um agrupamento de quatro células a expressão mínima resultante é ABC B U2 Álgebra booleana e simplificação de circuitos lógicos 89 Fonte elaborada pelo autor Figura 221 Exemplo do uso do bit não importa Pesquise mais Embora seja muito mais comum lidarmos com termosproduto e expressões em somadeprodutos todos os resultados e análises feitos aqui podem ser estendidos de maneira análoga aos termosproduto e expressões em produtodesomas Para saber mais sobre a técnica de minimização de produtodesomas usando o mapa de Karnaugh leia a seção 410 do do livro Sistemas digitais fundamentos e aplicações FLOYD 2007 disponível na nossa biblioteca virtual FLOYD Thomas L Sistemas digitais fundamentos e aplicações Tradução de José Lucimar do Nascimento 9 ed Porto Alegre Bookman 2007 Sem medo de errar No seu último projeto você desenvolveu um circuito lógico que recebe como entrada um código binário de quatro bits de um conversor analógicodigital e fornece como saída um sinal em nível ALTO sempre que o valor binário for menor ou igual a 6 0110 ou seja quando a tensão da bateria for menor ou igual a 6 V O circuito lógico desenvolvido possui a seguinte expressão em somadeprodutos padrão Z ABCD ABCD ABCD ABCD ABCD ABCD AB D C A tabela verdade utilizada por você naquele momento pode ser vista na Tabela 27 U2 Álgebra booleana e simplificação de circuitos lógicos 90 Fonte elaborada pelo autor Tabela 27 Tabela verdade do circuito lógico A B C D Z 0 0 0 0 0 1 1 0 0 0 1 1 2 0 0 1 0 1 3 0 0 1 1 1 4 0 1 0 0 1 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 0 8 1 0 0 0 0 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 1 0 12 1 1 0 0 0 13 1 1 0 1 X 14 1 1 1 0 X 15 1 1 1 1 X Agora você já sabe que é possível minimizar esse circuito de modo a diminuir o custo do projeto utilizando o mapa de Karnaugh Seu primeiro passo é transpor as informações da tabela para o mapa como pode ser visto na Figura 222a Depois você deve agrupar os números 1 convenientemente Você decidiu fazer três agrupamentos de quatro células como pode ser visto na Figura 222b c e d Figura 222 a Mapa de Karnaugh b agrupamento AD c agrupamento AC d agrupamento AB Com isso é possível reduzir o circuito para a seguinte expressão de somadeprodutos Z AD AC AB U2 Álgebra booleana e simplificação de circuitos lógicos 92 Uma etapa importante para o processo de minimização através do mapa de Karnaugh é o seu preenchimento correto Assinale a alternativa que contém o mapa equivalente à expressão ABC ABC ABC ABC ABC a d b e c U2 Álgebra booleana e simplificação de circuitos lógicos 93 a d b e c 2 Ao preencher um mapa de Karnaugh é importante que a expressão booleana esteja na forma padrão Caso isso não ocorra ela deve ser convertida para a forma padrão ou o mapa deve ser preenchido através de uma expansão numérica Marque a alternativa que apresenta o mapa de Karnaugh para a expressão AB C em um domínio de três variáveis U2 Álgebra booleana e simplificação de circuitos lógicos 94 3 Uma expressão de somadeprodutos minimizada contém a menor quantidade possível de termos com a menor quantidade possível de variáveis por termos e geralmente uma somadeprodutos mínima pode ser implementada com menos portas lógicas que uma expressão padrão Assinale a alternativa que contém a expressão em somadeprodutos mínima para o seguinte mapa de Karnaugh a ABC ABC ABC ABC ABC b ABC AB BC AC c ABC AB BC AC d ABC ABC ABC ABC ABC e ABC AB ABC ABC U2 Álgebra booleana e simplificação de circuitos lógicos 95 Referências BOOLE George An investigation of the laws of thought on which are founded the mathematical theories of logic and probabilities Londres Macmillan 1954 FLOYD Thomas Sistemas digitais fundamentos e aplicações 9 ed São Paulo Bookman 2007 888 p TEXAS Instruments SNx4HC00 Quadruple 2Input PositiveNAND Gates datasheet Texas Instruments 2016 Disponível em httpwwwticomlitdssymlinksn74hc00 pdf Acesso em 8 out 2017 Unidade 3 Lógica combinacional Convite ao estudo Nas unidades anteriores estudamos o funcionamento das principais portas lógicas básicas e usamos a álgebra booleana para descrever e analisar os circuitos lógicos Além disso vimos também o mapa de Karnaugh que nos permitiu aprender como simplificar os circuitos lógicos que compõem os sistemas digitais Nesta unidade continuaremos nosso estudo sobre os circuitos combinacionais Veremos que as portas lógicas básicas podem ser combinadas para realizar atividades que são importantes para o funcionamento dos computadores que tendem a facilitar nossas atividades Sendo assim na Seção 31 conheceremos os circuitos somadores meio somador e somador completo além dos circuitos subtratores Na Seção 32 aprenderemos sobre os circuitos comparadores codificadores e decodificadores Por fim na Seção 33 descobriremos os multiplexadores MUX e demultiplexadores DEMUX Para pôr todo esse conhecimento em prática considere que você é o responsável técnico de uma empresa de sistemas embarcados e terá que desenvolver alguns projetos simples e eficiente solicitados pelo seu chefe imediato que está avaliando suas competências técnicas E então pronto para mais um desafio U3 Lógica combinacional 98 Bemvindo a mais uma etapa de conhecimentos dos sistemas digitais Bons estudos e ótimo trabalho U3 Lógica combinacional 99 Seção 31 Circuito somador Frequentemente em nossas tarefas do cotidiano nos cálculos científicos ou nos negócios é fundamental realizarmos operações aritméticas como soma e subtração Muitas vezes utilizamos as calculadoras digitais ou computadores para realizar essa atividade Ao fazermos isso estamos utilizando os circuitos aritméticos com lógica combinacional Esses são tipos de circuitos dedicados que realizam operações de adição e subtração com números binários e fazem parte do subsistema chamado Unidade Lógica Aritmética ULA dos computadores e microcontroladores presentes nas calculadoras digitais Nesta seção aprenderemos como realizar as operações de soma e subtração binária utilizando as portas digitais que conhecemos nas unidades anteriores Para pôr em prática esse conhecimento você será o responsável técnico de uma pequena empresa de sistemas embarcados Nessa empresa ocorrerá a eleição entre dois representantes de uma das áreas A fim de tornar ágil o processo de votação e testar suas habilidades técnicas seu chefe solicitou a sua ajuda para a implementação de um sistema automático de contagem de votos Após checar os componentes disponíveis você percebeu que possui apenas componentes lógicos somadores E então como desenvolver esse sistema Será que é possível desenvolver o sistema utilizando apenas os circuitos somadores Vamos descobrir Diálogo aberto Não pode faltar Nas unidades anteriores estudamos o funcionamento das portas lógicas básicas e empregamos a álgebra booleana para descrever e analisar os circuitos feitos a partir das diferentes combinações que utilizam as portas lógicas Esses circuitos podem ser classificados como circuitos combinacionais pois em qualquer instante de tempo o nível lógico da saída depende apenas da combinação dos níveis lógicos presentes na entrada do circuito Em outras palavras esses U3 Lógica combinacional 100 circuitos não possuem envolvimento com memória ou realimentação da saída para entrada Segundo Szanjberg 2014 a inexistência de realimentação proporciona estabilidade ao circuito e elimina qualquer incerteza nos resultados obtidos que podem ser previstos usandose somente as proposições da álgebra booleana As principais características dos circuitos com a lógica combinacional são a Reconhecimento de existência de pulsos Esse tipo de circuito detecta se houve mudança de nível no sinal de entrada uma vez que a saída depende única e exclusivamente dos níveis lógicos presentes na entrada A cada combinação dos valores da entrada pode ser vista como uma informação diferente na saída do sistema b Discriminação de pulsos Esse tipo de circuito detecta se houve mudança na largura do pulso por meio do tempo de duração A Figura 31 ilustra um modelo genérico para o circuito combinacional Fonte adaptada de Szanjberg 2014 p 228 Figura 31 Modelo genérico do circuito combinacional Os circuitos combinacionais são responsáveis pelas operações aritméticas dentro de um sistema digital como computadores e calculadoras digitais que são conhecidos como circuitos aritméticos Esse tipo de circuito implementa operações como adição por meio dos circuitos somadores e subtração por meio dos circuitos subtratores Os somadores são importantes circuitos para os computadores digitais ou sistemas microprocessados visto que umas das tarefas mais importantes executadas por esses sistemas é a operação da adição em números binários Os somadores podem ser do tipo meio somador ou somador completo O circuito meio somador aceita dois dígitos binários em suas entradas e produz dois dígitos em suas saídas um bit soma e um bit carry ou vai um As quatro operações possíveis para adição binária são 000 011 101 1110 Tabela 31 Tabela verdade circuito meio somador A B Σ Cout 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 1 Fonte elaborada pelo autor Figura 32 Diagrama lógico circuito meio somador A partir da tabela verdadeira para soma binária ilustrada na Tabela 31 podemos deduzir as expressões para o bit soma Σ resultado do circuito somador e para o bit carry de saída Cout como funções das entradas Note que o bit Cout é 1 apenas quando as entradas A e B são 1 Logo podemos representar o bit carry de saída como uma operação lógica AND entre as variáveis de entrada Já a saída soma é 1 apenas se os valores de A e B forem diferentes portanto essa saída pode ser expressa como operação XOR ou OUExclusivo entre as variáveis de entrada Sendo assim as expressões para o bit soma Σ e bit carry Cout são Σ ABCin O carry de saída Cout é 1 apenas quando os bits A e B forem 1 ou seja quando as entradas para a primeira porta XOR forem 1 ou quando um dos bits A ou B for 1 e o carry de entrada também for 1 isto é quando as duas entradas para a segunda porta XOR forem 1 como pode ser analisado na tabela verdade para o circuito somador completo Figura 33 Dessa forma podemos representar o carry de saída do somador completo como uma operação AND entre os bits da primeira porta A com B e pela operação AND do Cin com resultado do XOR da primeira porta AB como determina a expressão Vimos que o somador completo pode ser utilizado para adição de números binários com dois bits e um carry de entrada Mas e se quisermos realizar a adição entre quatro bits utilizando somadores completos como seria Como seria a relação Cout de um somador com Cin de outro somador Esses bits teriam alguma relação Quais são as saídas de um somador completo para A 1 B 0 e Cin 0 Um somador completo é formado por três bits de entrada Logo podemos considerar que 1001 sem carry Considerando a tabela verdade para o circuito somador completo podemos considerar a saída soma como Σ1 e o bit carry de saída como Cout0 Outra operação igualmente importante em nossas atividades é a subtração O circuito meio subtrator aceita dois dígitos binários em suas entradas e produz dois dígitos em suas saídas um bit diferença e um bit de falta um ou empresta um borrow Já o circuito subtrator completo possibilita a subtração de dois bits X e Y e um bit empresta um de entrada Bin e gera os bits diferença D e empresta um de saída Bout Portanto esse circuito possui três bits de entrada X Y e Bin e dois bits de saída D e Bout A tabela verdade de um circuito subtrator completo é mostrada na Tabela 34 U3 Lógica combinacional 107 Pesquise mais Além das operações de adição e subtração podemos realizar as operações de multiplicação e divisão por meio dos circuitos lógicos combinacionais Para saber um pouco mais sobre os circuitos aritméticos combinacionais que realizam essas operações acesse o link disponível em httpwww infufscbrjguntzelisdisd3pdf Acesso em 15 out 2017 Sem medo de errar Você é o responsável técnico de uma pequena empresa de sistemas embarcados Nessa empresa ocorrerá a eleição entre dois representantes de uma das áreas A fim de tornar ágil o processo de votação e testar suas habilidades técnicas seu chefe solicitou a sua ajuda para implementação de um sistema automático de contagem de votos Após checar os componentes disponíveis você percebeu que possui apenas componentes lógicos somadores Depois de uma revisão das funções da lógica combinacional aritmética circuito somador e componente disponível para o desenvolvimento do sistema solicitado você teve uma brilhante ideia para a implementação do sistema de votação Um circuito somador completo possui três bits de entrada e dois bits de saída e está representado de forma genérica pelo diagrama em blocos na Figura 38 Fonte adaptada de Floyd 2007 p 314 Figura 38 Representação genérica do circuito somador completo em bloco Podemos utilizar um circuito somador para adicionar os votos para cada candidato Sendo assim o eleitor que optar pelo candidato 1 deverá apertar a chave C1 Isso faz com que o bit A tenha valor lógico 1 enquanto que os níveis lógicos B e Cin permanecem em 0 Sendo assim a saída Σ do somador completo passará a ser 1 e contará um Já para saída Bout podemos considerar o mapa da Figura 36 b cuja expressão lógica de saída é dada como BoutXYXBinYBin Dadas as Expressões 33 e 34 podemos implementar a lógica representativa para o circuito subtrator completo U3 Lógica combinacional 108 voto para o candidato 1 A mesma lógica é realizada para o candidato 2 o eleitor que preferir votar no candidato 2 deverá apertar a chave ou botão C2 que passará o bit A2 para o nível lógico 1 enquanto que os níveis lógicos B2 e Cin2 permanecem em 0 A Figura 39 mostra o circuito completo para o sistema desenvolvido Fonte adaptada de Floyd 2007 p 323 Figura 39 Sistema de votação utilizando somadores completos Vale salientar que o resistor da entrada de cada somador completo para o GND garante que cada entrada terá nível BAIXO quando a chave estiver na posição neutra lógica CMOS é usada Quando a chave é comutada para a posição S um nível ALTO Vcc é aplicado na entrada do somador completo Faça valer a pena 1 Os somadores são importantes circuitos para os computadores digitais ou sistemas microprocessados visto que umas das tarefas mais importantes executadas por esses sistemas é a operação da adição em números binários Para o somador completo qual é o nível lógico da saída de cada de cada porta se o nível lógico das entradas forem A 1 B 0 e Cin 1 a Σ 0 e Cout 0 b Σ 0 e Cout 1 c Σ 1 e Cout 0 d Σ 1e Cout 1 e Σ 1 e C out X U3 Lógica combinacional 109 2 Os circuitos combinacionais são responsáveis pelas operações aritméticas dentro de um sistema digital como computadores e calculadoras digitais que são conhecidos como circuitos aritméticos Dado o seguinte diagrama lógico Fonte elaborada pelo autor Figura 310 Diagrama lógico Podemos afirmar que o diagrama representa a Circuito meio somador b Circuito meio subtrator c Circuito somador completo d Circuito subtrator completo e Circuito multiplicador 3 Frequentemente em nossas tarefas do cotidiano nos cálculos científicos ou nos negócios é fundamental realizarmos operações aritméticas como a soma e a subtração Muitas vezes utilizamos as calculadoras digitais ou computadores para realizar essa atividade Ao fazermos isso estamos utilizando os circuitos aritméticos com lógica combinacional A respeito dos circuitos lógicos combinacionais podemos afirmar que I O nível lógico de saída depende apenas da combinação dos níveis lógicos presentes na entrada do circuito II Apresentam estabilidade ao circuito e elimina qualquer incerteza em relação aos resultados obtidos III Podem ser formados por portas lógicas básicas e flipflops Dadas as sentenças é correto afirmar que a Apenas I e II estão corretas b Apenas I e III estão corretas c Apenas II e III estão corretas d Todas estão corretas e Apenas I está correta U3 Lógica combinacional 110 Seção 32 Circuito comparador codificador e decodificador Na seção anterior demos início aos estudos dos diversos circuitos aplicados às nossas atividades utilizando os circuitos combinacionais Vimos que esse tipo de circuito pode ser empregado para realizar operações aritméticas como soma e subtração a partir das portas digitais que conhecemos na Unidade 2 Nesta seção daremos continuidade ao nosso estudo da lógica combinacional Veremos como os circuitos digitais podem ser aplicados para comparação entre os números binários especificando as desigualdades ou a igualdade entre eles Além disso conheceremos os circuitos classificados como codificadores e decodificadores que são empregados quando é necessário realizar a conversão ou passagem de um tipo de código para outro Esse tipo de circuito é amplamente utilizado para a lógica dos computadores digitais atuais Sendo assim para pôr esse conhecimento em prática devemos lembrar que você é o responsável técnico de uma pequena empresa de sistemas embarcados Após a implementação bemsucedida do sistema de votação seu chefe pediu que você desenvolvesse um sistema simplificado em que o usuário entre com um código de quatro bits que ele receberá em casa via email Esse código irá gerar a posição dele na fila de espera para que seja atendido em uma determinada empresa Além disso o código deve aparecer em um display para confirmação do usuário A empresa contratante tem por objetivo que cada funcionário tenha até nove atendimentos a serem realizados em espera em um determinado período de tempo Como podemos desenvolver esse sistema utilizando apenas os circuitos combinacionais Qual tipo de circuito devemos utilizar para esse desenvolvimento Pronto para mais este desafio Esperamos que esteja animado Desejamos bons estudos e um ótimo trabalho Diálogo aberto U3 Lógica combinacional 111 Não pode faltar Frequentemente em nosso cotidiano utilizamos o método de comparação para realizar alguma atividade Por exemplo para sabermos o peso de algum produto podemos realizar uma comparação entre o valor de um peso já conhecido com o que ainda não conhecemos e identificar se eles são iguais diferentes se são maiores ou menores Além disso nos sistemas cujo controle de temperatura é importante como nas indústrias químicas e aviárias é fundamental a comparação dos valores de temperatura medidos pelos sensores digitais a fim de manter o bom funcionamento dos processos A comparação entre as magnitudes de dois números binários para determinar a relação comparativa entre eles pode ser realizada através dos circuitos combinacionais do tipo comparador Em sua forma mais simples um circuito comparador determina se dois números são iguais Para isso é necessária a utilização da porta XOR ou OUExclusiva Lembrese A porta lógica XOR tem o nível lógico da saída 1 se os dois bits de entrada forem diferentes Contudo se os bits de entrada forem iguais o nível lógico de saída será 0 como mostra a Figura 311 Fonte adaptada de Floyd 2007 p 328 Figura 311 Lógica combinacional porta XOR Dessa forma se quisermos comparar n números binários de dois bits de cada é necessário utilizarmos n portas XOR Por exemplo se quisermos comparar dois números binários A e B de dois bits cada um A A 1 0 e B B 1 0 é necessária a utilização de duas portas XOR Os dois bits menos significativos LSBs B0 e B0 dos dois números U3 Lógica combinacional 112 são comparados pela porta X 0 e os bits mais significados MSBs A1 e B1 são comparados pela porta X1 como mostra Figura 312 FLOYD 2007 Fonte adaptada de Floyd 2007 p 328 Figura 312 Diagrama lógico comparador de igualdade entre dois números de dois bits Na Figura 312 note que a saída da porta XOR possui dois inversores Perceba que essa combinação de portas também é conhecida como porta XNOR como vimos na Unidade 1 Sendo assim se os dois números forem iguais ou seja se os bits correspondentes forem iguais o nível lógico da saída da porta lógica XOR será 1 e a porta AND terá sua saída também com nível lógico 1 Todavia quando os números forem diferentes ou se um dos pares dos bits correspondentes não forem iguais a saída lógica para uma das portas XNOR será 0 e por sua vez a saída para a porta AND também terá nível lógico 0 Portanto a saída da porta AND indica a igualdade caso o nível lógico da saída for 1 ou desigualdade caso o nível lógico for 0 entre os dois números binários de dois dígitos Vale ressaltar que esse comparador básico pode ser expandido para o número de bits que for necessário para comparação entre dois números O único ponto de atenção é que a quantidade de bits dos números a serem comparados devem ser iguais entre si Exemplificando Dados os conjuntos numérico binários A 1011 e B 0011 determine o diagrama lógico comparador básico de igualdade e a saída desse circuito U3 Lógica combinacional 113 Fonte elaborada pelo autor Fonte elaborada pelo autor Tabela 35 Tabela verdade do circuito meio comparador binário Figura 3 13 Diagrama lógico do comparador básico de quatro bits Além de comparar se os binários são iguais ou não ainda é possível por meio dos circuitos combinacionais verificar qual grandeza entre as comparadas é maior Isso é possível pelo uso dos circuitos combinacionais do tipo meio comparador binário ou circuito de desigualdade Esse tipo de comparador compara duas entradas com quantidades binárias como A e B e gera saídas para indicar qual delas é maior A B 0 0 ou B A 0 0 ou se são iguais Na prática nunca teremos dois desses casos sendo verdadeiros ao mesmo tempo Sendo assim a tabela verdade para esse tipo de circuito é representada pela Tabela 35 A partir da Tabela 35 podemos deduzir as seguintes expressões lógicas A B AB A B AB A B AB AB A B A partir dessas expressões lógicas podemos deduzir o diagrama lógico para o circuito meio comparador como mostra a Figura 314 Figura 314 Diagrama lógico do circuito meio comparador Fonte elaborada pelo autor U3 Lógica combinacional 115 Fonte elaborada pelo autor Fonte adaptada de Szanjberg 2014 p 263 Tabela 35 Tabela verdade para o circuito decodificador 2 para 4 Figura 315 Diagrama lógico de blocos do circuito decodificador 2 para 4 Assimile Um decodificador converte as informações binárias de n linhas de entradas para um máximo de 2n linhas únicas de saída Note na Figura 315 a presença da entrada adicional habilita ou Enable Esta quando em nível alto ou igual 1 determina que a entrada do decodificador esteja no estado ativado ou em outras palavras quando o habilita 1 ou E 1 a entrada está ativada ou habilitada para determinar as saídas especificadas pelo código dos bits de entrada Porém quando o habilita 0 ou E 0 a entrada do decodificador estará no estado desativado ou simplesmente U3 Lógica combinacional 116 desabilitada e não importa quais forem os bits de entrada Y X pois as saídas estarão sempre em nível baixo A partir da tabela verdade Tabela 36 é possível determinar o diagrama lógico desse decodificador como mostra a Figura 316 Fonte adaptada de Szanjberg 2014 p 264 Figura 316 Diagrama lógico para o decodificador 2 para 4 Reflita Em um CI decodificador de 2 para 4 é possível codificar apenas dois bits Contudo como seria se precisássemos codificar três bits Quantos CIs seriam necessários para essa situação Pesquise mais Diversas combinações de n linhas de entradas para um máximo de 2n linhas únicas de saída são possíveis a depender da aplicabilidade do circuito combinacional requerido por exemplo decodificador de 3 para 8 ou BCDdecimal Este último se caracteriza por ter quatro entradas e dez linhas de saída cuja aplicação é uma conversão bináriodecimal Para saber um pouco mais sobre esse tipo de decodificador acesse a seção 655 do livro U3 Lógica combinacional 117 Fonte adaptada de httpmacaocommunicationsmuseumporexhibitionsecondfloorMoreInfoDisplays html Acesso em 16 out 2017 Figura 317 Decodificador BCD Display de sete segmentos SZAJNBERG Mordka Eletrônica digital teoria componentes e aplicações 1 ed Rio de Janeiro LTC 2014 O livro também está disponível em nossa biblioteca virtual no site httpsbibliotecavirtualcomdetalhesparceiros5 Acesso em 20 out 2017 Dentre as possíveis aplicações dadas aos decodificadores uma das mais utilizadas é o decodificador de BCD para sete segmentos Este tipo de circuito aceita o código binário ou BCD como entrada podendo ativar um display de até sete segmentos de LEDs identificados como a b c d e f g como ilustrado na Figura 317 Nesse tipo de circuito as entradas BCD A B C D da Figura 317 são convertidas nas entradas dos setes segmentos a b c d e f g pelo uso do decodificador Cada segmento de saída representa um LED que pode ser acionado através da ligação do ânodo com uma fonte 5 volts permitindo assim escrever números de 0 a 9 e algumas letras ou sinais neste display ou mostrador Já um circuito codificador é um circuito lógico que realiza a operação inversa ao decodificador ou seja esse tipo de circuito aceita um nível ativo em uma de suas entradas representando um dígito tal como dígito decimal ou octal e o converte em uma saída codificada tal como binário Em outras palavras os codificadores convertem um determinado tipo de código em suas entradas para um outro formato codificado U3 Lógica combinacional 118 Dentre os tipos mais utilizados temos o codificador de decimal para BCD Esse tipo de codificador possui dez entradas uma para cada dígito decimal e quatro saídas para o código BCD Logo esse codificador é classificado como codificador 10 para 4 como mostra a Tabela 37 Fonte elaborada pelo autor Fonte adaptada de Floyd 2007 p 341 Figura 318 Símbolo lógico para o circuito codificador decimal para BCD Tabela 37 Tabela verdade circuito codificador de decimal para BCD O código para esse tipo de codificador é apresentado na Figura 318 Segundo Floyd 2007 a partir desse código podemos relacionar cada dígito decimal com o código BCD e verificar a lógica utilizada Por exemplo os dígitos 8 e 9 decimais possuem sempre o nível 1 para o bit mais significativo do código BCD Logo podemos representar a expressão OR para o bit A₄ em termos dos dígitos decimais como A₃ 8 9 O A₀ por sua vez pode ser escrito como A₀ 1 3 5 7 9 E assim sucessivamente para os outros códigos BCD resultando no diagrama lógico apresentado na Figura 319 Figura 319 Diagrama lógico decodificador decimal BCD Fonte adaptada de Floyd 2007 p 341 U3 Lógica combinacional 120 quatro bits que ele receberá em casa via email Esse código irá gerar a posição dele na fila de espera para que seja atendido em uma determinada empresa Além disso esse código deve aparecer em um display para confirmação do usuário A empresa contratante tem por objetivo que cada funcionário tenha até nove atendimentos a serem realizados em espera em um determinado período de tempo Como podemos desenvolver esse sistema utilizando apenas os circuitos combinacionais Qual tipo de circuito devemos utilizar para esse desenvolvimento Fonte elaborada pelo autor Figura 320 Circuito mostrador de posição Após uma revisão nos conceitos de decodificadores você percebeu que o problema é simples de ser solucionado ao utilizar um decodificador e um display de sete segmentos Como o código que o usuário recebe é formado por quatro bits representados no teclado por A B C e D estes são codificados ou convertidos em um código de sete bits de a até g que acenderão os LEDs em um display que mostra o número decimal da posição em que o usuário está na fila de espera Como cada funcionário pode acumular até nove atendimentos apenas um display é o suficiente para implementação desse sistema Logo utilizando apenas circuitos combinacionais você conseguiu resolver mais um simples problema Faça valer a pena 1 Os circuitos combinacionais são tipos de circuitos caracterizados por apresentar em qualquer instante de tempo o nível lógico da saída depende apenas da combinação dos níveis lógicos presentes na entrada do circuito U3 Lógica combinacional 121 2 A comparação entre as magnitudes de dois números binários para determinar a relação comparativa entre eles pode ser realizada através dos circuitos combinacionais do tipo comparadores Dados os números binários 01 e 10 determine qual circuito lógico combinacional pode realizar uma comparação entre os números e qual é o nível lógico presente na saída a b c nível lógico de saída 0 nível lógico de saída 0 nível lógico de saída 1 Sobre os circuitos combinacionais analise as seguintes afirmações I Podem ser utilizados para converter um tipo de código em suas entradas para um outro formato codificado II Podem ser utilizados para determinar se um número binário é maior ou menor que outro III Quando utilizados como decodificadores convertem as informações binárias de n linhas de entradas para um máximo de A3 8 9 linhas únicas de saída Dadas as sentenças é correto afirmar que a Apenas I e II estão corretas b Apenas I e III estão corretas c Apenas II e III estão corretas d Todas estão corretas e Apenas a I está correta U3 Lógica combinacional 122 d e a b c d e nível lógico de saída 1 nível lógico de saída 0 3 Os decodificadores são tipos de circuitos combinacionais que determinam uma saída especificada para cada combinação única de bits ou código de entradas Determine a melhor lógica necessária para decodificar o número binário 101 produzindo um nível alto na saída U3 Lógica combinacional 123 Seção 33 Circuitos multiplexado e demultiplexado Na seção anterior vimos os circuitos combinais aplicados para comparação entre números binários especificando as desigualdades ou igualdade entre eles Além disso conhecemos os circuitos classificados como codificadores e decodificadores empregados quando é necessário realizar a conversão ou passagem de um tipo de código para outro Nesta última seção referente aos circuitos combinacionais estudaremos detalhadamente sobre os circuitos multiplexadores e demultiplexadores Veremos como são formados e algumas aplicabilidades desse tipo de circuito digital muito utilizado em sistemas de comunicação Sendo assim para pôr este conhecimento em prática devemos lembrar que você é o responsável técnico de uma pequena empresa de sistemas embarcados Após a implementação bemsucedida de alguns projetos iniciais seu chefe solicitou que você desenvolvesse um sistema simples e financeiramente rentável de monitoração de segurança de um banco em que o estado aberto ou fechado de oito portas deve ser monitorado Cada porta controla o estado de uma chave e é necessário mostrar o estado de cada chave por meio de LEDs montados em um painel remoto de monitoração na sala de segurança Ao checar o almoxarifado você percebe que possui apenas CIs 74HC151 e 74HC138 que são referentes aos circuitos multiplexadores e demultiplexadores E agora como resolver mais essa situação Será possível utilizar a lógica combinacional para implementar esse sistema Pronto para mais esse desafio Desejamos bons estudos e um ótimo trabalho Diálogo aberto Não pode faltar Algumas vezes temos múltiplas entradas em nossos dispositivos eletrônicos e apenas uma única saída Por exemplo sistemas de amplificador de som modernos podem possuir chaves que U3 Lógica combinacional 124 selecionam músicas por diferentes fontes como bluetooth televisão sintonizador de rádio áudio de DVD uma ligação telefônica na qual há duas pessoas falando duas fontes de dados e apenas uma linha de transmissão Isso só é possível pelo uso dos multiplexadores Esse tipo de circuito combinacional também conhecido como seletor de dados tem a função de associar uma ou mais entradas de dados a uma saída singular Segundo Tocci 2011 um multiplexador ou Mux digital é um circuito lógico que recebe diversos dados digitais de entrada e seleciona um em determinado instante para transferilo para a saída O envio do dado de entrada desejado para a saída é controlado pelas entradas de seleção ou controle A Figura 321 mostra o diagrama funcional genérico de um circuito multiplexador Fonte adaptada de Tocci 2011 p 520 Figura 321 Diagrama funcional do mutilplexador O circuito multiplexador básico possui duas entradas I0 e I1 de dados Logo é necessário apenas uma linha de seleção S O nível lógico aplicado à chave seletora determina a porta AND a ser habilitada A resposta dessa porta lógica é enviada a uma porta OR para então o canal de dado selecionado ser expresso na saída Z como mostra a Figura 322 Fonte elaborada pelo autor Tabela 38 Tabela verdade do circuito Mux básico U3 Lógica combinacional 125 Fonte adaptada de Tocci 2011 p 521 Figura 322 Diagrama lógico do Circuito MUX básico Outro tipo de circuito multiplexador que encontramos na prática é o circuito com quatro entradas Para esse circuito são necessárias duas linhas de seleção pois com dois bits qualquer uma das quatro linhas de entrada de dados pode ser selecionada Assimile São necessárias n linhas de seleção para 2n dados de entrada em um circuito Mux Fonte elaborada pelo autor Tabela 39 Tabela verdade para o circuito Mux de 1 para 4 Fonte elaborada pelo autor Figura 323 Diagrama lógico para o circuito Mux de 1 para 4 Ao analisar a tabela apresentada na Figura 323a percebese que assim como no circuito anterior a entrada de seleção permite que uma determinada entrada seja selecionada Além disso a partir dessa tabela podemos deduzir as expressões lógicas para saída em termos da entrada de dados e das entradas de seleção A saída de dados é igual I₀ apenas se S₁ 0 e S₀ 0 logo I₀S₁S₀ Já para I₁ apenas se S₁ 0 e S₀ 1 logo I₁S₁S₀ Para I₂ apenas se S₁ 1 e S₀ 0 logo I₂S₁S₀ e por fim para I₃ apenas se S₁ 1 e S₀ 1 logo I₃S₁S₀ Esses termos podem então ser relacionados por uma porta OR resultando na expressão Z I₀S₁S₀ I₁S₁S₀ I₂S₁S₀ I₃S₁S₀ A implementação dessa equação requer quatro portas AND de três entradas uma porta OR de quatro entradas e dois inversores para girar a chave seletora como ilustra a Figura 323b U3 Lógica combinacional 127 Exemplificando Dado um sistema com quatro entradas determine o diagrama lógico para um circuito multiplexador com a entrada de habilitação E que é habilitada com nível lógico 0 em sua entrada Para um sistema com quatro entradas são necessários dois níveis lógicos para a chave seletora Como a entrada de habilitação tem nível lógico 0 a tabela verdade para esse sistema é ilustrada na Tabela 310 Fonte elaborada pelo autor Fonte elaborada pelo autor Tabela 3 10 Tabela de seleção para o circuito Mux 1 de 4 Figura 324 Diagrama lógico de circuito Mux 1 de 4 Assim como para o circuito mux de 1 de 4 sem entrada Habilita o diagrama lógico do processo será formado por quatro portas AND mas agora serão necessárias quatro entradas sendo uma a mais para representação da entrada E e uma porta OR também de quatro entradas Esse diagrama lógico é apresentado na Figura 324b e a equação é dada por Z overlineEL0S1S0 E1S1S0 EL1S0 EL1S1S0 EL3S1S0 Em algumas situações práticas temos mais entradas de dados do que permite um multiplexador real Nesses casos é possível combinar os multiplexadores para ajustar a quantidade de dados às entradas por meio da entrada habilita Suponha que você tem 16 fontes de dados diferentes como entrada e apenas CIs multiplexadores com oito entradas Como você poderia enviar esses dados em apenas um canal de comunicação Como os multiplexadores são de 16 entradas temos quatro chaves seletoras Além disso pela quantidade de fontes de dados que pode transmitir informações será necessário utilizar dois CIs multiplexadores como mostra Figura 325 Figura 325 Multiplexadores 8 para 1 combinados para formar multiplexador de 16 entradas Fonte elaborada pelo autor U3 Lógica combinacional 129 Nesta figura o circuito funciona como um multiplexador de 16 entradas As quatro entradas de seleção S S S S 3 2 1 0 selecionam uma das 16 fontes de dados para ser enviadas para a saída Z A entrada S3 determinará o multiplexador que será habilitado Quando s3 0 o multiplexador da parte superior é habilitado e S S S 2 1 0 determinam a entrada de dados que será transmitida para a saída passando pela porta OR até Z Quando S3 1 o multiplexador da parte inferior é habilitado e S S S 2 1 0 selecionam uma das entradas de dados que serão enviadas à saída Assim é possível ajustar os multiplexadores à quantidade de fontes de entrada necessárias Os circuitos combinacionais demultiplexador Demux realizam a operação inversa ao mux Os circuitos classificados como demux recebem uma única entrada e a distribuem para várias entradas Em outras palavras esse tipo de circuito recebe informações digitais a partir de uma linha e as distribui para um determinado número de linhas de saída Por essa razão o demultiplexador também é conhecido como distribuidor de dados A Figura 326 mostra o diagrama funcional genérico de um circuito demultiplexador Fonte elaborada pelo autor Figura 326 Diagrama funcional do demutilplexador A Figura 327 ilustra um diagrama lógico de um demultiplexador de uma linha para quatro linhas A linha de entrada de dados está conectada nas quatro portas AND As duas linhas de seleção de dados habilitam uma porta de cada vez e os dados que aparecem na linha de entrada de dados passam através da porta selecionada para a linha de saída de dados associada U3 Lógica combinacional 130 Fonte elaborada pelo autor Figura 327 Demultiplexador de uma para quatro linhas Exemplificando Considerando a forma de onda de entrada de dados em série e as entradas de seleção de dados S0 e S1 determine as formas de onda de saída de dados para um demutiplexador de quatro linhas de saída Fonte Floyd 2011 Figura 325 Multiplexadores 8 para 1 combinados para formar multiplexador de 16 entradas Note que as linhas das entradas de seleção obedecem a uma sequência binária de forma que cada bit sucessivo de entrada é direcionado para D D D 0 1 2 e D3 na sequência como mostra a Figura 328 U3 Lógica combinacional 131 Reflita Agora que já conhecemos os demux e os decodificadores apresentados na Seção 2 desta unidade podemos dizer que um decodificador pode ser usado como um demultiplexador De que forma Sem medo de errar Você é o responsável técnico de uma empresa de sistemas embarcados e seu chefe solicitou que você desenvolvesse um sistema simples e financeiramente rentável de monitoração de segurança de um banco em que o estado aberto ou fechado de oito portas deve ser monitorado Cada porta controla o estado de uma chave e é necessário mostrar o estado de cada chave por meio de LEDs montados em um painel remoto de monitoração na sala de segurança Ao checar o almoxarifado você percebe que possui apenas CIs 74HC151 e 74HC138 que são referentes aos circuitos multiplexadores e demultiplexadores E agora como resolver mais essa situação Será possível utilizar a lógica combinacional para implementar esse sistema Existem algumas formas de implementar o sistema Uma delas seria levar o sinal da chave de cada porta até o LED no painel de monitoração na sala de segurança Contudo isso exigiria a instalação de grande quantidade de fios por uma longa distância o que tornaria o seu projeto financeiramente inviável dadas as condições do projeto Uma outra solução mais adequada e financeiramente mais atrativa seria utilizar uma combinação multiplexadordemultiplexador interligado por uma porta AND como mostra a Figura 329 U3 Lógica combinacional 132 Fonte adaptada de Tocci 2011 p 532 Figura 329 Sistema de monitoração de segurança Nesse circuito as oito portas do banco são as entradas do circuito Mux Elas irão gerar nível lógico 1 quando abertas e nível lógico 0 quando fechadas O contador será responsável por gerar as entradas das chaves seletoras do Mux e Demux Cada saída do circuto demux estará ligada ao painel de LEDs indicador que acenderá quando a saída estiver em nível baixo Cada número do contador será invertido pelo Mux e passará para a saída invertida Z Essa saída será transmitida para a entrada Demux que passará a saída correspondente Supondo que o contador esteja na contagem 001 e considerando que a porta está fechada o nível baixo da entrada I1 passará pelo Mux e será invertido para produzir Z Este em nível alto passará pelo Demux de modo que o LED 1 apagará sinalizando que a porta está fechada Faça valer a pena 1 Os circuitos combinacionais são tipos de circuitos caracterizados por em qualquer instante de tempo O nível lógico da saída depende apenas da combinação dos níveis lógicos presentes na entrada do circuito Sobre os circuitos combinacionais podemos afirmar que I Podem ser utilizados para transmitir dados de várias fontes em um único canal de transmissão U3 Lógica combinacional 133 2 Um multiplexador ou Mux digital é um circuito lógico que recebe diversos dados digitais de entrada e seleciona um em determinado instante para transferilo para a saída Em um circuito multiplexador de 1 para 4 sendo I I I I S 0 1 2 3 0 0 0 1 1 1 e S1 0 qual é o nível lógico da saída a 10 b 01 c Não importa d 1 e 0 3 Um multiplexador ou Mux digital é um circuito lógico que recebe diversos dados digitais de entrada e seleciona um em determinado instante para transferilo para a saída O envio do dado de entrada desejado para a saída é controlado pelas entradas de seleção ou controle Se um multiplexador pode comutar 64 entradas de dados para sua saída quantas entradas diferentes tem esse MUX a 32 b 6 c 5 d 16 e 4 II Quando utilizados como multiplexadores são necessários n números de entrada de seleção para 3n número de linhas de entrada III Quando utilizados como demultiplexadores o circuito recebe informações digitais a partir de uma linha e as distribui para um determinado número de linhas de saída Dada as sentenças é correto afirmar que a Apenas I e II estão corretas b Apenas I e III estão corretas c Apenas II e III estão corretas d Todas estão corretas e Apenas I está correta U3 Lógica combinacional 134 Referências FLOYD Thomas L Sistemas digitais fundamentos e aplicações 9 ed Porto Alegre Bookman 2007 GÜNTZEL José Luís A NASCIMENTO Francisco Assis do Circuitos combinacionais Universidade Federal de Santa Catarina UFSC 2001 Disponível em httpwwwinf ufscbrjguntzelisdisd3pdf Acesso em 15 out 2017 SZANJBERG Mordka Eletrônica digital teoria componentes e aplicações Rio de Janeiro LTC 2014 TEXAS Instruments 54LS85DM54LS85DM74LS85 4Bit magnitude comparators Texas Instruments 1989 Disponível em httpswwwengtauacilshavittcourses DigLogSys74LS85pdf Acesso em 16 out 2017 TOCCI Ronald J Sistemas digitais princípios e aplicações 11 ed São Paulo Pearson Prentice Hall 2011 Unidade 4 Lógica sequencial Convite ao estudo Na unidade anterior estudamos circuitos lógicos combinacionais Nesta unidade conheceremos os circuitos lógicos sequenciais Um circuito sequencial difere de um combinacional pela presença de memória e de uma ou mais malhas de realimentação Os sinais de controle nos circuitos sequenciais são gerados sequencialmente e se relacionam não somente com as funções de entrada presentes mas também com os estados anteriores do sistema armazenado pela memória Os estados são fornecidos justamente pelas vias de realimentação saídaentrada Logo a saída de um sistema sequencial em qualquer instante depende da entrada presente e das condições dos sinais da entrada no passado Nesse contexto vamos pensar na seguinte situação você é proprietário de uma empresa de desenvolvimento de projetos de sistemas de automação No seu dia a dia você costuma criar novos projetos e também realiza a manutenção de produtos que você já vendeu para os clientes Para que você continue desempenhando essa tarefa com qualidade e domínio fique atento aos conceitos que serão apresentados nesta unidade Pronto para mais um desafio Esperamos que sim Bons estudos U4 Lógica sequencial 136 Seção 41 Latches e flipflops Esta seção começa com o estudo dos fundamentos da lógica sequencial Nela serão abordados os dispositivos lógicos biestáveis que são o latch e o flipflop Os dispositivos biestáveis são dispositivos de armazenamento temporário que têm dois estados estáveis chamados SET e RESET A diferença básica entre latches e flipflops é a forma com que eles comutam de um estado para o outro O flipflop é a unidade básica para construção de contadores registradores e outras lógicas de controle sequencial e é usado em certos tipos de memórias Retomando o contexto apresentado no início da unidade você é o dono de uma empresa de desenvolvimento de projetos de sistemas de automação Você costuma trabalhar tanto criando quanto analisando outros projetos e recebeu para análise um projeto de um controle que não está funcionando adequadamente Em uma primeira análise você isolou a parte do circuito que está com defeito tratase de um latch SR utilizado para eliminar oscilações devido ao contato de uma chave mecânica do controle Segundo Floyd 2007 quando a chave é acionada fechando um contato esse contato vibra fisicamente oscilando por algum tempo antes de estabilizar Embora isso ocorra em um intervalo relativamente curto as oscilações produzem picos de tensão em geral não aceitáveis em circuitos digitais Essa situação é ilustrada na Figura 41 Diálogo aberto Fonte Floyd 2007 p 391 Figura 41 Situação de repique U4 Lógica sequencial 137 Fonte Tocci Widmer e Moss 2011 p 183 Figura 42 Circuito para eliminar o repique Um latch feito com portas NAND ou OR negativa pode ser usado para eliminar os efeitos do repique de uma chave como mostra a Figura 42 Ao testar o circuito você percebe que ele funciona corretamente quando a chave está na posição B porém quando a chave é colocada na posição A a saída Q não vai para o estado 1 conforme era esperado Quais são as possíveis causas para esse mau funcionamento Para auxiliálo com essa análise vamos aprender sobre latches e flipflops Está preparado Desejamos bons estudos e ótimo trabalho Não pode faltar Os circuitos lógicos sequenciais são dispositivos biestáveis isto é podem ter suas saídas alocadas em dois estados básicos uma no nível lógico ALTO ou 1 e outra no nível lógico BAIXO ou 0 permanecendo trancados latched indefinidamente até que outro sinal ou pulso aplicado na entrada apropriada cause a mudança desses estados nível 1 para 0 e nível 0 para 1 Segundo Floyd 2007 um latch é um tipo de dispositivo lógico de armazenamento temporário que tem dois estados estáveis e por isso é chamado de biestável ou multivibrador Um latch SR SET RESET com entrada ativa em nível ALTO é composto de duas portas NOR com acoplamento cruzado conforme pode ser visto na Figura U4 Lógica sequencial 138 43a Um latch SR com entrada ativa em nível BAIXO por sua vez é composto por duas portas NAND com acoplamento cruzado conforme pode ser visto na Figura 43b Fonte elaborada pelo autor Figura 43 Latch SR a com entrada ativa em nível ALTO b com entrada ativa em nível BAIXO a b Para entendermos o funcionamento de um latch vamos considerar o latch SR composto por portas NOR da Figura 43a De acordo com o funcionamento de uma porta NOR de duas entradas podemos dizer que o nível lógico 0 em uma das entradas faz com que a saída seja a outra entrada complementada Já o nível lógico 1 em uma das entradas força a saída a permanecer no estado lógico 0 Lembrese Vamos recordar a tabela verdade da porta NOR na Tabela 41 Fonte elaborada pelo autor Tabela 41 Tabela verdade da porta NOR A B NOR 0 0 1 0 1 0 1 0 0 1 1 0 U4 Lógica sequencial 139 O latch mostrado na Figura 43a tem duas entradas S e R e duas saídas Q e Q Vamos iniciar considerando que as duas entradas e a saída Q estão no nível lógico 0 Como a saída Q é conectada de volta na entrada da porta P2 e a entrada S está no nível 0 a saída Q vai para o nível 1 Essa saída é acoplada de volta na entrada da porta P1 garantindo que sua saída seja 0 como mostrado na Figura 44a Quando a saída Q é 0 o latch está no estado de RESET e permanece nesse estado indefinidamente até que um nível 1 seja aplicado na entrada S Com a entrada S igual a 1 a saída da porta P2é forçada para 0 O acoplamento entre as portas faz com que uma entrada da porta P1 seja 0 Como a entrada R está no nível 0 então a saída Q é levada para o nível 1 e o acoplamento entre as portas garante que a saída Q seja 0 como pode ser visto na Figura 44b O nível 1 na saída Q de fato garante que a saída Q seja 0 mesmo quando o nível 1 da entrada S seja removido como pode ser visto na Figura 44c Quando a saída Q é 1 o latch está no estado de SET até que um nível 1 seja aplicado na entrada R Fazendo a entrada R igual a 1 a saída Q é levada novamente para 0 o acoplamento entre as portas e o fato de que a entrada S está no nível 0 fazem com que a saída Q seja levada para 1 como vemos na Figura 44d Como podemos notar o latch foi levado novamente para o estado RESET pois mesmo quando a entrada R volta para o nível 0 a saída Q mantémse no nível 0 como pode ser visto na Figura 44e que é exatamente igual à Figura 44a Figura 44 Modos de operação do latch SR básico a b R0 R0 S0 S1 Q1 Q1 Q1 Q0 P1 P1 P2 P2 U4 Lógica sequencial 140 Fonte elaborada pelo autor c e d Quando as duas entradas S e R são colocadas no nível lógico 1 ao mesmo tempo tanto a saída Q quanto Q são forçadas para 0 Figura 45a violando a condição básica de complementaridade entre essas duas saídas Mas o problema mais sério ocorre quando tornamos as entradas S e R 0 novamente Nesse caso é possível que as duas entradas retornem ao valor 0 simultaneamente Quando isso ocorre as portas P1 e P2 terão em todas as suas entradas o nível lógico 0 fazendo com que suas saídas mudem para 1 como mostrado na Figura 45b No entanto as portas são realimentadas com as saídas que estão agora no nível lógico 1 forçando as saídas para 0 como vemos na Figura 45c Os níveis 1 nas portas levarão as saídas para 1 e esse ciclo se repetirá criando um estado oscilatório no latch No entanto a oscilação não é uma característica desejável em um bloco de armazenamento de memória R0 R0 R1 S0 S0 S0 Q1 Q0 Q0 Q0 Q1 Q1 Q0 P1 P1 P1 P2 P2 P2 U4 Lógica sequencial 141 Fonte elaborada pelo autor Figura 45 Oscilação devido ao estado inválido no latch SR básico a b c Assimile De modo similar à tabela verdade do sistema combinacional a tabela de estado enumera as entradas e saídas com colunas adicionais para os estados presentes e seguintes do circuito sequencial como podemos ver na Tabela 42 para o latch SR A tabela excitação por sua vez lista os valores das entradas do circuito sequencial bem como as mudanças entre os estados presentes e seguintes como é visto na Tabela 43 para o latch SR Fonte elaborada pelo autor Tabela 42 Tabela de estado do latch SR S R Q t Q t 1 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 Indefinido 1 1 1 Indefinido Q0 Q0 Q0 Q1 Q0 Q1 Q0 Q0 Q0 Q1 Q0 Q1 P1 P1 P1 P2 P2 P2 S1 S0 S0 R1 R0 R0 U4 Lógica sequencial 142 Fonte elaborada pelo autor Tabela 43 Tabela excitação do latch SR S R Q t 1 Estado 0 0 Q t Repouso 0 1 0 RESET 1 0 1 SET 1 1 Inválido A tabela excitação é geralmente usada no projeto e síntese de circuitos sequenciais Os símbolos lógicos para os latches com entradas ativas em nível ALTO e entradas ativas em nível BAIXO são mostrados na Figura 46 Fonte elaborada pelo autor Figura 46 Símbolo lógico para o latch a SR com entradas ativas em nível ALTO b SR com entradas ativas em nível BAIXO a b Pesquise mais O latch SR com portas NAND tem funcionamento idêntico ao do latch SR porém sua entrada é ativada em nível BAIXO Para uma análise de funcionamento semelhante à feita aqui para o latch SR consulte a seção 71 do livro Sistemas digitais Fundamentos e aplicações FLOYD 2007 disponível na nossa biblioteca virtual httpsbibliotecavirtual comdetalhesparceiros5 Acesso em 30 out 2017 Em um latch controlado a transição entre os estados ocorre somente sob a ação da subida de um pulso em uma entrada de habilitação EN essa entrada também pode ser chamada de gatilho e portanto a letra G também pode ser usada para indicar essa entrada Q Q S S R R Q Q R S U4 Lógica sequencial 143 O diagrama lógico e o símbolo lógico para um latch SR controlado podem ser vistos na Figura 47 Fonte elaborada pelo autor Fonte elaborada pelo autor Figura 47 Latch SR controlado a diagrama lógico b símbolo lógico Figura 48 Funcionamento do latch SR controlado a b Exemplificando As entradas S e R controlam o estado para o qual o latch irá quando um nível ALTO é aplicado na entrada EN O latch não mudará de estado enquanto EN estiver em nível BAIXO Porém durante todo o tempo em que essa entrada permanecer em nível ALTO a saída é determinada pelos estados das entradas S e R Nesse circuito o estado inválido ocorre quando S e R tiverem simultaneamente nível ALTO Um exemplo de diagrama de tempo do latch SR controlado pode ser visto na Figura 48 Os gráficos com nível lógico versus tempo fornecem não só uma representação visual do desenvolvimento de sinais no tempo mas também uma demonstração gráfica de comparação entre sinais em vários pontos de um circuito de chaveamento Os diagramas de tempo são muito usados em sistemas sequenciais S R EN Q Q Q Q S EN R S R EN Q U4 Lógica sequencial 144 O latch D é um outro tipo de latch controlado Ele teve sua origem devido à necessidade de se evitar no latch SR a ocorrência do estado proibido Por isso o latch D tem apenas uma entrada além da EN A entrada mencionada é denominada de entrada D dado O diagrama lógico e o símbolo lógico para um latch D são mostrados na Figura 49 Fonte elaborada pelo autor Figura 49 Latch D controlado a diagrama lógico b símbolo lógico a b Quando a entrada D for de nível ALTO e a entrada EN for de nível ALTO o latch será levado para o estado SET Quando a entrada D for de nível BAIXO e a entrada EN for de nível ALTO o latch será levado para o estado RESET Dito de outra forma a saída Q segue a entrada D quando EN for de nível ALTO Em lógica sequencial temos dois modos básicos de operação assíncrono e síncrono No modo assíncrono os circuitos que constituem o sistema funcionam com tempos independentes entre si Os estados de saída são gerados imediatamente após a aplicação dos sinais de entrada controlados pela realimentação direta usando estritamente os retardos de propagação dos decodificadores do estado seguinte Os latches são um exemplo de dispositivo assíncrono No modo síncrono os flipflops são chaveados por um trem de pulsos denominado relógio do sistema ou como é internacionalmente conhecido clock do sistema system clock ou simplesmente clock O clock representa o sinal de comando de um sistema sequencial e consiste em um sinal digital permanente geralmente de alta frequência A Figura 410 traz um exemplo de um sinal de clock A seta evidencia qual borda é utilizada para acionar o flipflop D D EN EN Q Q Q Q U4 Lógica sequencial 145 Fonte elaborada pelo autor Fonte adaptada de Floyd 2007 p 394 Figura 410 Trem de pulsos de um sinal de clock a borda positiva b borda negativa Figura 411 Símbolos lógicos de flipflops disparados por borda a SR b D c JK a a b c b Quando um um latch controlado é adaptado para funcionar de maneira síncrona ele passa a ser chamado de flipflop SR disparado por borda Apresentaremos a seguir três tipos de flipflops disparados por borda SR D e JK Na prática o flipflop SR não está disponível na forma de CI mas ele é a base para os flipflops D e JK por isso é importante entendermos o seu funcionamento A Figura 411 traz os símbolos lógicos para esses flipflops O pequeno triângulo dentro do bloco indica a entrada de clock C e é denominado indicador de entrada dinâmica Os flipflops podem ser disparados tanto na borda positiva parte superior da figura quanto na negativa parte inferior da figura indicados pelo pequeno círculo na entrada C FLOYD 2007 No flipflop SR disparado por borda Figura 411a as entradas S e R são denominadas síncronas uma vez que os bits nas entradas são transferidos para a saída do flipflop apenas na borda de disparo do pulso de clock Quando SR 10 somente na borda de disparo do pulso de clock é que o flipflop será levado para o estado SET com a saída Q 1 Q Q Q Q Q Q Q Q Q Q Q Q S S J J D D C C C C C C R R K K U4 Lógica sequencial 146 O mesmo ocorre quando SR 01 a saída somente será Q 0 na próxima borda de disparo do pulso de clock estando o flipflop no estado RESET Quando SR 00 a saída não muda de estado permanecendo no estado anterior O mesmo fenômeno oscilatório descrito para o latch SR ocorre para o flipflop quando SR 11 por isso essa condição é considerada inválida Reflita Agora que você conhece o funcionamento do latch SR controlado e do flipflop SR qual é exatamente a diferença entre esses dois dispositivos A Tabela 44 traz a tabela de excitação do flipflop SR disparado por borda positiva Lembrese o flipflop somente muda de estado na borda de disparo de um pulso de clock portanto qualquer alteração nas entradas do flipflop não alteram o seu estado com exceção do pequeno intervalo em torno da transição do clock Fonte elaborada pelo autor Tabela 44 Tabela excitação do flipflop SR disparado por borda positiva S R C Q t 1 Estado 0 0 X Q t Repouso 0 1 0 RESET 1 0 1 SET 1 1 Inválido Na Figura 412a é possível ver uma implementação simplificada de um flipflop SR disparado por borda Usaremos essa implementação para demonstrar o conceito de disparo por borda O flipflop SR difere do latch SR controlado apenas pelo fato de que o primeiro possui um detector de transição de pulso FLOYD 2007 Um exemplo básico de detector de transição de pulso é mostrado na Figura 412b U4 Lógica sequencial 147 Fonte adaptada de Floyd 2007 p 397 Figura 412 Disparo por borda a diagrama lógico simplificado do flipflop SR disparado por borda positiva b exemplo de detector de transição de pulso a b Esse tipo de detector de transição de pulso faz uso do atraso ocasionado pela primeira porta inversora Assim o pulso de clock invertido chega alguns nanosegundos depois na porta NAND em relação ao pulso original Esse circuito produz um pico de duração muito curta na transição positiva do pulso de clock Em um flipflop disparado pela borda negativa o sinal do clock é invertido primeiro produzindo um pico na borda negativa Os flipflops D e JK são comercializados na forma de CI e são mais amplamente usados que o tipo SR No entanto eles são derivados do flipflop SR O flipflop D Figura 411b é usado quando um único bit de dado 1 ou 0 deve ser armazenado Um flipflop D básico é obtido através de um flipflop SR invertendo a entrada S e conectando esse sinal à entrada R como pode ser visto na Figura 413 Observe que esse tipo de flipflop possui apenas uma entrada além do clock Caso a entrada D seja 1 quando um pulso de clock é aplicado o flipflop irá para o estado SET e o nível 1 da entrada será armazenado pelo flip flop Caso exista um nível 0 na entrada D quando um pulso de clock seja aplicado o flipflop irá para o estado RESET e o nível 0 da entrada será armazenado pelo flipflop Q Q S Detector de transição de pulso Pulso curto produzido pelo atraso Atraso CLK CLK R U4 Lógica sequencial 148 Fonte elaborada pelo autor Figura 413 Flipflop D disparado por borda positiva A tabela de excitação do flipflop D disparado por borda positiva pode ser vista na Tabela 45 A operação de um dispositivo disparado por borda negativa é evidentemente a mesma exceto que o disparo ocorre na borda de descida do pulso de clock Lembrese a saída Q segue a entrada D na borda ativa ou de disparo do clock Fonte elaborada pelo autor Tabela 45 Tabela excitação do flipflop D disparado por borda positiva D C Q t 1 Estado 0 0 RESET 1 1 SET O flipflop JK Figura 411c é versátil e amplamente usado O flipflop JK funciona da mesma forma que o flipflop SR nas condições de operação de SET RESET e repouso A diferença entre os dois é que o flipflop JK não possui um estado inválido como acontece com o flipflop SR A Figura 414 mostra a lógica interna básica para um flipflop JK disparado por borda Note que a saída Q é conectada de volta na entrada da porta P2 e a saída Q é conectada de volta na entrada da porta P1 As duas entradas de controle são denominadas J e K em homenagem a Jack Kilby inventor do circuito integrado FLOYD 2007 Q Q S C D CLK R U4 Lógica sequencial 149 Fonte elaborada pelo autor Figura 414 Diagrama lógico simplificado para um flipflop JK disparado por borda positiva Fonte elaborada pelo autor Tabela 46 Tabela excitação do flipflop JK disparado por borda positiva J K C Q t 1 Estado 0 0 Q t Repouso 0 1 0 RESET 1 0 1 SET 1 1 Q t Toggle Um flipflop JK também pode ser do tipo disparado por borda negativa caso no qual a entrada de clock é invertida A operação lógica do flipflop JK é a mesma que a do tipo SR para as condições de SET e RESET A diferença ocorre quando as entrada J e K estiverem ambas em nível ALTO Para entender isso considere que o flipflop esteja no estado de RESET O nível lógico 1 em Q habilita a porta P1 assim uma transição no clock leva o flip flop para o estado SET de modo que agora existe um nível 1 em Q permitindo que a próxima transição do clock passe através da porta P2 e resete o flipflop Podemos notar que a cada transição sucessiva do clock o flipflop muda para o estado oposto ao anterior Esse estado é denominado toggle comutação A Tabela 46 traz a tabela de excitação do flipflop JK disparado por borda positiva Observe que não existe estado inválido como ocorre com o flipflop SR A tabela de excitação para um dispositivo disparado por borda negativa é idêntica a essa tabela exceto que o flipflop é disparado na borda de descida do pulso de clock U4 Lógica sequencial 150 Um flipflop JK conectado para o modo toggle é denominado algumas vezes de flipflop T e tem a tabela de excitação mostrada na Tabela 47 Fonte elaborada pelo autor Tabela 47 Tabela excitação do flipflop T disparado por borda positiva T C Q t 1 Estado 0 Q t Repouso 1 Q t Toggle Pesquise mais Para saber mais sobre isso leia a Seção 73 do livro Sistemas digitais fundamentos e aplicações FLOYD 2007 Para mais detalhes sobre o funcionamento dos latches e flipflops leia a seção 71 do livro Eletrônica digital teoria componentes e aplicações SZAJNBERG 2014 Ambos os materiais estão disponíveis na nossa biblioteca virtual https bibliotecavirtualcomdetalhesparceiros5 Acesso em 30 out 2017 O desempenho os requisitos de operação e as limitações dos flipflops são especificados por diversas características de operação ou parâmetros encontrados nas folhas de dados dos dispositivos Geralmente essas especificações são aplicáveis a todos os flipflops CMOS e TTL FLOYD 2007 p 406 Sem medo de errar Você é o dono de uma empresa de desenvolvimento de projetos de sistemas de automação e recebeu para análise um projeto de um controle que não está funcionando adequadamente Você já isolou a parte defeituosa tratase de um latch SR para eliminar o repique em uma chave eletrônica O circuito em questão é repetido na Figura 415 U4 Lógica sequencial 151 Fonte Tocci Widmer e Moss 2011 p 183 Figura 415 Circuito para eliminar o repique As saídas desse latch controlam a passagem de um sinal formado por pulsos retangulares com frequência de 1 kHz por meio das saídas X A e XB das portas AND Quando a chave é colocada na posição A o latch é setado Q 1 Isso habilita os pulsos de 1 kHz a chegarem à saída X A enquanto o nível BAIXO em Q mantém XB 0 Quando a chave é colocada na posição B o latch é resetado Q 0 mantendo X A 0 enquanto o nível ALTO em Q habilita a passagem dos pulsos para XB Você percebeu que quando a chave está na posição B o circuito funciona corretamente porém com a chave na posição A a saída Q não vai para o estado 1 conforme era esperado Existem algumas possibilidades de problema 1 Circuito aberto internamente em Z11 que impediria que a saída Q respondesse à entrada SET 2 Falha em um componente interno da porta NAND Z1 que impediria que ela funcionasse corretamente 3 A saída Q está fixa em nível BAIXO Isso pode ser causado por a Z13 em curto interno com GND b Z14 em curto interno com GND c Z22 em curto interno com GND d A saída Q em curto externo com GND Uma verificação com ohmímetro medindose entre a saída Q e GND determinará a existência de qualquer uma dessas condições U4 Lógica sequencial 152 apresentadas e uma verificação visual pode revelar algum curto externo Um curto interno ou externo entre Q e VCC é descartado pois se Q estivesse em curto com VCC isso não evitaria que a saída Q fosse levada para nível ALTO quando a entrada SET fosse para nível BAIXO Como a saída Q não está indo para nível ALTO esse não é o defeito O motivo que faz com que a saída Q esteja fixa em nível ALTO é a saída Q estar fixa em nível BAIXO mantendo a saída Q em nível ALTO por meio da porta NAND na parte inferior do diagrama Faça valer a pena 1 Um latch é um tipo de dispositivo lógico de armazenamento temporário que tem dois estados estáveis e por isso é chamado de biestável ou multivibrador Um latch SR com entrada ativa em nível BAIXO é composto por duas portas NAND com acoplamento cruzado conforme indicado na Figura 416 Considere que as formas de onda de S e R mostradas na Figura 417 são aplicadas nas entradas do latch visto na Figura 416 Determine os valores da saída Q nos instantes t1 t2 t3 t4 t5 e t6 e assinale a alternativa que contém a sequência correta Fonte elaborada pelo autor Fonte elaborada pelo autor Figura 416 Aspecto construtivo do Latch SR Figura 417 Formas de onda de entrada U4 Lógica sequencial 153 2 Em um latch controlado a transição entre os estados ocorre somente sob a ação da subida de um pulso em uma entrada de habilitação EN O diagrama lógico para um latch SR controlado é mostrado na Figura 418 3 No flipflop SR disparado por borda as entradas são denominadas síncronas uma vez que os dados nas entradas são transferidos para a saída do flipflop apenas na borda de disparo do pulso de clock Considere que as formas de onda de S R e EN mostradas na Figura 419 são aplicadas nas entradas do latch visto na Figura 418 Determine os valores da saída Q nos instantes t1 t2 t3 t4 t5 e t6 e assinale a alternativa que contém a sequência correta a 010110 b 110011 c 101010 d 101001 e 010101 a 010110 b 000010 c 111101 d 101001 e 101010 Fonte elaborada pelo autor Fonte elaborada pelo autor Figura 418 Diagrama lógico para o latch SR controlado Figura 419 Formas de onda de entrada U4 Lógica sequencial 154 Um exemplo básico de detector de transição de pulso é mostrado na Figura 420 Considerando esse contexto avalie as seguintes asserções e a relação proposta entre elas I Esse tipo de detector de pulso faz uso do atraso ocasionado pela primeira porta inversora para produzir um pico de duração muito curta na transição positiva do pulso de clock PORQUE II O pulso de clock invertido chega alguns nanosegundos depois na porta NAND em relação ao pulso original A respeito dessas asserções assinale a alternativa correta a As asserções I e II são proposições verdadeiras e a II é uma justificativa da I b As asserções I e II são proposições verdadeiras e a II não é uma justificativa da I c A asserção I é uma proposição verdadeira e a II é uma proposição falsa d A asserção I é uma proposição falsa e a II é uma proposição verdadeira e As asserções I e II são proposições falsas Fonte adaptada de Floyd 2007 p 397 Figura 420 Detector de transição de pulso U4 Lógica sequencial 155 Seção 42 Contadores e registradores Os flipflops podem ser utilizados para realizar operações de contagem Esse arranjo com flipflops recebe o nome de contador A quantidade de flipflops usada e a forma como eles são combinados determinam o número de estados e a sequência específica de estados que o contador percorre durante um ciclo completo Os registradores de deslocamento são um tipo de circuito lógico muito parecido com os contadores digitais Os registradores são geralmente usados para armazenamento de dados digitais e não possuem uma característica interna de sequência de estado como os contadores Relembrando você é o dono de uma empresa de desenvolvimento de projetos de sistemas de automação e dessa vez sua empresa foi recentemente contratada por um pequeno shopping local para desenvolver um sistema de controle de estacionamento de veículos O problema consiste em fazer um projeto de monitoração dos espaços disponíveis numa centena de vagas num estacionamento e prover a sinalização da condição de lotado através de uma indicação luminosa e abaixando a cancela na entrada Para auxiliálo com esse projeto vamos aprender mais sobre o uso de flipflops como contadores e registradores de deslocamento Diálogo aberto Os contadores podem ser classificados como assíncronos ou síncronos de acordo com a maneira como eles recebem os pulsos de clock Dentro dessas categorias os contadores podem ainda ser classificados pela sequência com a qual percorrem os estados pelo número de estados ou pelo número de flipflops no contador Nos contadores assíncronos o primeiro flipflop recebe um sinal de clock externo e cada flipflop subsequente recebe o clock através da saída do flipflop anterior Não pode faltar U4 Lógica sequencial 156 A Figura 420a mostra um contador binário de dois bits conectado para operação assíncrona Os flipflops são conectados para operação toggle J 1 e K 1 e o clock CLK é aplicado na entrada de clock C apenas do primeiro flipflop FF0 que é o bit menos significativo LSB O segundo flipflop FF1 é disparado pela saída Q0 do FF0 Enquanto o FF0 muda de estado na borda positiva de cada pulso de clock o FF1 muda apenas quando disparado por uma transição positiva da saída Q0 do FF0 Uma vez que há o tempo de atraso de propagação inerente dos flipflops a transição do pulso de clock CLK de entrada e a transição da saída Q0 do FF0 nunca podem mudar exatamente ao mesmo tempo Portanto os dois flip flops nunca são disparados simultaneamente FLOYD 2007 Por isso a operação do contador é assíncrona Fonte adaptada de Floyd 2007 p 444 Figura 420 Contador binário assíncrono de dois bits a esquema de montagem b diagrama de temporização a b A Figura 420b ilustra as mudanças de estado nas saídas dos flip flops em resposta aos pulsos de clock Por questões de simplicidade as transições de Q0 e Q1 para os pulsos do clock são mostradas como eventos simultâneos mas sabemos que existe um pequeno atraso entre as transições do clock e Q0 e entre as transições de Q0 e Q1 A sequência dos estados do contador realiza uma sequência de números binários conforme listada na Tabela 48 U4 Lógica sequencial 157 Fonte elaborada pelo autor Tabela 48 Sequência de estados binários para o contador de dois bits assíncrono CLK Q1 Q0 Valor inicial 0 0 1 0 1 2 1 0 3 1 1 4 recicla 0 0 O contador da Figura 420a conta de fato os pulsos de clock até três e no quarto pulso ele recicla seu estado para o estado inicial Q0 0 Q1 0 O termo reciclagem usualmente empregado na operação de contadores se refere à transição do contador do seu estado final para o original Faça você mesmo Como era de se esperar com dois flipflops 2 2 4 o contador de dois bits exibe quatro estados diferentes É possível criar contadores capazes de contar qualquer quantia de potências de 2 Faça o esquema de montagem do diagrama de temporização e a tabela com a sequência de estados binários para um contador de três bits Quantos estados esse contador possui Os contadores também podem ser projetados de modo a ter um número de estados menor em sua sequência que o valor máximo de 2n Esse tipo de sequência é chamado de sequência truncada Para se obter uma sequência truncada é preciso forçar o contador a reciclar seu estado antes que ele complete um ciclo passando por todos os estados possíveis Um contador de dez estados chamado contador de década tem sua sequência de contagem de zero 0000 a nove 1001 Além disso ele é um contador de década BCD porque a sua sequência de dez estados produz o código BCD Esse tipo de contador é útil em aplicações com display nas quais o código BCD é necessário para conversões com leituras em decimal U4 Lógica sequencial 158 Por exemplo em um contador de década BCD o estado é reciclado para o estado 0000 após o estado 1001 Um contador de década requer quatro flipflops três flipflops são insuficientes pois 2 3 8 Uma forma de fazer um contador reciclar após a contagem do nove 1001 é decodificar a contagem dez 1010 com uma porta NAND e conectar a saída da porta NAND nas entradas de clear CLR dos flipflops como mostra a Figura 421 Fonte adaptada de Floyd 2007 p 449 Figura 421 Contador de década assíncrono Assimile A maioria dos flipflops em circuitos integrados também tem entradas assíncronas Essas são entradas que afetam o estado do flipflop independentemente do clock Elas são normalmente denominadas preset PRE e clear CLR Um nível ativo na entrada preset irá levar o flipflop para o estado SET e um nível ativo na entrada clear irá levar o flipflop para o estado RESET O símbolo lógico para um flipflop JK com entradas preset e clear é mostrado na Figura 422 Essas entradas são ativas em nível BAIXO conforme indicado pelos pequenos círculos Essas entradas de preset e clear devem ser mantidas em nível ALTO para a operação síncrona Fonte elaborada pelo autor Figura 422 Símbolo lógico para um flipflop JK com entradas preset e clear U4 Lógica sequencial 159 Observe que apenas as saídas Q1 e Q3 são necessárias para reciclar a contagem Esse tipo de arranjo é chamado de decodificação parcial pois não foram usadas todas as saídas para reciclar a contagem Quando o contador chega no estado dez 1010 a saída da porta de decodificação vai para 0 e assincronamente reseta todos os flipflops Nos contadores síncronos o mesmo sinal de clock é fornecido simultaneamente para todos os flipflops Na Figura 423a temos como exemplo um contador binário síncrono de dois bits Note que foi preciso um arranjo diferente na ligação das entradas J1 e K1 para que o FF1 consiga uma sequência binária Considere que os dois flipflops estão resetados de modo que o contador esteja inicialmente no estado binário 0 Quando a borda positiva do primeiro pulso de clock é aplicada FF0 comuta e Q0 passa para o nível lógico 1 No FF1 as entradas J1 e K1 estão em nível baixo porque Q0 saída na qual as entradas de FF1 estão conectadas ainda não foi para o nível lógico 1 Lembrese de que existe um atraso de propagação entre a borda de disparo do clock até que a saída Q realmente comute Assim J1 0 e K1 0 quando é aplicada a borda de subida do primeiro pulso de clock Essa é uma condição de repouso e por isso FF1 não muda de estado FLOYD 2007 Quando a borda de subida do segundo pulso de clock ocorre FF0 comuta e Q0 vai para o nível baixo Como FF1 tem um nível 1 nas entradas J1 e K1 na borda de disparo desse pulso de clock o flipflop comuta e Q1 vai para o nível lógico 1 Quando a borda de subida do terceiro pulso de clock ocorre FF0 comuta novamente para o estado SET e FF1 permanece no estado SET Por fim na quarta borda de subida do clock Q0 e Q1 vão para o nível lógico 0 porque os dois estão na condição toggle em suas entradas J e K Assim o contador recicla para o seu estado original A Figura 423b mostra o diagrama de temporização desse contador U4 Lógica sequencial 160 Figura 423 Contador binário síncrono de dois bits a esquema de montagem b diagrama de temporização Fonte adaptada de Floyd 2007 p 452453 a b Observe que os atrasos de propagação não são indicados na Figura 423b Embora os atrasos sejam um fator importante na operação de um contador síncrono eles normalmente são omitidos no diagrama de temporização geral por questão de simplicidade de representação Entretanto em circuitos digitais de alta velocidade esses pequenos atrasos são considerações importantes no projeto e na análise de defeito FLOYD 2007 Exemplificando Um contador binário de três bits tem a sua sequência de estados representada na Tabela 49 Vamos projetar um contador binário síncrono de três bits Fonte elaborada pelo autor Tabela 49 Sequência de estados binários para o contador de dois bits assíncrono CLK Q2 Q1 Q0 Valor 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 recicla 0 0 0 U4 Lógica sequencial 161 Figura 424 Contador binário síncrono de três bits Fonte adaptada de Floyd 2007 p 454 Observe que Q0 alterna os bits a cada pulso de clock Para produzir essa operação o FF0 deve ser mantido no modo toggle Note que Q1 vai para o estado oposto cada vez que Q0 for nível 1 Segundo Floyd 2007 para produzir essa operação Q0 é conectada diretamente nas entradas J1 e K1 do FF2 Por fim no FF2 a saída Q2 muda de estado somente quando Q0 e Q1 são nível lógico 1 Essa condição pode ser detectada por uma porta AND e aplicada nas entradas J2 e K2 do FF2 O esquema de montagem desse contador pode ser visto na Figura 424 Você é capaz agora de projetar um contador binário síncrono de quatro bits E um contador de década síncrono de quatro bits Temos a certeza de que sim Exercite seus conhecimentos projetando esses contadores Um registrador é um circuito digital com duas funções básicas armazenar e movimentar dados Segundo Floyd 2007 a capacidade de armazenamento de um registrador é o número total de bits de dados digitais que ele pode reter A capacidade de armazenamento de um registrador o torna um importante tipo de dispositivo de memória Ela pode ser aumentada aumentandose o número de flipflops no registrador cada flip flop equivale a um bit de capacidade a mais E é a capacidade de deslocamento de um registrador que permite o movimento de dados de um flipflop para outro com a aplicação de pulsos de clock Na Figura 425 temos exemplos dos tipos de movimentos de dados em registradores de deslocamento U4 Lógica sequencial 162 Figura 425 Movimentos básicos de dados em registradores de deslocamento a entrada serialsaída serial b rotação c entrada paralelasaída serial d entrada serialsaída paralela e entradas paralelasaída paralela Figura 426 Registrador com entrada serialsaída serial de quatro bits Fonte elaborada pelo autor Fonte adaptada de Floyd 2007 p 511 a c d e b Reflita Em geral qual é a diferença entre um contador e um registrador de deslocamento Qual flipflop seria mais adequado para ser utilizado em um registrador O registrador de deslocamento com entrada serialsaída serial recebe um bit de cada vez numa única linha ou seja de forma serial Ele disponibiliza na sua saída a informação armazenada também um bit de cada vez de forma serial A Figura 426 mostra um dispositivo de quatro bits implementado com flipflops D Com quatro estágios é possível armazenar até quatro bits de dados nesse registrador de deslocamento Em um registrador de deslocamento com entrada serialsaída paralela os bits de dados são inseridos de forma serial porém uma vez que os dados são armazenados cada bit é disponibilizado simultaneamente na saída de forma paralela A Figura 427 mostra um registrador de deslocamento com entrada serialsaída paralela de quatro bits U4 Lógica sequencial 163 Figura 427 Registrador com entrada serialsaída paralela de quatro bits Fonte adaptada de Floyd 2007 p 515 Para um registrador de deslocamento com entrada paralela saída serial os bits são inseridos todos ao mesmo tempo nos seus respectivos flipflops em vez de bit a bit numa única linha como acontece com a entrada serial de dados A saída se dá bit a bit A Figura 428 mostra um registrador de deslocamento com entrada paralelasaída serial de quatro bits Há além das quatro linhas de entradas de dados D0 D1 D2 e D3 uma entrada SHIFT LOAD que permite carregar os quatros bits em paralelo no registrador As portas de P1 a P4 são habilitadas quando SHIFT LOAD é 0 permitindo que os bits de dados sejam aplicados na entrada D do seu respectivo flipflop Quando um pulso de clock é aplicado os estados desses flipflops são atualizados adequadamente de modo que todos os quatro bits são armazenados simultaneamente Quando SHIFT LOAD for igual a 1 as portas de P1 a P4 são desabilitadas e as portas de P5 a P7 são habilitadas deslocando os bits de dados de um flipflop para o outro U4 Lógica sequencial 164 Figura 428 Registrador com entrada paralelasaída serial de quatro bits Figura 429 Registrador com entrada paralelasaída paralela de quatro bits Fonte adaptada de Floyd 2007 p 518 Fonte adaptada de Floyd 2007 p 522 O registrador de deslocamento com entrada paralelasaída paralela possui o aspecto construtivo e o seu entendimento é muito mais simples No instante seguinte à entrada de todos os bits de dados eles são disponibilizados nas saídas A Figura 429 mostra um registrador com entrada paralelasaída paralela de quatro bits U4 Lógica sequencial 165 Figura 430 Diagrama de blocos funcional para o controle de vagas do estacionamento Fonte Floyd 2007 p 483 Pesquise mais Os registradores de deslocamento são importantes em aplicações que envolvem o armazenamento e a transferência de dados em sistemas digitais Nesta seção apenas introduzimos o assunto Para saber mais sobre eles leia o capítulo 9 do Sistemas digitais fundamentos e aplicações FLOYD 2007 disponível na nossa biblioteca virtual httpsbiblioteca virtualcomdetalhesparceiros5 Acesso em 30 out 2017 Sua empresa foi recentemente contratada para desenvolver um sistema para monitorar a quantidade de vagas disponíveis em um estacionamento com uma centena de vagas de um pequeno shopping local e prover uma indicação de quando o estacionamento estiver lotado através de um sinal luminoso e abaixando a cancela na entrada Você propôs um sistema para resolver esse problema que consiste em 1 Dois sensores de presença um na entrada e outro na saída do estacionamento 2 Um contador crescentedecrescente 3 Um circuito lógico para ligar ou desligar o sinal de LOTADO e baixar ou subir a cancela na entrada A Figura 430 mostra o diagrama de blocos funcional desse sistema Sem medo de errar U4 Lógica sequencial 166 O diagrama lógico do contador crescentedecrescente é mostrado na Figura 431 Ele consiste em dois CIs contadores de década 74HC190 TEXAS 2003 conectados em cascata Figura 431 Diagrama lógico para um contador crescentedecrescente de módulo 100 para o controle de estacionamento de veículos Fonte Floyd 2007 p 483 Cada veículo que entra no estacionamento aciona o sensor de entrada que leva o latch SR para o estado SET de modo que Q 0 levando o contador a funcionar no modo crescente O sinal do sensor também é levado para uma porta NOR que aciona os contadores pela entrada do clock quando a saída da porta muda de 0 para 1 Cada vez que isso ocorre o contador incrementa uma unidade Quando cem veículos entrarem no estacionamento a saída MÁX MÍN do contador vai para 1 ativando um circuito que acende o sinal de lotado e abaixa a cancela Quando um veículo sai o sensor de saída é acionado levando o latch SR para o estado RESET Agora Q 1 leva o contador para o modo decrescente O sinal desse sensor também é levado para uma porta NOR que aciona os contadores pela entrada do clock quando a saída da porta muda de 0 para 1 Cada vez que isso ocorre o contador decrementa uma unidade Se o estacionamento estiver lotado e um veículo sair a saída MÁXMÍN vai para nível BAIXO desligando o sinal lotado e subindo a cancela Faça valer a pena 1 Os contadores são classificados em duas grandes categorias de acordo com a forma que eles recebem os pulsos de o clock assíncronos e síncronos Sobre os contadores avalie as afirmações a seguir U4 Lógica sequencial 167 2 Os contadores também podem ser projetados para ter um número de estados em sua sequência que é menor que o valor máximo de 2n Esse tipo de sequência é denominado de sequência truncada Um módulo comum para contadores com sequências truncadas é dez Um contador de década BCD tem que reciclar para o estado 0000 após o estado 1001 Considerando esse contexto avalie as seguintes asserções e a relação proposta entre elas I Uma forma de fazer um contador reciclar após a contagem do nove 1001 é ligar uma porta NAND nas saídas Q do primeiro e do último flip flops e conectar a saída da porta NAND nas entradas de clear CLR de todos os flipflops PORQUE II Apenas no estado nove 1001 ocorre o nível lógico 1 simultaneamente nesses dois flipflops a As asserções I e II são proposições verdadeiras e a II é uma justificativa da I b As asserções I e II são proposições verdadeiras e a II não é uma justificativa da I c A asserção I é uma proposição verdadeira e a II é uma proposição falsa d A asserção I é uma proposição falsa e a II é uma proposição verdadeira e As asserções I e II são proposições falsas I Nos contadores síncronos o primeiro flipflop recebe o clock por meio de um pulso de clock externo e cada flipflop sucessivo recebe o clock através da saída do flipflop anterior II Nos contadores assíncronos a entrada de clock é conectada a todos os flipflops de forma que eles recebem o clock simultaneamente III Os contadores somente podem ser projetados de modo a ter 2n estados em que n é a quantidade de flipflops do contador IV Um contador de década com uma sequência de contagem de zero 0000 a nove 1001 é um contador de década BCD porque a sua sequência de dez estados produz o código BCD É correto o que se afirma em a I e III apenas b I II e IV apenas c I II e III apenas d IV apenas e I II III e IV U4 Lógica sequencial 168 3 Um registrador é um circuito digital com duas funções básicas armazenamento de dados e movimentação de dados A capacidade de armazenamento de um registrador o torna um importante tipo de dispositivo de memória Sobre os registradores avalie as afirmações a seguir I A capacidade de armazenamento de um registrador é o número total de bits de dados digitais que ele pode reter II A capacidade de deslocamento de um registrador permite o movimento de dados de um estágio para outro dentro do registrador ou ainda para dentro ou para fora do registrador com a aplicação de pulsos de clock III O registrador de deslocamento com entrada serialsaída serial aceita dados seriais ou seja um bit de cada vez numa única linha IV Em um registrador de deslocamento com entrada serialsaída paralela os bits de dados são inseridos serialmente porém a saída de cada estágio está disponível V Em um registrador de deslocamento com entrada paralelasaída serial os bits são inseridos simultaneamente nos seus respectivos estágios em linhas paralelas A saída se dá bit a bit VI No registrador de deslocamento com entrada paralelasaída paralela os bits de dados aparecem na saída no próximo pulso de clock seguinte à entrada de todos os bits de dados É correto o que se afirma em a I II e III b I II IV e VI c III IV e VI d II III V e VI e I II III IV V e VI U4 Lógica sequencial 169 Seção 43 Máquinas de estado finitos Os sistemas sequenciais podem ser utilizados em projetos para diversas finalidades Eles são caracterizados por circuitos que executam sequências de estados predefinidos de acordo com os pulsos de clock e com os outros sinais de entrada Os contadores já estudados são máquinas de estado destinados a executar sequências numéricas regulares Relembrando você é o dono de uma empresa de desenvolvimento de projetos de sistemas de automação Em seu último trabalho você foi contratado por um pequeno shopping local para desenvolver um sistema de controle de estacionamento de veículos O problema consistia em fazer um projeto de monitoração dos espaços disponíveis numa centena de vagas em um estacionamento e prover a indicação da condição de lotado através de um sinal luminoso e abaixando a cancela que dá acesso à entrada O cliente embora satisfeito com sua solução decidiu mudar o conceito do seu pedido Nessa nova situação solicitou que seja adicionado na entrada do estacionamento um painel indicando o número de vagas além do que já havia sido feito Para auxiliálo com esse projeto vamos aprender mais sobre o uso e implementação das máquinas de estado finito Preparado Bons estudos Diálogo aberto Os sistemas sequenciais também podem ser projetados para aplicações específicas Nesses casos geralmente são chamados de máquinas de estados finitos Os contadores são casos particulares de máquinas de estado A máquina de estados finitos de forma geral é um conceito abstrato que por meio de um método estruturado auxilia a análise e a síntese de sistemas sequenciais sincronizados Representa um sistema digital que quando acionado por um pulso de um clock movese de um estado lógico para outro Não pode faltar U4 Lógica sequencial 170 As máquinas de estado finito têm um nome que pode causar alguma confusão O termo finito está presente para diferenciar as máquinas de estado finito de uma representação similar usada na matemática que pode ter um número infinito de estados O termo máquina é usado no sentido matemático ou de ciência da computação sendo um objeto conceitual que pode executar uma linguagem abstrata Nesse caso esse sentido de máquina não é o de hardware Em tese todos os circuitos síncronos incluindo os registradores e contadores movidos por um clock podem ser representados por máquinas de estados finitos É sempre recomendável solucionar um problema em um nível funcional mais alto valendose da metodologia das máquinas de estados finitos O projeto de um circuito sequencial pode ser dividido em cinco etapas 1 Desenhar o diagrama de estados do circuito Um diagrama de estado representa um modelo gráfico de um sistema sequencial e especifica as transições entre os estados do sistema as quais por sua vez descrevem como um estado particular passa para outro Um sistema sequencial pode convenientemente ser representado por um diagrama de estado Um diagrama é traçado na forma de um conjunto de círculos em que cada um deles corresponde a um estado A Figura 432 traz como exemplo um diagrama de estado genérico para um sistema com uma única entrada e dois estados possíveis S0 e S1 As setas indicam as transições entre os estados para cada ação entrada em um determinado estado Fonte elaborada pelo autor Figura 432 Diagrama de estado genérico 2 Identificação dos estados e cálculo da quantidade de flipflops necessária dada por nff intlog2 ns 41 em que nff é o número de flipflops e ns é o número de estados A função int indica o número inteiro menor ou igual à variável 3 Obter as expressões lógicas com o uso de tabelas verdade e ou mapas de Karnaugh das variáveis de entrada dos flipflops em função do estado atual e das variáveis de entrada 4 Obter as expressões lógicas com o uso de tabelas verdade e ou mapas de Karnaugh das saídas dos flipflops em função do estado atual 5 Desenhar o circuito Antes de praticarmos é importante sabermos que existem dois modelos tradicionais para a implementação de máquinas de estados são eles as máquinas Moore e as máquinas Mealy Nas máquinas Moore as saídas dependem apenas do estado atual registrado internamente no sistema As mudanças das saídas ocorrem apenas na próxima transição de borda do clock A Figura 433 apresenta um diagrama de blocos de uma máquina Moore Figura 433 Diagrama de blocos de uma máquina Moore Fonte elaborada pelo autor É possível notar pela figura que o clock comanda a memória que envia para o circuito de saída o estado atual que é resultado da combinação entre as entradas e o estado anterior Assim as saídas assumem um novo estado somente na próxima transição de borda U4 Lógica sequencial 172 do clock A Figura 434 traz um diagrama de estado genérico de uma máquina Moore para um sistema com uma entrada uma saída e dois estados possíveis Note que a saída é indicada em cada estado Fonte elaborada pelo autor Fonte elaborada pelo autor Figura 434 Diagrama de estado genérico para uma máquina Moore Figura 435 Diagrama de blocos de uma máquina Mealy Nas máquinas Mealy as saídas dependem tanto das entradas quanto do estado atual registrado internamente no sistema Se houver mudanças nas entradas as saídas também se alterarão A Figura 435 apresenta em blocos a estrutura de um sistema sequencial que utiliza o modelo de Mealy Assimile Nas máquinas Moore as saídas dependem apenas do estado atual registrado internamente no sistema Já nas máquinas Mealy as saídas dependem tanto das entradas quanto do estado atual registrado internamente no sistema Estado Circuito de saída Circuito de entrada Cálculo do próximo estado clock Flipflops Estado atual Entradas Convensão Estadosaída Saídas U4 Lógica sequencial 173 Agora podemos notar que o clock comanda o registrador que envia os estados armazenados resultantes das entradas e estado anteriormente existente para estágio de saída porém as saídas também recebem as informações diretamente das entradas Nesse caso as saídas podem ser alteradas pela mudança dos estados de entradas mesmo antes da atuação do clock A Figura 436 traz um diagrama de estado genérico de uma máquina Mealy para um sistema com uma entrada uma saída e dois estados possíveis Note que agora a saída é indicada em cada transição de estado Fonte elaborada pelo autor Figura 436 Diagrama de estado genérico para uma máquina Mealy As máquinas de estado também podem ser classificadas como sistemas síncronos ou assíncronos conforme as características de aplicação do sistema de clock nos circuitos Como já vimos os sistemas sequenciais síncronos são aqueles em que os circuitos operam de maneira sincronizada com a entrada clock ou seja todos os elementos flipflops ou registradores de estado são comandados pelo mesmo pulso de clock em função do acionamento no tempo pois estes têm ligação dessa entrada em comum Já os sistemas sequenciais assíncronos são aqueles que atuam de maneira assíncrona ou seja sem sincronismo entre os elementos do circuito sendo que as variações internas e de saída ocorrem em instantes diferenciados com relação ao pulso de clock Notamos pelas estruturas estudadas que a atuação do modelo de Moore é síncrona e no modelo de Mealy as saídas podem atuar assincronamente CAPUANO 2014 Reflita Você é capaz de pensar em aplicações em que é mais conveniente utilizar um dos modelos de máquina de estado finito apresentado Moore ou Mealy a despeito do outro Para efetuar projetos de sistemas sequenciais de um modo geral devemos seguir o procedimento descrito ou seja determinar o diagrama de estados levantar a tabela verdade da sequência de estados proposta colocar na tabela os estados a serem assumidos nas entradas dos flipflops utilizando a tabela de projetos já desenvolvida utilizar os mapas de Karnaugh para simplificálos e assim elaborar o circuito com as expressões simplificadas Para entender melhor o procedimento vamos elaborar um projeto no exemplo a seguir Vamos projetar uma máquina de estados para atuar como contador de três bits para efetuar a contagem crescente E 0 0 a 7 ou decrescente E 1 7 a 0 O circuito deverá possuir também uma saída S que sinaliza se a contagem é crescente S 1 ou decrescente S 0 Para isso use flipflops do tipo JK A Tabela 410 traz a sequência de contagem proposta e a Tabela 411 traz a tabela verdade do flipflop JK Tabela 410 Sequência de contagem proposta Tabela 411 Tabela verdade do flipflop JK Fonte elaborada pelo autor U4 Lógica sequencial 175 Passo 1 a Figura 437 mostra o diagrama de estados para o problema proposto Note que para evitar que o diagrama ficasse visualmente poluído as entradas E 0 e E 1 foram representadas apenas nas transições entre os estados 000 e 111 mas elas se repetem de forma idêntica nas transições dos demais estados Passo 2 a partir da máquina de estados sabemos que existem oito estados e que serão necessários três flipflops Passo 3 a Tabela 412 reproduz a máquina de estados apresentando os estados e sua tradução para a saída dos flipflops JK Tabela 412 Tabela verdade completa do projeto E Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 S 0 0 0 0 0 X 0 X 1 X 1 0 0 0 1 0 X 1 X X 1 1 0 0 1 0 0 X X 0 1 X 1 0 0 1 1 1 X X 1 X 1 1 0 1 0 0 X 0 0 X 1 X 1 0 1 0 1 X 0 1 X X 1 1 0 1 1 0 X 0 X 0 1 X 1 0 1 1 1 X 1 X 1 X 1 1 1 1 1 1 X 0 X 0 X 1 0 1 1 1 0 X 0 X 1 1 X 0 1 1 0 1 X 0 0 X X 1 0 1 1 0 0 X 1 1 X 1 X 0 Fonte elaborada pelo autor Figura 437 Diagrama de estados 1 0 1 1 0 X X 0 1 0 1 0 1 0 X X 1 0 1 0 0 1 1 X 1 1 X 0 1 0 1 0 X 0 X 1 0 1 0 0 0 1 X 1 X 1 X 1 X 0 Fonte elaborado pelo autor A Figura 438 apresenta os mapas de Karnaugh correspondentes a cada entrada dos flipflops e da saída S Passo 4 na Figura 438 também estão listadas as expressões simplificadas para cada entrada dos flipflops e da saída S Figura 438 Mapas de Karnaugh com simplificações a J₂ b K₂ c J₁ d K₁ e J₀ f K₀ g S U4 Lógica sequencial 177 Passo 5 o circuito final é apresentado na Figura 439 Fonte elaborada pelo autor Fonte adaptada de Capuano 2014 p 116 Figura 439 Circuito final e g f J0 1 K0 1 S E Q1Q0 EQ2 Q1Q0 EQ2 Q1Q0 EQ2 CLK J0 J1 J2 K0 K1 K2 E Q0 Q1 Q2 Q0 Q0 Q1 Q2 Q1 Q2 S U4 Lógica sequencial 178 Pesquise mais Caro aluno esperamos que tenha gostado dessa jornada de aprendizado pelo mundo dos sistemas digitais O que vimos até aqui mal arranha a superfície desse tema tão desafiador e atual De fato podemos dizer que apenas introduzimos o assunto Portanto não pare por aqui Continue sua pesquisa Um bom ponto de partida para se aprofundar no assunto é o livro Sistemas digitais projetos otimização e HDLs VAHID 2008 disponível na nossa biblioteca virtual httpsbibliotecavirtualcom detalhesparceiros5 Acesso em 30 out 2017 Sem medo de errar Sua empresa foi recentemente contratada para desenvolver um sistema de monitoração dos espaços disponíveis numa centena de vagas num estacionamento de um pequeno shopping local e prover a sinalização da condição de lotado através de uma indicação luminosa e abaixando a cancela na entrada Em uma atualização do projeto o cliente pediu que seja adicionado na entrada do estacionamento um painel indicando o número de vagas Para o painel você usará um display de sete segmentos triplo um para cada dígito de uma centena como pode ser visto na Figura 440 Figura 440 Display de sete segmentos triplo Fonte elaborada pelo autor Cada dígito no display é acionado individualmente e para facilitar o seu projeto você decide usar três contadores de década de quatro bits conta de 0 a 9 crescentedecrescente encadeados Cada contador deve ter uma entrada para indicar a direção da contagem crescente para D 0 e decrescente para D 1 O contador deve Centenas Dezenas Unidades U4 Lógica sequencial 179 Figura 441 Diagrama lógico para o circuito contador de carros no estacionamento Fonte elaborada pelo autor ter também uma saída C que indica com um nível lógico 1 que a contagem foi reciclada 1001 para 0000 ou 0000 para 1001 Os quatro bits de saída de cada contador são ligados a decodificadores BCD7 segmentos e as saídas do decodificador alimentam o display A Figura 441 traz o diagrama lógico para o circuito proposto Embora exista no mercado esse tipo de contador encapsulado em um único circuito integrado CI projete o circuito lógico de cada contador utilizando o procedimento apresentado nesta seção Faça valer a pena 1 Todos os circuitos síncronos incluindo os registradores e contadores movidos por um clock podem ser representados por máquinas de estados finitos É sempre recomendável solucionar um problema em um nível funcional mais alto valendose da metodologia das máquinas de estados finitos O projeto de um circuito sequencial pode ser dividido em cinco etapas I Obter as expressões lógicas das entradas em função do estado atual II Obter as expressões lógicas das saídas em função do estado atual III Desenhar o diagrama de estados do circuito IV Identificar os estados e calcular a quantidade de flipflops necessários V Desenhar o circuito Unidades Contador Conversor Conversor Conversor 4 bits 7 bits 4 bits 7 bits 4 bits 7 bits Contador Contador Sensor de entrada Sensor de saída Dezenas Centenas Q S R D D D C C C U4 Lógica sequencial 180 Assinale a opção que apresenta a ordem correta dos procedimentos realizados a I II III IV V b V III I II IV c III IV I II V d V IV I II III e IV I I III V 2 Um diagrama de estado representa um modelo gráfico de um sistema sequencial e especifica as transições entre os estados do sistema as quais por sua vez descrevem como um estado particular passa para outro Considere o diagrama de estado hipotético da Figura 442 Sobre este diagrama de estado avalie as afirmações a seguir I A máquina de estado representada por esse diagrama possui quatro estados sendo que o estado 11 foi suprimido do diagrama II Essa máquina de estado possui duas entradas e todas as possibilidades foram representadas para cada estado III A máquina de estado apresenta uma saída que indica um nível lógico ALTO quando há transição de um estado para outro IV No estado 01 as entradas 01 e 10 produzem o mesmo efeito Quais afirmações estão corretas a I II e III b I III e IV c II e III d III e II III e IV Figura 442 Diagrama de estado hipotético Fonte elaborada pelo autor U4 Lógica sequencial 181 3 Existem dois modelos tradicionais para a implementação de máquinas de estados são eles as máquinas Moore e as máquinas Mealy Sobre os modelos de máquinas de estado finito avalie as afirmações a seguir I Nas máquinas Moore as saídas dependem apenas do estado atual registrado internamente no sistema II Nas máquinas Mealy as saídas dependem das entradas e do estado atual registrado internamente no sistema III O diagrama de blocos da Figura 443 corresponde a uma máquina Mealy Figura 444 Diagrama de estado Figura 443 Diagrama de blocos Fonte elaborada pelo autor Fonte elaborada pelo autor IV O diagrama de estado da Figura 444 é referente a uma máquina Moore É correto o que se afirma em a I e II b III e IV c I e III d II e IV e I II III e IV U4 Lógica sequencial 182 Referências CAPUANO Francisco Gabriel Sistemas digitais circuitos combinacionais e sequenciais São Paulo Érica 2014 144 p FLOYD Thomas L Sistemas digitais fundamentos e aplicações 9 ed Porto Alegre Bookman 2007 SZANJBERG Mordka Eletrônica digital teoria componentes e aplicações Rio de Janeiro LTC 2014 TEXAS Instrument CD54HC190 CD7HC190 CD54HC191 CD74HC191 CD54HCT191 CD74HCT191 Synchronous updown counters with downup mode control datasheet Dallas Texas Instrument 2003 31 p Disponível em httpwww ticomlitdssymlinkcd74hc190pdf Acesso em 30 out 2017 TOCCI Ronald J WIDMER Neal S MOSS Gregory L Sistemas digitais princípios e aplicações 11 ed São Paulo Pearson Prentice Hall 2011 VAHID Frank Sistemas digitais projetos otimização e HDLs Porto Alegre Bookman 2008 560 p Anotações Anotações
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
410
Conteúdo sobre Sistemas Digitais – Prof. Marco Aurélio Seluque Fregonezi
Sistemas Digitais
UNIA
1
Analise de Circuitos Digitais - Funcao e Diagrama de Estado de Contadores
Sistemas Digitais
PUC
1
Sistemas Digitais - Engenharia Eletrica - Material de Estudo
Sistemas Digitais
PUC
2
Avaliação 1-2021 1
Sistemas Digitais
UTFPR
1
Roteiro de Exercícios: Comparador e Somador
Sistemas Digitais
FEI
8
Simulação Funcional e Diagrama de Estados para Sistema em VHDL
Sistemas Digitais
FEI
2
Avaliação 2-2021 1
Sistemas Digitais
UTFPR
2
Trabalho Circuito Monoestavel-2021 1
Sistemas Digitais
UTFPR
1
Circuito e Diagrama Temporal: Análise de Saídas e Frequência
Sistemas Digitais
PUC
Texto de pré-visualização
Hugo Tanzarella Teixeira Marley Fagundes Tavares Rodrigo Vinícius Mendonça Pereira Sistemas digitais 2017 Editora e Distribuidora Educacional SA Avenida Paris 675 Parque Residencial João Piza CEP 86041100 Londrina PR email editoraeducacionalkrotoncombr Homepage httpwwwkrotoncombr Dados Internacionais de Catalogação na Publicação CIP Teixeira Hugo Tanzarella ISBN 9788552202998 1 Computadores digitais I Tavares Marley Fagundes II Pereira Rodrigo Vinícius Mendonça III Título CDD 004 Fagundes Tavares Rodrigo Vinícius Mendonça Pereira Londrina Editora e Distribuidora Educacional SA 2017 184 p T266s Sistemas digitais Hugo Tanzarella Teixeira Marley 2017 por Editora e Distribuidora Educacional SA Todos os direitos reservados Nenhuma parte desta publicação poderá ser reproduzida ou transmitida de qualquer modo ou por qualquer outro meio eletrônico ou mecânico incluindo fotocópia gravação ou qualquer outro tipo de sistema de armazenamento e transmissão de informação sem prévia autorização por escrito da Editora e Distribuidora Educacional SA Presidente Rodrigo Galindo VicePresidente Acadêmico de Graduação Mário Ghio Júnior Conselho Acadêmico Alberto S Santana Ana Lucia Jankovic Barduchi Camila Cardoso Rotella Cristiane Lisandra Danna Danielly Nunes Andrade Noé Emanuel Santana Grasiele Aparecida Lourenço Lidiane Cristina Vivaldini Olo Paulo Heraldo Costa do Valle Thatiane Cristina dos Santos de Carvalho Ribeiro Revisão Técnica Thatiane Cristina dos Santos de Carvalho Ribeiro Editorial Adilson Braga Fontes André Augusto de Andrade Ramos Cristiane Lisandra Danna Diogo Ribeiro Garcia Emanuel Santana Erick Silva Griep Lidiane Cristina Vivaldini Olo Sumário Unidade 1 Introdução aos sistemas digitais Seção 11 Conceitos de circuitos digitais Seção 12 Sistemas numéricos e códigos binários Seção 13 Circuitos lógicos 7 9 26 41 Unidade 2 Álgebra booleana e simplificação de circuitos lógicos Seção 21 Leis e teoremas da álgebra booleana Seção 22 Análise booleana e síntese de circuitos lógicos Seção 23 Simplificação de circuitos lógicos 55 56 67 80 Unidade 3 Lógica combinacional Seção 31 Circuito somador Seção 32 Circuito comparador codificador e decodificador Seção 33 Circuitos multiplexado e demultiplexado 97 99 110 123 Unidade 4 Lógica sequencial Seção 41 Latches e flipflops Seção 42 Contadores e registradores Seção 43 Máquinas de estado finitos 135 136 155 169 Um exemplo de cada tipo é mostrado na Figura 19 Palavras do autor Caro aluno estamos vivendo momentos significativos na história da humanidade Se você nasceu entre a década de 1980 e 1990 pertence a geração Y também conhecida como geração do milênio Essa geração foi a primeira a nascer necessariamente em um mundo completamente tecnológico Esse avanço somente foi possível devido aos significativos avanços da ciência em especial aos avanços na área de microeletrônica Ano após ano observamos saltos tecnológicos em dispositivos como celulares tablets ou computadores pessoais tanto em capacidade de processamento quanto nas aplicações que funcionam nesses sistemas Dessa forma este livro traz uma análise básica porém contemporânea de um tema cada vez mais relevante sistemas digitais O conteúdo aqui exposto guia você para um entendimento aprofundado sobre eletrônica digital e seus conceitos básicos aspectos do sistema de numeração utilizado em sistemas computacionais e suas operações e codificações uma visão geral sobre funções lógicas e portas lógicas e detalhes sobre álgebra booleana e sua simplificação lógica Além disso serão abordados assuntos fundamentais como o diagrama de VeitchKarnaugh flipflops contadores e máquina de estados finitos Todo esse estudo possibilitará que você compreenda pontualmente detalhes sobre os sistemas digitais Isso vai permitir que você ganhe confiança para tratar desse assunto com seus colegas Saiba que o tema é relevante atual e ao mesmo tempo instigante Dessa forma não se limite a este livro mas extrapole procurando outras fontes de informação e principalmente experimentando as abordagens aqui propostas No momento em que você está cursando essa disciplina é evidente o chamado boom do hardware um movimento caracterizado por grandes empresas que inundam o mercado com sistemas completos para desenvolvedores extrapolarem a imaginação Existe um investimento significativo por parte das grandes empresas em ambientes de programação gratuitos com diversas bibliotecas gratuitas e dispositivos dos mais variados preços processamento e aplicação Nós brasileiros somos um povo criativo Já embarcamos nessa nova onda e com boas ideias De leitura fácil e instigante o presente texto é um convite ao estudo sem deixar de lado o contexto atual e a criatividade da juventude Bemvindo ao mundo dos sistemas digitais Fonte Floyd 2007 p 24 Unidade 1 Introdução aos sistemas digitais Convite ao estudo Estimado aluno a partir de agora começaremos a conhecer os circuitos digitais Inicialmente em linhas gerais definiremos os conceitos de circuitos digitais ou seja a construção desse conhecimento se fundamenta em alguns conceitos básicos dos circuitos digitais Em seguida entenderemos os sistemas numéricos e sua importância para os sistemas digitais Por fim falaremos sobre as portas lógicas e sua aplicação Todo esse conhecimento justificase se observarmos o nosso dia a dia No momento em que você lê este texto bilhões de pessoas estão interagindo com algum circuito digital seja ligando o celular seja usando um relógio ou assistindo a um vídeo na internet A quantidade de informação gerada somente na internet rompeu a casa dos zettabytes equivalente a um sextilhão de bytes Portanto circuitos digitais e toda a eletrônica envolvida nesse volume de informação faz parte da revolução dos bytes nos últimos cem anos Você já pensou que faz parte dessa revolução E que você vive um momento da história no qual não existem mais barreiras entre idiomas culturas e conhecimento Todo esse cenário só foi possível porque milhões de cientistas levaram a ciência a um novo patamar criando sistemas e incrementando as tecnologias de forma a facilitar o dia a dia do homem Mas o que é um sistema digital Como ele interage como um sistema analógico Como um circuito com alguns sensores pode ser capaz de tomar uma decisão e acionar um motor Como se dá essa interação Todas essas perguntas podem ser respondidas considerando se os circuitos digitais Portanto gradativamente podemos construir o seu pensamento trabalhando conceitos básicos sobre circuitos digitais e evoluindoo até culminarmos em circuitos mais complexos como para acionamento de motores por exemplo U1 Introdução aos sistemas digitais 8 Para tanto vamos iniciar esta unidade de ensino contextualizando um cenário prático considere que você está iniciando sua carreira na área de microeletrônica Você acaba de ser contratado para fazer parte do time da linha de montagem de uma empresa de desenvolvimento de sistemas embarcados Você é extremamente curioso e não se limita a aprender somente o básico Até onde você pretende chegar Será possível subir de cargo ou mudar de setor Quem sabe em breve você não estará em um time mais desafiador como em um time de PD pesquisa e desenvolvimento Todas essas conquistas são alcançadas com pesquisa estudo e conhecimento da área e dos elementos que compõem seu ambiente de trabalho Como mencionado circuitos digitais fazem parte da nossa vida Conhecer identificar e solucionar problemas em circuitos digitais não é uma tarefa fácil Isso exige muito estudo e dedicação Para chegar ao time de PD você deve seguir uma trilha que passa pelo conhecimento dedicação e profissionalismo Esteja atento a todos os conceitos que serão apresentados aqui Não se contente somente com o conhecimento apresentado neste material Extrapoleo Boa sorte mãos à obra e bons estudos U1 Introdução aos sistemas digitais 9 Seção 11 Conceitos de circuitos digitais Caro aluno esta seção tem o objetivo de direcionar o seu aprendizado de forma mobilizadora através de um contexto muito próximo da sua realidade Todo esse contexto é para conduzir você o mais próximo possível dos conceitos de circuitos digitais Esses conceitos são a base para que futuramente você comece a projetar sistemas digitais Por isso iremos compreender a diferença entre sinais digitais e sinais analógicos Também veremos os conceitos fundamentais sobre circuitos digitais como eles se enquadram em um circuito digital e como toda essa tecnologia evoluiu até os presentes dias Vamos em especial compreender os níveis lógicos e as formas de ondas geradas por um circuito digital básico Por fim analisaremos os conceitos sobre circuitos integrados circuitos lógicos e finalmente sobre sistemas digitais Esta seção apesar de introdutória é fundamental Ela explica conceitos básicos e necessários para o bom entendimento da disciplina Retomando o nosso contexto imagine o seguinte cenário você foi contratado por uma empresa de desenvolvimento de sistemas embarcados para trabalhar com a montagem de produtos O seu trabalho consiste somente em soldar componentes desses produtos À sua frente existe uma mesa muito grande uma iluminação perfeita uma bela estação de solda SMD e diversos componentes e placas de circuitos impressos prontos para serem soldados Mas você está curioso por saber sobre os fundamentos dos circuitos digitais como uma sequência de pulsos elétricos é transformada em código digital Como funcionam essas peças pretas que todos chamam de microchips As perguntas são muitas Além disso você percebe duas caixas de componentes sobre a sua mesa e decide saber mais sobre eles Uma forma é pesquisando na internet sobre a folha de dados ou datasheet Um dos componentes é um conversor analógico para digital e o outros são flipflops tipo D e portas lógicas AND e OR Você agora precisa lidar com alguns questionamentos que lhe vêm à mente Rodrigo Vinícius Mendonça Pereira Diálogo aberto U1 Introdução aos sistemas digitais 10 Querendo saber mais você pesquisa sobre os componentes flip flops tipo D e as portas lógicas AND e OR que estão sobre a sua mesa pesquisa sobre encapsulamentos de circuitos integrados ou CI Qual a diferença de um CI DIP do inglês Dual Inline Package e um CI BGA do inglês Ball Grid Array Todo esse questionamento vai ajudá lo a entender muito como esses circuitos são feitos e como você irá soldálos Ao fim da sua pesquisa organize as novas informações que você adquiriu como uma base de forma a lhe ajudar nas suas pesquisas futuras Lembrese de que esse cenário é um aprofundamento de seu conhecimento sobre circuitos digitais Todo o conhecimento será feito com base em bastante leitura e pesquisa e pode ser usado no futuro no seu dia a dia Nas seções a seguir serão apresentadas a base para esse conhecimento mas conforme já dissemos não fique limitado somente a essa fonte de conhecimento Pesquise converse e troque informações com outras pessoas O mercado está favorável para funcionários proativos e esforçados Boa sorte e bom trabalho Não pode faltar Em 1947 John Bardeen Walter Brattain e William Shockley Figura 11a inventavam no Bell Labs um pequeno dispositivo semicondutor chamado transistor Figura 11b Isso mudaria o mundo MACNEIL 2016 Fonte httpwwwcomputerhistoryorgsiliconengineinventionofthepointcontacttransistor Acesso em 25 set 2017 Figura 11 a Bardeen Brattain e Shockley na capa da Electronics Magazine b primeiro transistor de ponto de contato U1 Introdução aos sistemas digitais 11 Fonte elaborada pelo autor Figura 12 Série temporal a contínua b discreta a b Hoje há trilhões de transistores espalhados pela Terra em cada lugar onde um aparelho eletrônico possa ser encontrado e existem ainda outros bilhões no espaço em satélites e espaçonaves O transistor é o carrochefe da eletrônica e foi o dispositivo que anunciou o início da era digital Indústrias inteiras foram criadas com base nos semicondutores As telecomunicações como as conhecemos não teriam sido possíveis se não fosse pelo transistor BELL sd Podemos dividir os circuitos eletrônicos em duas categorias principais circuitos analógicos e circuitos digitais Enquanto na eletrônica analógica lidase com grandezas de valores contínuos na eletrônica digital nosso objeto de estudo nesta unidade lida com grandezas de valores discretos É importante no entanto que você tenha conhecimento das duas áreas uma vez que diversas aplicações exigem conhecimento de ambas Assimile Uma grandeza analógica pode assumir infinitos valores de amplitude dentro de um intervalo Já uma grandeza digital somente pode assumir determinados valores de amplitude bem definidos dentro de um intervalo Em geral a maior parte do que podemos medir quantitativamente na natureza são exemplos de grandezas analógicas como a temperatura o tempo a pressão a distância e o som Na Figura 12a temos o exemplo de uma série temporal contínua no tempo Ao representar uma série contínua no tempo amostrando o sinal em instantes específicos conforme podemos ver na Figura 12b estaremos convertendo uma grandeza analógica em um formato no qual é possível digitalizar representando cada valor por um código digital É importante perceber no entanto que a Figura 12b não é de fato uma representação digital de uma grandeza analógica U1 Introdução aos sistemas digitais 12 Representar um sinal no formato digital pode ser vantajoso em relação à representação analógica em aplicações eletrônicas uma vez que os dados digitais podem ser processados e transmitidos de forma mais eficiente e confiável que os dados analógicos e são consideravelmente mais simples de armazenar Por exemplo um arquivo de áudio no formato digital pode ser armazenado de forma mais compacta e reproduzido com maior precisão e pureza do que quando está no formato analógico além disso os dados digitais estão menos sujeitos ao ruído Podemos citar como exemplo de aplicação de eletrônica analógica um sistema de amplificação de áudio O diagrama básico da Figura 13 ilustra as ondas sonoras que são de natureza analógica sendo captadas por um microfone e convertidas em uma pequena tensão analógica denominada sinal de áudio Essa tensão varia continuamente de acordo com as variações na amplitude e frequência do som e é aplicada na entrada de um amplificador linear A saída do amplificador que é uma reprodução amplificada da tensão de entrada é enviada para o altofalante que converte o sinal de áudio de volta para o formato de ondas sonoras com um volume muito maior que o das ondas sonoras originais FLOYD 2007 Fonte Floyd 2007 p 21 Figura 13 Esquema básico de um sistema de amplificação de áudio Já ao tocar um mp3 em seu computador ou em um tocador de mp3 são usados circuitos digitais e analógicos O diagrama de blocos simplificado da Figura 14 ilustra o seu princípio básico A música no formato digital é armazenada no disco rígido HD do inglês hard disk Ao tocar a música os dados digitais são transferidos para um conversor digitalanalógico que converte os dados digitais em um U1 Introdução aos sistemas digitais 13 Fonte adaptada de Floyd 2007 p 21 Figura 14 Diagrama de blocos básico de um tocador de mp3 sinal analógico que é uma reprodução elétrica da música original Esse sinal é então amplificado e enviado para o altofalante Ainda que a lógica multinível venha sendo investigada há muito tempo a lógica de dois níveis continua sendo a mais viável Assim a eletrônica digital opera com apenas dois estados possíveis representados por níveis lógicos diferentes um ALTO e um BAIXO Os dois estados também podem ser representados por níveis de corrente bits e ressaltos num CD DVD etc Mesmo que os sinais verdadeiros físicos que correspondem a ALTO ou BAIXO sejam de fundamental importância para os desenvolvedores de tecnologia eles são irrelevantes para os usuários do sistema programadores por exemplo Nos sistemas digitais esses dois estados são combinados formando códigos usados para representar números símbolos caracteres alfabéticos e outros tipos de informações os bits são representados por dois níveis de tensão diferentes Em geral o bit 1 é representado por uma tensão maior a qual chamamos por nível lógico ALTO e o bit 0 é representado por uma tensão menor a qual chamamos de nível lógico BAIXO Quando em um sistema o bit 1 é representado por uma tensão menor ou nível BAIXO e o bit 0 é representado por uma tensão maior ou nível ALTO esse sistema opera no que chamamos de lógica negativa Na teoria um nível único de tensão é usado para representar um nível lógico ALTO e o outro nível de tensão é usado para representar um nível BAIXO Na prática no entanto em um circuito digital os níveis lógicos são representados por um intervalo de tensão entre um valor mínimo e um valor máximo especificados não podendo haver sobreposição entre as faixas aceitáveis para os níveis ALTO e BAIXO música U1 Introdução aos sistemas digitais 14 Considere como nosso padrão 0 volts ou GND ou terra para o dígito 0 e VCC para o dígito um 1 Você percebeu que existe uma infinidade de valores possíveis entre 0 volts e VCC Dessa forma é preciso saber como se dá essa condição intermediária entre 0 e VCC Vamos começar entendendo os níveis de tensão possíveis em circuitos digitais Para tensões de circuitos digitais na entrada é adotada a nomenclatura VIH V Input High para a menor tensão na qual ainda é possível representar o valor 1 A maior tensão na qual ainda é representado o valor 0 na entrada é chamada VIL V Input Low Fato similar ocorre na saída de um circuito digital Os níveis de tensão podem variar entre VCC e VOH V Output High para indicar o valor 1 e entre VOL V Output Low e GND para indicar 0 A Figura 15 ilustra todo esse conceito de representação de uma entrada e uma saída digital e seus respectivos níveis de tensão V High e V Low O valor intermediário entre VIH e VIL entre VOH e VOL são tensões que não são usadas e não são símbolos válidos ou seja um circuito digital deve desconsiderar esses valores Fonte elaborada pelo autor Figura 15 Entrada e saída digitais Ainda a respeito de níveis de tensão existem diferentes tecnologias que se aplicam aos circuitos digitais Existem por exemplo tanto circuitos TTL e CMOS quanto o LTTL Low Power TTL BiCMOS LVC Low Voltage CMOS entre outros Para cada tecnologia existe um padrão de nível de tensão A Figura 16 escalona as tecnologias com relação aos níveis de tensão VCC GND V High e V Low U1 Introdução aos sistemas digitais 15 Fonte elaborada pelo autor Figura 16 Níveis de tensão digitais Definido como os níveis de tensão representam dígitos binários basta agora entender que podemos gerar esses níveis de tensão em forma de onda consistidas em níveis de tensão que comutam entre os níveis lógicos ALTO e BAIXO Na Figura 17a podemos ver um pulso positivo que ocorre quando a tensão ou a corrente passa do nível BAIXO normal para o nível ALTO e em seguida retorna para o nível BAIXO Já na Figura 17b temos um pulso negativo gerado quando a tensão passa do nível ALTO normal para o nível BAIXO e retorna para o nível ALTO Uma forma de onda digital consiste em uma série desses pulsos a b Fonte elaborada pelo autor Figura 17 Pulso ideal a positivo b negativo As transições em um pulso são classificadas como positiva ou borda de subida na Figura 17a ocorre em t0 ou como negativa ou borda de descida na Figura 17a ocorre em t1 U1 Introdução aos sistemas digitais 16 Os pulsos vistos na Figura 17 são ideais porque se considera que as bordas de subida e descida comutam instantaneamente Na prática essas transições não ocorrem no mesmo instante Na Figura 18 estão ilustradas as características que um pulso real pode exibir embora no projeto da maioria dos circuitos digitais consideramos os pulsos ideais Fonte adaptada de Floyd 2007 p 24 Figura 18 Características de um pulso não ideal A sobreelevação do sinal overshoot e oscilações são produzidas algumas vezes por efeitos de indutância e capacitância parasitas A inclinação pode ser causada por capacitância parasita e circuitos resistivos que formam um circuito RC com uma pequena constante de tempo O tempo necessário para um pulso passar do nível BAIXO para o ALTO é denominado tempo de subida tr rise time e o tempo necessário para a transição do nível ALTO para o nível BAIXO é denominado tempo de descida tf fall time A largura de pulso tw pulse width é a medida da duração do pulso e é frequentemente definida como o intervalo de tempo entre os pontos de 50 das bordas de subida e descida FLOYD 2007 Segundo Floyd 2007 a maioria das formas de onda encontradas em sistemas digitais são compostas de uma série de pulsos algumas vezes denominados trem de pulsos podendo ser classificadas como periódicas ou não periódicas Uma forma de onda periódica é aquela que se repete num intervalo fixo denominado de período T A frequência f é a taxa com que ela se repete e é medida em hertz Hz Uma forma de onda não periódica é claro não se repete em intervalos fixos e pode ser composta de pulsos com larguras aleatórias eou intervalos aleatórios de tempo entre os pulsos Podemos dizer que cada circuito digital pode ser descrito por uma função lógica que processa os bits que o circuito recebe Por exemplo considere a e b dois bits recebidos por um certo circuito o qual produz o bit y na saída A seguir damos alguns exemplos de funções binárias básicas y NOT a também representado por y a y a OU b ou y a b em que representa o OU OR lógico e não deve ser confundido com o sinal de adição aritmética y a E b ou y a b em que representa o E AND lógico e não deve ser confundido com o sinal de multiplicação aritmética Na Seção 13 aprofundaremos esse assunto Porém podemos adiantar que a primeira função é denominada inversão ou negação pois é o oposto de a A segunda é denominada função OU porque basta ter uma entrada alta para que a saída seja alta Por fim a terceira função é denominada E porque a saída é alta somente quando todas as entradas forem altas U1 Introdução aos sistemas digitais 18 Reflita No seu cotidiano o que pode ser considerado uma função lógica Por exemplo no café da manhã se você tiver leite e café você toma café com leite se você só tiver café toma somente o café Podemos considerar essas decisões como funções lógicas A vida é feita de circuitos lógicos ou seja de decisões Saiba tomálas com cautela Por fim segundo Vahid 2008 um circuito integrado ou CI microchip ou chip como o ilustrado na Figura 110 consiste em um circuito eletrônico miniaturizado feito basicamente de silício do tamanho de uma unha Fonte httpspixabaycomptcircuitointegradodispositivochip876099 Acesso em 26 set 2017 Figura 110 Circuito integrado com encapsulamento removido Foi a invenção dos circuitos integrados que permitiu o início de toda essa revolução que ocorreu no século XX e ainda ocorre nos dias atuais Já os circuitos lógicos são os circuitos que fazem uso dos blocos lógicos explicados anteriormente A Figura 111 exemplifica uma porta lógica NAND U1 Introdução aos sistemas digitais 19 Fonte National 1989 p 1 Figura 111 Porta NAND a circuito integrado e b esquemático do circuito a b Esses circuitos foram amplamente utilizados no início da eletrônica Atualmente ainda podem ser utilizados mas é mais fácil programar um microcontrolador Portanto eles são importantes mas não muito utilizados no dia a dia Para Tocci 2011 sistemas digitais são uma combinação de dispositivos projetados para manipular informações lógicas ou valores físicos representados no formato digital Podemos citar como sistemas digitais computadores pessoais celulares calculadoras avançadas sistemas de áudio e vídeo Pesquise mais Segundo o MIT Technology Review 2017 existem tendências que poderão afetar diretamente a nossa economia medicina e cultura nos próximos quatro a 15 anos Listamos algumas a seguir 1 Reversão de paralisias através de implantes cientistas pretendem reestabelecer movimentos de pessoas com lesões graves disponível em dez a 15 anos 2 Pagamento através de reconhecimento facial detecção de padrões faciais que autorizam o pagamento de contas já disponível 3 Computadores quânticos na prática Google IBM Intel Microsoft entre outras investem massivamente em sistemas quânticos completos disponível em quatro a cinco anos 4 Selfie 360 câmeras permitem a gravação de imagens em 360 já disponível 5 Terapia genética 20 através de manipulações nos genes das células é possível tratar câncer problemas do coração entre outras doenças já disponível O mais interessante está no fato que essas tecnologias possuem em algum momento alguma relação com a eletrônica digital Pesquise sobre as inovações tecnológicas envolvendo sistemas digitais o assunto é fascinante U1 Introdução aos sistemas digitais 20 Prezado aluno o assunto não se encerra com o conteúdo apresentado aqui Como mencionamos anteriormente pesquise outras fontes e questione os especialistas no assunto Bons estudosI Sem medo de errar Relembrando a situação problemaproposta você foi contratado por uma empresa de desenvolvimento de sistemas embarcados para trabalhar com a montagemsolda de produtos Na sua bancada de trabalho existem diversos componentes e placas de circuitos impressos prontos para serem soldados Todo esse contexto leva você a se questionar sobre os componentes que estão sobre a sua mesa É fundamental saber como encontrar informações sobre eles Na internet pesquise sobre a folha de dados de um CI o 74LS74 Procure da seguinte forma 74LS74 datasheet ou pesquise sobre flipflops tipo D Fique atento a detalhes como a pinagem do CI e as condições de operação Pesquise detalhes como as definições de tempo do componente e as condições de operação recomendadas Para finalizar entenda os vários encapsulamentos possíveis para os componentes que você trabalha Observe a Figura 112 ela descreve muito bem a tecnologia de encapsulamento pela quantidade de pinos do microchip Fonte adaptada de httpbgablogtartangaeusfiles201506Imagen1jpg Acesso em 26 set 2017 Figura 112 Diferentes tipos de encapsulamento U1 Introdução aos sistemas digitais 21 Fonte elaborada pelo autor Figura 113 Portão automático Pesquise o custo entre um mesmo CI mas com diferentes encapsulamentos Quando se usa um e quando se usa outro encapsulamento Relembrando esse cenário é um aprofundamento ao seu conhecimento sobre circuitos digitais Dessa forma todo o conhecimento será feito com base em bastante leitura e pesquisa A ideia aqui é criar uma base sólida e que esse conhecimento seja empregado no futuro no seu dia a dia Não fique limitado somente a esta fonte de conhecimento Pesquise converse e troque informações com outras pessoas Avançando na prática Portão automático Descrição da situaçãoproblema Caro aluno você está adquirindo um conhecimento muito amplo sobre circuitos digitais Inclusive você já começa a observar soluções para problemas cotidianos Você reparou que na casa da sua avó o portão automático pode ser melhorado Ocorre que esse portão não possui um sensor de presença ou seja caso exista alguém debaixo dele ele ignora isso e fecha Observe a Figura 113 Ela possui um sensor e uma chave de fim de curso U1 Introdução aos sistemas digitais 22 Qual seria uma lógica para a seguinte situação 1 Portão no alto chave ativa em 1 a Sensor sem pessoas embaixo do portão em 0 b Portão pode fechar 2 Portão no alto chave ativa em 1 a Sensor com pessoas embaixo do portão em 1 b Portão não pode fechar 3 Portão embaixo chave desativada em 0 a Portão pode abrir Utilize conceitos das funções lógicas trabalhadas na unidade Resolução da situaçãoproblema Caro aluno uma solução aparentemente simples é utilizar uma função lógica AND ou E tendo como entradas a CHAVE DE FIM DE CURSO e o SENSOR de presença A saída seria utilizada na entrada do circuito que controla a subida e descida do portão como mostra a Figura 114 Fonte elaborada pelo autor Figura 114 Portão automático com circuito para controle Existem diversas soluções A princípio esta solução pode resolver o problema Pesquise como fazer esse teste fisicamente U1 Introdução aos sistemas digitais 23 Fonte adaptada de Tocci 2011 Figura 115 Circuitos digitais e os níveis binários 0 e 1 Faça valer a pena 1 Analise a notícia TV Digital veja cronograma de desligamento do sinal analógico nas cidades Até o fim de 2017 oito capitais além do DF passam a receber apenas sinal digital Quem tem TV analógica precisa ter conversor e antena digital Fonte httpsgooglKq7LzS Acesso em 13 out 2017 Com relação a um sinal digital e um sinal analógico podemos afirmar que a O sinal analógico assume valores finitos ou discretos no tempo o sinal digital pode assumir diversos valores no tempo b O sinal analógico sempre assume valores inconstantes no tempo o sinal digital pode assumir diversos valores no tempo c O sinal digital sempre assume valores indeterminados no tempo o sinal analógico é um sinal que pode assumir somente um valor no tempo d O sinal digital nunca assume valores finitos ou discretos no tempo o sinal analógico não pode assumir diversos valores no tempo e O sinal digital sempre assume valores finitos ou discretos no tempo o sinal analógico pode assumir diversos valores no tempo 2 Segundo Tocci 2011 circuitos digitais são dispositivos projetados para produzir tensões de saída entre as faixas VCC VOH e VOL GND para os níveis 1 e 0 respectivamente Também são dispositivos projetados para responder a tensões de entrada entre as faixas VCC VIH e VIL GND para os níveis 1 e 0 respectivamente Para Tocci 2011 o modo como cada circuito digital interage a uma entrada é denominado lógica do circuito ou seja cada circuito segue regras determinadas pelas suas funções lógicas ou portas lógicas implementadas internamente A figura representa um circuito digital cuja entrada Vin produz uma saída Vout Tanto o sinal na entrada quanto a resposta na saída podem ser representados pelas duas formas de onda ao lado Dentro desse circuito existem funções lógicas Essas funções podem representar dois estados somente ligado ou desligado 0 ou 1 aberto ou fechado ou seja tanto na entrada quanto na saída desses blocos lógicos são permitidos somente esses valores Considerando o texto qual será a mensagem dígitos enviada pela porta Vout se for lida na porta a seguinte sequência GND mais significativo VCC VCC GND GND VCC GND VCC menos significativo Considere GND e VCC padronizados no texto a 1 mais significativo 1 1 0 0 0 0 1 menos significativo b 0 mais significativo 1 1 0 0 1 0 1 menos significativo c 1 mais significativo 0 0 0 1 1 0 1 menos significativo d 0 mais significativo 1 0 1 0 1 0 0 menos significativo e 1 mais significativo 1 1 0 0 1 0 1 menos significativo U1 Introdução aos sistemas digitais 25 a A Figura 116a corresponde a uma porta lógica OR A lâmpada ficará acesa se e somente se ambas as entradas forem acionadas A Figura 116b corresponde a uma porta lógica AND A lâmpada ficará acesa eventualmente quando ambas as entradas forem acionadas b A Figura 116a corresponde a uma porta lógica AND A lâmpada ficará acesa se ambas as entradas forem acionadas A Figura 116b corresponde a uma porta lógica OR A lâmpada ficará acesa se A ou B ou ambas entradas forem acionadas c A Figura 116a corresponde a uma porta lógica OR A lâmpada ficará acesa se A ou B ou ambas forem acionadas A Figura 116b corresponde a uma porta lógica AND A lâmpada ficará acesa se e somente se ambas entradas forem acionadas d Tanto a Figura 116a quanto a Figura 116bpodem ligar a lâmpada independentemente da posição na qual estão as portas A e B e Não é possível abstrair portas lógicas observando o desenho O que se conclui é que independentemente da posição das chaves as lâmpadas não serão acesas Fonte elaborada pelo autor Figura 116 Circuito com chaves eletromecânicas a b A B S S B A U1 Introdução aos sistemas digitais 26 Seção 12 Sistemas numéricos e códigos binários Na seção anterior vimos que nos sistemas digitais o sistema de numeração binário e os códigos digitais são de fundamental importância Por exemplo quando pressionamos um número como o 2 no teclado de uma calculadora duas coisas acontecem o número é enviado ao display para que o usuário tenha a certeza de que apertou a tecla correta e o número também é enviado ao circuito responsável pelos cálculos Como sabemos nos sistemas digitais somente são permitidos símbolos com dois valores binários Então como o número 2 é realmente representado nesse sistema binário Um numeral é um símbolo ou grupo de símbolos que representa um número Em nosso cotidiano estamos acostumados a quantificar nossas medidas com números decimais entre 0 e 9 mas será que este é o sistema de numeração mais adequado a todas as medições e sistemas Será que existem outros além do binário e do decimal Quais são as vantagens de cada sistema existente Para entendermos um pouco melhor essa situação devemos retomar nosso contexto você trabalha em uma empresa de desenvolvimento de sistemas embarcados e seu chefe notou sua curiosidade e entusiasmo pelo assunto Por isso pediulhe que você participasse de uma reunião com a equipe de desenvolvimento Eles precisam desenvolver um sistema de contagem de bolas de tênis em uma linha de montagem O sistema é bastante simples de fato as bolas de tênis ao final da produção são colocadas em uma caixa a partir de uma correia transportadora como pode ser visto na Figura 115 Cada caixa é preenchida com nove bolas Diálogo aberto Hugo Tanzarella Teixeira U1 Introdução aos sistemas digitais 27 Fonte adaptada de Floyd 2007 p 67 Figura 115 Problema da contagem de bolas de tênis Você está entusiasmado com a sua oportunidade e quer surpreender a todos na reunião com suas ideias Para ajudálo nesta seção conheceremos o sistema de numeração binário vamos aprender as suas relações com o sistema decimal e também com os outros sistemas de numeração importantes para os sistemas digitais como hexadecimal e octal Com o intuito de fornecer uma base de conhecimento para o entendimento de como os computadores e muitos outros sistemas digitais funcionam vamos aprender algumas operações aritméticas com números binários Por fim introduziremos o conceito de codificação binária Mantenha o foco e bons estudos Não pode faltar O sistema de numeração consiste de um sistema em que um conjunto de números é representado por numerais de forma consistente Você com certeza já está familiarizado com o sistema de numeração decimal porque usa os números decimais todos os dias Embora muito comum a estrutura de pesos dos números decimais não é frequentemente compreendida Nesta seção revisaremos a estrutura dos números decimais o que ajudará você a compreender mais facilmente a estrutura dos sistemas de numeração binário octal e hexadecimal fundamentais no estudo de computadores e eletrônica digital Em um sistema numérico genérico podemos representar um número N qualquer por uma equação geral N dpbp1 dp1bp2 d1b1 d0b0 dq1bq2 dq2bq1 dqbq Neste equação b é a base numérica ou raiz do sistema d corresponde a dígitos singulares possíveis no sistema p é a potência da base correspondente à sua posição relativa aos números inteiros e q é a potência da base correspondente à sua posição relativa aos números fracionários A base ou raiz de um sistema numérico é definida como um número que pode ocorrer em cada posição desse sistema composto de dígitos diferentes SZAJNBERG 2014 Os dígitos de um sistema numérico devem satisfazer a seguinte relação b1 d 0 O sistema de numeração decimal tem base ou raiz 10 e portanto dez dígitos diferentes de 0 a 9 e cada um pode ser usado em qualquer posição do número No sistema decimal p corresponde às unidades dezenas centenas milhares e assim por diante O sistema de numeração binário tem como base o número 2 e portanto apenas dois dígitos 0 e 1 como podemos confirmar resolvendo a equação 12 para b 2 b1 d 0 21 d 0 Os pesos em um número binário são baseados em potência de dois Portanto conforme a fórmula genérica 11 um número na forma binária é apresentado como N dp2p1 dp12p2 d121 d020 dq12q1 dq22q2 dq2q De maneira semelhante ao exemplo anterior um número binário por exemplo 1101011 será representado por um somatório 1011012 1x3 0x2 1x1 1x0 0x1 1x2 1x8 0x4 1x2 1x1 0x0 1x14 8 2 1 1x14 11250 O valor de cada dígito é determinado pela sua posição em relação à vírgula binária O procedimento é idêntico ao realizado no sistema decimal Números binários longos são difíceis de serem lidos e escritos porque é fácil omitir ou trocar um bit Como os computadores entendem apenas os números 0 e 1 é necessário usar esses dígitos quando se programa em linguagem de máquina FLOYD 2007 Portanto tente imaginar como seria escrever uma instrução de dezesseis bits para um sistema microprocessado usando apenas zeros e uns O sistema octal é composto de oito dígitos de 0 a 7 Por isso podemos considerar a contagem em octal bastante similar à contagem em decimal com a exceção de que os dígitos 8 e 9 não são usados Já um número no sistema hexadecimal tem base 16 logo usa 16 dígitos Já que no sistema decimal convencional existem somente 10 dígitos singulares 0 1 2 3 4 5 6 7 8 9 usamos as primeiras seis letras do alfabeto latino A B C D E F para completar a sequência dos 16 dígitos Por exemplo 2352₈ em octal equivale a 15710 em decimal Para entendermos essa conversão basta resolver a equação 11 2352₈ 28²38¹58⁰28¹12824502515725₁₀ Os seus pesos correspondem a potências de 8 conforme ilustrado na Tabela 14 Tabela 14 Pesos do sistema octal Parte inteira Parte fracionária 64 8 1 0125 00156 2 3 5 2 Fonte elaborada pelo autor E o número hexadecimal D10A2₁₆ é 33446328125010 D10A₁₆ 1316² 116¹ 016⁰ 1016¹ 216² 334463281250₁₀ Os seus pesos por sua vez correspondem a potências de 16 conforme pode ser visto na Tabela 15 U1 Introdução aos sistemas digitais 32 Reflita Converta o número decimal 0215 para seu equivalente binário utilizando a técnica descrita Perguntamos o seguinte esse número pode ser representado por um número binário finito exato As conversões do sistema decimal para os sistemas octal e hexadecimal seguem o mesmo método da conversão decimal binária No entanto ao invés de dividir por 2 dividimos por 8 no caso octal e por 16 no caso hexadecimal Faça você mesmo Agora chegou a sua vez de praticar converta 4510 para o sistema octal e 101510 para o sistema hexadecimal A conversão de octal para binário e de hexadecimal para binário é direta cada dígito no sistema octal equivale a uma sequência de três dígitos binários ao passo que cada dígito hexadecimal equivale a uma sequência de quatro dígitos binários conforme vemos na Tabela 16 Fonte elaborada pelo autor Tabela 16 Sistemas de numeração Sistema Decimal Binário Octal Hexadecimal 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F Tabela 15 Pesos do sistema hexadecimal Parte inteira Parte fracionária 256 16 1 00625 000390625 13 1 0 10 2 Fonte elaborada pelo autor A conversão dos sistemas binário octal e hexadecimal para o sistema decimal é simples basta aplicar a equação geral 11 utilizando a potência adequada e resolvendo a somatória como vimos nos exemplos dados até agora Um dos métodos de conversão do sistema decimal para o binário é chamado método de divisões sucessivas e consiste em dividir o número decimal por 2 sucessivamente Como resultado são obtidos quocientes Q e restos R Uma vez que estamos dividindo sempre por 2 o resto será sempre igual a 1 ou a 0 O primeiro resto obtido corresponde ao último dígito do número binário a divisão seguinte fornece o penúltimo e assim sucessivamente até que o quociente seja nulo Os restos em sequência formam o número binário procurado como podemos ver a seguir na conversão do número decimal 84 para a base binária 84242R₀0 42221R₁0 21210R₂1 1025R₃0 522R₄1 221R₅0 120R₆1 O número binário é formado pela sequência R₅R₄R₃R₂R₁R₀10100100 Para converter um número decimal fracionário em seu equivalente binário basta multiplicálo por 2 O produto obtido consiste de uma parte fracionária X e uma parte inteira I que somente será igual a 1 ou 0 Uma multiplicação subsequente por 2 produz uma nova parte fracionária e uma nova parte inteira e assim sucessivamente até que a parte inteira seja igual a zero Os dígitos da parte inteira irão compor o desejado número binário Assim como a divisão binária em que 0 1 0 1 1 1 A operação de divisão por zero também não é permitida aqui Para saber mais sobre as operações aritméticas nos sistemas numéricos leia a Seção 13 no livro Eletrônica digital teoria componentes e aplicações de Szajnberg 2014 disponível na nossa biblioteca virtual em httpsbibliotecavirtualcomdetalhesparceiros5 Acesso em 24 set 2017 Sistemas digitais que representam dados numéricos alfanuméricos enfim todo tipo de dados formam combinações de bits em grupos de 4 6 8 16 32 Um código é construído por uma combinação de bits em uma palavra binária prefixada Alguns códigos são muito conhecidos em sistemas digitais tais como No código numérico BCD decimal codificado em binário do inglês binary coded decimal cada dígito decimal é representado como um código binário Por exemplo os dígitos decimais de 0 a 9 podem ser representados por um código binário de quatro bits Esse tipo de código BCD é chamado de código 8421 a designação 8421 indica os pesos binários dos quatro bits 2³ 2² 2¹ 2⁰ A facilidade de conversão entre os números decimais em código 8421 é sua principal vantagem No código Gray no entanto os bits não têm peso de modo que ele não é considerado um código aritmético A característica que torna o código Gray importante é que nele há a mudança de um único bit entre dois números adjacentes Essa propriedade é importante em muitas aplicações como em codificadores de posição de eixo em que a possibilidade de ocorrerem erros aumenta com o número de mudanças de bits entre números adjacentes em uma sequência A Tabela 19 traz as codificações dos decimais de 0 a 15 em binário Gray e BCD U1 Introdução aos sistemas digitais 35 Fonte elaborada pelo autor Tabela 19 Códigos numéricos Decimal Binário Gray BCD 0 0000 0000 0000 1 0001 0001 0001 2 0010 0011 0010 3 0011 0010 0011 4 0100 0110 0100 5 0101 0111 0101 6 0110 0101 0110 7 0111 0100 0111 8 1000 1100 1000 9 1001 1101 1001 10 1010 1111 0001 0000 11 1011 1110 0001 0001 12 1100 1010 0001 0010 13 1101 1011 0001 0011 14 1110 1001 0001 0100 15 1111 1000 0001 0101 Segundo Floyd 2007 para nos comunicarmos não usamos apenas números mas também letras e outros símbolos Os códigos alfanuméricos representam números e caracteres alfabéticos letras O código ASCII pronunciado askii é a abreviação de American Standard Code for Information Interchange Código Padrão Americano para Troca de Informações é um código alfanumérico aceito universalmente e usado na maioria dos computadores e outros equipamentos eletrônicos Em geral os teclados de computadores são padronizados com o código ASCII Quando digitamos uma letra um número ou um comando de controle o código ASCII correspondente é enviado para o computador O ASCII tem 128 caracteres e símbolos representados por um código de 7 bits Na prática o código ASCII é considerado um código de 8 bits com o bit mais significativo sempre 0 Esse código de 8 bits vai de 00 até 7F em hexadecimal U1 Introdução aos sistemas digitais 36 Pesquise mais Para saber mais sobre códigos digitais leia as Seções 210 211 e 213 no livro Sistemas digitais fundamentos e aplicações de Floyd 2007 disponível na nossa biblioteca virtual httpsbibliotecavirtualcom detalhesparceiros5 Acesso em 24 set 2017 Sem medo de errar Caro aluno seu momento chegou seu chefe impressionado com a sua curiosidade e empenho convidoulhe para participar da reunião com a equipe de desenvolvimento O assunto da reunião é o desenvolvimento de um sistema de contagem da quantidade de bolas de tênis em cada caixa em uma linha de produção Depois de uma pesquisa sobre o assunto você tem a oportunidade de apresentar sua ideia Você propõe o uso de um sistema com um sensor de presença um contador de quatro bits um decodificador BCD sete segmentos e um display de sete segmentos para apresentar a contagem No seu sistema há um contador de quatro bits que conta os pulsos de um sensor que detecta a passagem de uma bola e gera uma sequência de níveis lógicos em cada uma das suas quatro saídas paralelas Cada conjunto de níveis lógicos representa um número binário de quatro bits nível ALTO 1 e nível BAIXO 0 conforme indicado no esquema da Figura 118 Fonte adaptada de Floyd 2007 p 67 Figura 118 Problema da contagem de bolas de tênis À medida que o decodificador recebe essas formas de onda ele decodifica cada conjunto de quatro bits converte no número decimal correspondente e mostra em um display de sete segmentos Quando o contador chega no estado binário 1001 é porque ele contou nove bolas de tênis o display mostra o decimal 9 e uma nova caixa é posicionada sob o transportador Então o contador retorna ao estado zero 0000 e o processo começa novamente U1 Introdução aos sistemas digitais 37 Você ressalta ainda que caso se deseje aumentar o número de bolas em uma caixa basta utilizar um sistema semelhante a esse para fazer a contagem das dezenas A cada vez que o sistema agora para contar as unidades chega a 9 e é reiniciado o sistema das dezenas é incrementado Seu chefe está muito feliz com o seu desempenho Continue assim Avançando na prática Controle de posição de um braço robótico Descrição da situaçãoproblema É muito comum atualmente na indústria a aplicação de técnicas de automação com o objetivo de aumentar a sua eficiência e maximizar a produção com um menor consumo de energia e de matériasprimas O uso de robôs industriais já é uma realidade como podemos ver na Figura 119 Fonte httpscommonswikimediaorgwikiFileFANUCR2000iBAtWorkjpg Acesso em 26 set 2017 Figura 119 Robô industrial em uma linha de produção Você trabalha na equipe de manutenção do processo de montagem de uma grande montadora de carros Na manutenção preventiva você terá que propor a troca dos sensores de posição Justifique sua decisão U1 Introdução aos sistemas digitais 38 Resolução da situaçãoproblema O controle multieixos de um braço robótico é possível com a aplicação direta dos encoders ou codificador de posição de eixo Atualmente os braços da sua linha usam encoders com código binário Para aumentar a precisão sua proposta é trocálos por novos encoders com código Gray Um diagrama simplificado de um mecanismo codificador de posição de eixo de 3 bits é mostrado na Figura 120 No encoder existem três anéis segmentados em oito setores Você explica que a precisão do posicionamento é proporcional à quantidade de setores ou seja quanto mais setores existirem maior será a precisão do posicionamento porém apenas para fins de ilustração está usando nesse exemplo um encoder com oito setores Fonte Floyd 2007 p 105 Figura 120 Encoder de três bits a binário b Gray a b Escovas de contato em um cursor fixo ao longo da superfície dos anéis condutivos girantes 3 bits binário 3 bits código Gray U1 Introdução aos sistemas digitais 39 Cada setor de cada anel é fixado a uma tensão de nível ALTO ou a uma tensão de nível BAIXO para representar uns e zeros 1 é indicado por um setor hachurado e 0 por um setor branco À medida que o eixo gira no sentido antihorário os oito setores se movem sob três escovas produzindo uma saída binária de 3 bits indicando a posição do eixo A Figura 120a representa os encoders usados atualmente Neles os setores são organizados de forma a produzir um padrão binário direto gerando na passagem das escovas a sequência 000 001 010 011 e assim por diante Quando as escovas estão nos setores coloridos a saída é 1 e quando elas estão nos setores brancos a saída é 0 Se uma escova estiver um pouco à frente das outras durante a transição de um setor para o próximo podem ocorrer erros na saída Considere o que acontece quando as escovas estão no setor 111 e entram no setor 000 Se a escova relativa ao bit mais significativo estiver um pouco adiantada a posição 011 seria indicada incorretamente em vez da transição direta de 111 para 000 Nesse tipo de aplicação é praticamente impossível manter um alinhamento mecânico preciso para todas as escovas Portanto alguns erros podem ocorrer em muitas das transições entre setores Sua proposta é a de substituir os atuais encoders para novos que utilizam o código Gray para eliminar problemas de erro que são inerentes ao código binário Conforme podemos ver na Figura 120b o código Gray garante que apenas um bit mude entre setores adjacentes Assim mesmo que as escovas não tenham um alinhamento preciso serão evitados erros na transição Por exemplo vamos considerar o mesmo caso anterior quando as escovas estão no setor 111 e se movem para o próximo setor 101 As duas únicas saídas possíveis durante a transição são 111 e 101 não importando como as escovas estão alinhadas Uma situação similar ocorre na transição de cada um dos outros setores Faça valer a pena 1 O sistema de numeração consiste em um sistema em que um conjunto de números é representado por numerais de forma consistente Converta os números do sistema decimal para o sistema binário I 13 II 356 III 054 IV 7625 U1 Introdução aos sistemas digitais 40 Assinale a alternativa correta a 1001 110011011 0011101 101111 b 1101 101101001 110110 111 c 1101 101100100 110110 111 d 1101 101100100 010001010001 111101 e 1110 1100100 010001 111101 2 O estudo das operações aritméticas no sistema binário é de extrema importância no âmbito da eletrônica digital e dos microcontroladores em que operações são constantemente realizadas Assim saber como elas são realizadas possibilita a otimização e melhor aproveitamento dos componentes Efetue as seguintes operações aritméticas no sistema binário I 10001 10001 II 1100 111 III 1101 111 IV 11110 1100 Assinale a opção correta a 10011001 10011 110 10010 b 11011100 1011 111 11010 c 10011 10011 101 11010 d 10101010 10011 101 10110 e 10011001 10011 101 10110 3 Os sistemas digitais representam dados numéricos alfabéticos alfanuméricos enfim todo tipo de dados Para isso códigos são construídos por uma combinação de bits em uma palavra binária prefixada Nesse contexto avalie as afirmativas a seguir I O código numérico BCD é uma forma de expressar cada dígito decimal com um código binário em que cada dígito decimal de 0 a 9 é representado por um código binário de quatro bits II A designação 8421 indica os pesos binários dos quatro bits 28 24 22 21 e a facilidade de conversão entre os números em código 8421 é a principal vantagem desse código III A característica importante do código Gray é que ele apresenta uma mudança de um único bit quando se passa de uma palavra do código para a seguinte na sequência É correto o que se afirma em a I apenas b I e III apenas c I e II apenas d II apenas e I II e III U1 Introdução aos sistemas digitais 41 Seção 13 Circuitos lógicos Na seção anterior tratamos de diferentes sistemas numéricos bem como a conversão entre esses sistemas Tratamos também sobre a aritmética dos sistemas binários e dos códigos binários Conhecer esses assuntos é muito importante quando lidamos com sistemas digitais Além disso um conhecimento de álgebra booleana é fundamental para o estudo e análise dos circuitos lógicos A álgebra de Boole tem como base o sistema de numeração binário o que permite fazer operações lógicas e aritméticas usando apenas dois dígitos ou dois estados Por isso a álgebra booleana é a ferramenta ideal para representar os circuitos eletrônicos digitais portas lógicas os números caracteres e realizar operações lógicas e aritméticas nos sistemas digitais Sendo assim na Unidade 2 nos aprofundaremos na álgebra booleana e nas técnicas de simplificação de circuitos lógicos mas antes disso nesta seção trataremos de alguns assuntos fundamentais para iniciarmos nossos estudos São eles variáveis lógicas tabela verdade níveis lógicos e portas lógicas Assim para pôr em prática todo esse aprendizado você deve lembrar que trabalha em uma empresa de desenvolvimento de sistemas embarcados Seu empenho em saber mais sobre os sistemas digitais chamou a atenção do seu chefe que lhe convidou para participar de uma reunião da equipe de desenvolvimento Você se preparou e participou ativamente da reunião inclusive dando ideias Um colega da equipe de desenvolvimento notando sua curiosidade e criatividade lhe lançou um desafio criar um somador binário usando apenas portas lógicas Mas o que são portas lógicas Vamos descobrir Diálogo aberto Não pode faltar Segundo Capuano 2014 é denominado de circuito lógico o arranjo de um pequeno grupo de circuitos básicos padronizados Hugo Tanzarella Teixeira U1 Introdução aos sistemas digitais 42 Saiba mais Em 1938 o engenheiro americano Claude Elwood Shannon utilizou as teorias da álgebra booleana para resolver problemas de circuitos de telefonia com relés no seu trabalho Symbolic analysis of relay and switching Esse trabalho praticamente introduziu o campo da eletrônica digital na área tecnológica Uma função lógica admite uma ou mais entradas mas apenas uma saída As variáveis lógicas normalmente representadas por letras podem assumir apenas dois valores mutuamente excludentes chamados níveis lógicos e seu uso permite que se escrevam expressões algébricas que podem ser manipuladas matematicamente dentro da álgebra booleana Exemplificando Na eletrônica digital é comum representarmos os níveis lógicos pelos dígitos binários 0 e 1 O nível lógico 0 pode por exemplo representar a ausência de tensão ou uma chave aberta Nesses casos obrigatoriamente o nível lógico 1 representará a presença de tensão ou uma chave fechada respectivamente Existem três funções lógicas básicas AND OR e NOT e outras que são derivadas destas NAND NOR XOR e XNOR Nesta seção estudaremos as funções lógicas juntamente com suas portas lógicas correspondentes Uma porta AND ou E de duas entradas é mostrada na Figura 122 A saída de uma porta AND é 1 apenas quando todas as entradas forem 1 Quando qualquer uma das entradas for 0 a saída será 0 A Tabela 110 mostra uma tabela verdade da porta lógica AND de duas entradas mas ela pode ser expandida para qualquer número de entradas conhecidos como portas lógicas que realizam funções de lógica digital dentro da eletrônica digital Na prática as portas lógicas são encontradas dentro de circuitos integrados comerciais específicos ou fazem parte da estrutura interna de dispositivos mais complexos tais como microprocessadores microcontroladores e outros circuitos integrados digitais A porta AND é portanto usada para determinar quando certas condições são simultaneamente verdadeiras A operação lógica de uma porta pode ser expressa com uma tabela verdade que apresenta uma coluna para cada entrada mais uma coluna para a saída Nas linhas da tabela verdade são listadas todas as combinações de entrada com as saídas correspondentes de uma porta lógica facilitando a representação e a análise delas A Figura 121 mostra como uma tabela verdade é organizada U1 Introdução aos sistemas digitais 44 Exemplificando Nas aplicações práticas em geral as entradas de uma porta são formas de onda de tensão que variam frequentemente entre os níveis lógicos 1 e 0 Vamos analisar então a operação das portas AND com formas de onda de pulsos nas entradas tendo em mente que uma porta obedece à operação de uma tabela verdade independentemente se as entradas dela são níveis constantes ou níveis que variam entre 1 e 0 Vamos examinar a operação com formas de onda nas entradas de uma porta AND mostrada na Figura 123 observando as entradas uma relativa à outra para determinar o nível de saída num determinado instante Ao lado da porta montamos um diagrama de temporização que mostra as relações entre entradas e a saída Durante os intervalos de tempo t1 e t3 ambas as entradas são 1 portanto a saída também é 1 nesses intervalos Durante os intervalos t2 t4 e t5 pelo menos uma das entradas é 0 e portanto a saída é 0 nesses instantes Fonte adaptada de Floyd 2007 p 135 Figura 123 Exemplo de operação de uma porta AND Uma porta OR ou OU de duas entradas é mostrada na Figura 124 A porta OR ou OU produz uma saída 1 quando qualquer uma das entradas for 1 Apenas quando todas as entradas forem 0 a saída será 0 A Tabela 111 mostra a tabela verdade da porta lógica OR A tabela verdade pode ser expandida para qualquer número de entradas Fonte elaborada pelo autor Fonte elaborada pelo autor Figura 124 Porta lógica OR Tabela 111 Tabela verdade da porta OR A B S 0 0 0 0 1 1 1 0 1 1 1 1 A função lógica OR de duas variáveis é representada matematicamente por S A B Agora que você já conhece o princípio de funcionamento da porta OR analise a operação de uma porta OR com as formas de onda digitais nas entradas mostradas na Figura 125 e desenhe a forma de onda da saída A porta NOT ou NÃO realiza a operação denominada inversão lógica e por isso pode ser chamada também de porta inversora A porta NOT troca um nível lógico para o nível lógico oposto Ou seja em termos de bits ele troca 1 por 0 e 0 por 1 A porta NOT tem apenas uma entrada e seu símbolo lógico é mostrado na Figura 126 enquanto que sua tabela verdade está montada na Tabela 112 A operação de um inversor pode ser expressa como a seguir S A ou S A A variável invertida pode ser lida como A barra ou A negado A porta NAND ou NÃOE é um elemento lógico muito popular e importante pois é considerada uma porta universal ou seja as portas NAND podem ser usadas em diferentes combinações para realizarem operações básicas AND OR ou NOT O termo NAND é U1 Introdução aos sistemas digitais 46 uma contração da NOTAND portanto essa porta funciona como uma porta AND com sua saída negada invertida O símbolo lógico dessa porta é portanto uma combinação entre as portas NOT e AND e está representado na Figura 127 o pequeno círculo na saída indica a inversão do sinal A saída da porta NAND é 0 apenas quando todas as entradas forem 1 a Tabela 113 mostra uma tabela verdade para uma porta NAND de duas entradas Fonte elaborada pelo autor Figura 127 Porta lógica NAND Tabela 113 Tabela verdade da porta NAND Fonte elaborada pelo autor A B S 0 0 1 0 1 1 1 0 1 1 1 0 A função lógica para uma porta NAND de duas entradas é S AB 17 Reflita É inerente à porta NAND o fato que uma ou mais entradas em nível lógico 0 produz uma saída em nível lógico 1 A partir dessa análise é possível concluir que uma porta NAND pode ser usada para implementar de uma certa forma uma operação OR Analise a Tabela 111 e Tabela 113 e conclua como isso é feito Assim como a porta NAND a porta NOR ou NÃOOU é um elemento lógico bastante útil porque ela também é considerada uma porta universal e pode ser usada em determinadas combinações para realizar as operações básicas AND OR e NOT A propriedade universal das portas NAND e NOR será analisada melhor na Unidade 2 deste livro O termo NOR é a contração de NOT e OR e indica que essa porta funciona como uma porta OR com sua saída invertida O símbolo lógico padrão para essa porta está representado na Figura 128 Para uma porta NOR a saída será nível 0 quando pelo menos uma das entradas estiver em nível lógico 1 como pode ser visto na sua tabela verdade na Tabela 114 Figura 128 Porta lógica NOR A função lógica para uma porta XOR de 2 entradas é S A B 19 A função lógica para uma porta XNOR de duas entradas é S A B 110 U1 Introdução aos sistemas digitais 50 Avançando na prática Sensor de porta e janela aberta Descrição da situaçãoproblema Você trabalha em uma empresa de alarmes e precisa instalar um alarme em uma pequena loja comercial O ambiente em questão consiste em duas janelas e uma porta Seu sistema de alarme quando ligado deve disparar quando uma das janelas ou a porta for aberta Proponha um sistema baseado em portas lógicas para o alarme dessa loja Resolução da situaçãoproblema Primeiro você precisa instalar os sensores em cada uma das janelas e na porta Você optou pelo uso de chaves magnéticas Figura 132 baseadas em efeito Hall Elas produzem uma saída em nível ALTO quando abertas e em nível BAIXO quando fechadas Você já possui um módulo para o alarme que é ativado com nível ALTO Fonte httpwwwoneprojectcombrmediauserimagesoriginalsensoresgs7png Acesso em 29 set 2017 Figura 132 Chave magnética de efeito Hall Para montar o seu circuito você precisa construir uma tabela verdade para ele A Tabela 118 mostra tal feito Nela S é a saída que indica a necessidade de disparar o alarme e as entradas P J1 e J2 se referem à porta e a cada uma das janelas respectivamente Tabela 117 Tabela verdade da soma binária U1 Introdução aos sistemas digitais 51 Tabela 118 Tabela verdade do sistema de alarme Fonte elaborada pelo autor P J1 J2 S BAIXO BAIXO BAIXO BAIXO BAIXO BAIXO ALTO ALTO BAIXO ALTO BAIXO ALTO BAIXO ALTO ALTO ALTO ALTO BAIXO BAIXO ALTO ALTO BAIXO ALTO ALTO ALTO ALTO BAIXO ALTO ALTO ALTO ALTO ALTO Observando a Tabela 118 fica bem claro que uma porta OR de três entradas seria suficiente para montar o seu circuito Agora é preciso criar uma parte do circuito para habilitar o alarme somente quando conveniente afinal o alarme não pode ficar ativado o tempo todo A tabela verdade para essa parte do circuito está montada na Tabela 119 As entradas são H que é o sinal que habilita o circuito e S que é a saída do módulo anterior A saída C irá de fato disparar o alarme quando em nível ALTO Tabela 119 Tabela verdade do sistema que habilita o alarme Fonte elaborada pelo autor H S C BAIXO BAIXO BAIXO BAIXO ALTO BAIXO ALTO BAIXO BAIXO ALTO ALTO ALTO Observando a Tabela 119 você logo percebe que essa etapa do circuito é facilmente obtida com uma porta AND de duas entradas Agora só resta montar o esquema do circuito que pode ser visto na Figura 133 Fonte elaborada pelo autor Figura 133 Esquema simplificado do sistema de alarme U1 Introdução aos sistemas digitais 52 Para finalizar fique com um questionamento para reflexão se você somente tivesse acesso a portas lógicas OR de duas entradas como montaria esse circuito Faça valer a pena 1 A operação lógica de uma porta pode ser expressa com uma tabela verdade que apresenta uma coluna para cada entrada mais uma coluna para a saída Monte a tabela verdade para o circuito da Figura 134 lembrando que o pequeno círculo em cada entrada indica a inversão do sinal a b c d Fonte elaborada pelo autor Figura 134 Circuito lógico A B S 0 0 1 0 1 0 1 0 0 1 1 0 A B S 0 0 1 0 1 0 1 0 0 1 1 1 A B S 0 0 0 0 1 0 1 0 0 1 1 1 A B S 0 0 1 0 1 1 1 0 1 1 1 0 U1 Introdução aos sistemas digitais 53 Fonte elaborada pelo autor Fonte elaborada pelo autor Figura 135 Circuito lógico Figura 136 Exemplo de operação de uma porta XOR e A B S 0 0 0 0 1 1 1 0 1 1 1 1 2 É possível que alguns circuitos lógicos sejam equivalentes Uma das maneiras para provar essa equivalência é comparando suas tabelas verdades se elas forem iguais os circuitos são equivalentes O circuito lógico da Figura 135 é equivalente a qual porta lógica Lembrando que o pequeno círculo em cada entrada indica a inversão do sinal 3 Na maioria das aplicações as entradas de uma porta não apresentam níveis estacionários e sim formas de onda de tensão que variam frequentemente entre os níveis lógicos 1 e 0 Analise a operação de uma porta XOR com as formas de onda digitais nas entradas mostradas na Figura 136 e assinale a alternativa que possui a sequência de níveis lógicos na ordem t1 t2 t3 e t4 a AND b OR c XOR d NOR e NAND a 0100 b 1110 c 1001 d 0101 e 1010 U1 Introdução aos sistemas digitais 54 Referências BELL Labs 1956 Nobel Prize in Physics The Transistor Nokia Bell Labs sd Disponível em httpswwwbelllabscomourpeoplerecognition1956transistor Acesso em 25 set 2017 CAPUANO Francisco Gabriel Sistemas digitais circuitos combinacionais e sequenciais São Paulo Érica 2014 144 p FLOYD Thomas Sistemas digitais fundamentos e aplicações 9 ed São Paulo Bookman 2007 888 p IEEE STANDARTS IEEE Standard Graphic Symbols for Logic Functions IEEE Xplore p 1160 1984 LOURENÇO Antônio Carlos et al Circuitos digitais estude e use São Paulo Érica 1997 336 p MACNEIL Jessica First successful test of the transistor December 16 1947 EDN Network Blog 16 dez 2016 Disponível em httpwwwedncomelectronicsblogs ednmoments44260861stsuccessfultestofthetransistorDecember161947 Acesso em 25 set 2017 MIT Technology Review 10 Breakthorough Tecnologies 2017 MIT marabr 2017 Disponível em httpswwwtechnologyreviewcomliststechnologies2017 Acesso em 18 set 2017 NATIONAL Semiconductor 54LS03DM54LS03DM74LS03 Quad 2Input NAND Gates with OpenCollector Outputs datasheet National Semiconductor Corparation 1989 6 p Disponível em httprtellasoncomchipdatadm74ls03pdf Acesso em 18 out 2017 SHANNON Claude Symbolic analysis of relays and switching circuits Dissertação de mestrado Boston Massachusetts Institute of Technology MIT 1937 69 p SZAJNBERG Mordka Eletrônica digital teoria componentes e aplicações Rio de Janeiro LTC 2014 455 p TOCCI Ronald J Sistemas digitais princípios e aplicações 11 ed São Paulo Pearson 2011 840 p VAHID Frank Sistemas digitais projeto otimização e HDLs 1 ed Porto Alegre Bookman 2008 560 p Unidade 2 Álgebra booleana e simplificação de circuitos lógicos Convite ao estudo Vimos até aqui que os circuitos lógicos executam expressões lógicas Na Unidade 1 determinamos esses circuitos através de expressões características extraídas de tabelas verdade Os circuitos gerados por esse processo apesar de corretos geralmente admitem simplificações e consequentemente diminuição de blocos lógicos utilizados na prática Para iniciarmos o estudo de simplificação de circuitos lógicos é preciso conhecer razoavelmente a álgebra de Boole e através das suas leis teoremas e axiomas efetuaremos as mencionadas simplificações Além disso é importante destacar que a teoria de sistemas digitais é fundamentada na álgebra de Boole Vamos imaginar o seguinte contexto você e seus amigos acabaram de se formar e decidem abrir uma empresa de segurança automotiva Vocês sabem que para conquistar o mercado terão que ser criativos e sobretudo econômicos em seus projetos Você está pronto para esse desafio Nesta unidade para auxiliálo apresentaremos os conceitos básicos da álgebra de Boole Além disso por meio de manipulação algébrica é permitida a simplificação de expressões e circuitos lógicos derivados Outra forma de simplificação mais usual também será estudada tratase do uso dos mapas de Karnaugh que na essência utilizam os conceitos de Boole porém arranjados por um método gráfico que permite a simplificação de expressões e tabelas verdade de maneira imediata e menos trabalhosa E então preparado para aprender um pouco mais sobre esse universo digital Mãos à obra e um ótimo estudo U2 Álgebra booleana e simplificação de circuitos lógicos 56 Seção 21 Leis e teoremas da álgebra booleana A álgebra booleana é a matemática dos sistemas digitais conhecê la é fundamental para a análise e síntese de circuitos lógicos No fim da unidade anterior tivemos um primeiro contato com as operações booleanas através de suas relações com as portas NOT AND OR NAND e NOR Nesta seção aprenderemos um pouco mais sobre como aplicar e simplificar os circuitos lógicos que compõem os sistemas digitais Para isso retomaremos o contexto apresentado no início da unidade você acabou de fundar uma empresa de segurança automotiva com seus amigos Atualmente vocês estão se dedicando a um novo projeto de alarme para carros e se depararam com a seguinte situação inicialmente o projeto previa cinco sensores distribuídos pelo carro entre portas janelas e capôs e a entrada que habilita o alarme botão de liga e desliga O primeiro circuito lógico projetado por vocês consistia em uma porta OR de cinco entradas e uma porta AND de duas entradas como pode ser visto na Figura 21 Fonte elaborada pelo autor Figura 21 Primeiro projeto do circuito lógico para o alarme Diálogo aberto O problema é que no estoque de peças só restaram CIs do tipo SN74HC00 Como lidar com essa situação Para ajudálo a resolver esse impasse nesta seção conheceremos as principais leis e teoremas da álgebra booleana bem como o teorema de DeMorgan Fique atento esse conhecimento será muito importante para novos projetos de circuitos lógicos Circuito do alarme U2 Álgebra booleana e simplificação de circuitos lógicos 57 Fonte elaborada pelo autor Figura 22 Porta OR Não pode faltar Em 1854 no trabalho Investigation of the laws of thought on which are founded the mathematical theories of logic and probabilities em português Uma investigação das leis do pensamento sobre as quais são fundadas as teorias matemáticas de lógica e probabilidades Georg Boole fundamentou a álgebra lógica hoje conhecida como álgebra booleana Segundo Floyd 2007 a álgebra booleana traz uma forma conveniente de expressar e analisar a operação de circuitos lógicos de forma sistemática Antes de entrarmos no assunto devemos nos familiarizar com os termos variável complemento e literal Uma variável é um símbolo geralmente uma letra maiúscula em itálico usado para representar uma grandeza lógica Uma variável booleana simples admite apenas dois valores em circuitos lógicos 1 ou 0 O complemento é o inverso de uma variável e é indicado por uma barra sobre a variável Por exemplo o complemento da variável A é A Se A 1 Então A 0 e se A 0 então A 1 Como vimos o complemento de uma variável A é lido como A negado ou A barrado Pode ser usado também para representar um complemento outro símbolo Por exemplo B indica o complemento de B Uma literal é a variável ou o complemento de uma variável Tradicionalmente utilizamos a álgebra booleana para simplificarmos os circuitos lógicos digitais Os métodos que veremos para simplificação e projetos de circuitos lógicos requerem que a expressão esteja na forma de somadeprodutos Sendo assim é fundamental aprendermos um pouco mais sobre as operações de adição e multiplicação booleana A adição booleana é equivalente à operação OR Figura 22 e as regras básicas são ilustradas com suas relações da seguinte forma A B S 0 0 0 0 1 1 1 0 1 1 1 1 U2 Álgebra booleana e simplificação de circuitos lógicos 58 Na álgebra booleana um termo soma é uma soma de literais Em circuitos lógicos um termo soma é produzido por uma operação OR sem o envolvimento de operações AND por exemplo A B A B A B C e A B C D Assimile Assimile Um termo soma será igual a 1 quando uma ou mais das literais no termo for 1 Um termo soma será igual a 0 somente se cada uma das literais for 0 Um termo produto será igual a 1 apenas se cada uma das literais no termo for 1 Um termo produto será igual a 0 quando uma ou mais literais for 0 A multiplicação booleana é equivalente à operação AND Figura 23 e as regras básicas são ilustradas com suas relações da seguinte forma Fonte elaborada pelo autor Figura 23 Porta AND A B S 0 0 0 0 1 0 1 0 0 1 1 1 Na álgebra booleana um termo produto é o produto de literais Em circuitos lógicos um termo produto é produzido por uma operação AND sem o envolvimento de operações OR por exemplo AB AB ABC e ABCD Começaremos o nosso estudo da álgebra boolena pelas suas leis básicas Elas são as mesmas que para a álgebra comum e estão resumidas no Quadro 2 1 Existem ainda os axiomas da comutatividade distributividade e complemento que foram apresentados no Quadro 21 como leis da álgebra booleana Os teoremas por sua vez são afirmações que necessitam de uma prova ou seja todo teorema está associado a uma sequência lógica que leva à sua conclusão Como não estamos interessados no estudo matemático da álgebra booleana e sim na sua aplicação aos sistemas digitais não apresentaremos as provas dos teoremas a seguir 1 Indepotência A A A 23 A A A 2 Aniquilação A 1 1 24 A 0 0 3 Dupla negação Ā A 25 4 DeMorgan A B Ā B 26 A B Ā ĀB Além desses teoremas existe ainda o teorema da associatividade que já foi apresentado no Quadro 21 como duas das leis da álgebra booleana Para facilitar os seus estudos esses axiomas e teoremas bem como algumas combinações importantes deles estão compiladas no Quadro 2 2 Quadro 22 Regras da álgebra booleana A álgebra booleana conta com uma série de axiomas e teoremas que são importantes na manipulação e simplificação de expressões booleanas Os axiomas são proposições que não têm demonstração por serem considerados evidentes Os axiomas da álgebra booleana são 1 Fechamento dado o conjunto de valores binários C 01 AB C A B C A B C 21 Ou seja as operações OR e AND resultam em valores que também são binários 2 Identidade dado o conjunto C 01 A C A 0 A A 1 A 22 Esse axioma introduz os elementos neutros das operações OR e AND A regra 10 do Quadro 22 pode ser provada aplicandose a lei distributiva e as regras 2 e 4 como feito a seguir A B A1 B Fatorando lei distributiva A 1 Regra 2 1 B 1 A Regra 4 A 1 A É possível ainda demonstrar a prova em termos da tabela verdade na Tabela 21 Tabela 21 Tabela verdade da regra 10 A B A B A A B 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 1 Fonte elaborada pelo autor O segundo teorema de DeMorgan afirma que O complemento de uma soma de variáveis é igual ao produto do complemento das variáveis Ou em termos de operações lógicas O complemento de duas ou mais variáveis submetidas a uma operação OR é equivalente a uma operação AND entre os complementos das variáveis individuais A fórmula para a expressão desse teorema para duas variáveis é A B A B A Figura 24a mostra a equivalência de portas para a Equação 27 A Figura 24b mostra a equivalência de portas para a Equação 28 e suas tabelas verdade estão escritas na Tabela 22 Fig 24 Equivalência entre portas lógicas a NAND e OR negativa b NOR e AND negativa Fonte elaborada pelo autor Tabela 22 Tabela verdade a NAND e OR negativa b NOR e AND negativa A B A B A B A B A B A B 0 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 Fonte elaborada pelo autor É importante salientar que os teoremas de DeMorgan também se aplicam a expressões nas quais existem mais do que duas variáveis por exemplo ABC A B C A B C Outro aspecto importante é que cada variável nos teoremas de DeMorgan podem representar uma combinação de outras variáveis Por exemplo A na Equação 27 pode ser igual ao termo XY Z e B pode ser igual ao termo X YZ Assim aplicando o teorema de DeMorgan para a expressão XY ZX YZ obtemos o seguinte resultado XY ZX YZ XY Z X YZ 29 Ainda podemos aplicar 28 no resultado de modo que XY Z X YZ XYZ XYZ 210 Podemos ainda aplicar o teorema de DeMorgan aos termos XY e YZ o que resulta na seguinte expressão XYZ XYZ X YZ XY Z A Expressão 211 ainda pode ser simplificada usandose as leis e regras da álgebra booleana mas não é mais possível aplicar o teorema de DeMorgan Em certo momento desta seção destacamos a importância dos teoremas de DeMorgan para análise e projeto de circuitos lógicos Mas a que se deve tamanha importância A Seção 43 do livro Sistemas digitais fundamentos e aplicações FLOYD 2007 disponível na nossa biblioteca virtual traz diversos exemplos de aplicação do teorema de DeMorgan Consulte e se aprofunde nesse conteúdo FLOYD Thomas L Sistemas digitais fundamentos e aplicações Tradução de José Lucimar do Nascimento 9 ed Porto Alegre Bookman 2007 Sem medo de errar Você e seus amigos acabaram de abrir uma empresa de segurança automotiva e naturalmente já se depararam com um problema o circuito que projetaram previamente é composto de portas AND e OR e para implementar esse circuito vocês só contam com o CI SN74HC00 O seu primeiro passo é saber como esse CI funciona Para isso você pesquisa o seu datasheet e lembra que se trata de um encapsulamento com quatro portas lógicas NAND de duas portas como pode ser visto na Figura 25 Fig 25 Configuração do CI SN74HC00 Fonte adaptada de Texas Instruments 2016 p 3 Portanto agora você sabe que o seu problema consiste em transformar o projeto inicial num equivalente usando apenas portas NAND Da Figura 21 você sabe que C S H e que S S1 S2 S3 S4 S5 portanto C S1 S2 S3 S4 S5H C HS1 HS2 HS3 HS4 HS5 Pelo teorema de DeMorgan você sabe que AB A B que é o mesmo que dizer que a porta NAND é equivalente à porta OR negativa Você sabe também que AA A Com essas possibilidades você tem uma ideia para um arranjo utilizando apenas as portas NAND em cascata como pode ser visto na Figura 26 que você apresentou para os seus amigos H U2 Álgebra booleana e simplificação de circuitos lógicos 66 2 DeMorgan propôs dois teoremas que representam uma parte importante na álgebra booleana que em termos práticos provêm uma verificação de equivalências entre as portas NAND e OR negativa e as equivalências entre as portas NOR e AND negativa Aplique o teorema de DeMorgan na expressão ABC DEF Depois assinale a alternativa que contém a expressão equivalente a A B C D E F b ABCDEF c ABC DEF d A B C D E F e A B C D E F 3 Uma porta XOR de duas entradas realiza uma operação lógica que resulta em 1 se e somente se uma das entradas for 1 A expressão booleana para uma porta XOR é AB A B Assinale a alternativa que apresenta a expressão booleana para uma porta XNOR a AB AB b A B c AB AB d AA BB e A B U2 Álgebra booleana e simplificação de circuitos lógicos 67 Seção 22 Análise booleana e síntese de circuitos lógicos Como vimos podemos usar a álgebra Booleana para expressar a operação de uma porta lógica O mesmo pode ser feito para um circuito lógico que se constitui em uma combinação de portas lógicas de forma que as saídas sejam determinadas como combinações dos valores de entrada Para pôr em prática os conhecimentos desta seção devemos relembrar o nosso contexto você e seus amigos acabaram de se formar e fundaram uma empresa de segurança automotiva Seus projetos envolvem desenvolver dispositivos eletrônicos que melhoram a segurança e o desempenho dos automóveis de alguma forma Em um dos seus novos projetos foi proposto um sistema para monitorar a tensão contínua da bateria de 12 V de um carro O sistema é dividido em dois módulos no primeiro módulo um conversor analógico digital monitora a tensão da bateria e fornece na saída de 4 bits um número binário que corresponde à tensão da bateria em degraus de 1 V o módulo seguinte é um circuito lógico que recebe como entrada as saídas do conversor e fornece uma saída igual a 1 para toda tensão menor ou igual a 6 V Você é capaz de projetar esse circuito lógico Para lhe ajudar com esse projeto nesta seção veremos algumas maneiras de analisar e sintetizar circuitos lógicos através da álgebra booleana Espero que esteja animado para mais este conhecimento Bons estudos Diálogo aberto Não pode faltar Como você já deve ter notado nesse momento um circuito lógico pode ser descrito por uma equação booleana Para circuitos simples é relativamente fácil obter a expressão booleana de um certo circuito lógico Devemos começar a escrever as expressões lógicas para cada porta a partir das entradas mais à esquerda até a saída final do circuito Para entender melhor esse procedimento considere o circuito lógico da Figura 27 AB U2 Álgebra booleana e simplificação de circuitos lógicos 69 Fonte elaborada pelo autor Tabela 23 Tabela verdade do circuito lógico da Figura 27 A B C D S 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 Pesquise mais Para aplicar a álgebra Booleana em geral é necessário simplificar a expressão Esse procedimento depende do conhecimento completo da álgebra booleana e uma considerável prática na sua aplicação além de habilidade e inteligência A Seção 45 do livro Sistemas digitais fundamentos e aplicações FLOYD 2007 disponível na nossa biblioteca virtual traz diversos exemplos de simplificação de expressões booleanas Leia e refaça os exemplos para aumentar sua habilidade FLOYD Thomas L Sistemas digitais fundamentos e aplicações Tradução de José Lucimar do Nascimento 9 ed Porto Alegre Bookman 2007 Qualquer expressão booleana pode ser convertida em qualquer uma das formas padrão chamadas somadeprodutos e produto desomas Essa padronização torna a análise e síntese de expressões booleanas mais sistemática e fácil O termoproduto ou mintermo consiste em um produto de literais em que cada literal aparece apenas uma vez no termo Quando dois ou mais termosproduto são somados temos uma somadeprodutos Como os termos ilustrados a seguir AB ABC ABC ABC ABC Uma expressão de somadeprodutos pode ser implementada usando apenas portas NAND como isso é possível Uma expressão em que todas as variáveis do seu domínio aparecem em todos os seus termosproduto é classificada como uma somadeprodutos padrão como em ABCD ABCD ABCD para um domínio de quatro variáveis Esse tipo de expressão útil na construção de tabelas verdade é muito importante para o método de simplificação utilizando mapa de Karnaugh que será tema da próxima seção É possível transformar qualquer expressão de somadeprodutos em uma forma padrão Os termosproduto em uma expressão que não contêm todas as variáveis do domínio podem ser expandidos para a forma padrão isso pode ser feito em dois passos 1 Uma vez que A A 1 podemos multiplicar cada um dos termosproduto que não estão na forma padrão pela soma de uma variável que não aparece no termo com o seu complemento resultando em dois termosproduto sem que altere o seu valor uma vez que estamos apenas multiplicando o termoproduto por 1 2 O passo 1 deve ser repetido até que todos os termos produtos resultantes contenham todas as variáveis do domínio na forma complementada ou não complementada Vamos converter a expressão ABD CD para a sua forma padrão de somadeprodutos O seu domínio é A B C e D Para facilitar vamos trabalhar com um termo por vez ABDC C ABCD ABCD No segundo termo não aparecem as variáveis A e B Mas precisamos fazer essa conversão por partes Primeiro multiplicamos o termo CD por A A CDA A ACD ACD Nos dois termos resultantes não aparece a variável B Portanto devemos multiplicar os dois termos por B B ACDB B ABCD ABCD 213 ACDB B ABCD ABCD 214 Note que o primeiro termo de 212 e o primeiro termo de 213 são idênticos Portanto não precisam aparecer duas vezes na expressão Assim AB CD ABD ABCD ABCD ABCD ABBCD ABCD 215 Um termoproduto padrão somente será igual a 1 para uma certa combinação de valores das variáveis Por exemplo o termo ABCD é igual a 1 quando A 1 B 1 C 1 e D 1 Uma vez que ABCD 1111 1 é dito que esse termoproduto tem um valor binário 1101 decimal treze Um termoproduto é implementado utilizando uma porta AND e inversores usados quando é necessário o complemento de uma variável A implementação do termo ABCD pode ser vista na Figura 29 O termosoma ou maxtermo consiste em uma soma de literais em que cada literal aparece apenas uma vez no termo Quando dois ou mais termossoma são multiplicados temos um produtodesomas Como os mostrados a seguir A BA B C AB CA B D Em um termosoma cada variável só pode ser complementada individualmente Por exemplo A B C é um termosoma mas A B C não Uma expressão de produtodesomas é implementada usando uma porta AND cujas entradas são as saídas de duas ou mais portas OR Assim como na implementação da somadeprodutos esse tipo de projeto também usa a lógica ANDOR e uma implementação genérica é vista na Figura 210 Uma expressão de produtodesomas pode ser implementada usando apenas portas NOR como isso é possível O produto de somas também possui uma forma padrão Por exemplo na expressão A B CA B CA B C D as variáveis A B C e D constituem o domínio da expressão Note que a variável D não aparece no primeiro termosoma da expressão Em uma expressão de produtodesomas padrão cada termosoma da expressão deve conter todas as variáveis do domínio como em A B C DA B CA B C DA B C D que é uma expressão de produto de somas padrão equivalente à expressão anterior É possível converter qualquer expressão de produtodesomas para a forma padrão usando a álgebra booleana isso pode ser feito em três passos 1 Uma vez que A A 0 podemos somar a cada um dos termosoma que não estão na forma padrão um termo formado pelo produto da variável que não aparece no termo com o seu complemento resultando em dois termossoma sem alterar o valor da expressão uma vez que podemos somar 0 com qualquer coisa sem alterar o seu valor Em seguida podemos aplicar a regra A BC A BA C U2 Álgebra booleana e simplificação de circuitos lógicos 75 Faça você mesmo A partir da tabela verdade na Tabela 24 determine a expressão de somadeprodutos padrão e a expressão de produto de somas padrão equivalente converta o valor binário de cada linha para o termoproduto correspondente Por exemplo o valor binário 1010 é convertido para o termoproduto ABCD Também é possível determinar uma expressão de podutode somas a partir de uma tabela verdade Para isso devese considerar as linhas cujo valor de saída seja 0 e converter o seu valor binário para o termosoma correspondente Agora cada 1 no valor binário corresponde ao complemento da variável por exemplo o valor binário 1010 é convertido para o termosoma A B C D Fonte elaborada pelo autor Tabela 24 Tabela verdade 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 1 Sem medo de errar Você está animado como nunca com os novos projetos da sua empresa Você precisa projetar um circuito lógico que gere uma saída em nível ALTO quando a tensão da bateria for menor ou igual a 6 V As entradas desse circuito lógico são fornecidas por um conversor analógicodigital de quatro bits que fornece como saída um número binário de quatro bits que corresponde à tensão da bateria em degraus de 1 V como pode ser visto no esquema da Figura 212 U2 Álgebra booleana e simplificação de circuitos lógicos 76 Fonte elaborada pelo autor Figura 212 Esquema de funcionamento do circuito Seu primeiro passo para projetar o circuito lógico foi escrever a tabela verdade vista na Tabela 25 em que o X foi usado para quando a saída não importa pois nesse caso não se espera que o circuito receba essas combinações de bits na entrada Fonte elaborada pelo autor Tabela 25 Tabela verdade do circuito lógico A B C D Z 0 0 0 0 0 1 1 0 0 0 1 1 2 0 0 1 0 1 3 0 0 1 1 1 4 0 1 0 0 1 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 0 8 1 0 0 0 0 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 1 0 12 1 1 0 0 0 13 1 1 0 1 X 14 1 1 1 0 X 15 1 1 1 1 X Uma maneira de implementar esse circuito é com uma somadeprodutos Para isso você seleciona todos os termos produtos em que a saída seja 1 Assim a expressão booleana para o circuito lógico do seu projeto é A B C D A B C D Circuito lógico CAD U2 Álgebra booleana e simplificação de circuitos lógicos 77 Z ABCD ABCD ABCD ABCD ABCD ABCD AB D C Ela está sintetizada no circuito lógico da Figura 213 Fonte elaborada pelo autor Figura 213 Circuito lógico Pronto a partir do circuito lógico mostrado na Figura 213 você pode implementar um dispositivo de monitoramento da tensão em corrente contínua de uma bateria Excelente Sua empresa está indo muito bem Faça valer a pena 1 A tabela verdade para uma expressão booleana padrão pode ser facilmente obtida usando valores binários para cada termo na expressão Desenvolva uma tabela verdade para a expressão ABC ABC ABC e assinale a alternativa correta U2 Álgebra booleana e simplificação de circuitos lógicos 78 a b c d e A B C S 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 A B C S 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 A B C S 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 A B C S 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 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 0 2 Qualquer expressão lógica pode ser convertida para o formato de somadeprodutos usando a álgebra booleana Por exemplo a expressão AB C D é convertida para o formato de somadeproduto aplicando a lei distributiva AB C D ABD CD Considerando esse contexto avalie as seguintes asserções e a relação proposta entre elas U2 Álgebra booleana e simplificação de circuitos lógicos 79 3 O termoproduto é um termo que consiste em um produto de literais Quando dois ou mais termosprodutos são somados por uma adição booleana temos uma somadeprodutos Nesse contexto avalie as afirmações a seguir I A expressão AB AB é um exemplo de somadeprodutos II Uma expressão na forma de somadeprodutos pode conter um termo de uma única variável como em ABC ABC C III Uma expressão de somadeprodutos padrão é uma expressão na qual todas as variáveis do domínio aparecem em cada um dos termos produtos na expressão como em ABCD ABCD ABCD É correto o que se afirma em a I apenas b III apenas c I e III apenas d II e III apenas e I II e III I A expressão ABD CD é uma somadeprodutos padrão PORQUE II Todas as variáveis do domínio aparecem em cada um dos termosproduto na expressão A respeito dessas asserções assinale a alternativa correta a As asserções I e II são proposições verdadeiras e a II é uma justificativa da I b As asserções I e II são proposições verdadeiras mas a II não é uma justificativa da I c A asserção I é uma proposição verdadeira e a II é uma proposição falsa d A asserção I e uma proposição falsa e a II é uma proposição verdadeira e As asserções I e II são proposições falsas U2 Álgebra booleana e simplificação de circuitos lógicos 80 Seção 23 Simplificação de circuitos lógicos Como pudemos notar na Seção 22 expressões booleanas diferentes podem produzir o mesmo resultado A consequência disso é que circuitos lógicos diferentes acabam sendo equivalentes Em geral devemos ter em mente que ao implementar uma função lógica é desejável que tanto o número de portas lógicas quanto o número de literais sejam mínimos As expressões booleanas com menor número de operadores lógicos requerem um menor número de portas e um menor número de entradas por porta Isso nos permite portanto projetar circuitos lógicos com menor custo Retomando o nosso contexto você e seus amigos acabaram de se formar e fundaram uma empresa de segurança automotiva Seus projetos envolvem desenvolver dispositivos eletrônicos que melhorem a segurança e o desempenho dos automóveis de alguma forma No seu último projeto você desenvolveu um circuito lógico que recebe como entrada um código binário de quatro bits de um conversor analógicodigital e fornece como saída um sinal em nível ALTO sempre que o valor binário for menor ou igual a 6 0110 ou seja quando a tensão da bateria for menor ou igual a 6 V Um dos seus sócios questiona se a solução apresentada é a mais eficiente Você pode garantir isso Para lhe ajudar a responder essa pergunta nesta seção apresentaremos um método mais fácil e rápido de minimização O método requer a representação gráfica dos termosprodutos da função em um mapa bidimensional Aproveite este momento para adquirir mais conhecimento Diálogo aberto Não pode faltar O mapa de Karnaugh é uma representação gráfica bidimensional de uma tabela verdade e pode ser encarado como um método de simplificação de expressões booleanas ou circuitos lógicos mais simples que a simplificação pela álgebra booleana É possível garantir ainda que as expressões obtidas com esse método sejam as mais simples possíveis por isso chamadas de expressões mínimas U2 Álgebra booleana e simplificação de circuitos lógicos 81 Enquanto a tabela verdade é organizada em linhas e colunas o mapa de Karnaugh é um arranjo de células no qual cada célula representa um valor binário das variáveis de entrada Por exemplo considere a célula mais à esquerda e acima de cada mapa na Figura 214 ela representa AB 00 no mapa para expressões com duas variáveis em a ABC 000 no mapa para expressões com três variáveis em b e ABCD 0000 no mapa para expressões com quatro variáveis em d O mapa de Karnaugh possui 2n células em que n é número de variáveis de entrada Esse número é igual ao número de linhas de uma tabela verdade Fonte elaborada pelo autor Figura 214 Mapa de Karnaugh a duas variáveis b três variáveis c quatro variáveis Assimile A quantidade de células em um mapa de Karnaugh é dada por 2n em que n é a quantidade de variáveis Por exemplo em um mapa de três variáveis a quantidade de células é 2 3 8 Para o mapa de quatro variáveis o número de células é 2 4 16 e para o mapa de cinco variáveis o número de células é 2 5 32 Cada linha da tabela verdade possui sua região própria no mapa como podemos ver na comparação entre a Tabela 26 e a Figura 215 para o caso de três variáveis U2 Álgebra booleana e simplificação de circuitos lógicos 82 Fonte elaborada pelo autor Fonte elaborada pelo autor Tabela 26 Tabela verdade para três variáveis Figura 215 Mapa de Karnaugh de três variáveis A B C Termo 0 0 0 ABC 0 0 1 ABC 0 1 0 ABC 0 1 1 ABC 1 0 0 ABC 1 0 1 ABC 1 1 0 ABC 1 1 1 ABC Os valores binários de A e B possíveis são distribuídos pelo lado esquerdo do mapa enquanto que os valores de C são distribuídos na parte superior Observe a sequência utilizada ela usa o código Gray de modo que apenas 1 bit varie entre células adjacentes Assimile Duas células são adjacentes quando entre elas há mudança de bit em apenas uma das suas variáveis Na prática cada célula é adjacente às suas células vizinhas pelos quatro lados E nesse momento é importante salientar que as células representadas nos limites do mapa são adjacentes às células no outro extremo por exemplo uma célula na coluna mais à esquerda é adjacente à célula mais à direita e uma célula na linha inferior é adjacente à célula correspondente na linha superior Mas uma célula não é adjacente às células que a tocam diagonalmente em qualquer um dos vértices FLOYD 2007 Observe o exemplo da Figura 216 que ilustra a adjacência de células em um mapa de quatro variáveis U2 Álgebra booleana e simplificação de circuitos lógicos 83 Fonte elaborada pelo autor Figura 216 Células adjacentes em um mapa de Karnaugh de quatro variáveis As mesmas regras se aplicam a qualquer mapa de Karnough independentemente do número de variáveis O preenchimento de um mapa de Karnough se dá colocando um bit 1 em cada célula correspondente ao valor de termoproduto na expressão Exemplificando Quando uma expressão de somadeprodutos é completamente inserida no mapa existirá uma quantidade de números 1 no mapa igual ao número de termos produtos na expressão da somadeprodutos padrão Por exemplo para a expressão ABC ABC ABC ABC temos o mapa da Karnaugh da Figura 217 As demais células são os número 0 mas geralmente é interessante suprimir sua representação para não poluir o mapa visualmente Agora é a sua vez faça um mapa de Karnaugh de quatro variáveis para a expressão ABCD ABCD ABCD ABCD ABCD Fonte elaborada pelo autor Figura 217 Inserção de uma expressão de somadeprodutos U2 Álgebra booleana e simplificação de circuitos lógicos 84 Como você já deve ter notado é importante que a expressão booleana esteja na forma padrão para que seja possível montar o mapa de Karnaugh Se expressão não estiver na forma padrão então ela deve ser convertida usando o procedimento indicado na Seção 22 ou através de uma expansão numérica que pode ser mais eficiente uma vez que é preciso avaliar a expressão antes de colocá la no mapa Lembrese de que em um termoproduto não padrão falta uma ou mais variáveis do domínio Por exemplo seja o termo ABC em uma expressão de somadeprodutos de quatro variáveis podemos expandir esse termo numericamente para a forma padrão escrevendo o valor binário das variáveis do termo ABC 000 e em seguida escrevendo todas as combinações possíveis para as variáveis que não aparecem Nesse caso são apenas duas combinações ABCD 0000 e ABCD 0001 Exemplificando Para que o procedimento de inserir uma expressão de somade produtos não padrão em um mapa de Karnaugh fique mais claro vamos montar o mapa para a expressão ABC CD na Figura 218 Como vimos para o termo ABC temos duas combinações possíveis ABCD 0000 e ABCD 0001 Já para o termo CD são quatro combinações possíveis ABCD 0000 ABCD 0100 ABCD 1100 e ABCD 1000 Teste suas habilidades e faça um mapa da Karnaugh para a seguinte expressão de somadeprodutos A AB ABC Considere um domínio de três variáveis para essa expressão Fonte elaborada pelo autor Figura 218 Inserção de uma expressão de somadeprodutos não padrão U2 Álgebra booleana e simplificação de circuitos lógicos 85 Agora que já sabemos como preencher um mapa de Karnaugh adequadamente veremos como simplificar uma expressão booleana utilizando o mapa de Karnaugh Segundo Floyd 2007 esse processo resulta em uma expressão que contém o menor número de termos possível com o menor número de variáveis possíveis e é chamado por razões óbvias de minimização Após a expressão de somadeprodutos ser inserida no mapa uma expressão de somadeprodutos mínima é obtida agrupando se de acordo com certas regras os números 1 e determinando a expressão de somadeprodutos mínima a partir do mapa O objetivo é maximizar o tamanho dos grupos e minimizar a quantidade de grupos As regras de agrupamento de 1s em um mapa são as seguintes 1 Um grupo só pode conter uma quantidade de células que seja uma potência inteira de 2 por exemplo 1 2 4 ou 16 células No caso de um mapa de três variáveis 2 8 3 é o tamanho do maior grupo possível 2 Cada célula em um grupo deve ser adjacente a uma ou mais células do mesmo grupo 3 Sempre inclua o maior número de algarismos 1 em um grupo respeitando a regra 1 4 Cada número 1 no mapa tem que ser incluído em pelo menos um grupo Os números 1 que já fazem parte de um grupo podem ser incluídos num outro grupo enquanto os grupos sobrepostos incluem números 1 não comuns Na Figura 219 vemos alguns exemplos de agrupamentos de células em mapas de três e quatro variáveis Um destaque importante para as Figuras 219b e d ocorrem agrupamentos entre células das fronteiras devido à adjacência cilíndrica U2 Álgebra booleana e simplificação de circuitos lógicos 86 Fonte adaptada de Floyd 2007 p 232 Figura 219 Exemplos de agrupamentos no mapa de Karnaugh a uma e duas células em um mapa de três variáveis b duas e quatro células em um mapa de três variáveis c duas e quatro células em um mapa de quatro variáveis d duas quatro e oito células em um mapa de quatro variáveis Reflita Você consegue notar alguma relação entre os conceitos expansão numérica de um termoproduto e o agrupamento de células descritos Uma expressão de somadeprodutos minimizada contém a menor quantidade possível de termos com a menor quantidade possível de variáveis por termos e geralmente uma somade produtos mínima pode ser implementada com menos portas lógicas que uma expressão padrão FLOYD 2007 U2 Álgebra booleana e simplificação de circuitos lógicos 87 Após preencher adequadamente o mapa de Karnaugh e criar o menor número possível de grupos e que eles englobem o maior número de células possível podemos determinar a expressão de somadeprodutos mínima equivalente conforme as seguintes regras 1 Cada grupo é equivalente a um termoproduto composto por todas as variáveis que o valor não varia dentro do grupo 2 Determine o termo produto mínimo para cada grupo a Para um mapa de três variáveis Um grupo de uma célula resulta em um termo produto de três variáveis Um grupo de duas células resulta em um termo produto de duas variáveis Um grupo de quatro células resulta em um termo de uma variável Um grupo de oito células resulta no valor 1 para a expressão b Para um mapa de quatro variáveis Um grupo de uma célula resulta em um termo produto de quatro variáveis Um grupo de duas células resulta em um termo produto de três variáveis Um grupo de quatro células resulta em um termo produto de duas variáveis Um grupo de oito células resulta em um termo de uma variável Um grupo de 16 células resulta no valor 1 para a expressão 3 Quando se obtém todos os termosprodutos mínimos com o mapa de Karnaugh eles são somados formando uma expressão de somadeprodutos mínima Exemplificando Vamos considerar o mapa da Figura 219d e determinar a expressão de somadeprodutos mínima para ele U2 Álgebra booleana e simplificação de circuitos lógicos 88 Como foi possível criar três grupos teremos uma expressão com três termosproduto sendo um termo com três variáveis devido ao grupo com duas células um termo de duas variáveis devido ao grupo com quatro células e um termo com uma variável devido ao grupo com oito células Assim a expressão em somadeprodutos mínima resultante é dada por ABC BC D Pratique também encontre a expressão em somadeprodutos mínima para os demais mapas da Figura 219 Fonte elaborada pelo autor Figura 220 Inserção de uma expressão de somadeprodutos não padrão Existem alguns casos em que uma determinada combinação de entrada não é permitida Esses estados podem ser tratados como bits não importa é comum também usar a expressão em inglês dont care em relação aos seus efeitos na saída Na prática a existência desses termos permite que os usemos como 0 ou 1 conforme seja conveniente em uma minimização Por exemplo na Figura 221 existe uma saída não importa na posição 010 Se não houvesse a saída não importa nessa célula a expressão mínima resultante desse mapa seria ABC AB BC No entanto como podemos considerálo como 1 para formar um agrupamento de quatro células a expressão mínima resultante é ABC B U2 Álgebra booleana e simplificação de circuitos lógicos 89 Fonte elaborada pelo autor Figura 221 Exemplo do uso do bit não importa Pesquise mais Embora seja muito mais comum lidarmos com termosproduto e expressões em somadeprodutos todos os resultados e análises feitos aqui podem ser estendidos de maneira análoga aos termosproduto e expressões em produtodesomas Para saber mais sobre a técnica de minimização de produtodesomas usando o mapa de Karnaugh leia a seção 410 do do livro Sistemas digitais fundamentos e aplicações FLOYD 2007 disponível na nossa biblioteca virtual FLOYD Thomas L Sistemas digitais fundamentos e aplicações Tradução de José Lucimar do Nascimento 9 ed Porto Alegre Bookman 2007 Sem medo de errar No seu último projeto você desenvolveu um circuito lógico que recebe como entrada um código binário de quatro bits de um conversor analógicodigital e fornece como saída um sinal em nível ALTO sempre que o valor binário for menor ou igual a 6 0110 ou seja quando a tensão da bateria for menor ou igual a 6 V O circuito lógico desenvolvido possui a seguinte expressão em somadeprodutos padrão Z ABCD ABCD ABCD ABCD ABCD ABCD AB D C A tabela verdade utilizada por você naquele momento pode ser vista na Tabela 27 U2 Álgebra booleana e simplificação de circuitos lógicos 90 Fonte elaborada pelo autor Tabela 27 Tabela verdade do circuito lógico A B C D Z 0 0 0 0 0 1 1 0 0 0 1 1 2 0 0 1 0 1 3 0 0 1 1 1 4 0 1 0 0 1 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 0 8 1 0 0 0 0 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 1 0 12 1 1 0 0 0 13 1 1 0 1 X 14 1 1 1 0 X 15 1 1 1 1 X Agora você já sabe que é possível minimizar esse circuito de modo a diminuir o custo do projeto utilizando o mapa de Karnaugh Seu primeiro passo é transpor as informações da tabela para o mapa como pode ser visto na Figura 222a Depois você deve agrupar os números 1 convenientemente Você decidiu fazer três agrupamentos de quatro células como pode ser visto na Figura 222b c e d Figura 222 a Mapa de Karnaugh b agrupamento AD c agrupamento AC d agrupamento AB Com isso é possível reduzir o circuito para a seguinte expressão de somadeprodutos Z AD AC AB U2 Álgebra booleana e simplificação de circuitos lógicos 92 Uma etapa importante para o processo de minimização através do mapa de Karnaugh é o seu preenchimento correto Assinale a alternativa que contém o mapa equivalente à expressão ABC ABC ABC ABC ABC a d b e c U2 Álgebra booleana e simplificação de circuitos lógicos 93 a d b e c 2 Ao preencher um mapa de Karnaugh é importante que a expressão booleana esteja na forma padrão Caso isso não ocorra ela deve ser convertida para a forma padrão ou o mapa deve ser preenchido através de uma expansão numérica Marque a alternativa que apresenta o mapa de Karnaugh para a expressão AB C em um domínio de três variáveis U2 Álgebra booleana e simplificação de circuitos lógicos 94 3 Uma expressão de somadeprodutos minimizada contém a menor quantidade possível de termos com a menor quantidade possível de variáveis por termos e geralmente uma somadeprodutos mínima pode ser implementada com menos portas lógicas que uma expressão padrão Assinale a alternativa que contém a expressão em somadeprodutos mínima para o seguinte mapa de Karnaugh a ABC ABC ABC ABC ABC b ABC AB BC AC c ABC AB BC AC d ABC ABC ABC ABC ABC e ABC AB ABC ABC U2 Álgebra booleana e simplificação de circuitos lógicos 95 Referências BOOLE George An investigation of the laws of thought on which are founded the mathematical theories of logic and probabilities Londres Macmillan 1954 FLOYD Thomas Sistemas digitais fundamentos e aplicações 9 ed São Paulo Bookman 2007 888 p TEXAS Instruments SNx4HC00 Quadruple 2Input PositiveNAND Gates datasheet Texas Instruments 2016 Disponível em httpwwwticomlitdssymlinksn74hc00 pdf Acesso em 8 out 2017 Unidade 3 Lógica combinacional Convite ao estudo Nas unidades anteriores estudamos o funcionamento das principais portas lógicas básicas e usamos a álgebra booleana para descrever e analisar os circuitos lógicos Além disso vimos também o mapa de Karnaugh que nos permitiu aprender como simplificar os circuitos lógicos que compõem os sistemas digitais Nesta unidade continuaremos nosso estudo sobre os circuitos combinacionais Veremos que as portas lógicas básicas podem ser combinadas para realizar atividades que são importantes para o funcionamento dos computadores que tendem a facilitar nossas atividades Sendo assim na Seção 31 conheceremos os circuitos somadores meio somador e somador completo além dos circuitos subtratores Na Seção 32 aprenderemos sobre os circuitos comparadores codificadores e decodificadores Por fim na Seção 33 descobriremos os multiplexadores MUX e demultiplexadores DEMUX Para pôr todo esse conhecimento em prática considere que você é o responsável técnico de uma empresa de sistemas embarcados e terá que desenvolver alguns projetos simples e eficiente solicitados pelo seu chefe imediato que está avaliando suas competências técnicas E então pronto para mais um desafio U3 Lógica combinacional 98 Bemvindo a mais uma etapa de conhecimentos dos sistemas digitais Bons estudos e ótimo trabalho U3 Lógica combinacional 99 Seção 31 Circuito somador Frequentemente em nossas tarefas do cotidiano nos cálculos científicos ou nos negócios é fundamental realizarmos operações aritméticas como soma e subtração Muitas vezes utilizamos as calculadoras digitais ou computadores para realizar essa atividade Ao fazermos isso estamos utilizando os circuitos aritméticos com lógica combinacional Esses são tipos de circuitos dedicados que realizam operações de adição e subtração com números binários e fazem parte do subsistema chamado Unidade Lógica Aritmética ULA dos computadores e microcontroladores presentes nas calculadoras digitais Nesta seção aprenderemos como realizar as operações de soma e subtração binária utilizando as portas digitais que conhecemos nas unidades anteriores Para pôr em prática esse conhecimento você será o responsável técnico de uma pequena empresa de sistemas embarcados Nessa empresa ocorrerá a eleição entre dois representantes de uma das áreas A fim de tornar ágil o processo de votação e testar suas habilidades técnicas seu chefe solicitou a sua ajuda para a implementação de um sistema automático de contagem de votos Após checar os componentes disponíveis você percebeu que possui apenas componentes lógicos somadores E então como desenvolver esse sistema Será que é possível desenvolver o sistema utilizando apenas os circuitos somadores Vamos descobrir Diálogo aberto Não pode faltar Nas unidades anteriores estudamos o funcionamento das portas lógicas básicas e empregamos a álgebra booleana para descrever e analisar os circuitos feitos a partir das diferentes combinações que utilizam as portas lógicas Esses circuitos podem ser classificados como circuitos combinacionais pois em qualquer instante de tempo o nível lógico da saída depende apenas da combinação dos níveis lógicos presentes na entrada do circuito Em outras palavras esses U3 Lógica combinacional 100 circuitos não possuem envolvimento com memória ou realimentação da saída para entrada Segundo Szanjberg 2014 a inexistência de realimentação proporciona estabilidade ao circuito e elimina qualquer incerteza nos resultados obtidos que podem ser previstos usandose somente as proposições da álgebra booleana As principais características dos circuitos com a lógica combinacional são a Reconhecimento de existência de pulsos Esse tipo de circuito detecta se houve mudança de nível no sinal de entrada uma vez que a saída depende única e exclusivamente dos níveis lógicos presentes na entrada A cada combinação dos valores da entrada pode ser vista como uma informação diferente na saída do sistema b Discriminação de pulsos Esse tipo de circuito detecta se houve mudança na largura do pulso por meio do tempo de duração A Figura 31 ilustra um modelo genérico para o circuito combinacional Fonte adaptada de Szanjberg 2014 p 228 Figura 31 Modelo genérico do circuito combinacional Os circuitos combinacionais são responsáveis pelas operações aritméticas dentro de um sistema digital como computadores e calculadoras digitais que são conhecidos como circuitos aritméticos Esse tipo de circuito implementa operações como adição por meio dos circuitos somadores e subtração por meio dos circuitos subtratores Os somadores são importantes circuitos para os computadores digitais ou sistemas microprocessados visto que umas das tarefas mais importantes executadas por esses sistemas é a operação da adição em números binários Os somadores podem ser do tipo meio somador ou somador completo O circuito meio somador aceita dois dígitos binários em suas entradas e produz dois dígitos em suas saídas um bit soma e um bit carry ou vai um As quatro operações possíveis para adição binária são 000 011 101 1110 Tabela 31 Tabela verdade circuito meio somador A B Σ Cout 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 1 Fonte elaborada pelo autor Figura 32 Diagrama lógico circuito meio somador A partir da tabela verdadeira para soma binária ilustrada na Tabela 31 podemos deduzir as expressões para o bit soma Σ resultado do circuito somador e para o bit carry de saída Cout como funções das entradas Note que o bit Cout é 1 apenas quando as entradas A e B são 1 Logo podemos representar o bit carry de saída como uma operação lógica AND entre as variáveis de entrada Já a saída soma é 1 apenas se os valores de A e B forem diferentes portanto essa saída pode ser expressa como operação XOR ou OUExclusivo entre as variáveis de entrada Sendo assim as expressões para o bit soma Σ e bit carry Cout são Σ ABCin O carry de saída Cout é 1 apenas quando os bits A e B forem 1 ou seja quando as entradas para a primeira porta XOR forem 1 ou quando um dos bits A ou B for 1 e o carry de entrada também for 1 isto é quando as duas entradas para a segunda porta XOR forem 1 como pode ser analisado na tabela verdade para o circuito somador completo Figura 33 Dessa forma podemos representar o carry de saída do somador completo como uma operação AND entre os bits da primeira porta A com B e pela operação AND do Cin com resultado do XOR da primeira porta AB como determina a expressão Vimos que o somador completo pode ser utilizado para adição de números binários com dois bits e um carry de entrada Mas e se quisermos realizar a adição entre quatro bits utilizando somadores completos como seria Como seria a relação Cout de um somador com Cin de outro somador Esses bits teriam alguma relação Quais são as saídas de um somador completo para A 1 B 0 e Cin 0 Um somador completo é formado por três bits de entrada Logo podemos considerar que 1001 sem carry Considerando a tabela verdade para o circuito somador completo podemos considerar a saída soma como Σ1 e o bit carry de saída como Cout0 Outra operação igualmente importante em nossas atividades é a subtração O circuito meio subtrator aceita dois dígitos binários em suas entradas e produz dois dígitos em suas saídas um bit diferença e um bit de falta um ou empresta um borrow Já o circuito subtrator completo possibilita a subtração de dois bits X e Y e um bit empresta um de entrada Bin e gera os bits diferença D e empresta um de saída Bout Portanto esse circuito possui três bits de entrada X Y e Bin e dois bits de saída D e Bout A tabela verdade de um circuito subtrator completo é mostrada na Tabela 34 U3 Lógica combinacional 107 Pesquise mais Além das operações de adição e subtração podemos realizar as operações de multiplicação e divisão por meio dos circuitos lógicos combinacionais Para saber um pouco mais sobre os circuitos aritméticos combinacionais que realizam essas operações acesse o link disponível em httpwww infufscbrjguntzelisdisd3pdf Acesso em 15 out 2017 Sem medo de errar Você é o responsável técnico de uma pequena empresa de sistemas embarcados Nessa empresa ocorrerá a eleição entre dois representantes de uma das áreas A fim de tornar ágil o processo de votação e testar suas habilidades técnicas seu chefe solicitou a sua ajuda para implementação de um sistema automático de contagem de votos Após checar os componentes disponíveis você percebeu que possui apenas componentes lógicos somadores Depois de uma revisão das funções da lógica combinacional aritmética circuito somador e componente disponível para o desenvolvimento do sistema solicitado você teve uma brilhante ideia para a implementação do sistema de votação Um circuito somador completo possui três bits de entrada e dois bits de saída e está representado de forma genérica pelo diagrama em blocos na Figura 38 Fonte adaptada de Floyd 2007 p 314 Figura 38 Representação genérica do circuito somador completo em bloco Podemos utilizar um circuito somador para adicionar os votos para cada candidato Sendo assim o eleitor que optar pelo candidato 1 deverá apertar a chave C1 Isso faz com que o bit A tenha valor lógico 1 enquanto que os níveis lógicos B e Cin permanecem em 0 Sendo assim a saída Σ do somador completo passará a ser 1 e contará um Já para saída Bout podemos considerar o mapa da Figura 36 b cuja expressão lógica de saída é dada como BoutXYXBinYBin Dadas as Expressões 33 e 34 podemos implementar a lógica representativa para o circuito subtrator completo U3 Lógica combinacional 108 voto para o candidato 1 A mesma lógica é realizada para o candidato 2 o eleitor que preferir votar no candidato 2 deverá apertar a chave ou botão C2 que passará o bit A2 para o nível lógico 1 enquanto que os níveis lógicos B2 e Cin2 permanecem em 0 A Figura 39 mostra o circuito completo para o sistema desenvolvido Fonte adaptada de Floyd 2007 p 323 Figura 39 Sistema de votação utilizando somadores completos Vale salientar que o resistor da entrada de cada somador completo para o GND garante que cada entrada terá nível BAIXO quando a chave estiver na posição neutra lógica CMOS é usada Quando a chave é comutada para a posição S um nível ALTO Vcc é aplicado na entrada do somador completo Faça valer a pena 1 Os somadores são importantes circuitos para os computadores digitais ou sistemas microprocessados visto que umas das tarefas mais importantes executadas por esses sistemas é a operação da adição em números binários Para o somador completo qual é o nível lógico da saída de cada de cada porta se o nível lógico das entradas forem A 1 B 0 e Cin 1 a Σ 0 e Cout 0 b Σ 0 e Cout 1 c Σ 1 e Cout 0 d Σ 1e Cout 1 e Σ 1 e C out X U3 Lógica combinacional 109 2 Os circuitos combinacionais são responsáveis pelas operações aritméticas dentro de um sistema digital como computadores e calculadoras digitais que são conhecidos como circuitos aritméticos Dado o seguinte diagrama lógico Fonte elaborada pelo autor Figura 310 Diagrama lógico Podemos afirmar que o diagrama representa a Circuito meio somador b Circuito meio subtrator c Circuito somador completo d Circuito subtrator completo e Circuito multiplicador 3 Frequentemente em nossas tarefas do cotidiano nos cálculos científicos ou nos negócios é fundamental realizarmos operações aritméticas como a soma e a subtração Muitas vezes utilizamos as calculadoras digitais ou computadores para realizar essa atividade Ao fazermos isso estamos utilizando os circuitos aritméticos com lógica combinacional A respeito dos circuitos lógicos combinacionais podemos afirmar que I O nível lógico de saída depende apenas da combinação dos níveis lógicos presentes na entrada do circuito II Apresentam estabilidade ao circuito e elimina qualquer incerteza em relação aos resultados obtidos III Podem ser formados por portas lógicas básicas e flipflops Dadas as sentenças é correto afirmar que a Apenas I e II estão corretas b Apenas I e III estão corretas c Apenas II e III estão corretas d Todas estão corretas e Apenas I está correta U3 Lógica combinacional 110 Seção 32 Circuito comparador codificador e decodificador Na seção anterior demos início aos estudos dos diversos circuitos aplicados às nossas atividades utilizando os circuitos combinacionais Vimos que esse tipo de circuito pode ser empregado para realizar operações aritméticas como soma e subtração a partir das portas digitais que conhecemos na Unidade 2 Nesta seção daremos continuidade ao nosso estudo da lógica combinacional Veremos como os circuitos digitais podem ser aplicados para comparação entre os números binários especificando as desigualdades ou a igualdade entre eles Além disso conheceremos os circuitos classificados como codificadores e decodificadores que são empregados quando é necessário realizar a conversão ou passagem de um tipo de código para outro Esse tipo de circuito é amplamente utilizado para a lógica dos computadores digitais atuais Sendo assim para pôr esse conhecimento em prática devemos lembrar que você é o responsável técnico de uma pequena empresa de sistemas embarcados Após a implementação bemsucedida do sistema de votação seu chefe pediu que você desenvolvesse um sistema simplificado em que o usuário entre com um código de quatro bits que ele receberá em casa via email Esse código irá gerar a posição dele na fila de espera para que seja atendido em uma determinada empresa Além disso o código deve aparecer em um display para confirmação do usuário A empresa contratante tem por objetivo que cada funcionário tenha até nove atendimentos a serem realizados em espera em um determinado período de tempo Como podemos desenvolver esse sistema utilizando apenas os circuitos combinacionais Qual tipo de circuito devemos utilizar para esse desenvolvimento Pronto para mais este desafio Esperamos que esteja animado Desejamos bons estudos e um ótimo trabalho Diálogo aberto U3 Lógica combinacional 111 Não pode faltar Frequentemente em nosso cotidiano utilizamos o método de comparação para realizar alguma atividade Por exemplo para sabermos o peso de algum produto podemos realizar uma comparação entre o valor de um peso já conhecido com o que ainda não conhecemos e identificar se eles são iguais diferentes se são maiores ou menores Além disso nos sistemas cujo controle de temperatura é importante como nas indústrias químicas e aviárias é fundamental a comparação dos valores de temperatura medidos pelos sensores digitais a fim de manter o bom funcionamento dos processos A comparação entre as magnitudes de dois números binários para determinar a relação comparativa entre eles pode ser realizada através dos circuitos combinacionais do tipo comparador Em sua forma mais simples um circuito comparador determina se dois números são iguais Para isso é necessária a utilização da porta XOR ou OUExclusiva Lembrese A porta lógica XOR tem o nível lógico da saída 1 se os dois bits de entrada forem diferentes Contudo se os bits de entrada forem iguais o nível lógico de saída será 0 como mostra a Figura 311 Fonte adaptada de Floyd 2007 p 328 Figura 311 Lógica combinacional porta XOR Dessa forma se quisermos comparar n números binários de dois bits de cada é necessário utilizarmos n portas XOR Por exemplo se quisermos comparar dois números binários A e B de dois bits cada um A A 1 0 e B B 1 0 é necessária a utilização de duas portas XOR Os dois bits menos significativos LSBs B0 e B0 dos dois números U3 Lógica combinacional 112 são comparados pela porta X 0 e os bits mais significados MSBs A1 e B1 são comparados pela porta X1 como mostra Figura 312 FLOYD 2007 Fonte adaptada de Floyd 2007 p 328 Figura 312 Diagrama lógico comparador de igualdade entre dois números de dois bits Na Figura 312 note que a saída da porta XOR possui dois inversores Perceba que essa combinação de portas também é conhecida como porta XNOR como vimos na Unidade 1 Sendo assim se os dois números forem iguais ou seja se os bits correspondentes forem iguais o nível lógico da saída da porta lógica XOR será 1 e a porta AND terá sua saída também com nível lógico 1 Todavia quando os números forem diferentes ou se um dos pares dos bits correspondentes não forem iguais a saída lógica para uma das portas XNOR será 0 e por sua vez a saída para a porta AND também terá nível lógico 0 Portanto a saída da porta AND indica a igualdade caso o nível lógico da saída for 1 ou desigualdade caso o nível lógico for 0 entre os dois números binários de dois dígitos Vale ressaltar que esse comparador básico pode ser expandido para o número de bits que for necessário para comparação entre dois números O único ponto de atenção é que a quantidade de bits dos números a serem comparados devem ser iguais entre si Exemplificando Dados os conjuntos numérico binários A 1011 e B 0011 determine o diagrama lógico comparador básico de igualdade e a saída desse circuito U3 Lógica combinacional 113 Fonte elaborada pelo autor Fonte elaborada pelo autor Tabela 35 Tabela verdade do circuito meio comparador binário Figura 3 13 Diagrama lógico do comparador básico de quatro bits Além de comparar se os binários são iguais ou não ainda é possível por meio dos circuitos combinacionais verificar qual grandeza entre as comparadas é maior Isso é possível pelo uso dos circuitos combinacionais do tipo meio comparador binário ou circuito de desigualdade Esse tipo de comparador compara duas entradas com quantidades binárias como A e B e gera saídas para indicar qual delas é maior A B 0 0 ou B A 0 0 ou se são iguais Na prática nunca teremos dois desses casos sendo verdadeiros ao mesmo tempo Sendo assim a tabela verdade para esse tipo de circuito é representada pela Tabela 35 A partir da Tabela 35 podemos deduzir as seguintes expressões lógicas A B AB A B AB A B AB AB A B A partir dessas expressões lógicas podemos deduzir o diagrama lógico para o circuito meio comparador como mostra a Figura 314 Figura 314 Diagrama lógico do circuito meio comparador Fonte elaborada pelo autor U3 Lógica combinacional 115 Fonte elaborada pelo autor Fonte adaptada de Szanjberg 2014 p 263 Tabela 35 Tabela verdade para o circuito decodificador 2 para 4 Figura 315 Diagrama lógico de blocos do circuito decodificador 2 para 4 Assimile Um decodificador converte as informações binárias de n linhas de entradas para um máximo de 2n linhas únicas de saída Note na Figura 315 a presença da entrada adicional habilita ou Enable Esta quando em nível alto ou igual 1 determina que a entrada do decodificador esteja no estado ativado ou em outras palavras quando o habilita 1 ou E 1 a entrada está ativada ou habilitada para determinar as saídas especificadas pelo código dos bits de entrada Porém quando o habilita 0 ou E 0 a entrada do decodificador estará no estado desativado ou simplesmente U3 Lógica combinacional 116 desabilitada e não importa quais forem os bits de entrada Y X pois as saídas estarão sempre em nível baixo A partir da tabela verdade Tabela 36 é possível determinar o diagrama lógico desse decodificador como mostra a Figura 316 Fonte adaptada de Szanjberg 2014 p 264 Figura 316 Diagrama lógico para o decodificador 2 para 4 Reflita Em um CI decodificador de 2 para 4 é possível codificar apenas dois bits Contudo como seria se precisássemos codificar três bits Quantos CIs seriam necessários para essa situação Pesquise mais Diversas combinações de n linhas de entradas para um máximo de 2n linhas únicas de saída são possíveis a depender da aplicabilidade do circuito combinacional requerido por exemplo decodificador de 3 para 8 ou BCDdecimal Este último se caracteriza por ter quatro entradas e dez linhas de saída cuja aplicação é uma conversão bináriodecimal Para saber um pouco mais sobre esse tipo de decodificador acesse a seção 655 do livro U3 Lógica combinacional 117 Fonte adaptada de httpmacaocommunicationsmuseumporexhibitionsecondfloorMoreInfoDisplays html Acesso em 16 out 2017 Figura 317 Decodificador BCD Display de sete segmentos SZAJNBERG Mordka Eletrônica digital teoria componentes e aplicações 1 ed Rio de Janeiro LTC 2014 O livro também está disponível em nossa biblioteca virtual no site httpsbibliotecavirtualcomdetalhesparceiros5 Acesso em 20 out 2017 Dentre as possíveis aplicações dadas aos decodificadores uma das mais utilizadas é o decodificador de BCD para sete segmentos Este tipo de circuito aceita o código binário ou BCD como entrada podendo ativar um display de até sete segmentos de LEDs identificados como a b c d e f g como ilustrado na Figura 317 Nesse tipo de circuito as entradas BCD A B C D da Figura 317 são convertidas nas entradas dos setes segmentos a b c d e f g pelo uso do decodificador Cada segmento de saída representa um LED que pode ser acionado através da ligação do ânodo com uma fonte 5 volts permitindo assim escrever números de 0 a 9 e algumas letras ou sinais neste display ou mostrador Já um circuito codificador é um circuito lógico que realiza a operação inversa ao decodificador ou seja esse tipo de circuito aceita um nível ativo em uma de suas entradas representando um dígito tal como dígito decimal ou octal e o converte em uma saída codificada tal como binário Em outras palavras os codificadores convertem um determinado tipo de código em suas entradas para um outro formato codificado U3 Lógica combinacional 118 Dentre os tipos mais utilizados temos o codificador de decimal para BCD Esse tipo de codificador possui dez entradas uma para cada dígito decimal e quatro saídas para o código BCD Logo esse codificador é classificado como codificador 10 para 4 como mostra a Tabela 37 Fonte elaborada pelo autor Fonte adaptada de Floyd 2007 p 341 Figura 318 Símbolo lógico para o circuito codificador decimal para BCD Tabela 37 Tabela verdade circuito codificador de decimal para BCD O código para esse tipo de codificador é apresentado na Figura 318 Segundo Floyd 2007 a partir desse código podemos relacionar cada dígito decimal com o código BCD e verificar a lógica utilizada Por exemplo os dígitos 8 e 9 decimais possuem sempre o nível 1 para o bit mais significativo do código BCD Logo podemos representar a expressão OR para o bit A₄ em termos dos dígitos decimais como A₃ 8 9 O A₀ por sua vez pode ser escrito como A₀ 1 3 5 7 9 E assim sucessivamente para os outros códigos BCD resultando no diagrama lógico apresentado na Figura 319 Figura 319 Diagrama lógico decodificador decimal BCD Fonte adaptada de Floyd 2007 p 341 U3 Lógica combinacional 120 quatro bits que ele receberá em casa via email Esse código irá gerar a posição dele na fila de espera para que seja atendido em uma determinada empresa Além disso esse código deve aparecer em um display para confirmação do usuário A empresa contratante tem por objetivo que cada funcionário tenha até nove atendimentos a serem realizados em espera em um determinado período de tempo Como podemos desenvolver esse sistema utilizando apenas os circuitos combinacionais Qual tipo de circuito devemos utilizar para esse desenvolvimento Fonte elaborada pelo autor Figura 320 Circuito mostrador de posição Após uma revisão nos conceitos de decodificadores você percebeu que o problema é simples de ser solucionado ao utilizar um decodificador e um display de sete segmentos Como o código que o usuário recebe é formado por quatro bits representados no teclado por A B C e D estes são codificados ou convertidos em um código de sete bits de a até g que acenderão os LEDs em um display que mostra o número decimal da posição em que o usuário está na fila de espera Como cada funcionário pode acumular até nove atendimentos apenas um display é o suficiente para implementação desse sistema Logo utilizando apenas circuitos combinacionais você conseguiu resolver mais um simples problema Faça valer a pena 1 Os circuitos combinacionais são tipos de circuitos caracterizados por apresentar em qualquer instante de tempo o nível lógico da saída depende apenas da combinação dos níveis lógicos presentes na entrada do circuito U3 Lógica combinacional 121 2 A comparação entre as magnitudes de dois números binários para determinar a relação comparativa entre eles pode ser realizada através dos circuitos combinacionais do tipo comparadores Dados os números binários 01 e 10 determine qual circuito lógico combinacional pode realizar uma comparação entre os números e qual é o nível lógico presente na saída a b c nível lógico de saída 0 nível lógico de saída 0 nível lógico de saída 1 Sobre os circuitos combinacionais analise as seguintes afirmações I Podem ser utilizados para converter um tipo de código em suas entradas para um outro formato codificado II Podem ser utilizados para determinar se um número binário é maior ou menor que outro III Quando utilizados como decodificadores convertem as informações binárias de n linhas de entradas para um máximo de A3 8 9 linhas únicas de saída Dadas as sentenças é correto afirmar que a Apenas I e II estão corretas b Apenas I e III estão corretas c Apenas II e III estão corretas d Todas estão corretas e Apenas a I está correta U3 Lógica combinacional 122 d e a b c d e nível lógico de saída 1 nível lógico de saída 0 3 Os decodificadores são tipos de circuitos combinacionais que determinam uma saída especificada para cada combinação única de bits ou código de entradas Determine a melhor lógica necessária para decodificar o número binário 101 produzindo um nível alto na saída U3 Lógica combinacional 123 Seção 33 Circuitos multiplexado e demultiplexado Na seção anterior vimos os circuitos combinais aplicados para comparação entre números binários especificando as desigualdades ou igualdade entre eles Além disso conhecemos os circuitos classificados como codificadores e decodificadores empregados quando é necessário realizar a conversão ou passagem de um tipo de código para outro Nesta última seção referente aos circuitos combinacionais estudaremos detalhadamente sobre os circuitos multiplexadores e demultiplexadores Veremos como são formados e algumas aplicabilidades desse tipo de circuito digital muito utilizado em sistemas de comunicação Sendo assim para pôr este conhecimento em prática devemos lembrar que você é o responsável técnico de uma pequena empresa de sistemas embarcados Após a implementação bemsucedida de alguns projetos iniciais seu chefe solicitou que você desenvolvesse um sistema simples e financeiramente rentável de monitoração de segurança de um banco em que o estado aberto ou fechado de oito portas deve ser monitorado Cada porta controla o estado de uma chave e é necessário mostrar o estado de cada chave por meio de LEDs montados em um painel remoto de monitoração na sala de segurança Ao checar o almoxarifado você percebe que possui apenas CIs 74HC151 e 74HC138 que são referentes aos circuitos multiplexadores e demultiplexadores E agora como resolver mais essa situação Será possível utilizar a lógica combinacional para implementar esse sistema Pronto para mais esse desafio Desejamos bons estudos e um ótimo trabalho Diálogo aberto Não pode faltar Algumas vezes temos múltiplas entradas em nossos dispositivos eletrônicos e apenas uma única saída Por exemplo sistemas de amplificador de som modernos podem possuir chaves que U3 Lógica combinacional 124 selecionam músicas por diferentes fontes como bluetooth televisão sintonizador de rádio áudio de DVD uma ligação telefônica na qual há duas pessoas falando duas fontes de dados e apenas uma linha de transmissão Isso só é possível pelo uso dos multiplexadores Esse tipo de circuito combinacional também conhecido como seletor de dados tem a função de associar uma ou mais entradas de dados a uma saída singular Segundo Tocci 2011 um multiplexador ou Mux digital é um circuito lógico que recebe diversos dados digitais de entrada e seleciona um em determinado instante para transferilo para a saída O envio do dado de entrada desejado para a saída é controlado pelas entradas de seleção ou controle A Figura 321 mostra o diagrama funcional genérico de um circuito multiplexador Fonte adaptada de Tocci 2011 p 520 Figura 321 Diagrama funcional do mutilplexador O circuito multiplexador básico possui duas entradas I0 e I1 de dados Logo é necessário apenas uma linha de seleção S O nível lógico aplicado à chave seletora determina a porta AND a ser habilitada A resposta dessa porta lógica é enviada a uma porta OR para então o canal de dado selecionado ser expresso na saída Z como mostra a Figura 322 Fonte elaborada pelo autor Tabela 38 Tabela verdade do circuito Mux básico U3 Lógica combinacional 125 Fonte adaptada de Tocci 2011 p 521 Figura 322 Diagrama lógico do Circuito MUX básico Outro tipo de circuito multiplexador que encontramos na prática é o circuito com quatro entradas Para esse circuito são necessárias duas linhas de seleção pois com dois bits qualquer uma das quatro linhas de entrada de dados pode ser selecionada Assimile São necessárias n linhas de seleção para 2n dados de entrada em um circuito Mux Fonte elaborada pelo autor Tabela 39 Tabela verdade para o circuito Mux de 1 para 4 Fonte elaborada pelo autor Figura 323 Diagrama lógico para o circuito Mux de 1 para 4 Ao analisar a tabela apresentada na Figura 323a percebese que assim como no circuito anterior a entrada de seleção permite que uma determinada entrada seja selecionada Além disso a partir dessa tabela podemos deduzir as expressões lógicas para saída em termos da entrada de dados e das entradas de seleção A saída de dados é igual I₀ apenas se S₁ 0 e S₀ 0 logo I₀S₁S₀ Já para I₁ apenas se S₁ 0 e S₀ 1 logo I₁S₁S₀ Para I₂ apenas se S₁ 1 e S₀ 0 logo I₂S₁S₀ e por fim para I₃ apenas se S₁ 1 e S₀ 1 logo I₃S₁S₀ Esses termos podem então ser relacionados por uma porta OR resultando na expressão Z I₀S₁S₀ I₁S₁S₀ I₂S₁S₀ I₃S₁S₀ A implementação dessa equação requer quatro portas AND de três entradas uma porta OR de quatro entradas e dois inversores para girar a chave seletora como ilustra a Figura 323b U3 Lógica combinacional 127 Exemplificando Dado um sistema com quatro entradas determine o diagrama lógico para um circuito multiplexador com a entrada de habilitação E que é habilitada com nível lógico 0 em sua entrada Para um sistema com quatro entradas são necessários dois níveis lógicos para a chave seletora Como a entrada de habilitação tem nível lógico 0 a tabela verdade para esse sistema é ilustrada na Tabela 310 Fonte elaborada pelo autor Fonte elaborada pelo autor Tabela 3 10 Tabela de seleção para o circuito Mux 1 de 4 Figura 324 Diagrama lógico de circuito Mux 1 de 4 Assim como para o circuito mux de 1 de 4 sem entrada Habilita o diagrama lógico do processo será formado por quatro portas AND mas agora serão necessárias quatro entradas sendo uma a mais para representação da entrada E e uma porta OR também de quatro entradas Esse diagrama lógico é apresentado na Figura 324b e a equação é dada por Z overlineEL0S1S0 E1S1S0 EL1S0 EL1S1S0 EL3S1S0 Em algumas situações práticas temos mais entradas de dados do que permite um multiplexador real Nesses casos é possível combinar os multiplexadores para ajustar a quantidade de dados às entradas por meio da entrada habilita Suponha que você tem 16 fontes de dados diferentes como entrada e apenas CIs multiplexadores com oito entradas Como você poderia enviar esses dados em apenas um canal de comunicação Como os multiplexadores são de 16 entradas temos quatro chaves seletoras Além disso pela quantidade de fontes de dados que pode transmitir informações será necessário utilizar dois CIs multiplexadores como mostra Figura 325 Figura 325 Multiplexadores 8 para 1 combinados para formar multiplexador de 16 entradas Fonte elaborada pelo autor U3 Lógica combinacional 129 Nesta figura o circuito funciona como um multiplexador de 16 entradas As quatro entradas de seleção S S S S 3 2 1 0 selecionam uma das 16 fontes de dados para ser enviadas para a saída Z A entrada S3 determinará o multiplexador que será habilitado Quando s3 0 o multiplexador da parte superior é habilitado e S S S 2 1 0 determinam a entrada de dados que será transmitida para a saída passando pela porta OR até Z Quando S3 1 o multiplexador da parte inferior é habilitado e S S S 2 1 0 selecionam uma das entradas de dados que serão enviadas à saída Assim é possível ajustar os multiplexadores à quantidade de fontes de entrada necessárias Os circuitos combinacionais demultiplexador Demux realizam a operação inversa ao mux Os circuitos classificados como demux recebem uma única entrada e a distribuem para várias entradas Em outras palavras esse tipo de circuito recebe informações digitais a partir de uma linha e as distribui para um determinado número de linhas de saída Por essa razão o demultiplexador também é conhecido como distribuidor de dados A Figura 326 mostra o diagrama funcional genérico de um circuito demultiplexador Fonte elaborada pelo autor Figura 326 Diagrama funcional do demutilplexador A Figura 327 ilustra um diagrama lógico de um demultiplexador de uma linha para quatro linhas A linha de entrada de dados está conectada nas quatro portas AND As duas linhas de seleção de dados habilitam uma porta de cada vez e os dados que aparecem na linha de entrada de dados passam através da porta selecionada para a linha de saída de dados associada U3 Lógica combinacional 130 Fonte elaborada pelo autor Figura 327 Demultiplexador de uma para quatro linhas Exemplificando Considerando a forma de onda de entrada de dados em série e as entradas de seleção de dados S0 e S1 determine as formas de onda de saída de dados para um demutiplexador de quatro linhas de saída Fonte Floyd 2011 Figura 325 Multiplexadores 8 para 1 combinados para formar multiplexador de 16 entradas Note que as linhas das entradas de seleção obedecem a uma sequência binária de forma que cada bit sucessivo de entrada é direcionado para D D D 0 1 2 e D3 na sequência como mostra a Figura 328 U3 Lógica combinacional 131 Reflita Agora que já conhecemos os demux e os decodificadores apresentados na Seção 2 desta unidade podemos dizer que um decodificador pode ser usado como um demultiplexador De que forma Sem medo de errar Você é o responsável técnico de uma empresa de sistemas embarcados e seu chefe solicitou que você desenvolvesse um sistema simples e financeiramente rentável de monitoração de segurança de um banco em que o estado aberto ou fechado de oito portas deve ser monitorado Cada porta controla o estado de uma chave e é necessário mostrar o estado de cada chave por meio de LEDs montados em um painel remoto de monitoração na sala de segurança Ao checar o almoxarifado você percebe que possui apenas CIs 74HC151 e 74HC138 que são referentes aos circuitos multiplexadores e demultiplexadores E agora como resolver mais essa situação Será possível utilizar a lógica combinacional para implementar esse sistema Existem algumas formas de implementar o sistema Uma delas seria levar o sinal da chave de cada porta até o LED no painel de monitoração na sala de segurança Contudo isso exigiria a instalação de grande quantidade de fios por uma longa distância o que tornaria o seu projeto financeiramente inviável dadas as condições do projeto Uma outra solução mais adequada e financeiramente mais atrativa seria utilizar uma combinação multiplexadordemultiplexador interligado por uma porta AND como mostra a Figura 329 U3 Lógica combinacional 132 Fonte adaptada de Tocci 2011 p 532 Figura 329 Sistema de monitoração de segurança Nesse circuito as oito portas do banco são as entradas do circuito Mux Elas irão gerar nível lógico 1 quando abertas e nível lógico 0 quando fechadas O contador será responsável por gerar as entradas das chaves seletoras do Mux e Demux Cada saída do circuto demux estará ligada ao painel de LEDs indicador que acenderá quando a saída estiver em nível baixo Cada número do contador será invertido pelo Mux e passará para a saída invertida Z Essa saída será transmitida para a entrada Demux que passará a saída correspondente Supondo que o contador esteja na contagem 001 e considerando que a porta está fechada o nível baixo da entrada I1 passará pelo Mux e será invertido para produzir Z Este em nível alto passará pelo Demux de modo que o LED 1 apagará sinalizando que a porta está fechada Faça valer a pena 1 Os circuitos combinacionais são tipos de circuitos caracterizados por em qualquer instante de tempo O nível lógico da saída depende apenas da combinação dos níveis lógicos presentes na entrada do circuito Sobre os circuitos combinacionais podemos afirmar que I Podem ser utilizados para transmitir dados de várias fontes em um único canal de transmissão U3 Lógica combinacional 133 2 Um multiplexador ou Mux digital é um circuito lógico que recebe diversos dados digitais de entrada e seleciona um em determinado instante para transferilo para a saída Em um circuito multiplexador de 1 para 4 sendo I I I I S 0 1 2 3 0 0 0 1 1 1 e S1 0 qual é o nível lógico da saída a 10 b 01 c Não importa d 1 e 0 3 Um multiplexador ou Mux digital é um circuito lógico que recebe diversos dados digitais de entrada e seleciona um em determinado instante para transferilo para a saída O envio do dado de entrada desejado para a saída é controlado pelas entradas de seleção ou controle Se um multiplexador pode comutar 64 entradas de dados para sua saída quantas entradas diferentes tem esse MUX a 32 b 6 c 5 d 16 e 4 II Quando utilizados como multiplexadores são necessários n números de entrada de seleção para 3n número de linhas de entrada III Quando utilizados como demultiplexadores o circuito recebe informações digitais a partir de uma linha e as distribui para um determinado número de linhas de saída Dada as sentenças é correto afirmar que a Apenas I e II estão corretas b Apenas I e III estão corretas c Apenas II e III estão corretas d Todas estão corretas e Apenas I está correta U3 Lógica combinacional 134 Referências FLOYD Thomas L Sistemas digitais fundamentos e aplicações 9 ed Porto Alegre Bookman 2007 GÜNTZEL José Luís A NASCIMENTO Francisco Assis do Circuitos combinacionais Universidade Federal de Santa Catarina UFSC 2001 Disponível em httpwwwinf ufscbrjguntzelisdisd3pdf Acesso em 15 out 2017 SZANJBERG Mordka Eletrônica digital teoria componentes e aplicações Rio de Janeiro LTC 2014 TEXAS Instruments 54LS85DM54LS85DM74LS85 4Bit magnitude comparators Texas Instruments 1989 Disponível em httpswwwengtauacilshavittcourses DigLogSys74LS85pdf Acesso em 16 out 2017 TOCCI Ronald J Sistemas digitais princípios e aplicações 11 ed São Paulo Pearson Prentice Hall 2011 Unidade 4 Lógica sequencial Convite ao estudo Na unidade anterior estudamos circuitos lógicos combinacionais Nesta unidade conheceremos os circuitos lógicos sequenciais Um circuito sequencial difere de um combinacional pela presença de memória e de uma ou mais malhas de realimentação Os sinais de controle nos circuitos sequenciais são gerados sequencialmente e se relacionam não somente com as funções de entrada presentes mas também com os estados anteriores do sistema armazenado pela memória Os estados são fornecidos justamente pelas vias de realimentação saídaentrada Logo a saída de um sistema sequencial em qualquer instante depende da entrada presente e das condições dos sinais da entrada no passado Nesse contexto vamos pensar na seguinte situação você é proprietário de uma empresa de desenvolvimento de projetos de sistemas de automação No seu dia a dia você costuma criar novos projetos e também realiza a manutenção de produtos que você já vendeu para os clientes Para que você continue desempenhando essa tarefa com qualidade e domínio fique atento aos conceitos que serão apresentados nesta unidade Pronto para mais um desafio Esperamos que sim Bons estudos U4 Lógica sequencial 136 Seção 41 Latches e flipflops Esta seção começa com o estudo dos fundamentos da lógica sequencial Nela serão abordados os dispositivos lógicos biestáveis que são o latch e o flipflop Os dispositivos biestáveis são dispositivos de armazenamento temporário que têm dois estados estáveis chamados SET e RESET A diferença básica entre latches e flipflops é a forma com que eles comutam de um estado para o outro O flipflop é a unidade básica para construção de contadores registradores e outras lógicas de controle sequencial e é usado em certos tipos de memórias Retomando o contexto apresentado no início da unidade você é o dono de uma empresa de desenvolvimento de projetos de sistemas de automação Você costuma trabalhar tanto criando quanto analisando outros projetos e recebeu para análise um projeto de um controle que não está funcionando adequadamente Em uma primeira análise você isolou a parte do circuito que está com defeito tratase de um latch SR utilizado para eliminar oscilações devido ao contato de uma chave mecânica do controle Segundo Floyd 2007 quando a chave é acionada fechando um contato esse contato vibra fisicamente oscilando por algum tempo antes de estabilizar Embora isso ocorra em um intervalo relativamente curto as oscilações produzem picos de tensão em geral não aceitáveis em circuitos digitais Essa situação é ilustrada na Figura 41 Diálogo aberto Fonte Floyd 2007 p 391 Figura 41 Situação de repique U4 Lógica sequencial 137 Fonte Tocci Widmer e Moss 2011 p 183 Figura 42 Circuito para eliminar o repique Um latch feito com portas NAND ou OR negativa pode ser usado para eliminar os efeitos do repique de uma chave como mostra a Figura 42 Ao testar o circuito você percebe que ele funciona corretamente quando a chave está na posição B porém quando a chave é colocada na posição A a saída Q não vai para o estado 1 conforme era esperado Quais são as possíveis causas para esse mau funcionamento Para auxiliálo com essa análise vamos aprender sobre latches e flipflops Está preparado Desejamos bons estudos e ótimo trabalho Não pode faltar Os circuitos lógicos sequenciais são dispositivos biestáveis isto é podem ter suas saídas alocadas em dois estados básicos uma no nível lógico ALTO ou 1 e outra no nível lógico BAIXO ou 0 permanecendo trancados latched indefinidamente até que outro sinal ou pulso aplicado na entrada apropriada cause a mudança desses estados nível 1 para 0 e nível 0 para 1 Segundo Floyd 2007 um latch é um tipo de dispositivo lógico de armazenamento temporário que tem dois estados estáveis e por isso é chamado de biestável ou multivibrador Um latch SR SET RESET com entrada ativa em nível ALTO é composto de duas portas NOR com acoplamento cruzado conforme pode ser visto na Figura U4 Lógica sequencial 138 43a Um latch SR com entrada ativa em nível BAIXO por sua vez é composto por duas portas NAND com acoplamento cruzado conforme pode ser visto na Figura 43b Fonte elaborada pelo autor Figura 43 Latch SR a com entrada ativa em nível ALTO b com entrada ativa em nível BAIXO a b Para entendermos o funcionamento de um latch vamos considerar o latch SR composto por portas NOR da Figura 43a De acordo com o funcionamento de uma porta NOR de duas entradas podemos dizer que o nível lógico 0 em uma das entradas faz com que a saída seja a outra entrada complementada Já o nível lógico 1 em uma das entradas força a saída a permanecer no estado lógico 0 Lembrese Vamos recordar a tabela verdade da porta NOR na Tabela 41 Fonte elaborada pelo autor Tabela 41 Tabela verdade da porta NOR A B NOR 0 0 1 0 1 0 1 0 0 1 1 0 U4 Lógica sequencial 139 O latch mostrado na Figura 43a tem duas entradas S e R e duas saídas Q e Q Vamos iniciar considerando que as duas entradas e a saída Q estão no nível lógico 0 Como a saída Q é conectada de volta na entrada da porta P2 e a entrada S está no nível 0 a saída Q vai para o nível 1 Essa saída é acoplada de volta na entrada da porta P1 garantindo que sua saída seja 0 como mostrado na Figura 44a Quando a saída Q é 0 o latch está no estado de RESET e permanece nesse estado indefinidamente até que um nível 1 seja aplicado na entrada S Com a entrada S igual a 1 a saída da porta P2é forçada para 0 O acoplamento entre as portas faz com que uma entrada da porta P1 seja 0 Como a entrada R está no nível 0 então a saída Q é levada para o nível 1 e o acoplamento entre as portas garante que a saída Q seja 0 como pode ser visto na Figura 44b O nível 1 na saída Q de fato garante que a saída Q seja 0 mesmo quando o nível 1 da entrada S seja removido como pode ser visto na Figura 44c Quando a saída Q é 1 o latch está no estado de SET até que um nível 1 seja aplicado na entrada R Fazendo a entrada R igual a 1 a saída Q é levada novamente para 0 o acoplamento entre as portas e o fato de que a entrada S está no nível 0 fazem com que a saída Q seja levada para 1 como vemos na Figura 44d Como podemos notar o latch foi levado novamente para o estado RESET pois mesmo quando a entrada R volta para o nível 0 a saída Q mantémse no nível 0 como pode ser visto na Figura 44e que é exatamente igual à Figura 44a Figura 44 Modos de operação do latch SR básico a b R0 R0 S0 S1 Q1 Q1 Q1 Q0 P1 P1 P2 P2 U4 Lógica sequencial 140 Fonte elaborada pelo autor c e d Quando as duas entradas S e R são colocadas no nível lógico 1 ao mesmo tempo tanto a saída Q quanto Q são forçadas para 0 Figura 45a violando a condição básica de complementaridade entre essas duas saídas Mas o problema mais sério ocorre quando tornamos as entradas S e R 0 novamente Nesse caso é possível que as duas entradas retornem ao valor 0 simultaneamente Quando isso ocorre as portas P1 e P2 terão em todas as suas entradas o nível lógico 0 fazendo com que suas saídas mudem para 1 como mostrado na Figura 45b No entanto as portas são realimentadas com as saídas que estão agora no nível lógico 1 forçando as saídas para 0 como vemos na Figura 45c Os níveis 1 nas portas levarão as saídas para 1 e esse ciclo se repetirá criando um estado oscilatório no latch No entanto a oscilação não é uma característica desejável em um bloco de armazenamento de memória R0 R0 R1 S0 S0 S0 Q1 Q0 Q0 Q0 Q1 Q1 Q0 P1 P1 P1 P2 P2 P2 U4 Lógica sequencial 141 Fonte elaborada pelo autor Figura 45 Oscilação devido ao estado inválido no latch SR básico a b c Assimile De modo similar à tabela verdade do sistema combinacional a tabela de estado enumera as entradas e saídas com colunas adicionais para os estados presentes e seguintes do circuito sequencial como podemos ver na Tabela 42 para o latch SR A tabela excitação por sua vez lista os valores das entradas do circuito sequencial bem como as mudanças entre os estados presentes e seguintes como é visto na Tabela 43 para o latch SR Fonte elaborada pelo autor Tabela 42 Tabela de estado do latch SR S R Q t Q t 1 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 Indefinido 1 1 1 Indefinido Q0 Q0 Q0 Q1 Q0 Q1 Q0 Q0 Q0 Q1 Q0 Q1 P1 P1 P1 P2 P2 P2 S1 S0 S0 R1 R0 R0 U4 Lógica sequencial 142 Fonte elaborada pelo autor Tabela 43 Tabela excitação do latch SR S R Q t 1 Estado 0 0 Q t Repouso 0 1 0 RESET 1 0 1 SET 1 1 Inválido A tabela excitação é geralmente usada no projeto e síntese de circuitos sequenciais Os símbolos lógicos para os latches com entradas ativas em nível ALTO e entradas ativas em nível BAIXO são mostrados na Figura 46 Fonte elaborada pelo autor Figura 46 Símbolo lógico para o latch a SR com entradas ativas em nível ALTO b SR com entradas ativas em nível BAIXO a b Pesquise mais O latch SR com portas NAND tem funcionamento idêntico ao do latch SR porém sua entrada é ativada em nível BAIXO Para uma análise de funcionamento semelhante à feita aqui para o latch SR consulte a seção 71 do livro Sistemas digitais Fundamentos e aplicações FLOYD 2007 disponível na nossa biblioteca virtual httpsbibliotecavirtual comdetalhesparceiros5 Acesso em 30 out 2017 Em um latch controlado a transição entre os estados ocorre somente sob a ação da subida de um pulso em uma entrada de habilitação EN essa entrada também pode ser chamada de gatilho e portanto a letra G também pode ser usada para indicar essa entrada Q Q S S R R Q Q R S U4 Lógica sequencial 143 O diagrama lógico e o símbolo lógico para um latch SR controlado podem ser vistos na Figura 47 Fonte elaborada pelo autor Fonte elaborada pelo autor Figura 47 Latch SR controlado a diagrama lógico b símbolo lógico Figura 48 Funcionamento do latch SR controlado a b Exemplificando As entradas S e R controlam o estado para o qual o latch irá quando um nível ALTO é aplicado na entrada EN O latch não mudará de estado enquanto EN estiver em nível BAIXO Porém durante todo o tempo em que essa entrada permanecer em nível ALTO a saída é determinada pelos estados das entradas S e R Nesse circuito o estado inválido ocorre quando S e R tiverem simultaneamente nível ALTO Um exemplo de diagrama de tempo do latch SR controlado pode ser visto na Figura 48 Os gráficos com nível lógico versus tempo fornecem não só uma representação visual do desenvolvimento de sinais no tempo mas também uma demonstração gráfica de comparação entre sinais em vários pontos de um circuito de chaveamento Os diagramas de tempo são muito usados em sistemas sequenciais S R EN Q Q Q Q S EN R S R EN Q U4 Lógica sequencial 144 O latch D é um outro tipo de latch controlado Ele teve sua origem devido à necessidade de se evitar no latch SR a ocorrência do estado proibido Por isso o latch D tem apenas uma entrada além da EN A entrada mencionada é denominada de entrada D dado O diagrama lógico e o símbolo lógico para um latch D são mostrados na Figura 49 Fonte elaborada pelo autor Figura 49 Latch D controlado a diagrama lógico b símbolo lógico a b Quando a entrada D for de nível ALTO e a entrada EN for de nível ALTO o latch será levado para o estado SET Quando a entrada D for de nível BAIXO e a entrada EN for de nível ALTO o latch será levado para o estado RESET Dito de outra forma a saída Q segue a entrada D quando EN for de nível ALTO Em lógica sequencial temos dois modos básicos de operação assíncrono e síncrono No modo assíncrono os circuitos que constituem o sistema funcionam com tempos independentes entre si Os estados de saída são gerados imediatamente após a aplicação dos sinais de entrada controlados pela realimentação direta usando estritamente os retardos de propagação dos decodificadores do estado seguinte Os latches são um exemplo de dispositivo assíncrono No modo síncrono os flipflops são chaveados por um trem de pulsos denominado relógio do sistema ou como é internacionalmente conhecido clock do sistema system clock ou simplesmente clock O clock representa o sinal de comando de um sistema sequencial e consiste em um sinal digital permanente geralmente de alta frequência A Figura 410 traz um exemplo de um sinal de clock A seta evidencia qual borda é utilizada para acionar o flipflop D D EN EN Q Q Q Q U4 Lógica sequencial 145 Fonte elaborada pelo autor Fonte adaptada de Floyd 2007 p 394 Figura 410 Trem de pulsos de um sinal de clock a borda positiva b borda negativa Figura 411 Símbolos lógicos de flipflops disparados por borda a SR b D c JK a a b c b Quando um um latch controlado é adaptado para funcionar de maneira síncrona ele passa a ser chamado de flipflop SR disparado por borda Apresentaremos a seguir três tipos de flipflops disparados por borda SR D e JK Na prática o flipflop SR não está disponível na forma de CI mas ele é a base para os flipflops D e JK por isso é importante entendermos o seu funcionamento A Figura 411 traz os símbolos lógicos para esses flipflops O pequeno triângulo dentro do bloco indica a entrada de clock C e é denominado indicador de entrada dinâmica Os flipflops podem ser disparados tanto na borda positiva parte superior da figura quanto na negativa parte inferior da figura indicados pelo pequeno círculo na entrada C FLOYD 2007 No flipflop SR disparado por borda Figura 411a as entradas S e R são denominadas síncronas uma vez que os bits nas entradas são transferidos para a saída do flipflop apenas na borda de disparo do pulso de clock Quando SR 10 somente na borda de disparo do pulso de clock é que o flipflop será levado para o estado SET com a saída Q 1 Q Q Q Q Q Q Q Q Q Q Q Q S S J J D D C C C C C C R R K K U4 Lógica sequencial 146 O mesmo ocorre quando SR 01 a saída somente será Q 0 na próxima borda de disparo do pulso de clock estando o flipflop no estado RESET Quando SR 00 a saída não muda de estado permanecendo no estado anterior O mesmo fenômeno oscilatório descrito para o latch SR ocorre para o flipflop quando SR 11 por isso essa condição é considerada inválida Reflita Agora que você conhece o funcionamento do latch SR controlado e do flipflop SR qual é exatamente a diferença entre esses dois dispositivos A Tabela 44 traz a tabela de excitação do flipflop SR disparado por borda positiva Lembrese o flipflop somente muda de estado na borda de disparo de um pulso de clock portanto qualquer alteração nas entradas do flipflop não alteram o seu estado com exceção do pequeno intervalo em torno da transição do clock Fonte elaborada pelo autor Tabela 44 Tabela excitação do flipflop SR disparado por borda positiva S R C Q t 1 Estado 0 0 X Q t Repouso 0 1 0 RESET 1 0 1 SET 1 1 Inválido Na Figura 412a é possível ver uma implementação simplificada de um flipflop SR disparado por borda Usaremos essa implementação para demonstrar o conceito de disparo por borda O flipflop SR difere do latch SR controlado apenas pelo fato de que o primeiro possui um detector de transição de pulso FLOYD 2007 Um exemplo básico de detector de transição de pulso é mostrado na Figura 412b U4 Lógica sequencial 147 Fonte adaptada de Floyd 2007 p 397 Figura 412 Disparo por borda a diagrama lógico simplificado do flipflop SR disparado por borda positiva b exemplo de detector de transição de pulso a b Esse tipo de detector de transição de pulso faz uso do atraso ocasionado pela primeira porta inversora Assim o pulso de clock invertido chega alguns nanosegundos depois na porta NAND em relação ao pulso original Esse circuito produz um pico de duração muito curta na transição positiva do pulso de clock Em um flipflop disparado pela borda negativa o sinal do clock é invertido primeiro produzindo um pico na borda negativa Os flipflops D e JK são comercializados na forma de CI e são mais amplamente usados que o tipo SR No entanto eles são derivados do flipflop SR O flipflop D Figura 411b é usado quando um único bit de dado 1 ou 0 deve ser armazenado Um flipflop D básico é obtido através de um flipflop SR invertendo a entrada S e conectando esse sinal à entrada R como pode ser visto na Figura 413 Observe que esse tipo de flipflop possui apenas uma entrada além do clock Caso a entrada D seja 1 quando um pulso de clock é aplicado o flipflop irá para o estado SET e o nível 1 da entrada será armazenado pelo flip flop Caso exista um nível 0 na entrada D quando um pulso de clock seja aplicado o flipflop irá para o estado RESET e o nível 0 da entrada será armazenado pelo flipflop Q Q S Detector de transição de pulso Pulso curto produzido pelo atraso Atraso CLK CLK R U4 Lógica sequencial 148 Fonte elaborada pelo autor Figura 413 Flipflop D disparado por borda positiva A tabela de excitação do flipflop D disparado por borda positiva pode ser vista na Tabela 45 A operação de um dispositivo disparado por borda negativa é evidentemente a mesma exceto que o disparo ocorre na borda de descida do pulso de clock Lembrese a saída Q segue a entrada D na borda ativa ou de disparo do clock Fonte elaborada pelo autor Tabela 45 Tabela excitação do flipflop D disparado por borda positiva D C Q t 1 Estado 0 0 RESET 1 1 SET O flipflop JK Figura 411c é versátil e amplamente usado O flipflop JK funciona da mesma forma que o flipflop SR nas condições de operação de SET RESET e repouso A diferença entre os dois é que o flipflop JK não possui um estado inválido como acontece com o flipflop SR A Figura 414 mostra a lógica interna básica para um flipflop JK disparado por borda Note que a saída Q é conectada de volta na entrada da porta P2 e a saída Q é conectada de volta na entrada da porta P1 As duas entradas de controle são denominadas J e K em homenagem a Jack Kilby inventor do circuito integrado FLOYD 2007 Q Q S C D CLK R U4 Lógica sequencial 149 Fonte elaborada pelo autor Figura 414 Diagrama lógico simplificado para um flipflop JK disparado por borda positiva Fonte elaborada pelo autor Tabela 46 Tabela excitação do flipflop JK disparado por borda positiva J K C Q t 1 Estado 0 0 Q t Repouso 0 1 0 RESET 1 0 1 SET 1 1 Q t Toggle Um flipflop JK também pode ser do tipo disparado por borda negativa caso no qual a entrada de clock é invertida A operação lógica do flipflop JK é a mesma que a do tipo SR para as condições de SET e RESET A diferença ocorre quando as entrada J e K estiverem ambas em nível ALTO Para entender isso considere que o flipflop esteja no estado de RESET O nível lógico 1 em Q habilita a porta P1 assim uma transição no clock leva o flip flop para o estado SET de modo que agora existe um nível 1 em Q permitindo que a próxima transição do clock passe através da porta P2 e resete o flipflop Podemos notar que a cada transição sucessiva do clock o flipflop muda para o estado oposto ao anterior Esse estado é denominado toggle comutação A Tabela 46 traz a tabela de excitação do flipflop JK disparado por borda positiva Observe que não existe estado inválido como ocorre com o flipflop SR A tabela de excitação para um dispositivo disparado por borda negativa é idêntica a essa tabela exceto que o flipflop é disparado na borda de descida do pulso de clock U4 Lógica sequencial 150 Um flipflop JK conectado para o modo toggle é denominado algumas vezes de flipflop T e tem a tabela de excitação mostrada na Tabela 47 Fonte elaborada pelo autor Tabela 47 Tabela excitação do flipflop T disparado por borda positiva T C Q t 1 Estado 0 Q t Repouso 1 Q t Toggle Pesquise mais Para saber mais sobre isso leia a Seção 73 do livro Sistemas digitais fundamentos e aplicações FLOYD 2007 Para mais detalhes sobre o funcionamento dos latches e flipflops leia a seção 71 do livro Eletrônica digital teoria componentes e aplicações SZAJNBERG 2014 Ambos os materiais estão disponíveis na nossa biblioteca virtual https bibliotecavirtualcomdetalhesparceiros5 Acesso em 30 out 2017 O desempenho os requisitos de operação e as limitações dos flipflops são especificados por diversas características de operação ou parâmetros encontrados nas folhas de dados dos dispositivos Geralmente essas especificações são aplicáveis a todos os flipflops CMOS e TTL FLOYD 2007 p 406 Sem medo de errar Você é o dono de uma empresa de desenvolvimento de projetos de sistemas de automação e recebeu para análise um projeto de um controle que não está funcionando adequadamente Você já isolou a parte defeituosa tratase de um latch SR para eliminar o repique em uma chave eletrônica O circuito em questão é repetido na Figura 415 U4 Lógica sequencial 151 Fonte Tocci Widmer e Moss 2011 p 183 Figura 415 Circuito para eliminar o repique As saídas desse latch controlam a passagem de um sinal formado por pulsos retangulares com frequência de 1 kHz por meio das saídas X A e XB das portas AND Quando a chave é colocada na posição A o latch é setado Q 1 Isso habilita os pulsos de 1 kHz a chegarem à saída X A enquanto o nível BAIXO em Q mantém XB 0 Quando a chave é colocada na posição B o latch é resetado Q 0 mantendo X A 0 enquanto o nível ALTO em Q habilita a passagem dos pulsos para XB Você percebeu que quando a chave está na posição B o circuito funciona corretamente porém com a chave na posição A a saída Q não vai para o estado 1 conforme era esperado Existem algumas possibilidades de problema 1 Circuito aberto internamente em Z11 que impediria que a saída Q respondesse à entrada SET 2 Falha em um componente interno da porta NAND Z1 que impediria que ela funcionasse corretamente 3 A saída Q está fixa em nível BAIXO Isso pode ser causado por a Z13 em curto interno com GND b Z14 em curto interno com GND c Z22 em curto interno com GND d A saída Q em curto externo com GND Uma verificação com ohmímetro medindose entre a saída Q e GND determinará a existência de qualquer uma dessas condições U4 Lógica sequencial 152 apresentadas e uma verificação visual pode revelar algum curto externo Um curto interno ou externo entre Q e VCC é descartado pois se Q estivesse em curto com VCC isso não evitaria que a saída Q fosse levada para nível ALTO quando a entrada SET fosse para nível BAIXO Como a saída Q não está indo para nível ALTO esse não é o defeito O motivo que faz com que a saída Q esteja fixa em nível ALTO é a saída Q estar fixa em nível BAIXO mantendo a saída Q em nível ALTO por meio da porta NAND na parte inferior do diagrama Faça valer a pena 1 Um latch é um tipo de dispositivo lógico de armazenamento temporário que tem dois estados estáveis e por isso é chamado de biestável ou multivibrador Um latch SR com entrada ativa em nível BAIXO é composto por duas portas NAND com acoplamento cruzado conforme indicado na Figura 416 Considere que as formas de onda de S e R mostradas na Figura 417 são aplicadas nas entradas do latch visto na Figura 416 Determine os valores da saída Q nos instantes t1 t2 t3 t4 t5 e t6 e assinale a alternativa que contém a sequência correta Fonte elaborada pelo autor Fonte elaborada pelo autor Figura 416 Aspecto construtivo do Latch SR Figura 417 Formas de onda de entrada U4 Lógica sequencial 153 2 Em um latch controlado a transição entre os estados ocorre somente sob a ação da subida de um pulso em uma entrada de habilitação EN O diagrama lógico para um latch SR controlado é mostrado na Figura 418 3 No flipflop SR disparado por borda as entradas são denominadas síncronas uma vez que os dados nas entradas são transferidos para a saída do flipflop apenas na borda de disparo do pulso de clock Considere que as formas de onda de S R e EN mostradas na Figura 419 são aplicadas nas entradas do latch visto na Figura 418 Determine os valores da saída Q nos instantes t1 t2 t3 t4 t5 e t6 e assinale a alternativa que contém a sequência correta a 010110 b 110011 c 101010 d 101001 e 010101 a 010110 b 000010 c 111101 d 101001 e 101010 Fonte elaborada pelo autor Fonte elaborada pelo autor Figura 418 Diagrama lógico para o latch SR controlado Figura 419 Formas de onda de entrada U4 Lógica sequencial 154 Um exemplo básico de detector de transição de pulso é mostrado na Figura 420 Considerando esse contexto avalie as seguintes asserções e a relação proposta entre elas I Esse tipo de detector de pulso faz uso do atraso ocasionado pela primeira porta inversora para produzir um pico de duração muito curta na transição positiva do pulso de clock PORQUE II O pulso de clock invertido chega alguns nanosegundos depois na porta NAND em relação ao pulso original A respeito dessas asserções assinale a alternativa correta a As asserções I e II são proposições verdadeiras e a II é uma justificativa da I b As asserções I e II são proposições verdadeiras e a II não é uma justificativa da I c A asserção I é uma proposição verdadeira e a II é uma proposição falsa d A asserção I é uma proposição falsa e a II é uma proposição verdadeira e As asserções I e II são proposições falsas Fonte adaptada de Floyd 2007 p 397 Figura 420 Detector de transição de pulso U4 Lógica sequencial 155 Seção 42 Contadores e registradores Os flipflops podem ser utilizados para realizar operações de contagem Esse arranjo com flipflops recebe o nome de contador A quantidade de flipflops usada e a forma como eles são combinados determinam o número de estados e a sequência específica de estados que o contador percorre durante um ciclo completo Os registradores de deslocamento são um tipo de circuito lógico muito parecido com os contadores digitais Os registradores são geralmente usados para armazenamento de dados digitais e não possuem uma característica interna de sequência de estado como os contadores Relembrando você é o dono de uma empresa de desenvolvimento de projetos de sistemas de automação e dessa vez sua empresa foi recentemente contratada por um pequeno shopping local para desenvolver um sistema de controle de estacionamento de veículos O problema consiste em fazer um projeto de monitoração dos espaços disponíveis numa centena de vagas num estacionamento e prover a sinalização da condição de lotado através de uma indicação luminosa e abaixando a cancela na entrada Para auxiliálo com esse projeto vamos aprender mais sobre o uso de flipflops como contadores e registradores de deslocamento Diálogo aberto Os contadores podem ser classificados como assíncronos ou síncronos de acordo com a maneira como eles recebem os pulsos de clock Dentro dessas categorias os contadores podem ainda ser classificados pela sequência com a qual percorrem os estados pelo número de estados ou pelo número de flipflops no contador Nos contadores assíncronos o primeiro flipflop recebe um sinal de clock externo e cada flipflop subsequente recebe o clock através da saída do flipflop anterior Não pode faltar U4 Lógica sequencial 156 A Figura 420a mostra um contador binário de dois bits conectado para operação assíncrona Os flipflops são conectados para operação toggle J 1 e K 1 e o clock CLK é aplicado na entrada de clock C apenas do primeiro flipflop FF0 que é o bit menos significativo LSB O segundo flipflop FF1 é disparado pela saída Q0 do FF0 Enquanto o FF0 muda de estado na borda positiva de cada pulso de clock o FF1 muda apenas quando disparado por uma transição positiva da saída Q0 do FF0 Uma vez que há o tempo de atraso de propagação inerente dos flipflops a transição do pulso de clock CLK de entrada e a transição da saída Q0 do FF0 nunca podem mudar exatamente ao mesmo tempo Portanto os dois flip flops nunca são disparados simultaneamente FLOYD 2007 Por isso a operação do contador é assíncrona Fonte adaptada de Floyd 2007 p 444 Figura 420 Contador binário assíncrono de dois bits a esquema de montagem b diagrama de temporização a b A Figura 420b ilustra as mudanças de estado nas saídas dos flip flops em resposta aos pulsos de clock Por questões de simplicidade as transições de Q0 e Q1 para os pulsos do clock são mostradas como eventos simultâneos mas sabemos que existe um pequeno atraso entre as transições do clock e Q0 e entre as transições de Q0 e Q1 A sequência dos estados do contador realiza uma sequência de números binários conforme listada na Tabela 48 U4 Lógica sequencial 157 Fonte elaborada pelo autor Tabela 48 Sequência de estados binários para o contador de dois bits assíncrono CLK Q1 Q0 Valor inicial 0 0 1 0 1 2 1 0 3 1 1 4 recicla 0 0 O contador da Figura 420a conta de fato os pulsos de clock até três e no quarto pulso ele recicla seu estado para o estado inicial Q0 0 Q1 0 O termo reciclagem usualmente empregado na operação de contadores se refere à transição do contador do seu estado final para o original Faça você mesmo Como era de se esperar com dois flipflops 2 2 4 o contador de dois bits exibe quatro estados diferentes É possível criar contadores capazes de contar qualquer quantia de potências de 2 Faça o esquema de montagem do diagrama de temporização e a tabela com a sequência de estados binários para um contador de três bits Quantos estados esse contador possui Os contadores também podem ser projetados de modo a ter um número de estados menor em sua sequência que o valor máximo de 2n Esse tipo de sequência é chamado de sequência truncada Para se obter uma sequência truncada é preciso forçar o contador a reciclar seu estado antes que ele complete um ciclo passando por todos os estados possíveis Um contador de dez estados chamado contador de década tem sua sequência de contagem de zero 0000 a nove 1001 Além disso ele é um contador de década BCD porque a sua sequência de dez estados produz o código BCD Esse tipo de contador é útil em aplicações com display nas quais o código BCD é necessário para conversões com leituras em decimal U4 Lógica sequencial 158 Por exemplo em um contador de década BCD o estado é reciclado para o estado 0000 após o estado 1001 Um contador de década requer quatro flipflops três flipflops são insuficientes pois 2 3 8 Uma forma de fazer um contador reciclar após a contagem do nove 1001 é decodificar a contagem dez 1010 com uma porta NAND e conectar a saída da porta NAND nas entradas de clear CLR dos flipflops como mostra a Figura 421 Fonte adaptada de Floyd 2007 p 449 Figura 421 Contador de década assíncrono Assimile A maioria dos flipflops em circuitos integrados também tem entradas assíncronas Essas são entradas que afetam o estado do flipflop independentemente do clock Elas são normalmente denominadas preset PRE e clear CLR Um nível ativo na entrada preset irá levar o flipflop para o estado SET e um nível ativo na entrada clear irá levar o flipflop para o estado RESET O símbolo lógico para um flipflop JK com entradas preset e clear é mostrado na Figura 422 Essas entradas são ativas em nível BAIXO conforme indicado pelos pequenos círculos Essas entradas de preset e clear devem ser mantidas em nível ALTO para a operação síncrona Fonte elaborada pelo autor Figura 422 Símbolo lógico para um flipflop JK com entradas preset e clear U4 Lógica sequencial 159 Observe que apenas as saídas Q1 e Q3 são necessárias para reciclar a contagem Esse tipo de arranjo é chamado de decodificação parcial pois não foram usadas todas as saídas para reciclar a contagem Quando o contador chega no estado dez 1010 a saída da porta de decodificação vai para 0 e assincronamente reseta todos os flipflops Nos contadores síncronos o mesmo sinal de clock é fornecido simultaneamente para todos os flipflops Na Figura 423a temos como exemplo um contador binário síncrono de dois bits Note que foi preciso um arranjo diferente na ligação das entradas J1 e K1 para que o FF1 consiga uma sequência binária Considere que os dois flipflops estão resetados de modo que o contador esteja inicialmente no estado binário 0 Quando a borda positiva do primeiro pulso de clock é aplicada FF0 comuta e Q0 passa para o nível lógico 1 No FF1 as entradas J1 e K1 estão em nível baixo porque Q0 saída na qual as entradas de FF1 estão conectadas ainda não foi para o nível lógico 1 Lembrese de que existe um atraso de propagação entre a borda de disparo do clock até que a saída Q realmente comute Assim J1 0 e K1 0 quando é aplicada a borda de subida do primeiro pulso de clock Essa é uma condição de repouso e por isso FF1 não muda de estado FLOYD 2007 Quando a borda de subida do segundo pulso de clock ocorre FF0 comuta e Q0 vai para o nível baixo Como FF1 tem um nível 1 nas entradas J1 e K1 na borda de disparo desse pulso de clock o flipflop comuta e Q1 vai para o nível lógico 1 Quando a borda de subida do terceiro pulso de clock ocorre FF0 comuta novamente para o estado SET e FF1 permanece no estado SET Por fim na quarta borda de subida do clock Q0 e Q1 vão para o nível lógico 0 porque os dois estão na condição toggle em suas entradas J e K Assim o contador recicla para o seu estado original A Figura 423b mostra o diagrama de temporização desse contador U4 Lógica sequencial 160 Figura 423 Contador binário síncrono de dois bits a esquema de montagem b diagrama de temporização Fonte adaptada de Floyd 2007 p 452453 a b Observe que os atrasos de propagação não são indicados na Figura 423b Embora os atrasos sejam um fator importante na operação de um contador síncrono eles normalmente são omitidos no diagrama de temporização geral por questão de simplicidade de representação Entretanto em circuitos digitais de alta velocidade esses pequenos atrasos são considerações importantes no projeto e na análise de defeito FLOYD 2007 Exemplificando Um contador binário de três bits tem a sua sequência de estados representada na Tabela 49 Vamos projetar um contador binário síncrono de três bits Fonte elaborada pelo autor Tabela 49 Sequência de estados binários para o contador de dois bits assíncrono CLK Q2 Q1 Q0 Valor 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 recicla 0 0 0 U4 Lógica sequencial 161 Figura 424 Contador binário síncrono de três bits Fonte adaptada de Floyd 2007 p 454 Observe que Q0 alterna os bits a cada pulso de clock Para produzir essa operação o FF0 deve ser mantido no modo toggle Note que Q1 vai para o estado oposto cada vez que Q0 for nível 1 Segundo Floyd 2007 para produzir essa operação Q0 é conectada diretamente nas entradas J1 e K1 do FF2 Por fim no FF2 a saída Q2 muda de estado somente quando Q0 e Q1 são nível lógico 1 Essa condição pode ser detectada por uma porta AND e aplicada nas entradas J2 e K2 do FF2 O esquema de montagem desse contador pode ser visto na Figura 424 Você é capaz agora de projetar um contador binário síncrono de quatro bits E um contador de década síncrono de quatro bits Temos a certeza de que sim Exercite seus conhecimentos projetando esses contadores Um registrador é um circuito digital com duas funções básicas armazenar e movimentar dados Segundo Floyd 2007 a capacidade de armazenamento de um registrador é o número total de bits de dados digitais que ele pode reter A capacidade de armazenamento de um registrador o torna um importante tipo de dispositivo de memória Ela pode ser aumentada aumentandose o número de flipflops no registrador cada flip flop equivale a um bit de capacidade a mais E é a capacidade de deslocamento de um registrador que permite o movimento de dados de um flipflop para outro com a aplicação de pulsos de clock Na Figura 425 temos exemplos dos tipos de movimentos de dados em registradores de deslocamento U4 Lógica sequencial 162 Figura 425 Movimentos básicos de dados em registradores de deslocamento a entrada serialsaída serial b rotação c entrada paralelasaída serial d entrada serialsaída paralela e entradas paralelasaída paralela Figura 426 Registrador com entrada serialsaída serial de quatro bits Fonte elaborada pelo autor Fonte adaptada de Floyd 2007 p 511 a c d e b Reflita Em geral qual é a diferença entre um contador e um registrador de deslocamento Qual flipflop seria mais adequado para ser utilizado em um registrador O registrador de deslocamento com entrada serialsaída serial recebe um bit de cada vez numa única linha ou seja de forma serial Ele disponibiliza na sua saída a informação armazenada também um bit de cada vez de forma serial A Figura 426 mostra um dispositivo de quatro bits implementado com flipflops D Com quatro estágios é possível armazenar até quatro bits de dados nesse registrador de deslocamento Em um registrador de deslocamento com entrada serialsaída paralela os bits de dados são inseridos de forma serial porém uma vez que os dados são armazenados cada bit é disponibilizado simultaneamente na saída de forma paralela A Figura 427 mostra um registrador de deslocamento com entrada serialsaída paralela de quatro bits U4 Lógica sequencial 163 Figura 427 Registrador com entrada serialsaída paralela de quatro bits Fonte adaptada de Floyd 2007 p 515 Para um registrador de deslocamento com entrada paralela saída serial os bits são inseridos todos ao mesmo tempo nos seus respectivos flipflops em vez de bit a bit numa única linha como acontece com a entrada serial de dados A saída se dá bit a bit A Figura 428 mostra um registrador de deslocamento com entrada paralelasaída serial de quatro bits Há além das quatro linhas de entradas de dados D0 D1 D2 e D3 uma entrada SHIFT LOAD que permite carregar os quatros bits em paralelo no registrador As portas de P1 a P4 são habilitadas quando SHIFT LOAD é 0 permitindo que os bits de dados sejam aplicados na entrada D do seu respectivo flipflop Quando um pulso de clock é aplicado os estados desses flipflops são atualizados adequadamente de modo que todos os quatro bits são armazenados simultaneamente Quando SHIFT LOAD for igual a 1 as portas de P1 a P4 são desabilitadas e as portas de P5 a P7 são habilitadas deslocando os bits de dados de um flipflop para o outro U4 Lógica sequencial 164 Figura 428 Registrador com entrada paralelasaída serial de quatro bits Figura 429 Registrador com entrada paralelasaída paralela de quatro bits Fonte adaptada de Floyd 2007 p 518 Fonte adaptada de Floyd 2007 p 522 O registrador de deslocamento com entrada paralelasaída paralela possui o aspecto construtivo e o seu entendimento é muito mais simples No instante seguinte à entrada de todos os bits de dados eles são disponibilizados nas saídas A Figura 429 mostra um registrador com entrada paralelasaída paralela de quatro bits U4 Lógica sequencial 165 Figura 430 Diagrama de blocos funcional para o controle de vagas do estacionamento Fonte Floyd 2007 p 483 Pesquise mais Os registradores de deslocamento são importantes em aplicações que envolvem o armazenamento e a transferência de dados em sistemas digitais Nesta seção apenas introduzimos o assunto Para saber mais sobre eles leia o capítulo 9 do Sistemas digitais fundamentos e aplicações FLOYD 2007 disponível na nossa biblioteca virtual httpsbiblioteca virtualcomdetalhesparceiros5 Acesso em 30 out 2017 Sua empresa foi recentemente contratada para desenvolver um sistema para monitorar a quantidade de vagas disponíveis em um estacionamento com uma centena de vagas de um pequeno shopping local e prover uma indicação de quando o estacionamento estiver lotado através de um sinal luminoso e abaixando a cancela na entrada Você propôs um sistema para resolver esse problema que consiste em 1 Dois sensores de presença um na entrada e outro na saída do estacionamento 2 Um contador crescentedecrescente 3 Um circuito lógico para ligar ou desligar o sinal de LOTADO e baixar ou subir a cancela na entrada A Figura 430 mostra o diagrama de blocos funcional desse sistema Sem medo de errar U4 Lógica sequencial 166 O diagrama lógico do contador crescentedecrescente é mostrado na Figura 431 Ele consiste em dois CIs contadores de década 74HC190 TEXAS 2003 conectados em cascata Figura 431 Diagrama lógico para um contador crescentedecrescente de módulo 100 para o controle de estacionamento de veículos Fonte Floyd 2007 p 483 Cada veículo que entra no estacionamento aciona o sensor de entrada que leva o latch SR para o estado SET de modo que Q 0 levando o contador a funcionar no modo crescente O sinal do sensor também é levado para uma porta NOR que aciona os contadores pela entrada do clock quando a saída da porta muda de 0 para 1 Cada vez que isso ocorre o contador incrementa uma unidade Quando cem veículos entrarem no estacionamento a saída MÁX MÍN do contador vai para 1 ativando um circuito que acende o sinal de lotado e abaixa a cancela Quando um veículo sai o sensor de saída é acionado levando o latch SR para o estado RESET Agora Q 1 leva o contador para o modo decrescente O sinal desse sensor também é levado para uma porta NOR que aciona os contadores pela entrada do clock quando a saída da porta muda de 0 para 1 Cada vez que isso ocorre o contador decrementa uma unidade Se o estacionamento estiver lotado e um veículo sair a saída MÁXMÍN vai para nível BAIXO desligando o sinal lotado e subindo a cancela Faça valer a pena 1 Os contadores são classificados em duas grandes categorias de acordo com a forma que eles recebem os pulsos de o clock assíncronos e síncronos Sobre os contadores avalie as afirmações a seguir U4 Lógica sequencial 167 2 Os contadores também podem ser projetados para ter um número de estados em sua sequência que é menor que o valor máximo de 2n Esse tipo de sequência é denominado de sequência truncada Um módulo comum para contadores com sequências truncadas é dez Um contador de década BCD tem que reciclar para o estado 0000 após o estado 1001 Considerando esse contexto avalie as seguintes asserções e a relação proposta entre elas I Uma forma de fazer um contador reciclar após a contagem do nove 1001 é ligar uma porta NAND nas saídas Q do primeiro e do último flip flops e conectar a saída da porta NAND nas entradas de clear CLR de todos os flipflops PORQUE II Apenas no estado nove 1001 ocorre o nível lógico 1 simultaneamente nesses dois flipflops a As asserções I e II são proposições verdadeiras e a II é uma justificativa da I b As asserções I e II são proposições verdadeiras e a II não é uma justificativa da I c A asserção I é uma proposição verdadeira e a II é uma proposição falsa d A asserção I é uma proposição falsa e a II é uma proposição verdadeira e As asserções I e II são proposições falsas I Nos contadores síncronos o primeiro flipflop recebe o clock por meio de um pulso de clock externo e cada flipflop sucessivo recebe o clock através da saída do flipflop anterior II Nos contadores assíncronos a entrada de clock é conectada a todos os flipflops de forma que eles recebem o clock simultaneamente III Os contadores somente podem ser projetados de modo a ter 2n estados em que n é a quantidade de flipflops do contador IV Um contador de década com uma sequência de contagem de zero 0000 a nove 1001 é um contador de década BCD porque a sua sequência de dez estados produz o código BCD É correto o que se afirma em a I e III apenas b I II e IV apenas c I II e III apenas d IV apenas e I II III e IV U4 Lógica sequencial 168 3 Um registrador é um circuito digital com duas funções básicas armazenamento de dados e movimentação de dados A capacidade de armazenamento de um registrador o torna um importante tipo de dispositivo de memória Sobre os registradores avalie as afirmações a seguir I A capacidade de armazenamento de um registrador é o número total de bits de dados digitais que ele pode reter II A capacidade de deslocamento de um registrador permite o movimento de dados de um estágio para outro dentro do registrador ou ainda para dentro ou para fora do registrador com a aplicação de pulsos de clock III O registrador de deslocamento com entrada serialsaída serial aceita dados seriais ou seja um bit de cada vez numa única linha IV Em um registrador de deslocamento com entrada serialsaída paralela os bits de dados são inseridos serialmente porém a saída de cada estágio está disponível V Em um registrador de deslocamento com entrada paralelasaída serial os bits são inseridos simultaneamente nos seus respectivos estágios em linhas paralelas A saída se dá bit a bit VI No registrador de deslocamento com entrada paralelasaída paralela os bits de dados aparecem na saída no próximo pulso de clock seguinte à entrada de todos os bits de dados É correto o que se afirma em a I II e III b I II IV e VI c III IV e VI d II III V e VI e I II III IV V e VI U4 Lógica sequencial 169 Seção 43 Máquinas de estado finitos Os sistemas sequenciais podem ser utilizados em projetos para diversas finalidades Eles são caracterizados por circuitos que executam sequências de estados predefinidos de acordo com os pulsos de clock e com os outros sinais de entrada Os contadores já estudados são máquinas de estado destinados a executar sequências numéricas regulares Relembrando você é o dono de uma empresa de desenvolvimento de projetos de sistemas de automação Em seu último trabalho você foi contratado por um pequeno shopping local para desenvolver um sistema de controle de estacionamento de veículos O problema consistia em fazer um projeto de monitoração dos espaços disponíveis numa centena de vagas em um estacionamento e prover a indicação da condição de lotado através de um sinal luminoso e abaixando a cancela que dá acesso à entrada O cliente embora satisfeito com sua solução decidiu mudar o conceito do seu pedido Nessa nova situação solicitou que seja adicionado na entrada do estacionamento um painel indicando o número de vagas além do que já havia sido feito Para auxiliálo com esse projeto vamos aprender mais sobre o uso e implementação das máquinas de estado finito Preparado Bons estudos Diálogo aberto Os sistemas sequenciais também podem ser projetados para aplicações específicas Nesses casos geralmente são chamados de máquinas de estados finitos Os contadores são casos particulares de máquinas de estado A máquina de estados finitos de forma geral é um conceito abstrato que por meio de um método estruturado auxilia a análise e a síntese de sistemas sequenciais sincronizados Representa um sistema digital que quando acionado por um pulso de um clock movese de um estado lógico para outro Não pode faltar U4 Lógica sequencial 170 As máquinas de estado finito têm um nome que pode causar alguma confusão O termo finito está presente para diferenciar as máquinas de estado finito de uma representação similar usada na matemática que pode ter um número infinito de estados O termo máquina é usado no sentido matemático ou de ciência da computação sendo um objeto conceitual que pode executar uma linguagem abstrata Nesse caso esse sentido de máquina não é o de hardware Em tese todos os circuitos síncronos incluindo os registradores e contadores movidos por um clock podem ser representados por máquinas de estados finitos É sempre recomendável solucionar um problema em um nível funcional mais alto valendose da metodologia das máquinas de estados finitos O projeto de um circuito sequencial pode ser dividido em cinco etapas 1 Desenhar o diagrama de estados do circuito Um diagrama de estado representa um modelo gráfico de um sistema sequencial e especifica as transições entre os estados do sistema as quais por sua vez descrevem como um estado particular passa para outro Um sistema sequencial pode convenientemente ser representado por um diagrama de estado Um diagrama é traçado na forma de um conjunto de círculos em que cada um deles corresponde a um estado A Figura 432 traz como exemplo um diagrama de estado genérico para um sistema com uma única entrada e dois estados possíveis S0 e S1 As setas indicam as transições entre os estados para cada ação entrada em um determinado estado Fonte elaborada pelo autor Figura 432 Diagrama de estado genérico 2 Identificação dos estados e cálculo da quantidade de flipflops necessária dada por nff intlog2 ns 41 em que nff é o número de flipflops e ns é o número de estados A função int indica o número inteiro menor ou igual à variável 3 Obter as expressões lógicas com o uso de tabelas verdade e ou mapas de Karnaugh das variáveis de entrada dos flipflops em função do estado atual e das variáveis de entrada 4 Obter as expressões lógicas com o uso de tabelas verdade e ou mapas de Karnaugh das saídas dos flipflops em função do estado atual 5 Desenhar o circuito Antes de praticarmos é importante sabermos que existem dois modelos tradicionais para a implementação de máquinas de estados são eles as máquinas Moore e as máquinas Mealy Nas máquinas Moore as saídas dependem apenas do estado atual registrado internamente no sistema As mudanças das saídas ocorrem apenas na próxima transição de borda do clock A Figura 433 apresenta um diagrama de blocos de uma máquina Moore Figura 433 Diagrama de blocos de uma máquina Moore Fonte elaborada pelo autor É possível notar pela figura que o clock comanda a memória que envia para o circuito de saída o estado atual que é resultado da combinação entre as entradas e o estado anterior Assim as saídas assumem um novo estado somente na próxima transição de borda U4 Lógica sequencial 172 do clock A Figura 434 traz um diagrama de estado genérico de uma máquina Moore para um sistema com uma entrada uma saída e dois estados possíveis Note que a saída é indicada em cada estado Fonte elaborada pelo autor Fonte elaborada pelo autor Figura 434 Diagrama de estado genérico para uma máquina Moore Figura 435 Diagrama de blocos de uma máquina Mealy Nas máquinas Mealy as saídas dependem tanto das entradas quanto do estado atual registrado internamente no sistema Se houver mudanças nas entradas as saídas também se alterarão A Figura 435 apresenta em blocos a estrutura de um sistema sequencial que utiliza o modelo de Mealy Assimile Nas máquinas Moore as saídas dependem apenas do estado atual registrado internamente no sistema Já nas máquinas Mealy as saídas dependem tanto das entradas quanto do estado atual registrado internamente no sistema Estado Circuito de saída Circuito de entrada Cálculo do próximo estado clock Flipflops Estado atual Entradas Convensão Estadosaída Saídas U4 Lógica sequencial 173 Agora podemos notar que o clock comanda o registrador que envia os estados armazenados resultantes das entradas e estado anteriormente existente para estágio de saída porém as saídas também recebem as informações diretamente das entradas Nesse caso as saídas podem ser alteradas pela mudança dos estados de entradas mesmo antes da atuação do clock A Figura 436 traz um diagrama de estado genérico de uma máquina Mealy para um sistema com uma entrada uma saída e dois estados possíveis Note que agora a saída é indicada em cada transição de estado Fonte elaborada pelo autor Figura 436 Diagrama de estado genérico para uma máquina Mealy As máquinas de estado também podem ser classificadas como sistemas síncronos ou assíncronos conforme as características de aplicação do sistema de clock nos circuitos Como já vimos os sistemas sequenciais síncronos são aqueles em que os circuitos operam de maneira sincronizada com a entrada clock ou seja todos os elementos flipflops ou registradores de estado são comandados pelo mesmo pulso de clock em função do acionamento no tempo pois estes têm ligação dessa entrada em comum Já os sistemas sequenciais assíncronos são aqueles que atuam de maneira assíncrona ou seja sem sincronismo entre os elementos do circuito sendo que as variações internas e de saída ocorrem em instantes diferenciados com relação ao pulso de clock Notamos pelas estruturas estudadas que a atuação do modelo de Moore é síncrona e no modelo de Mealy as saídas podem atuar assincronamente CAPUANO 2014 Reflita Você é capaz de pensar em aplicações em que é mais conveniente utilizar um dos modelos de máquina de estado finito apresentado Moore ou Mealy a despeito do outro Para efetuar projetos de sistemas sequenciais de um modo geral devemos seguir o procedimento descrito ou seja determinar o diagrama de estados levantar a tabela verdade da sequência de estados proposta colocar na tabela os estados a serem assumidos nas entradas dos flipflops utilizando a tabela de projetos já desenvolvida utilizar os mapas de Karnaugh para simplificálos e assim elaborar o circuito com as expressões simplificadas Para entender melhor o procedimento vamos elaborar um projeto no exemplo a seguir Vamos projetar uma máquina de estados para atuar como contador de três bits para efetuar a contagem crescente E 0 0 a 7 ou decrescente E 1 7 a 0 O circuito deverá possuir também uma saída S que sinaliza se a contagem é crescente S 1 ou decrescente S 0 Para isso use flipflops do tipo JK A Tabela 410 traz a sequência de contagem proposta e a Tabela 411 traz a tabela verdade do flipflop JK Tabela 410 Sequência de contagem proposta Tabela 411 Tabela verdade do flipflop JK Fonte elaborada pelo autor U4 Lógica sequencial 175 Passo 1 a Figura 437 mostra o diagrama de estados para o problema proposto Note que para evitar que o diagrama ficasse visualmente poluído as entradas E 0 e E 1 foram representadas apenas nas transições entre os estados 000 e 111 mas elas se repetem de forma idêntica nas transições dos demais estados Passo 2 a partir da máquina de estados sabemos que existem oito estados e que serão necessários três flipflops Passo 3 a Tabela 412 reproduz a máquina de estados apresentando os estados e sua tradução para a saída dos flipflops JK Tabela 412 Tabela verdade completa do projeto E Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 S 0 0 0 0 0 X 0 X 1 X 1 0 0 0 1 0 X 1 X X 1 1 0 0 1 0 0 X X 0 1 X 1 0 0 1 1 1 X X 1 X 1 1 0 1 0 0 X 0 0 X 1 X 1 0 1 0 1 X 0 1 X X 1 1 0 1 1 0 X 0 X 0 1 X 1 0 1 1 1 X 1 X 1 X 1 1 1 1 1 1 X 0 X 0 X 1 0 1 1 1 0 X 0 X 1 1 X 0 1 1 0 1 X 0 0 X X 1 0 1 1 0 0 X 1 1 X 1 X 0 Fonte elaborada pelo autor Figura 437 Diagrama de estados 1 0 1 1 0 X X 0 1 0 1 0 1 0 X X 1 0 1 0 0 1 1 X 1 1 X 0 1 0 1 0 X 0 X 1 0 1 0 0 0 1 X 1 X 1 X 1 X 0 Fonte elaborado pelo autor A Figura 438 apresenta os mapas de Karnaugh correspondentes a cada entrada dos flipflops e da saída S Passo 4 na Figura 438 também estão listadas as expressões simplificadas para cada entrada dos flipflops e da saída S Figura 438 Mapas de Karnaugh com simplificações a J₂ b K₂ c J₁ d K₁ e J₀ f K₀ g S U4 Lógica sequencial 177 Passo 5 o circuito final é apresentado na Figura 439 Fonte elaborada pelo autor Fonte adaptada de Capuano 2014 p 116 Figura 439 Circuito final e g f J0 1 K0 1 S E Q1Q0 EQ2 Q1Q0 EQ2 Q1Q0 EQ2 CLK J0 J1 J2 K0 K1 K2 E Q0 Q1 Q2 Q0 Q0 Q1 Q2 Q1 Q2 S U4 Lógica sequencial 178 Pesquise mais Caro aluno esperamos que tenha gostado dessa jornada de aprendizado pelo mundo dos sistemas digitais O que vimos até aqui mal arranha a superfície desse tema tão desafiador e atual De fato podemos dizer que apenas introduzimos o assunto Portanto não pare por aqui Continue sua pesquisa Um bom ponto de partida para se aprofundar no assunto é o livro Sistemas digitais projetos otimização e HDLs VAHID 2008 disponível na nossa biblioteca virtual httpsbibliotecavirtualcom detalhesparceiros5 Acesso em 30 out 2017 Sem medo de errar Sua empresa foi recentemente contratada para desenvolver um sistema de monitoração dos espaços disponíveis numa centena de vagas num estacionamento de um pequeno shopping local e prover a sinalização da condição de lotado através de uma indicação luminosa e abaixando a cancela na entrada Em uma atualização do projeto o cliente pediu que seja adicionado na entrada do estacionamento um painel indicando o número de vagas Para o painel você usará um display de sete segmentos triplo um para cada dígito de uma centena como pode ser visto na Figura 440 Figura 440 Display de sete segmentos triplo Fonte elaborada pelo autor Cada dígito no display é acionado individualmente e para facilitar o seu projeto você decide usar três contadores de década de quatro bits conta de 0 a 9 crescentedecrescente encadeados Cada contador deve ter uma entrada para indicar a direção da contagem crescente para D 0 e decrescente para D 1 O contador deve Centenas Dezenas Unidades U4 Lógica sequencial 179 Figura 441 Diagrama lógico para o circuito contador de carros no estacionamento Fonte elaborada pelo autor ter também uma saída C que indica com um nível lógico 1 que a contagem foi reciclada 1001 para 0000 ou 0000 para 1001 Os quatro bits de saída de cada contador são ligados a decodificadores BCD7 segmentos e as saídas do decodificador alimentam o display A Figura 441 traz o diagrama lógico para o circuito proposto Embora exista no mercado esse tipo de contador encapsulado em um único circuito integrado CI projete o circuito lógico de cada contador utilizando o procedimento apresentado nesta seção Faça valer a pena 1 Todos os circuitos síncronos incluindo os registradores e contadores movidos por um clock podem ser representados por máquinas de estados finitos É sempre recomendável solucionar um problema em um nível funcional mais alto valendose da metodologia das máquinas de estados finitos O projeto de um circuito sequencial pode ser dividido em cinco etapas I Obter as expressões lógicas das entradas em função do estado atual II Obter as expressões lógicas das saídas em função do estado atual III Desenhar o diagrama de estados do circuito IV Identificar os estados e calcular a quantidade de flipflops necessários V Desenhar o circuito Unidades Contador Conversor Conversor Conversor 4 bits 7 bits 4 bits 7 bits 4 bits 7 bits Contador Contador Sensor de entrada Sensor de saída Dezenas Centenas Q S R D D D C C C U4 Lógica sequencial 180 Assinale a opção que apresenta a ordem correta dos procedimentos realizados a I II III IV V b V III I II IV c III IV I II V d V IV I II III e IV I I III V 2 Um diagrama de estado representa um modelo gráfico de um sistema sequencial e especifica as transições entre os estados do sistema as quais por sua vez descrevem como um estado particular passa para outro Considere o diagrama de estado hipotético da Figura 442 Sobre este diagrama de estado avalie as afirmações a seguir I A máquina de estado representada por esse diagrama possui quatro estados sendo que o estado 11 foi suprimido do diagrama II Essa máquina de estado possui duas entradas e todas as possibilidades foram representadas para cada estado III A máquina de estado apresenta uma saída que indica um nível lógico ALTO quando há transição de um estado para outro IV No estado 01 as entradas 01 e 10 produzem o mesmo efeito Quais afirmações estão corretas a I II e III b I III e IV c II e III d III e II III e IV Figura 442 Diagrama de estado hipotético Fonte elaborada pelo autor U4 Lógica sequencial 181 3 Existem dois modelos tradicionais para a implementação de máquinas de estados são eles as máquinas Moore e as máquinas Mealy Sobre os modelos de máquinas de estado finito avalie as afirmações a seguir I Nas máquinas Moore as saídas dependem apenas do estado atual registrado internamente no sistema II Nas máquinas Mealy as saídas dependem das entradas e do estado atual registrado internamente no sistema III O diagrama de blocos da Figura 443 corresponde a uma máquina Mealy Figura 444 Diagrama de estado Figura 443 Diagrama de blocos Fonte elaborada pelo autor Fonte elaborada pelo autor IV O diagrama de estado da Figura 444 é referente a uma máquina Moore É correto o que se afirma em a I e II b III e IV c I e III d II e IV e I II III e IV U4 Lógica sequencial 182 Referências CAPUANO Francisco Gabriel Sistemas digitais circuitos combinacionais e sequenciais São Paulo Érica 2014 144 p FLOYD Thomas L Sistemas digitais fundamentos e aplicações 9 ed Porto Alegre Bookman 2007 SZANJBERG Mordka Eletrônica digital teoria componentes e aplicações Rio de Janeiro LTC 2014 TEXAS Instrument CD54HC190 CD7HC190 CD54HC191 CD74HC191 CD54HCT191 CD74HCT191 Synchronous updown counters with downup mode control datasheet Dallas Texas Instrument 2003 31 p Disponível em httpwww ticomlitdssymlinkcd74hc190pdf Acesso em 30 out 2017 TOCCI Ronald J WIDMER Neal S MOSS Gregory L Sistemas digitais princípios e aplicações 11 ed São Paulo Pearson Prentice Hall 2011 VAHID Frank Sistemas digitais projetos otimização e HDLs Porto Alegre Bookman 2008 560 p Anotações Anotações