Você está na página 1de 30

ELETRNICA DIGITAL

Prof. Daniel Cardoso

CAPTULO 4 Codificadores e Multiplexadores

4.1. Cdigos Binrios


4.1.1. Cdigos BCD (Binary-Coded Decimal, ou Decimal Codificado em Binrio) So cdigos binrios que representam diretamente os algarismos decimais de 0 a 9. Cada algarismo de um numeral decimal codificado em BCD individualmente, de forma semelhante converso de hexadecimal para binrio, e dessa forma, os numerais decimais so codificados (e no convertidos) em binrio.

4.1.1.1. Cdigo BCD 8421 um cdigo de 4 bits que usa o padro 8421 de pesos posicionais do sistema binrio, onde 8, 4, 2 e 1 so as potncias de 2 para numerais binrios de 4 bits. Somando os pesos de cada bit 1 da palavra-cdigo, obtm-se o algarismo decimal correspondente, de maneira idntica converso normal de binrio para decimal. Como mostrado na tabela 4.1, o cdigo BCD 8421 utiliza somente 10 das 16 combinaes possveis com palavras de 4 bits. BCD 8421 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Tabela 4.1 - Cdigo BCD 8421. Decimal

Exemplo de converso decimal BCD 8421: 72510 0111_0010_0101BCD A principal vantagem do cdigo BCD 8421 a sua simplicidade: ele to popular que quase sempre chamado simplesmente de cdigo BCD, ficando implcito tratar-se do BCD 8421.

37

UFPA / ITEC / FEE

Eletrnica Digital

4.1.1.2. Cdigo Excesso-3 (XS3) um cdigo BCD em que soma-se 3 representao em BCD 8421 de cada dgito decimal. O objetivo gerar um cdigo binrio auto-complementar, o que significa um cdigo no qual o complemento de 1 de uma palavra-cdigo corresponde, em decimal, ao complemento de 9 do algarismo decimal que a palavra inicial representava. O complemento de 9 de um algarismo decimal D o quanto falta para ele chegar a 9: C9(D) = 9 D. O complemento de 1 de um numeral binrio B, de n bits, definido por: C1(B) = (2n 1)2 B onde (2 1)2 uma palavra de n bits em que todos so iguais a 1. O complemento de 1 de B pode ser encontrado de forma lgica invertendo-se todos os bits de B, um por um. B = bn-1 bn-2 ... b1 b0 C1(B) = b n1 b n-2 ... b1 b 0
n

Decimal Excesso-3 0 0011 1 0100 2 0101 3 0110 4 0111 5 1000 6 1001 7 1010 8 1011 9 1100 Tabela 4.2 - Cdigo XS3.

O 210 em excesso-3 0101; o complemento de 9 do 210 710, logo o 710 em XS3 1010, o complemento bit a bit de 0101. O 910 em XS3 o complemento de 1 do 010 em XS3, o 810 o complemento de 1 do 110, e assim por diante. Isso caracteriza o cdigo como auto-complementar: um algarismo decimal e seu complemento de 9 correspondem a palavras binrias tambm complementares. Para converter-se um numeral de decimal para excesso-3, deve-se somar 0011 (3) representao BCD 8421 de cada algarismo desse numeral. Por exemplo: 109810 excesso-3 109810 = 0001_0000_1001_1000BCD 0100_0011_1100_1011XS3 Para converter-se um numeral de excesso-3 para decimal, subtrair 0011 de cada grupo de 4 bits (a contar da direita) e escrever o equivalente decimal de cada resultado. Por exemplo: 100_1010_0110XS3 1_0111_0011BCD = 17310 A desvantagem do cdigo excesso-3 que ele no ponderado.

38

ELETRNICA DIGITAL

Prof. Daniel Cardoso

4.1.1.3. Cdigo 2-entre-5 Trata-se de um cdigo com palavras de 5 bits, em que cada palavra contm somente dois bits 1. Na codificao dos algarismos decimais de 0 at 9, as palavrascdigo tambm so usadas em ordem crescente. Sua vantagem a facilidade de deteco de erros, pois todas as palavras precisam ter a mesma quantidade de 1s. Sua desvantagem ser muito redundante (das 32 combinaes possveis, apenas 10 so usadas). Decimal 2-entre-5 0 00011 1 00101 2 00110 3 01001 4 01010 5 01100 6 10001 7 10010 8 10100 9 11000 Tabela 4.3 - Cdigo 2-entre-5. Uma vantagem dos cdigos BCD que numerais decimais com a mesma quantidade de algarismos so codificados por palavras de mesmo comprimento. Dentre as desvantagens dos cdigos BCD, citam-se: eles no usam todas as combinaes possveis de bits; so menos eficientes que a representao em binrio puro, pois ocupam mais memria e as operaes aritmticas so mais complexas e demoradas.

4.1.2. Cdigo Johnson um cdigo refletido no-ponderado, de trs ou mais bits. Cdigo refletido aquele em que somente um bit varia quando da passagem de uma palavra (estado) para outra consecutiva, anterior ou posterior. Um cdigo refletido cclico, ou seja, do ltimo estado volta-se para o primeiro, fechando o ciclo do cdigo e mantendo a variao de apenas um bit entre palavras vizinhas. O cdigo Johnson implica em uma sequncia determinada de gerao de suas palavras, sendo gerado por um contador Johnson. til em aplicaes com circuitos sequenciais. 00000 00001 00011 00111 01111 11111 11110 11100 11000 10000 Tabela 4.4 - Uma sequncia em cdigo Johnson com 5 bits.
39

UFPA / ITEC / FEE

Eletrnica Digital

O cdigo Johnson, ao contrrio dos cdigos BCD, no foi criado para representar os dgitos decimais.

4.1.3. Cdigo Gray um cdigo refletido e no-ponderado. Um exemplo de cdigo Gray mostrado na tabela 4.5, consistindo em uma sequncia refletida que percorre o mapa de Karnaugh, passando sempre de uma casa para outra logicamente adjacente, at passar do ltimo valor novamente para o primeiro, fechando o ciclo do cdigo. Cdigo Gray 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

AB CD 00 01 11 10

00

01

11

10

. . . .

. . . .

. . . .

. . . .

