Prévia do material em texto
Codificadores e DecodificadoresCodificadores e Decodificadores Nikolas Libert Aula 6 Eletrônica Digital ET52C Tecnologia em Automação Industrial DAELT ● Nikolas Libert ● 2 Codificadores e Decodificadores Codificadores e Decodificadores Uma mesma informação pode ser representada de formas diferentes. – Exemplo: Um número negativo pode ser armazenado na notação sinal-módulo ou complemento de 2. Muitas vezes é necessária a conversão entre as diversas representações possíveis de um dado. – Para isso são utilizados os circuitos codificadores e decodificadores. DAELT ● Nikolas Libert ● 3 Codificadores e Decodificadores Codificadores: – Circuitos combinacionais. – Recebem uma variável digital (de 1 ou mais bits) como parâmetro de entrada. – Fornecem na saída a mesma variável de entrada representada de forma diferente. Exemplo: – Codificador decimal binário. 0: 0b00001 1: 0b00010 2: 0b00100 3: 0b01000 4: 0b10000 Codificação DecimalCodificação Binária 0: 0b000 1: 0b001 2: 0b010 3: 0b011 4: 0b100 DAELT ● Nikolas Libert ● 4 Codificadores e Decodificadores Exemplo – Codificador decimal binário 1 2 3 4 5 6 7 8 9 0 3 0b0011 Ao pressionar uma tecla deve haver uma conversão de decimal para binário. O processador da calculadora opera com número binários. CodificadorEn tr ad a Saída Decimal Binário 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 entradas x 4 saídas DAELT ● Nikolas Libert ● 5 Codificadores e Decodificadores 1 2 3 4 5 6 7 8 9 0 Codificador X Processador Aritmético Decodificador Y Decimal Binário Binário 7 segmentos O decodificador converte o sinal do processador para um formado compatível com o visor de 7 segmentos. A definição de codificador ou decodificador depende apenas do ponto de vista. Para o processador, o elemento Y é um codificador. Para o visor, Y poderia ser considerado um decodificador. DAELT ● Nikolas Libert ● 6 Codificador Decimal/BCD8421 Codificador Decimal/BCD8421 BCD=”Binary Coded Decimal” Codificador Decimal / BCD E9 E8 E7 E5 E6 E4 E3 E2 E1 E0 S3 S2 S1 S0 1 0 Entrada Saída 9 8 7 6 5 4 3 2 1 0 3 2 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 2 3 4 5 6 7 8 9 DAELT ● Nikolas Libert ● 7 Codificador Decimal/BCD8421 Entrada Saída 9 8 7 6 5 4 3 2 1 0 3 2 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 2 3 4 5 6 7 8 9 Obtenção da função que representa a saída – Cada saída é analisada separadamente Saída 3: S3 = E8+E9 Saída 2: S2 = E4+E5+E6+E7 Saída 1: S1 = E2+E3+E6+E7 Saída 0: S0 = E1+E3+E5+E7+E9 DAELT ● Nikolas Libert ● 8 Codificador Decimal/BCD8421 Implementação do circuito digital S3 = E8+E9 S2 = E4+E5+E6+E7 S1 = E2+E3+E6+E7 S0 = E1+E3+E5+E7+E9 E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 S3 S2 S1 S0 DAELT ● Nikolas Libert ● 9 Codificador Decimal/BCD8421 CI Dedicado – 74LS147. – Possui lógica mais completa. – Se mais de uma entrada for ativada simultaneamente, retorna o código para a entrada mais alta. DAELT ● Nikolas Libert ● 10 Decodificador BCD8421/Decimal Decodificador BCD8421/Decimal Decodificador BCD / Decimal S9 S8 S7 S5 S6 S4 S3 S2 S1 S0 E3 E2 E1 E0 Entrada Saída 3 2 1 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 DAELT ● Nikolas Libert ● 11 Decodificador BCD8421/Decimal Obtenção da função que representa a saída – Cada saída é analisada por mapa de Karnaugh Saída 9:Entrada Saída 3 2 1 0 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 C C 0 0 0 0 0 0 0 0 X 0 X X X 1 X X A A B B B D D D A B C D A codificação BCD só é definida de 0 a 9. Outros valores são irrelevantes (X) para o mapa de Karnaugh. S9 = AD S9 = E3.E0 DAELT ● Nikolas Libert ● 12 Decodificador BCD8421/Decimal Saída 8: Entrada Saída 3 2 1 0 8 7 6 5 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 C C 0 0 0 0 0 0 0 0 X 1 X X X 0 X X A A B B B D D D A B C D S8 = E3.E0 Saída 7: C C 0 0 0 0 0 0 1 0 X 0 X X X 0 X X A A B B B D D D S7 = E2.E1.E0 Saída 6: C C 0 0 0 0 0 0 0 1 X 0 X X X 0 X X A A B B B D D D S6 = E2.E1.E0 Saída 5: C C 0 0 0 0 0 1 0 0 X 0 X X X 0 X X A A B B B D D D S5 = E2.E1.E0 DAELT ● Nikolas Libert ● 13 Decodificador BCD8421/Decimal Entrada Saída 3 2 1 0 4 3 2 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 A B C D C C A A B B B D D D Obtenha as funções para as saídas S4, S3 e S1. DAELT ● Nikolas Libert ● 14 Decodificador BCD8421/Decimal Implementação do circuito digital E3 E2 E1 E0 S9 S9 = E3.E0 S8 = E3.E0 S7 = E2.E1.E0 S6 = E2.E1.E0 S5 = E2.E1.E0 S4 = E2.E1.E0 S3 = E2.E1.E0 S2 = E2.E1.E0 S1 = E3.E2.E1.E0 S0 = E3.E2.E1.E0 S8 S7 S6 S5 S4 S3 S2 S1 S0 DAELT ● Nikolas Libert ● 15 Decodificador BCD8421/Decimal CI Dedicado – 74LS42 DAELT ● Nikolas Libert ● 16 Código Gray Código Gray Sempre que há o incremento de uma unidade, apenas 1 bit muda de estado. Código criado quando os circuitos digitais eram montados com válvulas. – Mudanças de estado em vários bits simultaneamente necessitavam de potência elevada e geravam ruído. – Nos contadores digitais Gray, apenas um bit mudava por vez, evitando problemas. DAELT ● Nikolas Libert ● 17 Código Gray Tabela do Código Gray para número de 0 a 15. – No bit menos significativo, se repete o padrão 0-1-1-0. – No próximo bit mais significativo, cada elemento do mesmo padrão é duplicado, e assim sucessivamente. 0-0-1-1-1-1-0-0. Código Gray 0 0 0 0 0 1 0 0 0 1 2 0 0 1 1 3 0 0 1 0 4 0 1 1 0 5 0 1 1 1 6 0 1 0 1 7 0 1 0 0 Código Gray 8 1 1 0 0 9 1 1 0 1 10 1 1 1 1 11 1 1 1 0 12 1 0 1 0 13 1 0 1 1 14 1 0 0 1 15 1 0 0 0 DAELT● Nikolas Libert ● 18 Código Gray O Código Gray ainda é muito utilizado em codificadores óticos. – Leitura de posição em eixos de motores. – Sem Código Gray, o mau alinhamento dos sensores óticos geraria sinais espúrios na transição entre as seções dos discos. 010 011 100 101 000 111 001 110 Codificação Convencional 000 001 101 100 011 111 010 110 Codificação Gray http://en.wikipedia.org/wiki/Rotary_encoder DAELT ● Nikolas Libert ● 19 Código Gray Erro de alinhamento nos sensores óticos. – Entre a passagem da posição 5 para a posição 6, haverá uma leitura espúria indicando que o disco está na posição 7. Leitura: 0b101 = 5 Leitura: 0b110 = 6 Leitura: 0b111 = 7 DAELT ● Nikolas Libert ● 20 Código Gray Exercício: – Monte a tabela de conversão de BCD para Gray. – Ache as funções mínimas para as 4 saídas. – Desenhe o circuito resultante. G 3 = A G 2 = A + B G 1 = B + C G 0 = C + D DAELT ● Nikolas Libert ● 21 Display de 7 Segmentos Display de 7 Segmentos Formados por 7 LEDs: – Dois tipos: Anodo Comum ou Catodo Comum a g f b ce d a b c d e f g catodo a b c d e f g anodo Ativado com nível baixo Ativado com nível alto DAELT ● Nikolas Libert ● 22 Display de 7 Segmentos A combinação de entradas ativas necessárias para formar um dígito pode ser considerada um código. Dígito Código 7 Segmentos a b c d e f g 0 1 1 1 1 1 1 0 1 0 1 1 0 0 0 0 2 1 1 0 1 1 0 1 3 1 1 1 1 0 0 1 4 0 1 1 0 0 1 1 5 1 0 1 1 0 1 1 6 1 0 1 1 1 1 1 7 1 1 1 0 0 0 0 8 1 1 1 1 1 1 1 9 1 1 1 1 0 1 1 a g f b ce d Considerando Catodo Comum: Nível 1 = Aceso DAELT ● Nikolas Libert ● 23 Decodificador BCD8421/7 Segmentos Decodificador BCD8421/7 Segmentos Entrada (BCD) Saída (7 Segmentos) 3 2 1 0 a b c d e f g 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0 1 2 3 4 5 6 7 8 9 A B C D C C 1 0 0 1 1 1 1 1 X 1 X X X 1 X X A A B B B D D D C C 1 1 1 1 1 0 1 0 X 1 X X X 1 X X A A B B B D D D C C 1 1 1 1 0 1 1 1 X 1 X X X 1 X X A A B B B D D D C C 1 0 0 1 1 1 0 1 X 1 X X X 1 X X A A B B B D D D a=A+C+BD+BD b=A+B+AD+CD c=C+B+D d=A+BC+BD+CD+BCD DAELT ● Nikolas Libert ● 24 Decodificador BCD8421/7 Segmentos Achando as funções para as 7 saída, é possível montar o circuito digital do decodificador. CIs Dedicados – 74LS47 (Anodo Comum) – 74LS48 (Catodo Comum) a = A+C+BD+BD b = A+B+AD+CD c = C+B+D d = A+BC+BD+CD+BCD e = BD+CD f = A+CD+BC+BD g = A+BC+BC+CD DAELT ● Nikolas Libert ● 25 Exercício: Dado digital Exercício: Dado digital 5 LEDs serão utilizados para montar um dado digital Os números serão representados conforme mostrado abaixo. Utilize a nomenclatura indicada para os LEDs. a b c d e 0 1 2 3 4 5 DAELT ● Nikolas Libert ● 26 Exercício: Dado digital Assim: – Monte a tabela que relaciona um número em BCD com os respectivos estados dos LEDs (considere que o valor de entrada só pode estar entre 0 e 5). – Ache as funções mínimas para cada LED de saída. – Desenhe o diagrama do circuito final. a = B + C b = B c = D d = B e = B + C DAELT ● Nikolas Libert ● 27 Referências IDOETA, I. V., CAPUANO, F. G. Elementos de Eletrônica Digital, 41ª Edição, Érica, São Paulo, 2013. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27