Código de Gray

28
Circuitos Digitais/Códigos Numéricos

Transcript of Código de Gray

Page 1: Código de Gray

Circuitos Digitais/Códigos

Numéricos

Page 2: Código de Gray

Circuitos Digitais/O que são circuitos digitais

Circuitos digitais são circuitos electrónicos que baseiam o seu funcionamento na lógica binária, em que toda a informação é guardada e processada sob a forma de zeros (0) e uns (1).

Esta representação é conseguida usando dois níveis discretos de Tensão eléctrica.

Estes níveis são frequentemente representados por L e H (do inglês low - baixo - e high - alto -, respectivamente).

Os computadores, telemóveis, Leitores de DVD, são alguns exemplos de aparelhos que baseiam a totalidade, ou parte, do seu funcionamento em circuitos digitais.

Page 3: Código de Gray

Origem do Nome A palavra digital deriva de dígito, que por sua

vez procede do latim digitus, significando dedo. Desde que a humanidade desenvolveu o processo

de contagem, os dedos foram os instrumentos mais simples e eficientes para contar pequenos valores.

O sistema de numeração indo-arábico, o mais usado actualmente, é um sistema de base dez, pois são dez os dedos das duas mãos dos seres humanos.

Muitos outros sistemas de numeração usam a base decimal, pois serviam para simbolizar a contagem com os dedos.

Normalmente com os dedos só é possível contar valores inteiros.

Page 4: Código de Gray

Por causa dessa característica, a palavra digital também é usada para se referir a qualquer objecto que trabalha com valores discretos.

Ou seja, entre dois valores considerados aceitáveis existe uma quantidade finita de valores aceitáveis.

Digital não é sinónimo de electrónico: por exemplo, o computador electrónico pode ser chamado de digital porque trabalha com o sistema binário, que é simbolizado por uma sequência finita de zeros e uns, qualquer que seja o tipo de dados.

Hoje em dia, porém, não se consegue desvincular a palavra "digital" do sistema informático e de tecnologias ligadas à computação, como, por exemplo, "transmissão digital".

Page 5: Código de Gray

Introdução A electrónica digital trabalha com

diversos códigos de acordo com necessidades específicas.

Códigos numéricos são códigos que trabalham unicamente com valores numéricos na sua composição.

Page 6: Código de Gray

Código 9876543210

O código 9876543210 é um código binário que converte cada dígito decimal num conjunto de 10 bits, onde o valor 1 assume a posição correspondente ao número decimal, e o restante é completado com o valor 0.

Decimal

9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 1

1 0 0 0 0 0 0 0 0 1 0

2 0 0 0 0 0 0 0 1 0 0

3 0 0 0 0 0 0 1 0 0 0

4 0 0 0 0 0 1 0 0 0 0

5 0 0 0 0 1 0 0 0 0 0

6 0 0 0 1 0 0 0 0 0 0

7 0 0 1 0 0 0 0 0 0 0

8 0 1 0 0 0 0 0 0 0 0

9 1 0 0 0 0 0 0 0 0 0

Page 7: Código de Gray

Código BCD 8421 O código BCD 8421 (de

Binary-coded decimal 8421) é um sistema de codificação de números decimais em binários de quatro bits.

Os valores 8421 são respectivamente os valores de 2 elevado ao valor de sua posição (3,2,1,0).

Este código assume apenas 10 dígitos, variando de 0 a 9.

Decimal

23 (8)

22 (4)

21 (2)

20 (1)

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

Page 8: Código de Gray

Observe, entretanto, que existem apenas dez códigos válidos. Os números binários de 4 bits representando os números decimais desde 10 até 15 são inválidos no sistema BCD. Para representar um número decimal em notação BCD substitui-se cada dígito decimal pelo código de 4 bits apropriados.

Por exemplo, o inteiro decimal 834 em BCD é 1000 0011 0100. Cada dígito decimal é representado pelo seu código BCD 8421 equivalente. Um espaço é deixado entre cada grupo de 4 bits para evitar confusão do formato BCD com o código binário puro. Este método de representação também se aplica as fracções decimais.

Por exemplo, a fracção decimal 0,764 é “0.0111 0110 0100” em BCD. Novamente, cada dígito decimal é representado pelo seu código equivalente 8421, com um espaço entre cada grupo.

Page 9: Código de Gray

