Prévia do material em texto
Universidade Luterana do Brasil - ULBRA CONVERSÃO DE CÓDIGOS PORTO VELHO – RO MAIO - 2013 2 Ricardo Mota Silva CONVERSÃO DE CÓDIGOS Trabalho apresentado ao Professor Rubem de Azevedo Campos da disciplina de Eletrônica Digital da turma do 3º período, turno noturno, do curso de Sistemas Elétricos. PORTO VELHO – RO MAIO - 2013 3 SUMÁRIO 1. INTRODUÇÃO ------------------------------------------------------------------------------ 4 2. DESENVOLVIMENTO TEÓRICO ------------------------------------------------------ 5 2.1. CIRCUITOS ARITMÉTICOS -------------------------------------------------------- 5 2.2. PROCESSO DE CODIFICAÇÃO E TIPOS DE CODIFICADORES----------- 9 2.3. PROCESSO DE DECODIFICAÇÃO E TIPOS DE DECODIFICADORES- 11 3. PROJETO DO CÓDIGO BCD-PARA SETE SEGMENTOS ----------------------- 14 3.1. ANÁLISE DAS INFORMAÇÕES APRESENTADAS ------------------------- 15 4. REFERÊNCIAS BIBLIOGRÁFICAS -------------------------------------------------- 16 4 1. INTRODUÇÃO Uma grande parte dos sistemas digitais trabalha com os níveis lógicos (bits) representando informações que são codificadas em bits. Exemplo: • computador trabalha com informações alfanuméricas; • a calculadora com informações numéricas; • a telefonia digital com canais de voz convertidos para a forma digital; • cd laser com sinais sonoros. Estes sistemas não entendem a informação que processam na forma de letras, números, sinais sonoros, e sim, na forma de bits, sendo necessário transformar estas informações na forma de códigos binários. Devido à diversidade de informações e ao desenvolvimento da eletrônica digital, vários códigos foram criados e consequentemente vários circuitos para a codificação e decodificação destas informações. Os codificadores e decodificadores formam uma classe de circuitos combinacionais projetados para reconhecer (identificar) os diferentes padrões de bits que possam ocorrer em suas entradas. Existem codificadores e decodificadores feitos para converter palavras de um código para outro. Isto significa receber uma informação codificada de alguma forma e convertê-la para uma outra forma de codificação, sem alterar a informação. Nesse caso, entende-se como codificador o circuito que converte informações de um código conhecido para outro desconhecido ou menos conhecido, e o decodificador é o circuito que faz a conversão contrária. Denomina-se também de “codificador” o circuito que converte uma informação expressa em muitas linhas de entrada para a forma de palavras de saída em algum código, com um número menor de bits; e denomina-se “decodificador” o circuito que recebe palavras de entrada em algum código e destrincha essa informação em muitas linhas de saída, decodificando-a. 5 2. DESENVOLVIMENTO TEÓRICO 2.1. CIRCUITOS ARITMÉTICOS Circuito Aritmético é um tipo de circuito combinacional que executa operações de subtração, adição, multiplicação, divisão, and lógico, or lógico ou qualquer outra função que possa ser implementada em um circuito combinacional. São chamadas de ULA (unidade lógica aritmética) ou ALU do inglês. 2.1.1. Circuito Somador Adição Binária é a operação mais simples de Circuito Aritmético. A adição binária (0 1) é executada da mesma forma que a decimal (0 1 2 3 4 5 6 7 8 9), inclusive no "Vai-Um" (Carry Out, de saída, e Carry In, de entrada) como pode ser entendida no exemplo dado abaixo. Quando somamos dois números binários começamos pela coluna menos significativa (que representa unidade entre centena, dezena, etc.). e "vai" 1 Aqui podemos ver uma adição de 2 bits que acaba resultando em 4 possibilidades. 2.1.2. Meio Somador O circuito combinacional que executa 2 bits é denominado de Meio Somador. O circuito Meio Somador consiste em 2 entradas e 2 saídas. Podemos designar as 2 entradas pelos 2 bits a serem de entrada que serão somados e as 2 saídas que são a Soma e o Carry (Vai-Um). Abaixo temos a tabela verdade de um Circuito Meio Somador: 6 Meio Somador X Y S A 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 As expressões 'X' e 'Y' são os valores de entrada. O 'A' expressa uma operação AND entre X e Y, e 'S' expressa a operação XOR entre X e Y. O circuito Meio Somador tem este nome porque ele não leva em consideração os resultados de somas menos significativas. Para casos em que a entrada menos significativa, denominada carry seja considerada, usamos a denominação de circuitos de Somador Completo. Esses circuitos executam a soma dos 2 bits levando em consideração as entradas menos significativas de bit de carry. Este somador tem as mesmas saídas do Meio Somador, são elas a Soma e o Carry. Figura 1: Bloco meio somador 2.1.3. Somador Completo O Somador Completo como citado acima possui Carry In. Ele é utilizado para somar números de pelo menos 2 casas. Isso é possível Cascateando um Meio-Somador com Somadores Completos. 7 Somador Completo X Y C S A 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 As expressões 'X' e 'Y' são os valores de entrada. O 'C' é o Carry In, o 'A' expressa uma operação AND entre X e Y, e 'S' expressa a operação XOR entre X e Y. Figura 2: Bloco somador completo 2.1.4. Circuito Subtrator Na subtração procede-se da mesma maneira que na subtração decimal, porém o "Vai- Um" é colocado no algarismo de baixo. e "empresta" 1 Aqui podemos ver uma subtração de 2 bits que acaba resultando em 4 possibilidades. 8 2.1.5. Meio Subtrator O circuito subtrator é o circuito que executa a subtração binária, porém este tipo de circuito não possui o Carry In (apesar de ter Carry Out). É utilizado para subtrações de apenas dois bits ou inícios de cascateamento de circuitos subtratores completos. O circuito Meio Subtrator consiste em 2 entradas e 2 saídas. Podemos designar as 2 entradas pelos 2 bits a serem de entrada que serão subtraidos e as 2 saídas que são a Subtração e o Carry Out. Abaixo temos a tabela verdade de um Circuito Meio Subtrator: Meio Subtrator X Y S A 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 As expressões 'X' e 'Y' são os valores de entrada. O 'A' expressa uma operação AND entre X e Y, e 'S' expressa a operação XOR entre X e Y. O circuito Meio Subtrator tem este nome porque ele não leva em consideração os resultados de subtração menos significativa igual no Meio Somador. Para casos em que a entrada menos significativa, denominada carry seja considerada, usamos a denominação de circuitos de Subtrator Completo. Esses circuitos executam a subtração dos 2 bits levando em consideração as entradas menos significativas de bit de carry. Este subtrator tem as mesmas saídas do Meio Subtrator, são elas a Subtração e o Carry. 2.1.6. Subtrator completo O Subtrator Completo como citado acima possui Carry Out. Ele é utilizado para subtrair números de pelo menos 2 casas. Isso é possível Cascateando um Meio-Subtrator com Subtradores Completos. As expressões 'X' e 'Y' são os valores de entrada. O 'C' expressa o Carry Out, o 'A' expressa uma operação AND entre X eY, e 'S' expressa a operação XOR entre X e Y. 9 Subtrador Completo X Y C S A 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 2.2. PROCESSOS DE CODIFICAÇÃO E TIPOS DE CODIFICADORES Os sistemas digitais trabalham com informações representadas por níveis lógicos zeros (0) e uns (1), conhecidos como bits (binary digits, ou dígitos binários). Portanto, todas as informações correspondentes a sinais de som, vídeo e teclado (números e letras), por exemplo, devem ser convertidas em bits para que sejam processadas por um sistema digital. Devido ao número de códigos diferentes criados para a representação de grandezas digitais, fez-se necessário desenvolver circuitos eletrônicos capazes de converter um código em outro, conforme a aplicação. Um codificador é um circuito lógico que converte um conjunto de sinais de entrada em determinado código, adequado ao processamento digital. 2.2.1. Codificador DE M-N (M entradas e N saídas) Figura 3: Codificador M-N 10 2.2.2. Codificador decimal-binário Um codificador decimal para binário possui dez entradas e quatro saídas. A qualquer momento, somente uma linha de entrada tem um valor igual a 1. Por exemplo, acionando a tecla 6 (A 6 = 1), teremos o binário de saída 0110, ou seja, S 3 = 0, S 2 = 1, S 1 = 1 e S 0 = 0 (Figura 4). Figura 4: Codificador decimal – binário. O diagrama em blocos do codificador pode ser representado conforme a Figura 5. Figura 5: Diagrama de blocos do codificador. Para esse codificador, temos a tabela verdade reproduzida a seguir: 11 2.3. PROCESSOS DE DECODIFICAÇÃO E TIPOS DE DECODIFICADORES O decodificador também é um circuito combinacional, normalmente usado para habilitar uma, e somente uma, dentre m saídas por vez, quando aplicada uma combinação binária específíca em suas n entradas. Exemplo de decodificador HEX/BCD – sete segmentos O display de sete segmentos apresenta sete LEDs dispostos de modo que se observe uma estrutura em forma de oito, conforme mostra a Figura 6. Figura 6: Display de sete segmentos. Quando queremos, por exemplo, acender o número “0”, polarizamos diretamente os LEDs (segmentos) que formam o dígito “0” no display, ou seja, os segmentos a, b, c, d, e, f, para ser possível visualizar o dígito, conforme ilustrado na Figura 7. Figura 7: Representação do LED indicando o número zero. Para acionar adequadamente o display de sete segmentos a fim de visualizarmos o código hexadecimal, é necessário um decodificador com as características apresentada na Figura 8 e na tabela verdade correspondente. 12 Figura 8: Representação do display e tabela verdade para cada um dos segmentos Resolvendo os diagramas de Karnaugh correspondentes aos sete segmentos, obtemos o circuito lógico conforme mostra a Figura 9. 13 Figura 9: Representação do circuito lógico do decodificador de sete segmentos. 14 3. PROJETO DO CÓDIGO BCD-PARA SETE SEGMENTOS A maior parte das aplicações com displays requer que trabalhemos com o código decimal (BCD). Uma possibilidade é utilizar o CI 4511, que é um decodificador BCD – 7 segmentos. A Figura 10 mostra a representação dos pinos desse circuito e a tabela verdade detalhada. Figura 10: Representação dos pinos do CI 4511 e tabela verdade para cada um dos segmentos. 15 3.1. ANÁLISE DAS INFORMAÇÕES APRESENTADAS Muitas aplicações que utilizam displays de sete-segmentos, necessitam de vários displays. Isto implica um consumo grande de energia. Uma solução adoptada e muito simples é multiplexar os displays. O que significa multiplexar? Multiplexar, significa ativar um display de cada vez, alternar o funcionamento dos displays. Portanto, cada display ficará ligado por um espaço de tempo e depois apagará, mas isto é feito a uma frequência que a visão humana não consegue perceber, ou seja, se os displays estiverem a ser multiplexados com uma frequência de 50 Hz ou maior, a visão humana terá a impressão que todos os displays estão ligados, mas na realidade quando um liga os outros estão desligados. 16 4. REFERÊNCIAS BIBLIOGRÁFICAS � Tocci, R.J., Widmer, N.S., Moss, G.L. - Sistemas digitais: princípios e aplicações 10, Pearson Prentic Hall, 2007 � � http://pt.wikipedia.org/wiki/Driver_BCD_para_sete_segmentos � http://www2.deec.uc.pt/~jfilipe/TC_Praticas/TP3.pdf � http://projetoseti.com.br/hardware/eletronica/decodificador-bcd/ � http://www.newtoncbraga.com.br/index.php/como-funciona/1196-art160 � http://iris.sel.eesc.usp.br/sel414m/Aula%207%20%20Codificadores%20e%20Decodifi cadores.pdf � http://www.cp.utfpr.edu.br/chiesse/Sistemas_Digitais/Codificadores.pdf