Arquitetura de Computadores: Memórias - Nível lógico
Codificadores e Descodificadores
1. Codificadores e descodificadores
Os codificadores e descodificadores são circuitos que transformam
informações obtidas de determinada maneira em umas informações em
outra forma de código que possam ser usadas pelos circuitos seguintes.
Como a transformação dos códigos que ocorrem com maior frequência
nos circuitos digitais são as que envolvem a passagem de sinais na
forma binária para a forma digital e vice-versa, os termos codificadores e
descodificadores são específicos para estes tipos de sinais.
Assim, denominamos codificadores os circuitos que transformam sinais
obtidos na forma decimal em sinais binários ou BCD (Binary Coded
Decimal) ou ainda sinais obtidos a partir de 16 entradas em sinais
codificados em hexadecimal qwenquanto denominamos
descodificadores os circuitos que convertem sinais binários ou BCD em
sinais decimais ou de outro tipo, como por exemplo os hexadecimais ou
ainda capazes de excitar um mostrador de 7 segmentos.
Analisemos os dois tipos de circuitos.
Codificadores
Podemos definir de forma simples um circuito codificador como um
circuito que seja capaz de converter um sinal de determinado tipo, como
por exemplo decimal, num sinal digital ou BCD.
Assim, se tivermos 10 chaves de acionamento ou 10 entradas de sinais
diferentes que representem valores entre 0 e 9, um codificador, como o
mostrado na figura 1 fará a conversão desses sinais em BCD.
2. Neste sistema temos 10 entradas e 4 saídas com a obtenção de níveis
lógicos conforme a seguinte tabela verdade:
Observe que nesta tabela a saída que representa o dígito menos
significativo (LSB) é S1 enquanto a saída que representa o dígito mais
significativo MSB) é S4.
Assim, os "pesos" das saídas nesta tabela e nas que são dadas como
exemplo neste artigo são:
S1 = 1
S2 = 2
S3 = 4
S4 = 8
3. Da mesma forma podemos ter um circuito codificador que converta os
sinais de 16 entradas em sinais correspondentes a uma informação
hexadecimal.
A tabela verdade para tal codificador mostrado na figura 2 será:
4. Um circuito prático de um codificador pode ser obtido tanto a partir da
utilização de portas lógicas como a partir de uma matriz de diodos.
O processo que utiliza uma matriz de diodos é o mais simples de
entender pela sua própria estrutura que visualmente corresponde a
própria tabela verdade.
Assim, para o caso da decodificação de 10 entradas em saídas BCD
podemos elaborar a matriz mostrada na figura 3.
5. Veja então que o que temos de fazer é simplesmente colocar um diodo
nas linhas em que precisamos de um nível lógico 1 e não colocar diodo
nenhum nas linhas em que o nível lógico deva ser 0.
Isso significa que nas linhas em que temos o diodo, quando a entrada
vai ao nível alto, a corrente pode circular produzindo assim uma tensão
de saída (nível alto) no resistor de carga correspondente, conforme
mostra a figura 4.
Deve-se apenas considerar que neste circuito, utilizando-se diodos de
silício temos uma queda de tensão da ordem de 0,7 volts na saída, o
que deve ser compensado.
Veja que, com este tipo de circuito é possível "programar" o codificador
para se ter saídas digitais de qualquer combinação a partir de uma
entrada.
Assim, conforme mostra a figura 5, nada impede que tenhamos uma
sequência completamente diferente da convencional para a codificação
de um circuito de 4 entradas.
6. Neste circuito temos a seguinte tabela verdade:
Descodificador
Segundo nossa definição, um circuito descodificador faz exatamente "o
contrário" do codificador, passando um conjunto de sinais BCD, binário
ou de outra forma normalmente usada pelos circuitos digitais para a
forma decimal ou outra forma que seja apropriada a excitação de um
display.
Na figura 6 temos o que seria um bloco de um descodificador de 4
entradas operando em binário que fornece uma saída de 10.
7. A tabela verdade para um circuito descodificador deste tipo seria a
seguinte:
Um outro tipo de descodificador muito usado em projetos eletrônicos que
envolvem displays é o descodificador BCD para 7 segmentos.
Conforme mostra a figura 8, os displays de 7 segmentos podem formar
algarismos de 0 a 9 e alguns outros símbolos acendendo uma
combinação de 7 diodos eletroluminescentes ou LEDs.
8. Assim, o que temos de fazer é entrar com os sinais BCD no circuito
conveniente e obter na saída os níveis que acionem os segmentos
correspondentes ao dígito que deve aparecer.
Uma tabela verdade para os algarismos de 0 a 9 seria a seguinte:
Observe que a condição de máximo consumo do display ocorre quando
temos o algarismo 8 pois todos os dígitos são acesos.
Para um circuito hexadecimal poderíamos ter as condições adicionais
mostradas na figura 9.