Uma vantagem do código BCD é que as dez combinações do código BCD são fáceis de lembrar. Conforme se começa a trabalhar com números binários regularmente, os números BCD tornam-se tão fáceis e automáticos como números decimais. Por esta razão, por simples inspecção da representação BCD de um número decimal pode-se efectuar a conversão quase tão rápido como se já estivesse na forma decimal.

Como exemplo, converter o número BCD no seu equivalente decimal.0110 0010 1000.1001 0101 0100 = 628,954

O código BCD simplifica a interface Homem-máquina, mas é menos eficiente que o código binário puro. Usam-se mais bits para representar um dado número decimal em BCD que em notação binária pura.

Page 10: Código de Gray

Por exemplo, o número decimal 83 é escrito como 1000 0011. Em código binário puro, usam-se apenas 7 bits para representar o número 83. Em BCD, usam-se 8 bits. O código BCD é ineficiente, pois, para cada bit numa palavra de dado, há usualmente alguma circuitaria digital associada. A circuitaria extra associada com o código BCD custa mais, aumenta a complexidade do equipamento e consome mais energia. Operações aritméticas com números BCD também consomem mais tempo e são mais complexas que aquelas com números binários puros. Com quatro bits de informação binária, você pode representar um total de 24 = 16estados diferentes ou os números decimais equivalentes desde o 0 até o 15. No sistema BCD, seis destes estados (10-15) são desperdiçados.

Quando o sistema numérico BCD é usado, alguma eficiência é perdida, mas aumenta-se o entendimento entre o equipamento digital e o operador humano.

Page 11: Código de Gray

Conversão Binário para BCD

A conversão de decimal para BCD é simples e direta. Entretanto, a conversão de binário para BCD não é direta. Uma conversão intermediária deve ser realizada primeiro. Por exemplo, o número 1011.01 é convertido no seu equivalente BCD.

Primeiro o número binário é convertido para decimal.1011.012 = (1x23)+(0x22)+(1x21)+(1x20)+(0x2-1)+(1x2-2) =8+0+2+1+0+0,25 = 11,2510

Então o resultado decimal é convertido para BCD. 11,2510 = 0001 0001.0010 01012

Page 12: Código de Gray

Para converter de BCD para binário, as operações anteriores são invertidas. Por exemplo, o número BCD 1001 0110.0110 0010 0101 é convertido no seu equivalente binário.

1 - o número BCD é convertido para decimal. 1001 0110.0110 0010 0101 = 96,6252 - o resultado decimal é convertido para binário

Page 13: Código de Gray

Inteiro Resto Posição Fração Inteiro Posição

96 ÷ 2 = 48 0 -> LSB 0,625 x 2 = 1,25 = 0,25 1 <- MSB

48 ÷ 2 = 24 0   0,250 x 2 = 0,50 = 0,50 0  

24 ÷ 2 = 12 0   0,500 x 2 = 1,00 = 0 0 <- LSB

12 ÷ 2 = 06 0        

06 ÷ 2 = 03 0        

03 ÷ 2 = 01 1        

01 ÷ 2 = 00 1 <- MSB      

9610 = 11000002 0,62510 = 0.1012

96,62510 = 9610 + 0,62510= 11000002 + 0.1012 = 1100000.1012

Conversão Binário para BCD

Como o número decimal intermediário contém uma parte inteira e uma parte decimal, cada parte é convertida como visto anteriormente.

A soma binária (inteiro mais fracção) 1100000.101 é equivalente ao número BCD 1001 0110.0110 0010 0101.

Vários códigos binários são chamados códigos alfanuméricos pois eles são usados para representar caracteres assim como números.

Page 14: Código de Gray

Código ASCII O "American Standart Code

for Information Interchange" comumente referido como ASCII, é uma forma especial de código binário que é largamente utilizado em microprocessadores e equipamentos de comunicação de dados.

Um novo nome para este código que está se tornando popular é "American National Standart Code for Information" (ANSCII). Entretanto, utilizaremos o termo consagrado, ASCII. É um código binário que usado em transferência de dados entre microprocessadores e seus dispositivos periféricos, e em comunicação de dados por rádio e telefone. Com 7 bits pode-se representar um total de 27 = 128 caracteres diferentes. Estes caracteres compreendem números decimais de 0 até 9, letras maiúsculas e minúsculas do alfabeto, mais alguns outros caracteres especiais usados para pontuação e controle de dados.

