Circuitos Digitais - Codificadores

A Encoderé um circuito combinacional que realiza a operação reversa do decodificador. Possui no máximo 2 n linhas de entrada e 'n' linhas de saída. Ele produzirá um código binário equivalente à entrada, que está ativa High. Portanto, o codificador codifica 2 n linhas de entrada com 'n' bits. É opcional representar o sinal de habilitação em codificadores.

4 para 2 codificador

Seja 4 para 2 o codificador tem quatro entradas Y 3 , Y 2 , Y 1 e Y 0 e duas saídas A 1 e A 0 . oblock diagram de 4 a 2 Codificador é mostrado na figura a seguir.

A qualquer momento, apenas uma dessas 4 entradas pode ser '1' para obter o respectivo código binário na saída. oTruth table de 4 a 2 codificador é mostrado abaixo.

Entradas Saídas
Y3 Y2 Y1 Y0 A1 A0
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 0 1 0
1 0 0 0 1 1

Na tabela da verdade, podemos escrever o Boolean functions para cada saída como

$$ A_ {1} = Y_ {3} + Y_ {2} $$

$$ A_ {0} = Y_ {3} + Y_ {1} $$

Podemos implementar as duas funções booleanas acima usando duas portas OU de entrada. ocircuit diagram de 4 a 2 codificadores é mostrado na figura a seguir.

O diagrama de circuito acima contém duas portas OR. Essas portas OR codificam as quatro entradas com dois bits

Octal para codificador binário

O codificador octal para binário possui oito entradas, Y 7 a Y 0 e três saídas A 2 , A 1 e A 0 . Codificador octal para binário nada mais é do que codificador 8 para 3. oblock diagram de octal para codificador binário é mostrado na figura a seguir.

A qualquer momento, apenas uma dessas oito entradas pode ser '1' para obter o respectivo código binário. oTruth table de octal para codificador binário é mostrado abaixo.

Entradas Saídas
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 A2 A1 A0
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0 1 0 1
0 1 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 1 1 1

Na tabela da verdade, podemos escrever o Boolean functions para cada saída como

$$ A_ {2} = Y_ {7} + Y_ {6} + Y_ {5} + Y_ {4} $$

$$ A_ {1} = Y_ {7} + Y_ {6} + Y_ {3} + Y_ {2} $$

$$ A_ {0} = Y_ {7} + Y_ {5} + Y_ {3} + Y_ {1} $$

Podemos implementar as funções booleanas acima usando quatro portas OR de entrada. ocircuit diagram de octal para codificador binário é mostrado na figura a seguir.

O diagrama de circuito acima contém três portas OR de 4 entradas. Essas portas OR codificam as oito entradas com três bits.

Desvantagens do codificador

A seguir estão as desvantagens do codificador normal.

  • Existe uma ambigüidade, quando todas as saídas do codificador são iguais a zero. Porque, poderia ser o código correspondente às entradas, quando apenas a entrada menos significativa é uma ou quando todas as entradas são zero.

  • Se mais de uma entrada estiver ativa como Alta, o codificador produz uma saída, que pode não ser o código correto. Paraexample, se Y 3 e Y 6 forem '1', o codificador produzirá 111 na saída. Este não é um código equivalente correspondente a Y 3 , quando é '1', nem o código equivalente correspondente a Y 6 , quando é '1'.

Portanto, para superar essas dificuldades, devemos atribuir prioridades a cada entrada do codificador. Então, a saída do encoder será o código (binário) correspondente à (s) entrada (s) Alta (s) ativa (s), que tem maior prioridade. Este codificador é chamado depriority encoder.

Codificador de prioridade

Um codificador de prioridade 4 a 2 tem quatro entradas Y 3 , Y 2 , Y 1 e Y 0 e duas saídas A 1 e A 0 . Aqui, a entrada Y 3 tem a prioridade mais alta, enquanto a entrada Y 0 tem a prioridade mais baixa. Neste caso, mesmo se mais de uma entrada for '1' ao mesmo tempo, a saída será o código (binário) correspondente à entrada, que está tendohigher priority.

Nós consideramos mais um output, V para saber se o código disponível nas saídas é válido ou não.

  • Se pelo menos uma entrada do codificador for '1', então o código disponível nas saídas é válido. Nesse caso, a saída, V será igual a 1.

  • Se todas as entradas do codificador são '0', então o código disponível nas saídas não é válido. Nesse caso, a saída V será igual a 0.

o Truth table de 4 a 2 codificadores de prioridade é mostrado abaixo.

Entradas Saídas
Y3 Y2 Y1 Y0 A1 A0 V
0 0 0 0 0 0 0
0 0 0 1 0 0 1
0 0 1 x 0 1 1
0 1 x x 1 0 1
1 x x x 1 1 1

Usar 4 variable K-maps para obter expressões simplificadas para cada saída.

O simplificado Boolean functions está

$$ A_ {1} = Y_ {3} + Y_ {2} $$

$ A_ {0} = Y_ {3} + {Y_ {2}} 'Y_ {1} $

Da mesma forma, obteremos a função booleana de saída, V como

$$ V = Y_ {3} + Y_ {2} + Y_ {1} + Y_ {0} $$

Podemos implementar as funções booleanas acima usando portas lógicas. ocircuit diagram de 4 a 2 codificadores de prioridade é mostrado na figura a seguir.

O diagrama de circuito acima contém duas portas OU de 2 entradas, uma porta OU de 4 entradas, uma porta E de 2 entradas e um inversor. Aqui, a combinação de porta e inversor AND é usada para produzir um código válido nas saídas, mesmo quando várias entradas são iguais a '1' ao mesmo tempo. Portanto, este circuito codifica as quatro entradas com dois bits com base nopriority atribuído a cada entrada.