Tabela 4.5 - Um exemplo de cdigo Gray.

Outras sequncias cclicas de palavras binrias, no mapa de Karnaugh, determinam outras variantes do cdigo Gray:

AB CD 00 01 11 10

00

01

11

10

. . . .

. . . .
40

. . . .

. . . .

ELETRNICA DIGITAL

Prof. Daniel Cardoso

4.1.4. Cdigo ASCII (American Standard Code for Information Interchange, ou Cdigo Americano Padro para Intercmbio de Informaes) Pronuncia-se squi. adotado nos computadores para a representao de letras, algarismos, sinais de pontuao, caracteres de controle e smbolos especiais. originalmente um cdigo de 7 bits (128 palavras), mas nos computadores foi acrescentado um oitavo bit para a representao de caracteres especiais, como smbolos grficos e/ou letras acentuadas.

4.2. Codificadores e Decodificadores


Os codificadores e decodificadores formam uma classe de circuitos combinacionais projetados para reconhecer (identificar) os diferentes padres de bits que possam ocorrer em suas entradas. Existem codificadores e decodificadores feitos para converter palavras de um cdigo para outro. Isto significa receber uma informao codificada de alguma forma e convert-la para uma outra forma de codificao, sem alterar a informao. Nesse caso, entende-se como codificador o circuito que converte informaes de um cdigo conhecido para outro desconhecido ou menos conhecido, e o decodificador o circuito que faz a converso contrria. Denomina-se tambm de codificador o circuito que converte uma informao expressa em muitas linhas de entrada para a forma de palavras de sada em algum cdigo, com um nmero menor de bits; e denomina-se decodificador o circuito que recebe palavras de entrada em algum cdigo e destrincha essa informao em muitas linhas de sada, decodificando-a.

4.2.1. Projetos de Conversores de Cdigos 4.2.1.1. Projeto de um codificador BCD 8421 para Excesso-3 A converso de palavras em BCD 8421 para o cdigo Excesso-3 mostrada na tabela 4.6. Palavras de entrada maiores que 1001BCD (910) no pertencem mais ao cdigo BCD 8421, isto , no pertencem ao domnio da funo de codificao BCD XS3, logo no se precisa saber a priori quais sero as sadas: elas no importam (dont care). O uso do X no projeto das sadas opcional, e estas poderiam ter sido todas definidas como 0 para palavras de entrada fora da faixa do cdigo BCD. Mas o emprego do X permite a mxima simplificao das expresses das funes de sada, e portanto o mnimo circuito. Cada bit de sada uma funo lgica diferente das entradas A, B, C e D. Monta-se os mapas de Karnaugh para cada uma, obtendo-se as expresses a seguir: S3 = A + B(C + D) S2 = B C D + B (C + D) = B (C + D) + B (C + D)

S1 = C D + CD = (C + D) + CD

S0 = D

e depois montam-se os circuitos de S3, S2, S1 e S0; o esquemtico mostrado na figura 4.1. Apesar de as quatro sadas serem independentes entre si, pode-se observar

41

UFPA / ITEC / FEE

Eletrnica Digital

que elas possuem termos comuns, o que deve ser aproveitado para simplificar ainda mais a implementao do circuito, compartilhando-se sadas de portas onde for possvel. BCD 8421 Excesso-3 Decimal A B C D S3 S2 S1 S0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 2 0 0 1 0 0 1 0 1 3 0 0 1 1 0 1 1 0 4 0 1 0 0 0 1 1 1 5 0 1 0 1 1 0 0 0 6 0 1 1 0 1 0 0 1 7 0 1 1 1 1 0 1 0 8 1 0 0 0 1 0 1 1 9 1 0 0 1 1 1 0 0 X 1 0 1 0 X X X X X 1 0 1 1 X X X X X 1 1 0 0 X X X X X 1 1 0 1 X X X X X 1 1 1 0 X X X X X 1 1 1 1 X X X X Tabela 4.6 Converso do cdigo BCD 8421 para o cdigo XS3.

Figura 4.1 Codificador de BCD 8421 para Excesso-3.

42

ELETRNICA DIGITAL

Prof. Daniel Cardoso

4.2.1.2. Projeto de um decodificador Excesso-3 para BCD 8421

Excesso-3 BCD 8421 Decimal A B C D S3 S2 S1 S0 X 0 0 0 0 X X X X X 0 0 0 1 X X X X X 0 0 1 0 X X X X 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 2 0 1 0 1 0 0 1 0 3 0 1 1 0 0 0 1 1 4 0 1 1 1 0 1 0 0 5 1 0 0 0 0 1 0 1 6 1 0 0 1 0 1 1 0 7 1 0 1 0 0 1 1 1 8 1 0 1 1 1 0 0 0 9 1 1 0 0 1 0 0 1 X 1 1 0 1 X X X X X 1 1 1 0 X X X X X 1 1 1 1 X X X X Tabela 4.7 Converso do cdigo XS3 para o cdigo BCD 8421. Os valores das sadas no importam para palavras de entrada que no pertenam ao cdigo XS3. Pelo mesmo procedimento usado anteriormente no projeto do codificador, obtm-se as seguintes expresses para as sadas S3 a S0: S3 = A(B + CD) S1 = CD + C D S2 = B C + C(AD + BD) = B + C + C(AD + BD) S0 = D

Figura 4.2 Esquema do decodificador de Excesso-3 em BCD 8421.

43

UFPA / ITEC / FEE

Eletrnica Digital

4.2.2. Decodificadores n-para-2n linhas (Decodificadores endereadores)

Os circuitos decodificadores mais simples so aqueles em que uma nica sada ativada para cada uma das possveis palavras em suas entradas. Um exemplo um decodificador de 3 para 8 linhas (3-line-to-8-line decoder): ele possui 3 linhas de entrada, logo existem 8 palavras binrias de entrada possveis; portanto, o circuito precisa ter 8 sadas, cada uma correspondendo a uma palavra de entrada diferente. Isto , trata-se de um circuito para converter (decodificar) palavras de binrio para octal, indicando o valor octal em suas sadas. Esse circuito tambm chamado decodificador 1-de-8, por ter no mximo uma sada ativa de um total de 8. O circuito da figura 4.3 um decodificador de 3 para 8 linhas bsico; neste esquemtico, C o MSB e A o LSB. Tambm existem decodificadores 2-para-4linhas (1-de-4), 4-para-16-linhas (1-de-16) e, de modo geral, n-para-2n-linhas (1-de-2n). Esse tipo de decodificador atua como um endereador.

