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.