Page 15: Código de Gray

Também chamado ASCII completo, ou ASCII estendido. O código ASCII é mostrado nas tabelas abaixo.NULL Null DLE Data Link Escape

SOH Start of Heading DC1 Device Control 1

STX Start of Text DC2 Device Control 2

ETX End of Text DC3 Device Control 3

EOT End of Transmission DC4 Device Control 4

ENQ Enquiry NAK Negative Acknowledge

ACK Acknowledge SYN Synchronous Idle

BEL Bell (audible signal) ETB End Transmission Block

BS Backspace CAN Cancel

HT Horizontal Tabulação(punched card skip)

EM End of Medium

SUB Substitute

LF Line Feed ESC Escape

VT Vertical Tabulation FS File Separator

FF Form Feed GS Group Separato

CR Carriage Return RS Record Separator

SO Shift Out US Unit Separator

SI Shift In DEL Delete

SP Space (blank)

Page 16: Código de Gray

  coluna

bits 0 1 2 3 4 5 6 7

linha

7654321

000 001 010 011 100 101 110 111

0 0000 NUL DLE SP 0 @ P ` p

1 0001 SOH DC1 ! 1 A Q a q

2 0010 STX DC2 " 2 B R b r

3 0011 ETX DC3 # 3 C S c s

4 0100 EOT DC4 $ 4 D T d t

5 0101 ENQ NAK % 5 E U e u

6 0110 ACK SYN & 6 F V f v

7 0111 BEL ETB ' 7 G W g w

8 1000 BS CAN ( 8 H X h x

9 1001 HT EM ) 9 I Y i y

10 1010 LF SUB * : J Z j z

11 1011 VT ESC + ; K [ k {

12 1100 FF FS , < L \ l |

13 1101 CR GS - = M ] m }

14 1110 SO RS . > N ^ n ~

15 1111 SI US / ? O _ o DEL

Page 17: Código de Gray

O código ASCII para cada número, letra ou função de controle é constituído de um grupo de 4 bits e outro de 3 bits. tabela abaixo mostra a arrumação destes dois grupos e a sequência numérica.

O grupo de 4 bits está a direita e o bit 1 é o LSB. Observar como estes grupos são arranjados em linhas e colunas na tabela ASCII .

Para determinar o código ASCII para um dado número, letra ou controle, localiza-se na tabela o dado desejado. Então usa-se os códigos de 3 e 4 bits associados com a coluna e com a linha, respectivamente, na qual o item está localizado.

Por exemplo, o código ASCII para a letra L é 1001100. Ele é localizado na coluna 4, linha 12. O grupo de 3 bits é 100, enquanto o grupo de 4 bits é 1100.

Conversão em ASCII

      4 bits

7 6 5 4 3 2 1

3 bits        

Page 18: Código de Gray

No código ASCII de 7 bits, um oitavo bit é geralmente usado como um bit de paridade para determinar se o dado (caracter) foi transmitido correctamente. O valor deste bit é determinado pelo tipo de paridade desejado. Paridade par significa que a soma de todos os uns, incluindo o bit de paridade, é um número par.

Por exemplo, se G é o caracter transmitido o código ASCII é 1000111. Desde que quatro uns estão no código, o bit de paridade é 0. O código de 8 bits seria escrito 01000111.

Paridade ímpar significa que a soma de todos os bits um, é um número ímpar. Se o código ASCII para G for transmitido com paridade ímpar, a representação binária seria 11000111.

Conversão em ASCII

Page 19: Código de Gray

Códigos BCD de 4 bits Existem diversos códigos

BCDs que assumem valores diferentes de acordo com alguma variação em seu cálculo.

Entre eles podemos destacar o BCD 7421, BCD 2421 e o BCD 5211.

Decimal

BCD8421

Excesso-3ou Código de

Stibitz

BCD 2421Código

Aiken

BCD84−2−

1

IBM 702 IBM 705

IBM 7080 IBM 1401

8421

0 0000 0011 0000 0000 1010

1 0001 0100 0001 0111 0001

2 0010 0101 0010 0110 0010

3 0011 0110 0011 0101 0011

4 0100 0111 0100 0100 0100

5 0101 1000 1011 1011 0101

6 0110 1001 1100 1010 0110

7 0111 1010 1101 1001 0111

8 1000 1011 1110 1000 1000

9 1001 1100 1111 1111 1001

Page 20: Código de Gray

Código de Excesso 3 Código Excesso-3

(XS-3) é um código binário decimal, chamado também de código de Excesso-N, que segue o mesmo princípio de conversão do número decimal para binário, incrementando 3 unidades ao resultado binário.Decima

lBinári

oDecima

lBinári

o

0 0011 9 1100

1 0100 8 1011

2 0101 7 1010

3 0110 6 1001

4 0111 5 1000

Para convertermos um número como 127 utilizamos (0100, 0101, 1010).

Page 21: Código de Gray

Código Gray O código Gray é um

sistema de código binário onde de um número para outro apenas um bit varia.

Este sistema de codificação surgiu quando os circuitos lógicos digitais se realizavam com válvulas termiónicas e dispositivos electromecânicos.

Os contadores necessitavam de potências muito elevadas e geravam ruído quando vários bits modificavam-se simultaneamente.

Page 22: Código de Gray

Código Gray O uso do código Gray

garantiu que qualquer mudança variaria apenas um bit.

Actualmente o código Gray é utilizado em sistemas sequenciais através do uso dos Mapas de Karnaugh, já que o princípio do desenho de buscar transições mais simples e rápidas segue vigente, apesar dos problemas de ruído e potência terem sido reduzidos.

Page 23: Código de Gray

Código de 5 bits Código 2 entre

5 O código 2

entre 5 possui sempre dois bits iguais a 1 dentro de seus bits, o que permite detectar erros de transmissão.

Dígito Codificação 0 00011 1 11000 2 10100 3 01100 4 10010 5 01010 6 00110 7 10001 8 01001 9 00101 10 011111

Page 24: Código de Gray

Código Johnson O Código Johnson (Johnson-Mobius) é um código especial utilizado na construção do Contador de Johnson.

Este código constitui-se em um código binário e cíclico (como o código Gray) cuja capacidade de codificação é dada por 2n, sendo n o número de bits.

Para codificar os dígitos decimais são necessários 5 bits:

Dígitodecim

al

CódigoJohnso

n

Dígitodecim

al

CódigoJohnso

n

0 00000 5 11111

1 00001 6 11110

2 00011 7 11100

3 00111 8 11000

4 01111 9 10000Este código permite a simplicidade de criação de contadores, e por isto é utilizado em sistemas digitais de alta velocidade.

Proporciona uma maior protecção contra erros mas é menos eficiente em memória do que o código binário decimal.

Page 25: Código de Gray

Resumo A electrónica digital trabalha com diversos

códigos de acordo com necessidades específicas.

Códigos numéricos são códigos que trabalham unicamente com valores numéricos em sua composição.

O Código 9876543210 é um código binário que converte cada dígito decimal em um conjunto de 10 bits, onde o valor 1 assume a posição correspondente ao número decimal, e o restante é completado com o valor 0.

O código BCD 8421 (de Binary-coded decimal 8421) é um sistema de codificação de números decimais em binários de quatro bits.

Page 26: Código de Gray

Resumo Os valores 8421 são

respectivamente os valores de 2 elevado ao valor de sua posição (3,2,1,0).

Este código assume apenas 10 dígitos, variando de 0 a 9.

Existem diversos códigos BCDs que assumem valores diferentes de acordo com alguma variação em seu cálculo.

Entre eles podemos destacar o BCD 7421, BCD 2421 e o BCD 5211.

Page 27: Código de Gray

Resumo Código Excesso-3 (XS-3) é um código

binário decimal, chamado também de código de Excesso-N, que segue o mesmo princípio de conversão do número decimal para binário, incrementando 3 unidades ao resultado binário.

O código Gray é um sistema de código binário onde de um número para outro apenas um bit varia.

Este sistema de codificação surgiu quando os circuitos lógicos digitais se realizavam com válvulas termiónicas e dispositivos electromecânicos.

Page 28: Código de Gray

Resumo O código 2 entre 5 possui sempre dois

bits iguais a 1 dentro de seus bits. O Código Johnson (Johnson-Mobius) é um

código especial utilizado na construção do Contador de Johnson.

Este código constitui-se em um código binário e cíclico (como o código Gray) cuja capacidade de codificação é dada por 2n, sendo n o número de bits.

Para codificar os dígitos decimais são necessários 5 bits.