Codificadores e Decodificadores Nikolas Libert ula 6 Eletrônica Digital ET52C Tecnologia em utomação Industrial
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. DELT Nikolas Libert 2
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. Codificação inária 0: 0b000 1: 0b001 2: 0b010 3: 0b011 4: 0b100 Codificação Decimal 0: 0b00001 1: 0b00010 2: 0b00100 3: 0b01000 4: 0b10000 DELT Nikolas Libert 3
Codificadores e Decodificadores Exemplo Codificador decimal binário Decimal inário 0 0 0 0 0 1 0 0 0 1 7 8 9 4 5 6 1 2 3 0 3 Entrada Codificador Saída 0b0011 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 o pressionar uma tecla deve haver uma conversão de decimal para binário. O processador da calculadora opera com número binários. 9 1 0 0 1 10 entradas x 4 saídas DELT Nikolas Libert 4
Codificadores e Decodificadores 7 8 9 4 5 6 1 2 3 Codificador X Processador ritmético Decodificador Y 0 Decimal inário inário 7 segmentos O decodificador converte o sinal do processador para um formado compatível com o visor de 7 segmentos. 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. DELT Nikolas Libert 5
Codificador Decimal/CD8421 Codificador Decimal/CD8421 CD= inary Coded Decimal 0 1 2 3 4 5 6 7 8 9 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 1 0 E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 Codificador Decimal / CD S3 S2 S1 S0 DELT Nikolas Libert 6
Codificador Decimal/CD8421 Obtenção da função que representa a saída Cada saída é analisada separadamente 0 1 2 3 4 5 6 7 8 9 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 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 DELT Nikolas Libert 7
Codificador Decimal/CD8421 Implementação do circuito digital E9 E8 E7 E6 E5 E4 E3 E2 E1 E0 S3 = E8+E9 S2 = E4+E5+E6+E7 S1 = E2+E3+E6+E7 S0 = E1+E3+E5+E7+E9 S3 S2 S1 S0 DELT Nikolas Libert 8
Codificador Decimal/CD8421 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. DELT Nikolas Libert 9
Decodificador CD8421/Decimal Decodificador CD8421/Decimal 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 E3 E2 E1 E0 Decodificador CD / Decimal S9 S8 S7 S6 S5 S4 S3 S2 S1 S0 DELT Nikolas Libert 10
Decodificador CD8421/Decimal Obtenção da função que representa a saída Cada saída é analisada por mapa de Karnaugh 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 C D 0 1 2 3 4 5 6 7 8 9 Saída 9: C C 0 0 0 0 0 0 0 0 X X X X 0 1 X X D D D DELT Nikolas Libert 11 S9 = D S9 = E3.E0 codificação CD só é definida de 0 a 9. Outros valores são irrelevantes (X) para o mapa de Karnaugh.
Decodificador CD8421/Decimal 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 D Saída 8: C C 0 0 0 0 0 0 0 0 X X X X 1 0 X X D D D S8 = E3.E0 Saída 6: C C 0 0 0 0 0 0 0 1 X X X X 0 0 X X D D D S6 = E2.E1.E0 Saída 7: C C 0 0 0 0 0 0 1 0 X X X X 0 0 X X D D D S7 = E2.E1.E0 Saída 5: C C 0 0 0 0 0 1 0 0 X X X X 0 0 X X D D D S5 = E2.E1.E0 DELT Nikolas Libert 12
Decodificador CD8421/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 C D Obtenha as funções para as saídas S4, S3 e S1. C C D D D DELT Nikolas Libert 13
Decodificador CD8421/Decimal Implementação do circuito digital E3 E2 E1 E0 S9 S8 S7 S6 S5 S4 S3 S2 S1 S0 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 DELT Nikolas Libert 14
Decodificador CD8421/Decimal CI Dedicado 74LS42 DELT Nikolas Libert 15
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. DELT Nikolas Libert 16
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 DELT Nikolas Libert 17
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. 101 110 http://en.wikipedia.org/wiki/rotary_encoder 100 110 100 111 101 111 011 000 001 011 010 001 Codificação Convencional 000 010 Codificação Gray DELT Nikolas Libert 18
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: 0b111 = 7 Leitura: 0b110 = 6 DELT Nikolas Libert 19
Código Gray Exercício: Monte a tabela de conversão de CD para Gray. che as funções mínimas para as 4 saídas. Desenhe o circuito resultante. G 3 = G 2 = + G 1 = + C G 0 = C + D DELT Nikolas Libert 20
Display de 7 Segmentos Display de 7 Segmentos Formados por 7 LEDs: Dois tipos: nodo Comum ou Catodo Comum f a b anodo a b c d e f g tivado com nível baixo g e d c a b c d e f g tivado com nível alto catodo DELT Nikolas Libert 21
Display de 7 Segmentos 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 Considerando Catodo Comum: Nível 1 = ceso e f d g a c b DELT Nikolas Libert 22
Decodificador CD8421/7 Segmentos 0 1 2 3 4 5 6 7 8 9 Decodificador CD8421/7 Segmentos Entrada (CD) 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 C D C C 1 0 1 1 0 1 1 1 X X X X 1 1 X X D D D C C 1 1 1 0 1 1 1 1 X X X X 1 1 X X D D D a=+c+d+d c=c++d C C 1 1 1 1 1 0 1 0 X X X X 1 1 X X D D D DELT Nikolas Libert 23 C C 1 0 1 1 0 1 0 1 X X X X 1 1 X X D D D b=++d+cd d=+c+d+cd+cd
Decodificador CD8421/7 Segmentos chando as funções para as 7 saída, é possível montar o circuito digital do decodificador. a = +C+D+D b = ++D+CD c = C++D d = +C+D+CD+CD e = D+CD f = +CD+C+D g = +C+C+CD CIs Dedicados 74LS47 (nodo Comum) 74LS48 (Catodo Comum) DELT Nikolas Libert 24
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 0 1 2 c d e 3 4 5 DELT Nikolas Libert 25
Exercício: Dado digital ssim: Monte a tabela que relaciona um número em CD com os respectivos estados dos LEDs (considere que o valor de entrada só pode estar entre 0 e 5). che as funções mínimas para cada LED de saída. Desenhe o diagrama do circuito final. a = + C b = c = D d = e = + C DELT Nikolas Libert 26
Referências IDOET, I. V., CPUNO, F. G. Elementos de Eletrônica Digital, 41ª Edição, Érica, São Paulo, 2013. DELT Nikolas Libert 27