Figura 4.3 Decodificador 3x8 linhas (ou 1-de-8) bsico: decodifica de 3 linhas para 8 linhas. Somente uma sada estar ativa para cada combinao de valores dos trs bits de entrada.

As macrofunes digitais, como os codificadores e decodificadores por exemplo, podem possuir alguns recursos extras e diferenas de funcionamento em relao a seus circuitos bsicos. Os recursos e diferenas mais comuns so:
44

ELETRNICA DIGITAL

Prof. Daniel Cardoso

Sinais ativos em nvel baixo (active-low signals): so sinais que repousam normalmente em nvel lgico 1, e vo a nvel lgico 0 para indicar sua ativao. um modo de operao muito comum em CIs digitais. O circuito da figura 4.3 tem as sadas ativadas em nvel lgico alto (active-high). J no decodificador com sadas ativas em nvel baixo, uma sada torna-se 0 quando o endereo dela for aplicado.

Tanto sinais de entrada como de sada podem ser active-low, e so identificados por uma bolinha de inverso no pino do sinal, e pelo uso da barra de inverso como parte integrante do nome do sinal.
Habilitao do chip (Enable ou Chip Enable): trata-se de um pino de entrada presente em muitos CIs digitais de prateleira, normalmente denominado E ou CE, que permite habilitar ou inibir a operao do circuito; pode ser ativo em nvel alto ou em nvel baixo. Quando o sinal de habilitao est ativado, ele habilita o CI, ou seja, permite que as suas sadas mudem de valor, em funo das palavras de entrada. Por exemplo, em CIs nos quais a habilitao ativa em nvel baixo (E ou CE ), as sadas do dispositivo sero habilitadas se E ou CE passarem a 0. Quando a habilitao desativada, as sadas so inibidas e no respondem mais s palavras de entrada, permanecendo estticas.

O chip enable no uma entrada de dados, e sim uma entrada de controle, que tambm pode ser chamada de chip select (CS ou CS ) ou select (S ou S ). O decodificador 1-de-8 da figura 4.3, acrescido de um pino de habilitao e com sadas ativas em nvel baixo, mostrado na figura 4.4(a); sua tabela-verdade mostrada na tabela 4.8. Ao ser inserido em um sistema junto com outros circuitos, este decodificador deve ser representado pelo smbolo da figura 4.4(b).

E 1 0 0 0 0 0 0 0 0

Y0 Y3 Y5 Y6 Y1 Y2 Y4 Y7 C B A X X X 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 Tabela 4.8 Tabela-verdade do decodificador 3-para-8-linhas com enable.

45

UFPA / ITEC / FEE

Eletrnica Digital

(b)

(a) Figura 4.4 (a) Esquemtico e (b) smbolo do decodificador 1-de-8 com enable e sadas ativas em nvel baixo.

4.3. Chaves de Trs Estados (Tri-state)


As chaves de trs estados so componentes indispensveis nas sadas de blocos de circuito que precisem ser conectados a barramentos. Os barramentos consistem de um conjunto de trilhas que so como vias de trnsito de palavras binrias, interconectando vrios blocos funcionais e permitindo a troca de informaes entre quaisquer deles. H barramentos de 8 bits, 16 bits, 32 bits, etc., ou seja, 8, 16 e 32 trilhas respectivamente. Quando se inibe as sadas de um CI com o chip enable tradicional, elas so fixadas em 0 ou em 1, dependendo de qual for o estado ativo das mesmas. Mas como diferenciar o caso em que isso acontece porque o dispositivo foi inibido com o enable, do caso em que a informao nas sadas mesmo 000...0 ou 111...1 (que podem ser valores vlidos)? O problema que as sadas nunca foram desconectadas do barramento, elas foram apenas fixadas em um valor, mas continuam enviando bits para fora do CI.

46

ELETRNICA DIGITAL

Prof. Daniel Cardoso

O que se precisa de uma forma de isolar as sadas de um CI qualquer do barramento no qual ele ligado. As chaves de trs estados vm resolver esse problema, pois so componentes que possuem trs estados de sada: 0, 1 e alta impedncia, representada por Z. As chaves de trs estados podem ser: inversora ou no-inversora, ativa em nvel alto ou ativa em nvel baixo. Chave tri-state no-inversora, ativa em nvel alto: C 0 1 1 Chave tri-state inversora, ativa em nvel alto: C 0 1 1 Chave tri-state no-inversora, ativa em nvel baixo: C 0 0 1 Chave tri-state inversora, ativa em nvel baixo: C 0 0 1 A 0 1 X Y 1 0 Z A 0 1 X Y 0 1 Z A X 0 1 Y Z 1 0 A X 0 1 Y Z 0 1

Como um exemplo de utilizao das chaves de trs estados, a figura 4.5 mostra um decodificador 2-para-4-linhas com chip enable para sadas tri-state.

Figura 4.5 Decodificador 2-para-4-linhas com sadas de trs estados.

47

UFPA / ITEC / FEE

Eletrnica Digital

4.4. Mostrador de Sete Segmentos


Um LED (Light-Emitting Diode) um tipo de diodo que emite luz enquanto conduz corrente. Essa luz pode ser verde, vermelha, azul ou amarela. Um mostrador de sete segmentos consiste de uma caixa com sete LEDs segmentares dispostos na forma de um "8", sendo adequado para a exibio dos algarismos decimais, hexadecimais e de alguns caracteres. Os LEDs (segmentos) so universalmente identificados com as sete primeiras letras do alfabeto, na seqncia da figura 4.6.

Figura 4.6 Mostrador de sete segmentos. Cada segmento tem seu prprio pino no encapsulamento do mostrador. Alguns mostradores possuem tambm um LED para o ponto decimal, com um pino prprio. Para conhecer-se a pinagem (funo de cada pino), necessrio consultar a folha de dados do mostrador especfico ou compatvel. A estrutura interna do mostrador de sete segmentos pode ser em ctodo comum (segmentos acionados por tenso alta) ou nodo comum (segmentos acionados por tenso baixa), como esquematizado na figura 4.7.

