Sistemas Digitais · Ibmec RJ
Objetivos de aprendizagem
6.1 / códigos binários
O processo de codificação digital consiste na definição de um grupo de dígitos binários para representar um conjunto discreto de elementos. Sinteticamente, um código é uma representação simbólica de uma transformação da informação.
palavra do código
Cada palavra do código define uma representação binária inequívoca — única para cada elemento discreto. Se duas palavras distintas representam o mesmo elemento, o código é ambíguo — característica indesejável.
Existem diferentes esquemas de codificação, cada um com particularidades, vantagens e desvantagens (não discutidas aqui).
O código BCD representa os dígitos decimais. Existem vários tipos; trataremos do código 8421 BCD, também designado NBCD (Natural Binary Coded Decimal).
| Palavra | Decimal |
|---|---|
| 0000 | 0 |
| 0001 | 1 |
| 0010 | 2 |
| 0011 | 3 |
| 0100 | 4 |
| 0101 | 5 |
| 0110 | 6 |
| 0111 | 7 |
| 1000 | 8 |
| 1001 | 9 |
Em aplicações onde é desejável que, entre palavras adjacentes, apenas uma posição mude por vez, usa-se um código de distância unitária — o código UDC.
Um código UDC conhecido é o código de Gray de 4 bits:
| Palavra | Decimal |
|---|---|
| 0000 | 0 |
| 0001 | 1 |
| 0011 | 2 |
| 0010 | 3 |
| 0110 | 4 |
| 0111 | 5 |
| 0101 | 6 |
| 0100 | 7 |
| 1100 | 8 |
| 1101 | 9 |
| 1111 | 10 |
| 1110 | 11 |
| 1010 | 12 |
| 1011 | 13 |
| 1001 | 14 |
| 1000 | 15 |
Quando os elementos discretos incluem, além dos dígitos decimais, caracteres alfabéticos e símbolos especiais, caracteriza-se um código alfanumérico.
O código ASCII (American Standard Code for Information Interchange) é o mais amplamente usado. Cada palavra possui 8 bits, mas utiliza efetivamente 7 bits para representar 128 sinais:
O bit não utilizado (8º bit) pode ser empregado de diferentes formas (por exemplo, paridade).
| b4 b3 b2 b1 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
|---|---|---|---|---|---|---|---|---|
| 0000 | NULL | DLE | SP | 0 | @ | P | ` | p |
| 0001 | SOH | DC1 | ! | 1 | A | Q | a | q |
| 0010 | STX | DC2 | " | 2 | B | R | b | r |
| 0011 | ETX | DC3 | # | 3 | C | S | c | s |
| 0100 | EOT | DC4 | $ | 4 | D | T | d | t |
| 0101 | ENQ | NAK | % | 5 | E | U | e | u |
| 0110 | ACK | SYN | & | 6 | F | V | f | v |
| 0111 | BEL | ETB | ' | 7 | G | W | g | w |
| 1000 | BS | CAN | ( | 8 | H | X | h | x |
| 1001 | HT | EM | ) | 9 | I | Y | i | y |
| 1010 | LF | SUB | * | : | J | Z | j | z |
| 1011 | VT | ESC | + | ; | K | [ | k | { |
| 1100 | FF | FS | , | < | L | \ | l | | |
| 1101 | CR | GS | - | = | M | ] | m | } |
| 1110 | SO | RS | . | > | N | ^ | n | ~ |
| 1111 | SI | US | / | ? | O | _ | o | DEL |
6.2 / circuitos codificadores
São circuitos lógicos que aceitam M entradas, em que somente uma entrada é ativada por vez, e ativam as saídas correspondentes à palavra do código de N bits que representa a entrada. A entrada ativada representa o símbolo discreto.
Fig. 6.1 — Circuito codificador típico
Um codificador binário de 8 bits pode ter o comportamento representado pela tabela-verdade:
| A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 | O2 | O1 | O0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 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 | 1 | 1 | 1 | 1 |
As entradas são $A_7A_6A_5A_4A_3A_2A_1A_0$; as saídas são $O_2O_1O_0$. A tabela sugere que pelo menos uma entrada sempre estará ativada: a entrada $A_j$ ativada implica a palavra binária de 3 bits equivalente ao decimal j.
Um exemplo típico é o CD4511B — CI com 4 bits de entradas lógicas e 7 bits de saídas lógicas. Funcionalmente, converte as entradas ABCD de um código BCD para as saídas associadas a um display de 7 segmentos.
O display de 7 segmentos é o encapsulamento de 7 LEDs, identificados pelas letras a, b, c, d, e, f, g, que formam caracteres alfanuméricos quando ativados:
Fig. 6.2 — Display de 7 segmentos
Fig. 6.3 — Esquema elétrico da conexão decoder-display
O CD4511 também possui entradas de controle que influenciam a palavra gerada na saída.
nomenclatura do datasheet
Embora o datasheet trate o CD4511 como BCD-to-7-Segment Decoder, ele satisfaz exatamente a definição de codificador apresentada aqui — realiza de fato a decodificação do código BCD e a codificação para o código de 7 segmentos.
6.3 / circuitos decodificadores
Realizando a operação inversa dos codificadores, os decoders são circuitos lógicos que aceitam N entradas de um código, cada combinação representando uma palavra, e ativam somente uma das M saídas correspondente ao elemento associado àquela palavra.
Fig. 6.4 — Circuito decodificador típico
Um decodificador binário de 3 bits pode ter o comportamento representado pela tabela-verdade:
| C | B | A | O7 | O6 | O5 | O4 | O3 | O2 | O1 | O0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Como já visto no CD4511, os circuitos integrados operam não somente com sinais lógicos, mas também com sinais de controle:
Fig. 6.5 — Sinal de controle (enable)
sinal de enable
O sinal de controle é chamado de enable. Normalmente habilita ou desabilita o circuito para realizar a função para a qual foi projetado.
O esquema geral de um decoder BCD produzindo saída decimal:
Fig. 6.6 — Decoder BCD-decimal
checkpoint
No código de Gray, o que caracteriza a "distância unitária" entre palavras adjacentes?
Em um circuito codificador com M entradas e N bits de saída, qual condição deve ser satisfeita?
Qual é a função do sinal de enable em um decoder?
referências e aprofundamento