Upload
others
View
24
Download
0
Embed Size (px)
Citation preview
Codificadores e DecodificadoresCodificadores e Decodificadores
Nikolas Libert
Aula 6
Eletrônica Digital ET52CTecnologia 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: 0b000011: 0b000102: 0b001003: 0b010004: 0b10000
Codificação DecimalCodificação Binária
0: 0b0001: 0b0012: 0b0103: 0b0114: 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
tra
da
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
CodificadorX
ProcessadorAritmético
DecodificadorY
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/BCD8421BCD=”Binary Coded Decimal”
CodificadorDecimal /
BCD
E9E8E7
E5E6
E4E3E2E1E0
S3S2S1S0
1 0Entrada 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+E9S2 = E4+E5+E6+E7S1 = E2+E3+E6+E7S0 = 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
DecodificadorBCD /
Decimal
S9S8S7
S5S6
S4S3S2S1S0
E3E2E1E0
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 KarnaughSaí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 C0
0
0 0 0
0 0 0
X
0
X X X
1 X X
A
A
B
B
BD 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 C0
0
0 0 0
0 0 0
X
1
X X X
0 X X
A
A
B
B
BD D D
A B C D
S8 = E3.E0
Saída 7:
C C0
0
0 0 0
0 1 0
X
0
X X X
0 X X
A
A
B
B
BD D D
S7 = E2.E1.E0
Saída 6:
C C0
0
0 0 0
0 0 1
X
0
X X X
0 X X
A
A
B
B
BD D D
S6 = E2.E1.E0
Saída 5:
C C0
0
0 0 0
1 0 0
X
0
X X X
0 X X
A
A
B
B
BD 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
BD 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 digitalE3 E2 E1 E0
S9 S9 = E3.E0S8 = E3.E0S7 = E2.E1.E0S6 = E2.E1.E0S5 = E2.E1.E0S4 = E2.E1.E0S3 = E2.E1.E0S2 = E2.E1.E0S1 = E3.E2.E1.E0S0 = 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 Convencional000
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 = AG 2 = A + BG 1 = B + CG 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 SegmentosEntrada (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 C1
0
0 1 1
1 1 1
X
1
X X X
1 X X
A
A
B
B
BD D D
C C1
1
1 1 1
0 1 0
X
1
X X X
1 X X
A
A
B
B
BD D D
C C1
1
1 1 0
1 1 1
X
1
X X X
1 X X
A
A
B
B
BD D D
C C1
0
0 1 1
1 0 1
X
1
X X X
1 X X
A
A
B
B
BD 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+BDb = A+B+AD+CDc = C+B+Dd = A+BC+BD+CD+BCDe = BD+CDf = A+CD+BC+BDg = 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 + Cb = Bc = Dd = Be = 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.