Ctodo comum nodo comum Figura 4.7 Estruturas de mostradores de sete segmentos. O projeto de qualquer circuito decodificador para acionar mostradores de sete segmentos precisa levar em conta qual dos dois tipos de mostrador ser empregado, se o de ctodo comum ou o de nodo comum. Porm, pode-se acionar mostradores de um tipo com decodificadores projetados para mostradores do outro tipo, simplesmente invertendo-se as sadas desses decodificadores. Para exibir os algarismos decimais em um mostrador de sete segmentos, geralmente utiliza-se um decodificador de BCD para o cdigo de 7-segmentos (BCDto-7-segment decoder). Esse circuito recebe como entrada os algarismos decimais em cdigo BCD, e gera os sinais de a a g correspondentes para "montar" cada algarismo e exibi-lo no mostrador. Para fazer isso, o decodificador precisa controlar cada segmento individualmente, o que assegurado por meio do seu projeto. Por exemplo, para exibir o 2, ativa-se os LEDs a, b, d, e, g, como na figura 4.8.

48

ELETRNICA DIGITAL

Prof. Daniel Cardoso

A tabela 4.9 a tabela-verdade para o projeto de um circuito decodificador de BCD para 7-segmentos, para mostradores do tipo ctodo comum. Monta-se o mapa de Karnaugh para cada sada, de a at g, obtendo-se as expresses mnimas de cada funo. Em seguida, esquematiza-se o circuito.

Figura 4.8 O algarismo 2 exibido no mostrador de sete segmentos.

BCD 8421 Cdigo de 7 Segmentos Decimal A B C D a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 0 1 1 0 0 1 1 5 0 1 0 1 1 0 1 1 0 1 1 6 0 1 1 0 1 0 1 1 1 1 1 7 0 1 1 1 1 1 1 0 0 0 0 8 1 0 0 0 1 1 1 1 1 1 1 9 1 0 0 1 1 1 1 1 0 1 1 Tabela 4.9 Tabela-verdade para a converso entre os cdigos BCD e 7-segmentos.
a = B D + BD + A + C b = C D + CD + B c=B+ C +D d = B C D + B C + CD + B D + A e = CD + B D f = BC + BD + C D + A g = B C + B C + CD + A

A figura 4.9 mostra o esquemtico do decodificador de BCD para o cdigo de 7segmentos. Na prtica, as ligaes das sadas do decodificador para as entradas do mostrador devem sempre ser feitas com resistores em srie, com um resistor para cada segmento; caso contrrio, os LEDs do mostrador iro queimar. Alguns modelos de mostradores j trazem esses resistores integrados no seu encapsulamento. Pode-se expandir o projeto do decodificador para reconhecer tambm as palavras binrias restantes com quatro bits, de 1010 a 1510, exibindo-se ento os algarismos hexadecimais correspondentes (de A a F). Isso pode ser til ou no, dependendo da aplicao (a funo do circuito) em que o mostrador ser inserido. Por exemplo, no h razo para projetar o decodificador para reconhecer os algarismos hexa se ele s vai ser usado em um relgio digital. Um decodificador de BCD para 7segmentos certamente mais simples do que um de hexadecimal para 7-segmentos.

49

UFPA / ITEC / FEE

Eletrnica Digital

Figura 4.9 Esquemtico do decodificador de BCD para o cdigo de 7 segmentos, para mostradores do tipo ctodo comum.

50

ELETRNICA DIGITAL

Prof. Daniel Cardoso

4.5. Multiplexadores
A multiplexao consiste na operao de compartilhamento de um canal de comunicao. Esta operao necessria quando houver mais de uma fonte de dados e um nico meio fsico para a transmisso desses dados. O conceito bsico desta operao, ilustrado na figura 4.10, o chaveamento da entrada de acesso ao meio entre as diversas fontes, permitindo a passagem de apenas um dos sinais por vez.

Figura 4.10 Idia da multiplexagem de sinais. Um multiplexador digital, tambm chamado de multiplex ou mux, um circuito que, de um conjunto de entradas de dados, seleciona somente uma delas para encaminhar at a sua sada, por meio de entradas de seleo. O multiplex utilizado no lado da transmisso de um sistema de comunicao de dados, para combinar vrios canais em um nico canal de maior capacidade. Os multiplexadores so tambm referidos como "seletores de dados" (data selectors). No mux da figura 4.10, h oito entradas de dados, D0, D1, ..., D7, e uma sada S. As trs entradas de endereamento / seleo, A2, A1 e A0, selecionam uma das entradas de dados Di para ser conectada sada S. Se A2A1A0 = 000, D0 selecionada e S = D0; se A2A1A0 = 001, S = D1, e assim por diante. Este um mux de 8 canais ou mux 8x1 (8 por 1 ou 8 para 1), pois ele multiplexa 8 linhas de entrada de informao em uma nica linha de sada. De modo geral, um mux com n entradas de informao precisa ter m entradas de seleo, tal que m = log2 n ou n = 2m, como na figura 4.11. Pode-se projetar multiplexadores 2x1, 4x1, 8x1, at 2nx1, com n inteiro.

Figura 4.11 Smbolo genrico de um multiplexador.

51

UFPA / ITEC / FEE

Eletrnica Digital

O esquema lgico e a tabela-verdade do CI 74151, que um mux 8x1 com habilitao ativa em nvel baixo, so mostrados na figura 4.12. Os sinais de endereamento so denominados C, B e A, onde C o MSB.

Tabela-Verdade CBA E Y Y 1 XXX 1 0 000 0 D0 D0 001 010 011 100 101 110 0 0 0 0 0 0 D1

D1 D2
D3

D2 D3 D4 D5 D6

D4
D5 D6

111 0 D7 D7 Figura 4.12 CI 74151: Mux 8x1 com habilitao e sada dupla.
52

ELETRNICA DIGITAL

Prof. Daniel Cardoso

A expresso da sada do 74151 :


Y = D0 C B A + D1C BA + D2 CB A + D3 CBA + D4C B A + D5C BA + D6CB A + D7CBA E

