27
Codificadores e Decodificadores Codificadores e Decodificadores Nikolas Libert Aula 6 Eletrônica Digital ET52C Tecnologia em Automação Industrial

Codificadores e Decodificadores

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Codificadores e Decodificadores

Codificadores e DecodificadoresCodificadores e Decodificadores

Nikolas Libert

Aula 6

Eletrônica Digital ET52CTecnologia em Automação Industrial

Page 2: Codificadores e Decodificadores

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.

Page 3: 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

Page 4: Codificadores e Decodificadores

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

Page 5: Codificadores e Decodificadores

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.

Page 6: Codificadores e Decodificadores

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

Page 7: Codificadores e Decodificadores

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

Page 8: Codificadores e Decodificadores

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

Page 9: Codificadores e Decodificadores

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.

Page 10: Codificadores e Decodificadores

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

Page 11: Codificadores e Decodificadores

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

Page 12: Codificadores e Decodificadores

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

Page 13: Codificadores e Decodificadores

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.

Page 14: Codificadores e Decodificadores

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

Page 15: Codificadores e Decodificadores

DAELT ● Nikolas Libert ● 15

Decodificador BCD8421/Decimal

CI Dedicado

– 74LS42

Page 16: Codificadores e Decodificadores

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.

Page 17: Codificadores e Decodificadores

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

Page 18: Codificadores e Decodificadores

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

Page 19: Codificadores e Decodificadores

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

Page 20: Codificadores e Decodificadores

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

Page 21: Codificadores e Decodificadores

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

Page 22: Codificadores e Decodificadores

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

Page 23: Codificadores e Decodificadores

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

Page 24: Codificadores e Decodificadores

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

Page 25: Codificadores e Decodificadores

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

Page 26: Codificadores e Decodificadores

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

Page 27: Codificadores e Decodificadores

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.