Outra utilidade dos multiplexadores para a implementao de funes lgicas combinacionais quaisquer. As variveis de entrada da funo so aplicadas nas entradas de seleo do multiplex, e os valores em seqncia da tabela-verdade da funo devem permanecer aplicados nas entradas de dados do mux, para serem "selecionados" para a sada pelas variveis de entrada da funo. O multiplexador digital tambm pode funcionar como um conversor paraleloserial, quando endereado por um contador peridico com o mesmo nmero de bits das entradas de seleo, tal como mostrado na figura 4.13. O bit mais significativo da palavra de dados alocado na entrada selecionada pelo endereo mais baixo, sendo o primeiro a ser levado para a sada. Os bits na ordem decrescente de significncia vo sendo selecionados sequencialmente para a sada serial, at que uma nova palavra de dados surge na entrada, e o contador reinicia seu ciclo, repetindo o processo.

Figura 4.13 Multiplexador usado para converso paralelo-serial.

4.6. Demultiplexadores
O demultiplexador digital, tambm chamado de demultiplex ou demux, o circuito que realiza a funo inversa funo do multiplex. Ele possui uma nica linha de entrada de dados que pode ser conectada a qualquer uma das suas sadas, dependendo da palavra de endereo aplicada s entradas de seleo. Assim, os diversos canais de informao que foram combinados (multiplexados) pelo bloco mux, so novamente recuperados e individualizados pelo demux. O demux usado no lado da recepo de um sistema de comunicao de dados. Um demux com n sadas de informao precisa ter m entradas de seleo, tal que m = log2 n ou n = 2m, como mostrado nas figuras 4.14 e 4.15. Um demux de 4 canais, por exemplo, possui 4 sadas, S0, S1, S2 e S3, e duas entradas de endereamento, A1 e A0, como na figura 4.16.

53

UFPA / ITEC / FEE

Eletrnica Digital

Figura 4.14 Idia da demultiplexagem de sinais.

Figura 4.15 Smbolo genrico de um demultiplexador. O circuito lgico do demux idntico ao de um decodificador n-para-2n, apenas enxergado sob outro ponto de vista, pois a entrada de dados em um demux corresponde entrada de habilitao de um decodificador, e a palavra de seleo do demux corresponde palavra de cdigo no decodificador. Para que o decodificador 3x8 da figura 4.4 opere como um demux, basta tratar C, B e A como entradas de seleo e E como a entrada de dados (invertida).

Figura 4.16 Smbolo e esquema lgico de um demux de 4 canais.

54

ELETRNICA DIGITAL

Prof. Daniel Cardoso

4.7. Verificao por Bit de Paridade


Um problema grave na transmisso de dados digitais a possibilidade de contaminao da informao por rudos, provocando o aparecimento de erros na mensagem transmitida. Os sistemas precisam ter meios de detectar a ocorrncia desses erros. A maneira mais simples de fazer isso acrescentando-se um bit extra, chamado de bit de paridade, ao conjunto de bits de dados transmitido. O bit de paridade determinado em funo dos bits iguais a 1 da palavra de informao a ser transmitida, de tal modo que o nmero total de bits 1, incluindo o prprio bit de paridade, torne-se par (paridade par) ou mpar (paridade mpar). Desse modo, quando a palavra que foi transmitida chega no receptor, ela testada para verificar-se se o seu nmero total de bits 1 par ou mpar, de acordo com a paridade que tiver sido adotada (par ou mpar) e, em caso de discordncia, o receptor solicitar uma retransmisso da palavra. O gerador de paridade da figura 4.17 um circuito combinacional que recebe uma palavra de entrada D com n bits de largura e produz uma sada P = f(D). Em geral, adotada a paridade par nos sistemas de transmisso de dados. Portanto, se o nmero de bits 1 na palavra D for par, P ser igual a 0; e se o nmero de bits 1 em D for mpar, P ser igual a 1. Assim, o nmero de bits 1 na palavra total (D + P) sempre par. A paridade mpar, por outro lado, s transmite palavras com nmero mpar de 1s. Existem portas seriais que podem ser programadas para paridade par ou mpar, e sistemas de computao que trabalham com palavras de 9 bits, sendo um bit de paridade. Quando o computador acusa um erro de paridade, foi porque o resultado de uma operao violou a verificao dessa paridade.
D0 D1

Dn-1 .

Gerador de Paridade

Figura 4.17 Smbolo em bloco de um gerador de bit de paridade. Para projetar um gerador de paridade par para palavras D de 4 bits (D = D3D2D1D0), preenche-se o mapa de Karnaugh de P para quatro variveis e tira-se a expresso de P. D3 D2 D1 D0 00 01 11 10
00 0 1 0 1 01 1 0 1 0 11 0 1 0 1 10 1 0 1 0

P = D3 D2 D1 D0 + D3 D2 D1 D0 + D3 D2 D1 D0 + D3 D2D1D0 + D3 D2 D1 D0 + + D3 D2 D1D0 + D3D2 D1 D0 + D3D2D1 D0

55

UFPA / ITEC / FEE

Eletrnica Digital

A partir dessa expresso, pode-se montar o circuito gerador de paridade com portas AND, OR e NOT. Porm, manipulando-se a expresso de P, obtm-se uma implementao alternativa do gerador de paridade s com portas XOR, que pode ser mais simples. o circuito da figura 4.18. P = D3 D2 D1 D0

Figura 4.18 Esquemtico ao nvel de portas lgicas do gerador de bit de paridade.

Isso significa que uma porta XOR produz 1 na sua sada sempre que a sua palavra de entrada, com qualquer nmero de bits, tiver um nmero mpar de 1s. Generalizando, a porta XOR reconhece um nmero mpar de 1s nas suas entradas. Na transmisso dos dados, o bit de paridade P enviado junto com a palavra de dados, apesar de representar uma informao distinta e que deve ser tratada separadamente, para a verificao de erros. A palavra com paridade transmitida a seguir contm a informao til nos bits Di:

Quando a palavra completa chega ao receptor, este deve saber qual o bit que contm a paridade, se o primeiro ou o ltimo. Como foi usada a paridade par na transmisso, todas as 16 palavras D3D2D1D0P possveis devem ter um nmero par de bits 1, pois nas palavras de dado em que o nmero de bits 1 era mpar, a insero de P = 1 fez a quantidade total de 1s tornar-se um nmero par. Os cinco bits D3D2D1D0P so recebidos pelo receptor de paridade, que deve ter (n+1) entradas e 1 sada C. Convenciona-se, por exemplo: C = 0 transmisso OK C = 1 erro na transmisso Ento a sada C deve ser 0 quando houver um nmero par de 1s na entrada do receptor. Portanto, o circuito receptor deve ser um circuito XOR de 5 entradas, que ir fornecer 1 na sada se houver um nmero mpar de 1s na palavra recebida. C = D3 D2 D1 D0 P

Figura 4.19 Receptor do bit de paridade.

56

ELETRNICA DIGITAL

Prof. Daniel Cardoso

O circuito completo de transmisso de dados com verificao do bit de paridade mostrado na figura 4.20:

Figura 4.20 Comunicao de dados utilizando o bit de paridade par.

4.8. Modularidade
Os circuitos digitais so essencialmente modulares, isto , blocos complexos podem ser formados pela interconexo de blocos mais simples, e estes pela interconexo de blocos ainda mais simples, e assim por diante, levando a uma hierarquia estrutural (arquitetural). No nvel mais baixo dessa hierarquia esto os transistores que formam as portas lgicas. Como concatenar circuitos simples para obter circuitos de maior capacidade? De modo geral, seguem-se as etapas abaixo: 1) Desenhar os smbolos (interfaces) do circuito-alvo (o que se pretende construir) e dos blocos de circuito mais simples (subcircuitos) de que se dispe. 2) Deduzir quantos subcircuitos so necessrios para compor o circuito mais complexo, e coloc-los dentro da caixa de interface do circuito-alvo. 3) Escrever a tabela-verdade do circuito-alvo e relacionar suas entradas e sadas com as entradas e sadas dos subcircuitos, para deduzir as relaes lgicas entre os sinais de E/S do circuito-alvo e os sinais de E/S dos subcircuitos.

Como ilustrao, multiplexadores de maior capacidade (16x1, por exemplo) podem ser facilmente montados a partir de blocos mux de menor capacidade, empregando-se a modularidade. A figura 4.21 mostra um bloco multiplex de 8 canais, formado a partir de blocos mux de menor capacidade (esta uma das solues possveis).

57

UFPA / ITEC / FEE

Eletrnica Digital

Figura 4.21 - Mux de oito canais construdo com dois blocos mux de quatro canais e um mux de dois canais.

58

ELETRNICA DIGITAL

Prof. Daniel Cardoso

CAPTULO 5 Aritmtica Binria e Circuitos Aritmticos

Este captulo trata das operaes aritmticas com numerais binrios e do projeto de alguns circuitos aritmticos simples. Esta classe de circuitos, que tambm so combinacionais, utilizada principalmente nas unidades lgicas e aritmticas (ULA's) dos microprocessadores.

5.1. Adio
A tabuada da adio a seguinte: 0+0=0 0+1=1 1+0=1 1 + 1 = 10 No ltimo caso, diz-se que o resultado da soma '0' e vai um para a casa da esquerda; este 1 que vai chamado de transporte de sada (carry out). A adio de numerais binrios de n bits feita pelo mesmo processo da adio em decimal. Por exemplo: Binrios inteiros: 10110 + 11100 110010 Binrios fracionrios: 110,1 + 10,11 1001,01

5.1.1. Meio Somador (Half Adder) o circuito que soma dois bits e fornece o resultado e o transporte de sada.

Soma Transporte de Sada (Ts) ou Carry-out (Cout) S S = A B 0 0 0 0 0 1 1 0 Ts = A.B 1 0 1 0 1 1 0 1 Tabela 5.1 - Tabela-verdade e funes lgicas da soma de dois bits. A B

59

UFPA / ITEC / FEE

Eletrnica Digital

Figura 5.1 Esquemtico e smbolo do meio somador.

5.1.2. Somador Completo (Full Adder) A soma de dois numerais binrios de mais de um bit pode ser feita de forma modular: em vez de se projetar um nico circuito que some dois numerais com n bits, projeta-se um circuito que some trs bits, pois preciso considerar tambm o transporte de entrada Te (ou carry-in, Cin), que o "vem um" da coluna da direita. Um somador de n bits pode ser feito concatenando-se esses blocos, chamados de somadores completos.

A B Te S Ts 0 0 0 0 0 S = A B Te 0 0 1 1 0 0 1 0 1 0 Ts = AB + Te(A B) 0 1 1 0 1 = AB + Te(A + B) 1 0 0 1 0 = AB + ATe + BTe 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Tabela 5.2 - Tabela-verdade e funes lgicas para a soma de trs bits, um de A, outro de B, e o outro da coluna anterior, Te.

Figura 5.2 Esquemtico do circuito e smbolo do somador completo.

Explorando-se a modularidade dos blocos digitais, o somador completo pode ser esquematizado a partir de dois meio-somadores, como na figura 5.3.

60

ELETRNICA DIGITAL

Prof. Daniel Cardoso

Figura 5.3 Somador completo construdo a partir de dois meio-somadores.

O somador completo das figuras 5.2 e 5.3 foi esquematizado utilizando a quantidade mnima de portas lgicas, isto , priorizando a mxima compactao do circuito (mnima rea). Entretanto, o circuito resultante possui trs nveis de portas. Se ele fosse esquematizado a partir da equao Ts = AB + ATe + BTe, teria uma porta a mais, mas somente dois nveis, sendo portanto mais rpido. o sacrifcio da compactao, com uma rea maior do circuito, em favor de um pouco mais de velocidade (menor tempo de resposta).

5.1.3. Somador Paralelo de 4 Bits Dados dois numerais binrios A e B de n bits e sem sinal, a soma S = A+B pode ter at n+1 bits. A = An-1 An-2 ... A1 A0 B = Bn-1 Bn-2 ... B1 B0 S = Sn Sn-1 ... S1 S0

O somador de arquitetura mais simples para numerais de n bits utiliza n somadores completos, um para cada par de bits das palavras A e B. Por exemplo, seja n = 4: B = B3 B2 B1 B0 A = A3 A2 A1 A0 O transporte de sada gerado por um bloco somador completo ser o transporte de entrada do bloco somador seguinte. Pelo fato de as palavras A e B entrarem no circuito em paralelo (todos os bits juntos), este somador chamado de somador paralelo, e seu esquemtico mostrado na figura 5.4.

Figura 5.4 Somador paralelo de 4 bits.

61

UFPA / ITEC / FEE

Eletrnica Digital

O somador dos LSB's, A0 e B0, poderia ser um meio-somador, que no possui a entrada Te e menor que o somador completo. Porm, isto impediria que esse somador de 4 bits pudesse ser utilizado como bloco para a composio de um somador maior (de 8 ou mais bits), e ele perderia sua generalidade (modularidade). O bit S4, transporte de sada do somador dos MSB's na figura 5.4, pertencer ao resultado se as parcelas da soma, A e B, forem numerais sem sinal (valores absolutos). Numerais com sinal so analisados adiante.

5.2. Subtrao e Representao de Nmeros Binrios com Sinal


A tabuada da subtrao de dois bits a seguinte: 0-0=0 0 - 1 = 1 e empresta 1 da coluna da esquerda 1-0=1 1-1=0 Por ser diferente da adio, a subtrao deveria exigir, em princpio, um circuito especfico para ser realizada (um subtrator completo). Mas se houver um jeito de representar nmeros negativos em binrio, a subtrao transforma-se em uma simples adio, pois: A B = A + ( B) Portanto, o problema deixa de ser o projeto de um circuito subtrator e passa a ser a representao de nmeros binrios negativos. Tendo em vista que as mquinas digitais no trabalham com smbolos como + e - (positivo e negativo), torna-se necessrio o uso de algum mtodo para a representao desses sinais, que permita indicar se o nmero positivo ou negativo. Existem trs maneiras de se fazer esta representao. Inicialmente, foi usada a chamada representao em sinal e mdulo para representar nmeros binrios com sinal. Neste tipo de representao, o MSB era o bit de sinal (MSB=0, se o nmero era positivo, e MSB=1 se o nmero era negativo), e o resto da palavra era sempre o prprio valor absoluto do nmero. representa o sinal do nmero (0 = positivo, 1 = negativo), enquanto os dgitos restantes representam o seu valor absoluto (mdulo). Por exemplo, no nmero 110012, que a representao de 910, o dgito mais significativo ("1") indica o sinal negativo, enquanto os demais representam o valor absoluto (910). No nmero 010012 que a representao de +910, o dgito mais significativo ("0") indica o sinal positivo. importante notar que com este tipo de representao, um registrador de 4 bits pode armazenar os nmeros entre -7 a +7, existindo para o nmero 0 duas representaes (+0 e -0). Por exemplo: +310 = 00112 -310 = 10112

62

ELETRNICA DIGITAL

Prof. Daniel Cardoso

Essa representao antiga levou a circuitos aritmticos complicados, por no ser compatvel com a subtrao, e foi abandonada. Depois, os engenheiros descobriram que a representao de nmeros binrios negativos na notao de complemento de dois era a tcnica correta para tornar a subtrao realizvel atravs de uma adio, em todos os casos de minuendo e subtraendo. Assim, o mesmo bloco de circuito usado para somar poderia ser usado tambm para subtrair, simplificando a implementao dos circuitos aritmticos. Por isso, atualmente utiliza-se sempre a notao de complemento de 2 para a realizao da soma e subtrao binrias. O negativo de um numeral binrio B, de n bits, o seu complemento de 2: B = C2 (B) definido como C2 (B) = (2n)2 B ou C2 (B) = B + 1 = C1 (B) + 1 B o inverso lgico de cada bit de B, chamado de complemento de 1 de B ou C1 (B). Quando se representa numerais binrios com sinal usando a notao de complemento de 2, o MSB continua sendo usado para representar o sinal do nmero, sendo por isso chamado de bit de sinal. Os numerais positivos tm o MSB igual a 0, e os numerais negativos tm o MSB igual a 1. Acrescentar zeros esquerda de um numeral positivo e acrescentar uns esquerda de um numeral negativo no altera os valores desses numerais. Calcular o complemento de 2 de um numeral binrio B tem o mesmo efeito que inverter o sinal do numeral decimal equivalente. A tabela 5.3 mostra os numerais binrios com sinal, em quatro bits.
Bin 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 Dec -8 -7 -6 -5 -4 -3 -2 -1 0 +1 +2 +3 +4 +5 +6 +7

Tabela 5.3 Numerais binrios de quatro bits com sinal Para encontrar o C2 (B), no necessrio encontrar primeiro o C1(B) e depois somar 1 a ele. H uma outra regra prtica para a obteno do complemento de 2: a partir do LSB, mantenha todos os bits at o primeiro 1 que encontrar, e mantenha tambm este 1; em seguida, inverta os bits restantes para a esquerda. Isso pode ser facilmente conferido pela tabela 5.3. Por exemplo: C2 (01010100) = 10101100 Pela tabela 5.3, observa-se que, para representar uma faixa de numerais binrios com sinal (signed), preciso acrescentar um bit a mais do que seria necessrio para escrever somente os valores em mdulo (unsigned). Esse bit extra representa justamente o sinal dos numerais binrios. Assim, dados os numerais sem sinal de 3 bits, se desejarmos escrever os numerais negativos correspondentes, devemos acrescentar a eles mais um bit para o sinal. O acrscimo de um bit a uma palavra binria dobra a quantidade de valores representveis. H um nmero negativo a mais do que os nmeros positivos: 810. Isso efeito do 010, que no positivo mas tem o MSB igual a '0'. O 810 no tem equivalente positivo em quatro bits: o +810 s cabe em 5 bits, pois o MSB tem que ser '0'. Para

63

UFPA / ITEC / FEE

Eletrnica Digital

generalizar, dispondo-se de n bits, os valores dos nmeros com sinal podem ir de 2n-1 at +2n-1 1, incluindo o '0'. Para a realizao de operaes aritmticas envolvendo nmeros com sinal, tanto os nmeros positivos quanto os negativos precisaro estar sempre na notao de complemento de 2. Os numerais positivos no diferem de sua representao binria em mdulo, apenas com a obrigatoriedade do '0' no MSB: a representao do +310 0112. O valor absoluto (mdulo) de um numeral binrio negativo B no prontamente identificvel: para encontr-lo, deve-se calcular de novo o complemento de 2 desse numeral, pois C2 [C2 (B)] = B. Por exemplo, a representao do 310 em binrio 11012 ou 1012. Nas operaes aritmticas empregando a notao de complemento de 2, obrigatrio igualar os tamanhos das palavras antes de fazer a operao; seno, o resultado estar errado. O MSB sempre representa o sinal do nmero, nunca o valor. Se, nas parcelas, o bit de sinal o quarto bit, ento o bit de sinal do resultado tambm tem que ser o quarto. Por isso, o bit do resultado que excede o tamanho das parcelas nunca considerado, nem na soma, nem na subtrao (ver Exemplo 1 a seguir). Por outro lado, na adio de nmeros sem sinal (absolutos), o 1 excedente do tamanho das parcelas no pode ser desprezado, pois ele faz parte do resultado correto. Agora passa-se anlise da soma e da subtrao de numerais binrios com sinal, empregando a notao de complemento de 2. Exemplo 1: Calcular A B nos casos abaixo, usando complemento de 2. 1) A > B. Se for gerado um transporte do bit de sinal para o 5o bit, ele deve ser desconsiderado. 1.1) A = 610 (01102) e B = 310 (00112). Resposta: 100112 00112 = +310 1.2) A = 310 (00112) e B = -310 (11012). Resposta: 01102 = +610 2) A = B. O bit de transporte de sada ser sempre igual a 1, pela prpria definio de complemento de 2. Obviamente, no considerado. 2.1) A = 310 e B = 310 (00112). Resposta: 100002 00002 = 010 2.2) A = -310 e B = -310 (11012). Resposta: 100002 00002 = 010 3) A < B. 3.1) A = 310 (00112) e B = 610 (01102).

Resposta: 11012 = -310

3.2) A = -310 (11012) e B = 310 (00112). Resposta: 10102 = -610 A adio e a subtrao em hexadecimal podem ser feitas de maneira semelhante adio e subtrao decimais.

64

ELETRNICA DIGITAL

Prof. Daniel Cardoso

5.2.1. Subtrator Paralelo de 4 Bits Para subtrair um numeral B de outro numeral A, ambos de n bits, basta somar A ao complemento de 2 de B. Isso significa inverter cada bit do numeral B e depois somar-lhe 1. Portanto, para montar-se um subtrator de n bits, adapta-se um somador paralelo de n bits, como o da figura 5.4, no havendo necessidade de se projetar um novo circuito especfico para subtrair.

A B = A + (-B) = (A + B ) + 1 Por exemplo, a figura 5.5 mostra um subtrator de 4 bits. Como tanto A quanto B so numerais de 4 bits com sinal (em complemento de 2), a faixa de valores possveis de A e B aquela mostrada na tabela 5.3. O bit de transporte final, Ts, no pertence ao resultado, como visto pelos exemplos acima. Mas o circuito gerador de Ts no pode ser eliminado, porque sem ele a modularidade do circuito seria destruda.

Figura 5.5 Subtrator paralelo de 4 bits.

5.2.2. Somador/Subtrator Paralelo de 4 Bits Para um mesmo circuito desempenhar as duas funes, ora a de somador, ora a de subtrator, deve haver uma entrada de controle SUB tal que, se SUB=0, o circuito efetua a soma dos nmeros de entrada e, se SUB=1, o circuito efetua a subtrao desses nmeros. Para esquematizar-se um somador/subtrator paralelo de n bits, deve-se procurar combinar os circuitos do somador e do subtrator de n bits. Nesse sentido, nota-se que para o funcionamento como somador, a palavra B deve passar normalmente para os blocos somadores, e para o funcionamento como subtrator, os bits da palavra B devem passar invertidos para esses mesmos blocos. Ento, pode-se aproveitar a propriedade da porta XOR de funcionar como um inversor controlado: se uma das suas entradas 0, a outra entrada aparece na sada (B 0 = B); e se uma das suas entradas 1, a outra entrada aparece invertida na sada (B 1 = B ). Por isso, a porta XOR deve ser empregada para compor o circuito somador/subtrator.

A figura 5.6 mostra o esquema do somador/subtrator paralelo para n = 4 bits. Na clula do LSB, Te deve ser ligado a SUB. Assim, se SUB = 1, no s as portas XOR

65

UFPA / ITEC / FEE

Eletrnica Digital

passaro a atuar como inversores de B, como tambm ser acrescentado 1 a esse valor, formando o C2(B) e fazendo com que o circuito opere de fato como um subtrator.

Figura 5.6 Somador/subtrator paralelo de 4 bits.

A notao de complemento de 2 para nmeros binrios com sinal tem que ser observada em todas as operaes aritmticas. Isso significa que deve-se trabalhar com um tamanho de palavra sempre constante, logo o transporte final do somador/subtrator, S4, no faz parte do resultado nem da soma, nem da subtrao. Somente pode-se utilizar S4 como parte do resultado para a soma de valores sem sinal, como explicado na seo 5.1.3. Se A e B esto em 4 bits, o resultado tambm tem que estar em 4 bits, S3 a S0. Ento o resultado da soma ou subtrao estar errado quando sair da faixa mostrada na tabela 5.3, mas no h como prever isso porque depende dos valores de entrada A e B. O que se pode fazer reservar o segundo bit esquerda para acomodar o possvel estouro no valor do numeral, dessa forma confinando o resultado a ficar sempre dentro da tabela 5.3. Portanto, para se garantir que os resultados das somas e das subtraes estejam sempre corretos, deve-se considerar o 1o bit (MSB) como o de sinal, e o 2o bit deve ser 0 nas parcelas para acomodar o possvel estouro no resultado. Com isso, em um somador paralelo de 4 bits, pode-se somar com segurana valores de at 2 bits apenas; perde-se 50% do circuito, com o bit de sinal e o de reserva para o estouro. J em um somador paralelo de 8 bits, perde-se somente 25% do circuito.

66